> ## Documentation Index
> Fetch the complete documentation index at: https://help.teable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# طلب HTTP

> استدعِ أي واجهة API خارجية من سير عمل

<Tip>
  نوصي بشدة باستخدام «تشغيل برنامج نصي» لإنشاء عمليات الأتمتة، لأنه يستطيع تغطية جميع سلوكيات الإجراءات، بما فيها الإجراءات التي كان يلزم إنشاؤها يدويًا لولا ذلك. ما عليك سوى وصف متطلباتك للذكاء الاصطناعي في الدردشة.

  يُرجى ملاحظة أنه إذا أضفت إجراءات يدويًا، فلن يتعرف عليها الذكاء الاصطناعي أو يعدّلها لاحقًا.
</Tip>

## الإنشاء بالذكاء الاصطناعي

افتح دردشة الذكاء الاصطناعي في الشريط الجانبي الأيمن للجدول وصِف ما تريده.

يتولى الذكاء الاصطناعي كل شيء: يختار المشغّل المناسب، وينتقي الإجراءات الملائمة، ويربط الحقول، ويهيئ سير العمل بالكامل تلقائيًا.

صِف الهدف مرة واحدة، وسيصبح سير العمل جاهزًا دون الحاجة إلى إعداد يدوي.

يرسل طلب HTTP إلى أي عنوان URL ويعيد الاستجابة. استخدمه لاستدعاء واجهات REST API، أو إرسال إشعارات إلى Slack أو Discord، أو دفع البيانات إلى أنظمة CRM، أو التفاعل مع أي خدمة تملك واجهة HTTP API.

## التهيئة

| الإعداد      | مطلوب | الوصف                                                        |
| ------------ | ----- | ------------------------------------------------------------ |
| URL          | نعم   | نقطة النهاية المستهدفة. تدعم المتغيرات الديناميكية عبر **+** |
| الطريقة      | نعم   | GET أو POST أو PUT أو PATCH أو DELETE أو HEAD                |
| الترويسات    | لا    | ترويسات HTTP مخصصة في أزواج مفتاح وقيمة                      |
| Content-Type | لا    | تنسيق نص الطلب (راجع أدناه)                                  |
| النص         | لا    | حمولة الطلب — نص أو أزواج مفتاح وقيمة حسب Content-Type       |

## كيفية الإعداد

1. أضف إجراء **طلب HTTP** إلى سير العمل.
2. أدخل **عنوان URL** لنقطة نهاية API. يمكنك استخدام **+** لإدراج قيم ديناميكية (مثل تضمين معرّف سجل في مسار URL).
3. اختر **الطريقة**:
   * **GET** — استرداد البيانات.
   * **POST** — إرسال بيانات لإنشاء شيء.
   * **PUT / PATCH** — تحديث بيانات موجودة.
   * **DELETE** — حذف البيانات.
4. أضف **ترويسات** إذا كانت واجهة API تتطلبها (مثل رموز التفويض أو الترويسات المخصصة).
5. اختر **Content-Type** واكتب **النص** عند الحاجة (مع POST وPUT وPATCH).
6. احفظ الإجراء.

## شرح خيارات Content-Type

| Content-Type                        | متى يُستخدم                                            | تنسيق النص                                  |
| ----------------------------------- | ------------------------------------------------------ | ------------------------------------------- |
| `application/json`                  | معظم واجهات REST API. لإرسال بيانات منظّمة             | نص JSON (مثل `{"key": "value"}`)            |
| `application/x-www-form-urlencoded` | عمليات إرسال النماذج التقليدية وبعض واجهات API القديمة | أزواج مفتاح وقيمة مشفرة تلقائيًا لعنوان URL |
| `multipart/form-data`               | رفع الملفات أو البيانات المختلطة                       | أزواج مفتاح وقيمة مع دعم الملفات            |
| `text/plain`                        | حمولات نصية بسيطة                                      | سلسلة نصية عادية                            |

<Tip>إذا لم تكن متأكدًا من Content-Type المناسب، فاختر `application/json`. تستخدم معظم واجهات API الحديثة JSON.</Tip>

إذا لم تكن متأكدًا من الخيار المناسب، فإن `application/json` هو الاختيار الصحيح لمعظم واجهات API الحديثة.

## أمثلة المصادقة

تتطلب واجهات API كثيرة المصادقة. فيما يلي أنماط شائعة يمكنك إعدادها في قسم الترويسات:

### رمز Bearer

أضف ترويسة:

* **المفتاح:** `Authorization`
* **القيمة:** `Bearer your-api-token-here`

يعمل ذلك مع واجهات API مثل Slack وGitHub وNotion وغيرها الكثير.

### مفتاح API في الترويسة

أضف ترويسة:

* **المفتاح:** `X-API-Key` (أو ما تتوقعه واجهة API، مثل `api-key` أو `x-api-token`)
* **القيمة:** `your-api-key`

### المصادقة الأساسية

أضف ترويسة:

* **المفتاح:** `Authorization`
* **القيمة:** `Basic base64encoded(username:password)`

