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

# إجراء: طلب HTTP

> مرجع كامل لإجراء طلب HTTP داخل عقدة الإجراء: التبويبات الخمسة، أنواع المصادقة، المتغيرات الديناميكية وقيم الاختبار، ربط الاستجابة بالنتائج، ومخرج الفشل.

## بطاقة سريعة

|                      |                                                                                           |
| -------------------- | ----------------------------------------------------------------------------------------- |
| **الاسم البرمجي**    | `externalApiRequest`                                                                      |
| **الفئة في المنتقي** | متقدّم                                                                                    |
| **أين يعيش**         | إجراء واحد داخل [عقدة الإجراء](/ar/help-center/guides/automations/nodes/actions/overview) |
| **المخرج**           | رئيسي + مخرج فشل مستقل                                                                    |

طلب HTTP هو الإجراء الذي يحوّل أتمتة كرزون من "رد آلي داخلي" إلى **عميل API كامل**: أي نظام له واجهة برمجية على الإنترنت — متجرك، بنكك، نظام الشحن، أو نموذج ذكاء اصطناعي خارجي — يصبح خطوة عادية في مسارك.

هذا ليس نموذجاً مبسّطاً بحقلين (رابط + طريقة). هو محرر بأسلوب **Postman** كامل، بخمس تبويبات.

<Info>
  **وسائط مطلوبة:** محرر طلب HTTP مفتوحاً على تبويب "المحتوى" بنوع JSON، وتبويب "الاستجابة" يعرض معاينة JSON فعلية مع ربط قيمة بالسحب أو النقر.
  المسار المقترح: `/images/help/automations/action-http-request-tabs.webp`
  **فيديو (مستحسن):** دقيقة واحدة: بناء طلب GET كامل، اختباره، وربط قيمة من استجابته بحقل على العميل.
</Info>

## الطريقة (Method)

`GET` · `POST` · `PUT` · `PATCH` · `DELETE` — تحدد نوع العملية على الرابط المستهدف.

## التبويبات الخمسة

### ١. المعاملات (Params)

معاملات الرابط (Query Parameters) على شكل صفوف مفتاح/قيمة. كل صف له **مفتاح تفعيل مستقل** — تستطيع تجهيز معامل ثم تعطيله مؤقتاً دون حذفه، مفيد أثناء التجريب.

### ٢. الرؤوس (Headers)

رؤوس HTTP مخصصة بنفس أسلوب مفتاح/قيمة ومفتاح التفعيل لكل صف. استخدمها لإرسال `Content-Type` مخصص، رموز مصادقة إضافية، أو رؤوس يطلبها النظام الخارجي تحديداً.

### ٣. المحتوى (Body)

| نوع المحتوى      | متى تستخدمه                                                                                                                                                                                |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **بلا محتوى**    | طلبات `GET`/`DELETE` التي لا تحتاج جسم طلب                                                                                                                                                 |
| **نص خام (Raw)** | JSON مكتوب يدوياً، أو نص عادي — أنت تتحكم بالتنسيق الكامل                                                                                                                                  |
| **نموذج (Form)** | `application/x-www-form-urlencoded` — حقول مفتاح/قيمة تُرسل كنموذج تقليدي                                                                                                                  |
| **GraphQL**      | استعلام GraphQL كامل + متغيراته كـJSON — لاستهداف واجهات GraphQL خارجية (لا واجهة كرزون الداخلية؛ لذلك استخدم [GraphQL الداخلي](/ar/help-center/guides/automations/nodes/actions/graphql)) |

### ٤. المصادقة (Auth)

| النوع          | الحقول                                               |
| -------------- | ---------------------------------------------------- |
| **بلا مصادقة** | —                                                    |
| **Basic**      | اسم مستخدم + كلمة مرور                               |
| **Bearer**     | رمز مصادقة واحد (Token) يُرسل في رأس `Authorization` |

### ٥. الاستجابة (Response)

هنا تختبر الطلب فعلياً وتربط نتيجته بمسارك:

1. اضغط **إرسال** لتنفيذ الطلب فعلياً بالقيم الحالية (أو قيم الاختبار).
2. تظهر الاستجابة كـJSON قابل للتصفح والتوسيع.
3. **فعّل معالجة مسبقة بكود JavaScript** على الاستجابة قبل ربطها — مفيد لتحويل بنية الاستجابة قبل الاستخدام.
4. اضغط على أي قيمة داخل الاستجابة لإضافتها كـ**ربط (Mapping)** يحفظها في حقل على العميل أو في متغيرات المسار — بلا كتابة مسار JSON يدوياً.

## المتغيرات الديناميكية وقيم الاختبار

كل حقل — الرابط، الرؤوس، المعاملات، المحتوى، بيانات المصادقة — يقبل **متغيرات المسار** (`{{...}}`)، فتستطيع بناء طلب ديناميكي بالكامل يعتمد على بيانات العميل الحالي أو إجابات أسئلة سابقة.

<Tip>
  كل حقل يوفّر أيضاً **قيمة اختبار مستقلة** (شارة "test") تُستخدم فقط عند الضغط على "إرسال" لتجربة الطلب أثناء البناء — دون التأثير على القيمة الحقيقية (المتغيّر) المستخدمة عند التشغيل الفعلي. هذا يعني أنك تستطيع اختبار الطلب بقيم مصطنعة قبل النشر، بأمان.
