انتقل إلى المحتوى الرئيسي

عقدة api

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


إعدادات عقدة API

IMG2

1. الاسم

حقل لتحديد اسم العقدة.
يظهر الاسم في مساحة العمل ويساعد في التعرف بسهولة على العقدة.
إذا تركت فارغة، ستسمى العقدة API.

مثال:

  • اسم العقدة: إنشاء جلسة دفع

2. الطريقة

هنا يتم اختيار طريقة واجهة برمجة التطبيقات التي ستستخدم لإرسال الطلب. الطرق المتاحة:

  • "إنشاء جلسة دفع":
    ينشئ جلسة دفع جديدة.

  • "تحديث جلسة دفع":
    يقوم بتحديث جلسة دفع موجودة.

  • "الحصول على جلسة دفع بواسطة ID":
    يحصل على معلومات حول جلسة الدفع باستخدام معرف الجلسة الفريد.

  • "الحصول على جلسة دفع بواسطة Order ID":
    يحصل على معلومات حول جلسة الدفع باستخدام معرف الطلب.

مثال:

  • الطريقة: إنشاء جلسة دفع

3. البيانات

يستخدم هذا الحقل قالب Mustache لتشكيل بيانات الطلب بتنسيق JSON.
يمكنك استخدام البيانات من الرسالة msg لاستبدال القيم في القالب.

مثال على القالب (لطريقة "إنشاء جلسة دفع"):

 {
"orderId": {{orderId}},
"type": "session"
}

في هذا المثال، سيتم استبدال قيمة orderId من الرسالة msg.

مثال على القالب (لطريقة "تحديث جلسة دفع"):

 {
"id": {{paymentSessionId}},
"paymentUrl": "{{{payload.links.1.href}}}"
}

عند استخدام قوالب Mustache، يمكنك تمرير بيانات معقدة ومعلمات ضرورية للتفاعل مع واجهة برمجة التطبيقات.


أمثلة على الطلبات

مثال 1: إنشاء جلسة دفع

إعدادات العقدة:

  • الطريقة: إنشاء جلسة دفع
  • البيانات:
    {
    "orderId": {{orderId}},
    "type": "session"
    }

الرسالة:

{
"orderId": 123
}

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


مثال 2: تحديث جلسة دفع

إعدادات العقدة:

  • الطريقة: تحديث جلسة دفع
  • البيانات:
    {
    "id": {{paymentSessionId}},
    "paymentUrl": "{{{payload.links.1.href}}}"
    }

الرسالة:

{
"paymentSessionId": 123,
"payload": {
"id": "8YP51523N05861826",
....
"links": [
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8YP51523N05861826",
"rel": "self",
"method": "GET"
},
{
"href": "https://www.sandbox.paypal.com/checkoutnow?token=8YP51523N05861826",
"rel": "payer-action",
"method": "GET"
}
]
}
}

النتيجة:
سترسل العقدة طلبًا لتحديث حالة جلسة الدفع، باستخدام القيم المقدمة payment_session_id و status.


مثال 3: الحصول على جلسة دفع بواسطة ID

إعدادات العقدة:

  • الطريقة: الحصول على جلسة دفع بواسطة ID
  • البيانات:
    {
    "id": "{{paymentSessionId}}"
    }

الرسالة:

{
"paymentSessionId": 123
}

النتيجة:
سترسل العقدة طلبًا للحصول على معلومات حول جلسة الدفع باستخدام المعرف الفريد للجلسة.


مثال 4: الحصول على جلسة دفع بواسطة Order ID

إعدادات العقدة:

  • الطريقة: الحصول على جلسة دفع بواسطة Order ID
  • البيانات:
    {
    "orderId": "{{payload.id}}"
    }

الرسالة:

{
"payload": {
"id": 1
}
}

النتيجة:
سترسل العقدة طلبًا للحصول على معلومات حول جلسة الدفع المرتبطة بمعرف الطلب المحدد.