إرسال طلب HTTP
يربط إجراء إرسال طلب HTTP سير عملك بخادم ويب أو عنوان URL ويُرسل طلبات HTTP.
بعد أن يُرسل Flow طلب HTTP الخاص بك، فإنه ينتظر لمدة 30 ثانية كحد أقصى للحصول على رمز استجابة HTTP. وإذا لم يتلقَ Flow استجابة بعد 30 ثانية، فإنه يُغلق الاتصال بتطبيقك. ثم يُعيد محاولة إرسال الطلب لاحقًا.
الحقول
يحتوي إجراء إرسال طلب HTTP على الحقول التالية.
| الحقل | الوصف |
|---|---|
| طريقة HTTP | طريقة طلب HTTP المراد إرساله. يدعم إجراء إرسال طلب HTTP الطرق التالية:
|
| URL | عنوان URL للخادم الذي يُرسل إليه طلب HTTP. |
| الترويسات | زوج المفتاح والقيمة لطلب HTTP. يمكن إدخال أزواج متعددة من المفتاح والقيمة. |
| النص | المحتوى المراد إرساله إلى الخادم. |
| عند حدوث خطأ من العميل (استجابة 4XX) | عند تلقّي رمز استجابة يشير إلى خطأ من العميل، فإن Flow سيقوم بما يلي:
|
| عند حدوث خطأ من الخادم (استجابة 5XX أو 429) | عند تلقّي رمز استجابة يشير إلى خطأ من الخادم، فإن Flow سيقوم بما يلي:
|
البيانات المُرجعة
للوصول إلى البيانات المُرجعة في الخطوات التي تلي هذا الإجراء، استخدِم المتغيّر الذي يحمل الاسم sendHttpRequest، والذي يتضمن جميع تفاصيل استجابة HTTP. يمكنك اختياريًا استخدام إجراء Run code لتحليل body الخاص بالاستجابة لاستخدامه في خطوات سير العمل اللاحقة، كما في المثال أدناه.
إذا تم استخدام إجراء Send HTTP request (إرسال طلب HTTP) عدة مرات في سير عمل واحد، يُضاف رقم إلى اسم المتغيّر. على سبيل المثال، في سير العمل الذي يستخدم إجراء Send HTTP request مرتين، يكون المتغيّر الأول للبيانات المُرجعة هو sendHttpRequest ويكون المتغيّر الثاني هو sendHttpRequest1. لا يمكن تخصيص هذا الاسم.
رموز الاستجابة
يصف الجدول التالي كيفية معالجة Flow لـ رمز استجابة HTTP بعد تلقّيه للاستجابة.
| رمز استجابة HTTP | كيفية معالجة Flow لرمز الاستجابة |
|---|---|
| نجاح 2XX أو 3XX | يضع Flow علامة على طلب HTTP باعتباره ناجحًا ويُنفّذ الإجراءات اللاحقة في سير العمل. |
| أخطاء 4XX، وأخطاء 5XX و429 | بناءً على كيفية تكوين الإجراء، فإن Flow سيقوم بما يلي:
|
| رمز استجابة آخر | إذا أرجعت الاستجابة رمزًا غير موصوف في هذا الجدول أو انتهت المهلة عند إعادة محاولة الإجراءات، فإن Flow يضع علامة على طلب HTTP باعتباره فاشلاً، ويفشل عملية تشغيل سير العمل، ولا يتخذ أي إجراءات لاحقة في سير العمل. |
الأسرار
تُستخدم الأسرار لتخزين المعلومات الحساسة بأمان لاستخدامها في إجراء Send HTTP request، مثل رموز الوصول أو كلمات المرور. يتم إنشاء الأسرار وإدارتها من صفحة Flow > الإعدادات. يحتوي السر على مقبض وقيمة ووصف. يمكنك الإشارة إلى السر كمتغيّر Liquid (مثل {{secrets.handle}}) أو من خيار إضافة سر عند تكوين حقول URL أو قيمة الترويسة أو النص. لا تظهر قيم الأسرار أبدًا في واجهة Flow ويتم حجبها من سجلات عملية تشغيل سير العمل.
المشغّلات
يمكن استخدام إجراء Send HTTP request في أي سير عمل.
أمثلة
المثال الأول: إرسال طلب HTTP إلى خدمة خارجية
في هذا المثال، يتم استخدام Flow لإرسال طلب HTTP إلى خدمة خارجية.
قبل البدء، قم بتكوين خدمة ويب تتلقى طلبات HTTP وتخزن بيانات هذه الطلبات للاختبار، مثل Request Catcher. تذكر توخي الحذر عند إرسال بيانات حساسة (مثل كلمات المرور أو مفاتيح API) إلى خدمة تابعة لجهة خارجية.
الخطوات:
- اختر مشغّل Product status updated (تحديث حالة المنتج)، والذي يتيح لك اختبار سير العمل هذا من خلال تغيير حالة منتج.
- أضف إجراء Send HTTP Request إلى سير عملك واربطه بالمشغّل. ثم افتح لوحة التكوين بالنقر على خطوة Send HTTP Request .
- في حقل طريقة HTTP، أدخل
POST. - في حقل URL، أدخل عنوان URL المراد اختباره، مثل
https://yourFlowTest.requestcatcher.com/test. - في قسم الترويسات، أدخل ترويسة بـ مفتاح
Content-Typeوقيمةtext/plain. - في قسم النص، أدخل
{{product.title}}و{{product.status}}لإرسال عنوان المنتج وحالته المُحدّثة من المشغّل.
- في حقل طريقة HTTP، أدخل
- قم بتنشيط سير العمل.
- اختبره عن طريق تغيير حالة منتج، مثل تغييرها من مسودة إلى نشط.
- راقب النتائج في خدمة الاختبار الخارجية، مثل
https://yourFlowTest.requestcatcher.com/في هذا المثال.
المثال الثاني: استخدام Run code لتحليل استجابة HTTP
في هذا المثال، يتم استخدام Flow لإرسال طلب HTTP إلى خدمة خارجية، بالإضافة إلى استخدام إجراء Run code لتحليل body الخاص باستجابة HTTP لاستخدامه في خطوات سير العمل اللاحقة.
قبل البدء، اختر خدمة ويب تتلقى طلبات HTTP وتُرجع بيانات، مثل Postman Echo. تذكّر توخي الحذر عند إرسال بيانات حساسة (مثل كلمات المرور أو مفاتيح API) إلى خدمة طرف ثالث.
الخطوات:
اختر مشغّل Product status updated (تحديث حالة المنتج)، والذي يتيح لك اختبار سير العمل هذا من خلال تغيير حالة منتج.
أضف إجراء إرسال طلب HTTP إلى سير عملك واربطه بالمُشغّل. بعد ذلك، افتح لوحة التهيئة بالضغط على خطوة إرسال طلب HTTP.
في حقل طريقة HTTP، أدخل
POST.في حقل URL، أدخل الـ URL المراد اختباره، مثل
https://postman-echo.com/post.في قسم الترويسات، أدخل ترويسة يكون فيها المفتاح هو
Content-Typeوالقيمة هيapplication/json.في قسم النص الأساسي، أدخل كود JSON التجريبي لإرجاعه إلى سير العمل، مثل:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
أضف إجراء تشغيل الكود إلى سير عملك واربطه بإجراء إرسال طلب HTTP. بعد ذلك، افتح لوحة التهيئة بالضغط على خطوة تشغيل الكود.
في حقل تحديد المدخلات، قم بتضمين الـ
bodyالمُرجع من كائنsendHTTPrequest، مثل:query{ sendHttpRequest { body } }في حقل تحديد المخرجات، المعرّف في مخطط المخرجات، مثل:
type Output { productTitle: String! productStatus: String! }في حقل كتابة الكود، قم بتحليل الاستجابة باستخدام طريقة
JSON.parseوتأكد من أن البيانات التي تُرجعها تتطابق مع الشكل والأنواع المعرّفة في مخطط المخرجات، مثل:export default function main(input) { const body = JSON.parse(input.sendHttpRequest.body); console.log("body is", body); return { productTitle: body.data.productTitle, productStatus: body.data.productStatus } }
أضف إجراء تسجيل المخرجات إلى سير عملك واربطه بإجراء تشغيل الكود. بعد ذلك، افتح لوحة التهيئة بالضغط على خطوة تشغيل الكود.
في حقل المخرجات، قم بتضمين المتغيرات المُرجعة من خطوة تشغيل الكود، مثل:
Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
قم بتنشيط سير العمل.
اختبره عن طريق تغيير حالة منتج، مثل تغييرها من مسودة إلى نشط.
راقب التشغيل الناتج من صفحة Flow / عمليات التشغيل الأخيرة ولاحظ أن القيم في خطوة تسجيل المخرجات تتطابق مع القيم المُرجعة من مخرجات إرسال طلب HTTP.
القوالب
إشعار مزوّد خدمات التنفيذ بخصوص الطلبات القادمة
إرسال طلب HTTP إلى مزوّد خدمات التنفيذ عندما تتم إضافة إشارة "Warehouse" إلى الطلبات في Order Tagger. عرض القالب
إرسال الطلبات الجديدة إلى Airtable
إرسال الطلبات إلى Airtable عند إنشاء طلب. عرض القالب
إرسال جميع المنتجات الحالية والجديدة إلى Airtable
كل 10 دقائق، البحث عن المنتجات التي لم تُرسل إلى Airtable (حسب الإشارة) وإرسالها إلى Airtable. عرض القالب
تحديث المنتجات على دُفعات من بيانات المنتجات المخزنة في Airtable
تحديث المنتجات على دُفعات من بيانات المنتجات المخزنة في Airtable. عرض القالب
إشعار العملاء ببطاقات الهدايا التي تقترب من انتهاء الصلاحية باستخدام SendGrid
كل يوم، الحصول على جميع بطاقات الهدايا التي تنتهي صلاحيتها خلال 7 أيام وإرسال رسائل بريد إلكتروني إلى العملاء باستخدام SendGrid. عرض القالب
إرسال بريد إلكتروني باستخدام SendGrid عندما يُجري العملاء طلبًا لعنصر مخصص
إرسال بريد إلكتروني للمعاملات باستخدام SendGrid عندما يُجري عميل طلبًا لعنصر مخصص. عرض القالب