</Tip>

## عند الفشل

إن لم يرجع الطلب بحالة `200` أو `201`، يُسلك **مخرج الفشل** المخصص لهذا الإجراء إن كان موصولاً بخطوة تالية؛ إن لم يكن موصولاً، يتوقف تنفيذ المسار بخطأ صامت.

<Warning>
  دائماً وصّل مخرج الفشل بخطوة بديلة — رسالة للعميل، تنبيه لفريقك، أو إجراء إعادة محاولة. طلب HTTP بلا مخرج فشل موصول يعني أن أي انقطاع في الخدمة الخارجية يوقف مسارك بصمت والعميل بلا رد.
</Warning>

## متى تستخدمه؟

| احتياجك                                            | الأنسب                                                                                                                             |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| جلب أو إرسال بيانات لأي خدمة خارجية على الإنترنت   | طلب HTTP                                                                                                                           |
| قراءة أو تعديل بيانات كرزون الداخلية               | [GraphQL الداخلي](/ar/help-center/guides/automations/nodes/actions/graphql)                                                        |
| منطق حسابي أو تحويل بيانات معقد قبل/بعد الطلب      | [دالة JavaScript](/ar/help-center/guides/automations/nodes/actions/js-function)                                                    |
| تنظيف استجابة JSON معقدة لحقول بسيطة               | [عمليات JSON](/ar/help-center/guides/automations/nodes/actions/json-operations)                                                    |
| تطبيق مثبَّت له إجراء جاهز (سلة، Google Sheets...) | [استخدام التطبيقات في الأتمتة](/ar/help-center/guides/automations/apps/use-in-automations) — أسرع وأقل عرضة للخطأ من طلب HTTP يدوي |

## مثال عملي: جلب حالة شحنة من نظام خارجي

1. العميل يرسل رقم التتبع (عقدة [سؤال](/ar/help-center/guides/automations/nodes/question) تحفظ الإجابة في متغير).
2. **طلب HTTP** — `GET` إلى واجهة شركة الشحن، مع رقم التتبع كمعامل رابط أو داخل المسار، ومصادقة Bearer إن لزم.
3. اختبر الطلب بقيمة اختبار في تبويب الاستجابة قبل النشر.
4. اربط حقل الحالة من الاستجابة (مثل `data.status`) بمتغير مسار.
5. [شرط](/ar/help-center/guides/automations/nodes/condition): إن كانت الحالة «تم التسليم» أرسل رسالة شكر، وإلا أرسل الحالة الحالية + [متابعة](/ar/help-center/guides/automations/wait-and-follow-up) بعد يوم.
6. وصّل **مخرج الفشل** برسالة: «تعذّر التحقق الآن، سيتابع معك موظف» ثم تسليم بشري.

## أخطاء شائعة

| الخطأ                                                      | النتيجة                                   | الصواب                                           |
| ---------------------------------------------------------- | ----------------------------------------- | ------------------------------------------------ |
| بلا مخرج فشل موصول                                         | انقطاع الخدمة الخارجية يوقف المسار كاملاً | وصّل مخرج الفشل لمسار بديل أو تنبيه              |
| استخدام بيانات حقيقية في حقول الاختبار                     | تسريب بيانات حساسة عند مشاركة الشاشة      | استخدم قيم اختبار مصطنعة دائماً                  |
| نشر الإجراء بلا اختباره فعلياً بزر "إرسال"                 | خطأ يُكتشف من العميل لا من المطوّر        | اختبر قبل النشر دائماً                           |
| نسيان تحديد `Content-Type` الصحيح في الرؤوس عند إرسال JSON | الخادم الخارجي يرفض الطلب أو يفسّره خطأ   | تأكد من تطابق نوع المحتوى مع تبويب "المحتوى"     |
| ترتيب الإجراء بعد إجراء يعتمد على نتيجته                   | قيمة فارغة أو قديمة                       | رتّب الإجراءات بحيث يسبق كل اعتماد ما يعتمد عليه |

## ذات صلة

* [عقدة: إجراء — نظرة عامة](/ar/help-center/guides/automations/nodes/actions/overview)
* [عمليات JSON](/ar/help-center/guides/automations/nodes/actions/json-operations)
* [دالة JavaScript](/ar/help-center/guides/automations/nodes/actions/js-function)
* [سجل التنفيذ واستكشاف الأخطاء](/ar/help-center/guides/automations/execution-history)


## Related topics

- [إجراء: عمليات JSON](/ar/help-center/guides/automations/nodes/actions/json-operations.md)
- [إجراء: GraphQL الداخلي](/ar/help-center/guides/automations/nodes/actions/graphql.md)
- [عقدة: إجراء — نظرة عامة](/ar/help-center/guides/automations/nodes/actions/overview.md)
- [إجراء: دالة JavaScript](/ar/help-center/guides/automations/nodes/actions/js-function.md)
- [إجراء: تسجيل تقييم العميل](/ar/help-center/guides/automations/nodes/actions/insert-feedback.md)