ستحتاج إلى ترميز بيانات اعتمادك باستخدام Base64 خارج Teable أو استخدام إجراء برنامج نصي لإنشاء قيمة الترويسة.

## مثال عملي: إرسال إشعار إلى Slack

الهدف: نشر رسالة في قناة Slack عند إنشاء سجل جديد.

1. **المشغّل:** عند إنشاء سجل.
2. **الإجراء:** طلب HTTP بالإعدادات التالية:
   * **عنوان URL:** `https://hooks.slack.com/services/T00/B00/xxxx` (عنوان URL لخطاف Slack لديك)
   * **الطريقة:** POST
   * **Content-Type:** `application/json`
   * **النص:**
     ```json theme={null}
     {
       "text": "تم إنشاء مهمة جديدة: {{Task Name}} — الأولوية: {{Priority}}"
     }
     ```
   استبدل `{{Task Name}}` و`{{Priority}}` بمتغيرات ديناميكية من المشغّل بالنقر على **+**.

## استخدام بيانات الاستجابة في الخطوات التالية

بعد تنفيذ طلب HTTP، تصبح الاستجابة متاحة للإجراءات اللاحقة:

* **رمز الحالة** — حالة HTTP ‏(200 و201 و404، إلخ).
* **نص الاستجابة** — البيانات التي تعيدها واجهة API، وتُحلل بوصفها JSON عند انطباق ذلك.

يمكنك الإشارة إلى حقول محددة في الاستجابة باستخدام منتقي المتغيرات **+** في الخطوات اللاحقة. على سبيل المثال، إذا أعادت واجهة API القيمة `{"id": "abc123", "status": "created"}`، فيمكنك الإشارة إلى `id` و`status` كلًا على حدة. وعند إدراج قيم ديناميكية باستخدام **+**، يمكنك أيضًا استخدام مسارات الحقول وخيارات التنسيق عندما تتطلب واجهة API خارجية تنسيق طلب محددًا.

يفيد ذلك في تسلسل استدعاءات API — على سبيل المثال، أنشئ شيئًا عبر POST، واستلم معرّفًا، ثم استخدمه في إجراء لاحق لتحديث سجل أو في طلب HTTP آخر.

## حالات الاستخدام

* **نشر رسائل في Slack أو Discord.** أرسل إشعارات إلى القنوات باستخدام عناوين URL لخطافات الويب الواردة.
* **مزامنة البيانات مع CRM أو ERP.** ادفع السجلات الجديدة أو المحدّثة إلى Salesforce أو HubSpot أو أي نظام يملك واجهة API.
* **استدعاء أي واجهة API لجهة خارجية.** تفاعل مع معالجات الدفع أو خدمات الشحن أو أدوات التحليلات أو واجهات API داخلية مخصصة.
* **تشغيل تدفقات عمل خارجية.** استدعِ خطافات Zapier أو سيناريوهات Make ‏(Integromat) أو منصات أتمتة أخرى.
* **جلب بيانات من مصادر خارجية.** استخدم طلبات GET لسحب أسعار الصرف أو بيانات الطقس أو أي بيانات API عامة إلى سير العمل.

## نصائح

* راجع دائمًا وثائق واجهة API لمعرفة الترويسات والمصادقة وتنسيق النص المتوقع.
* استخدم `application/json` بوصفه Content-Type لمعظم واجهات API الحديثة. إذا كانت الواجهة تتوقع بيانات نموذج، فانتقل إلى `x-www-form-urlencoded`.
* إذا أعادت واجهة API خطأً (حالة 4xx أو 5xx)، يظل الإجراء مكتملًا، لكن الخطوات اللاحقة سترى استجابة الخطأ. تحقق من رمز الحالة في سير العمل إذا كنت تحتاج إلى معالجة شرطية.
* بالنسبة إلى واجهات API التي تعيد استجابات كبيرة، لا تشر في الخطوات اللاحقة إلا إلى الحقول المحددة التي تحتاج إليها.
* ادمج الإجراء مع [الحلقة (دفعة)](/ar/basic/automation/actions/logic/loop-run) لإجراء عدة استدعاءات API، واحد لكل سجل. وانتبه إلى حدود معدل واجهة API الخارجية.
* استخدم ميزة [نص مصفوفة HTTP](/ar/basic/automation/actions/logic/loop-run) عندما تحتاج إلى إرسال عدة عناصر في طلب واحد بدلًا من طلب لكل عنصر.

## موضوعات ذات صلة

* [الحلقة (دفعة)](/ar/basic/automation/actions/logic/loop-run) — تنفيذ طلبات HTTP لكل عنصر في مصفوفة
* [عند استلام خطاف ويب](/ar/basic/automation/trigger/external/webhook-received) — النظير الوارد: استلام طلبات HTTP من أنظمة خارجية
* [تشغيل برنامج نصي](/ar/basic/automation/ai/scripting/runscript) — لتفاعلات API الأكثر تعقيدًا باستخدام شيفرة مخصصة
