ابنِ المستقبِل لديك ليردّ بسرعة، ويقبل التكرار، ويتحقق مما يستلمه. هذه الصفحة تعرض قواعد التسليم بدقة.
الطلب
| الخاصية | القيمة |
|---|
| الطريقة | POST |
| المحتوى | JSON فيه event وdata. راجع الأحداث وبياناتها |
| الترويسات | Content-Type: application/json وSignature |
| TLS | يُتحقق من شهادة العنوان الذي يبدأ بـ https://. الشهادة غير الصالحة تُفشل التسليم |
| مهلة الرد المسموحة | 3 ثوانٍ |
ما الذي يُعدّ تسليمًا
أي رد بحالة 2xx. أي حالة نهائية أخرى، أو انتهاء المهلة، أو فشل الاتصال، يُعدّ فشلًا.
رُدّ بـ 200 فور تخزين الرسالة. نفّذ العمل البطيء بعد ذلك.
إعادة المحاولة
| المحاولة | متى |
|---|
| 1 | عند وقوع الحدث |
| 2 | بعد 10 ثوانٍ من الفشل الأول |
| 3 | بعد 100 ثانية من الفشل الثاني |
بعد الفشل الثالث تُهمل الرسالة. لا شيء يسجّلها ولا يُبلَّغ أحد. ليس في اللوحة سجل تسليم ولا إعادة إرسال.
خطّط لذلك:
- قد تسلّم إعادة المحاولة الحدث نفسه مرتين إذا ضاع ردّك. استخدم معرّف الطلب أو المرتجع في
data لتجاهل التكرار.
- قد تصل أحداث الطلب الواحد بغير ترتيبها إذا كانت محاولة حدث سابق تُعاد.
- للتعافي من انقطاع طويل، اقرأ الطلبات مجددًا عبر نقطة نهاية الطلبات في API الوارد.
متى لا يُرسل شيء
- الـWebhook في حالة متوقف مؤقتًا، أو الحدث غير محدد فيه.
- باقتك لا تشمل «Webhooks وواجهة API للمطورين». تبقى الـWebhooks محفوظة وتعود للعمل عندما تشملها.
- الطلب من المتجر التجريبي، أو المرتجع تابع لطلب منه.
ترويسة التوقيع
كل طلب يحمل ترويسة Signature. وهي قيمة HMAC-SHA256 لمحتوى الطلب بالنظام الست عشري وبأحرف صغيرة، ومفتاحها مفتاح التوقيع السري.
للتحقق من رسالة:
- اقرأ محتوى الطلب الخام، بايتًا بايتًا، قبل أي تحليل لـJSON.
- احسب HMAC-SHA256 لهذه البايتات بمفتاح التوقيع السري واكتبه بالنظام الست عشري وبأحرف صغيرة.
- قارن النتيجة بترويسة
Signature بمقارنة ثابتة الزمن. ارفض الرسالة إذا اختلفتا.
لا تحلّل JSON ثم تعيد تسلسله قبل الحساب. أي تغيير في المسافات أو في ترميز الأحرف يعطي نتيجة مختلفة.
اللوحة لا تعرض مفتاح التوقيع السري. اطلب مفتاح التوقيع السري من الدعم.
ممارسات جيدة لأي مستقبِل:
- استخدم عنوانًا يبدأ بـ
https:// وأبقِه خاصًّا.
- قبل أي إجراء يخص المال أو المخزون، اقرأ الطلب مجددًا عبر نقطة نهاية الطلبات في API الوارد وقارن.
- تجاهل أسماء الأحداث التي لم تحددها.
الاختبار
أنشئ Webhook يشير إلى أداة لفحص الطلبات، وحدّد حدثًا واحدًا، ثم أحدِثه في المتجر. بطاقة ماذا نرسل في النموذج تعرض طريقة الطلب واسم الترويسة ومهلة الرد وعدد المحاولات.