---
title: نظرة عامة على واجهات برمجة التطبيقات
info: افهم الأنواع الأربعة المختلفة من واجهات برمجة التطبيقات ومتى يتم استخدام كل منها.
image: /images/user-guide/api/api-overview.png
sectionInfo: تعلم كيفية توصيل Twenty بالأدوات الأخرى الخاصة بك.
---

<Frame>
  <img src="/images/user-guide/api/api-overview.png" alt="Header" />
</Frame>

تم تصميم Twenty ليكون صديقًا للمطورين، حيث يوفر واجهات برمجة قوية تتكيف مع نموذج البيانات المخصص. نحن نوفر أربعة أنواع متميزة من واجهات برمجة التطبيقات لتلبية احتياجات التكامل المختلفة.

## النموذج الأول للمطورين

تقوم Twenty بإنشاء واجهات برمجة التطبيقات خصيصاً لنموذج بياناتك، مما يعني:

- **لا حاجة إلى معرفات طويلة**: استخدم أسماء الكائنات والحقول مباشرة في نقاط النهاية
- **معالجة متساوية للأشياء القياسية والمخصصة**: تحصل أشياؤك المخصصة على نفس معاملة واجهة برمجة التطبيقات كما هو الحال مع الأشياء المضمنة
- **نقاط نهاية مخصصة**: يحصل كل كائن وحقل على نقطة نهاية API الخاصة به
- **وثائق مخصصة**: يتم إنشاؤها خصيصًا لنموذج بيانات مساحة عملك

<Warning>
تقوم واجهة برمجة التطبيقات المخصصة لديك بإنشاء وثائق مخصصة يمكن الوصول إليها عبر الإعدادات ← API & Webhooks بعد إنشاء مفتاح واجهة برمجة التطبيقات. تعكس هذه الوثائق نموذج بياناتك بالضبط وتكوينات الحقول الخاصة بك.
</Warning>

## أنواع واجهات برمجة التطبيقات الأربعة

تقدم Twenty واجهات برمجة التطبيقات بتنسيقات **REST** و **GraphQL**:

### REST APIs

#### 1. واجهة برمجة البيانات الوصفية REST

- **الغرض**: إدارة بنية مساحة العمل ونموذج البيانات
- **حالات الاستخدام**:
  - إنشاء أو تعديل أو حذف الكائنات والحقول
  - تكوين إعدادات مساحة العمل
  - إدارة علاقات نموذج البيانات
- **الوصول**: متاحة من خلال نقاط نهاية REST

#### 2. واجهة برمجة التطبيقات الأساسية REST

- **الغرض**: إدارة سجلات البيانات الفعلية الخاصة بك
- **حالات الاستخدام**:
  - إنشاء وقراءة وتحديث وحذف السجلات
  - استفسار عن بيانات محددة
  - إدارة العلاقات بين السجلات
- **الوصول**: متاحة من خلال نقاط نهاية REST

### واجهات برمجة التطبيقات GraphQL

#### 3. واجهة برمجة البيانات الوصفية GraphQL

- **الغرض**: نفس وظيفة REST Metadata API لكن بفوائد GraphQL
- **حالات الاستخدام**: نفس إدارة مساحة العمل ونموذج البيانات
- **فوائد إضافية**:
  - استعلام عن أنواع متعددة من البيانات الوصفية في طلب واحد
  - اختيار الحقول بدقة
  - أداء أفضل للاستعلامات المعقدة

#### 4. واجهة برمجة التطبيقات الأساسية GraphQL

- **الغرض**: نفس وظيفة REST Core API لكن بفوائد GraphQL
- **حالات الاستخدام**: نفس إدارة سجلات البيانات
- **فوائد إضافية**:
  - **عمليات المجموعة**: متاحة لجميع العمليات
  - **عمليات الإضافة الموقوتة**: إنشاء أو تحديث السجلات في اتصال واحد
  - استعلام عن العلاقات في طلبات واحدة
  - جلب البيانات بدقة

## عمليات المجموعة

### دعم عمليات المجموعة لـ REST و GraphQL

تدعم كل من REST و GraphQL عمليات المجموعة لمعظم الإجراءات:

- **حجم المجموعة**: حتى 60 سجل لكل طلب
- **العمليات المتاحة**: إنشاء وتحديث وحذف سجلات متعددة
- **الأداء**: أسرع بشكل كبير من استدعاءات واجهة برمجة التطبيقات الفردية

### ميزات GraphQL فقط

- **الإضافة الموقوتة للمجموعات**: متاحة فقط في واجهات GraphQL
- **الاستخدام**: استخدم الأسماء الجمع للكائنات (مثل، `CreateCompanies` بدلاً من `CreateCompany`)
- **المتطلبات**: هذا هو السبب في ضرورة التمييز بين الأسماء المفردة والجمع للأشياء

## الوصول إلى وثائق واجهة برمجة التطبيقات

1. انتقل إلى **الإعدادات → API & Webhooks**
2. إنشاء مفتاح واجهة برمجة التطبيق (ضروري للوصول إلى الوثائق)
3. الوصول إلى الوثائق المخصصة الخاصة بك وبيئة التشغيل
4. اختبار واجهات برمجة التطبيقات مع نموذج البيانات الفعلي الخاص بك

وثائقك فريدة لمساحة العمل الخاصة بك لأنها تعكس الأشياء المخصصة والحقول والعلاقات.

## متى تستخدم كل واجهة برمجة التطبيقات

### استخدم واجهات برمجة البيانات الوصفية عندما:

- إعداد نموذج البيانات الخاص بك
- إنشاء كائنات مخصصة أو حقول
- تكوين إعدادات مساحة العمل

### استخدم واجهات برمجة التطبيقات الأساسية عندما:

- إدارة البيانات اليومية (الأشخاص، الشركات، الفرص)
- التكامل مع الأنظمة الخارجية
- بناء تطبيقات مخصصة
- أتمتة تدفقات العمل

### اختر GraphQL عندما:

- تحتاج إلى عمليات المجموعة
- تريد تقليل استدعاءات واجهة برمجة التطبيقات
- تحتاج إلى وظيفة الإضافة الموقوتة
- تبني تكاملات معقدة

### اختر REST عندما:

- تفضل بنية واجهة برمجة التطبيقات البسيطة
- تبني تكاملات أساسية
- فريقك أكثر دراية بـ REST
- تحتاج إلى عمليات CRUD المباشرة

## الخطوات التالية

- **[إعداد API و Webhooks](/l/ar/user-guide/integrations-api/api-webhooks)**: تعلم كيفية إنشاء مفاتيح API و Webhooks
- **وثائق مخصصة**: الوصول إلى وثائق API الشخصية الخاصة بك عبر الإعدادات → API & Webhooks

