Webhooks للطلبات الجديدة
يرسل webhook كل طلب جديد وكل تغيير فيه إلى نظامك كرسالة JSON موقّعة. تعطي Menuthere عنوان HTTPS وسرًّا، ثم تتحقق من التوقيع في كل طلب. ويتيح لك زر اختبار وسجل تسليم التأكد من أنه يعمل.
- المكان
- Set up by Menuthere support
- الباقة
- لا تقفل لوحة التحكم webhooks بحسب الباقة.
- المدة
- 15 دقيقة
- آخر تحديث
أعدّ webhook
الخطوة 1: أرسل عنوانك إلى الدعم
الـ webhooks غير موجودة في لوحة التحكم بعد، لذلك يعدّها دعم Menuthere. أرسل إلى الدعم العنوان الذي سيستلم الطلبات. يجب أن يبدأ بـ https:// وأن يكون متاحًا من الإنترنت. ولا يمكن استدعاء عناوين مثل localhost أو الشبكات الخاصة.
الخطوة 2: احتفظ بالسر الخاص بالتوقيع
يشغّل الدعم webhooks الطلبات ويعطيك سرّ توقيع. احتفظ به على خادمك فقط. تستخدمه لتتأكد أن كل طلب جاء فعلًا من Menuthere.
الخطوة 3: اطلب حدث اختبار
اطلب من الدعم إرسال حدث اختبار. يرسل order.created تجريبيًا إلى عنوانك، وتعرض النتيجة Delivered مع رمز ردّ نقطتك، أو ما الذي حدث من خطأ.
ما الذي يرسله Menuthere
| الحدث | يُرسل عندما |
|---|---|
| order.created | يُقدَّم طلب. |
| order.status_updated | تتغير حالة طلب، مثل مقبول أو الطعام جاهز أو مكتمل. |
| payment.status_updated | يُعلَّم طلب كمدفوع، أو تتغير طريقة دفعه. |
| delivery.status_updated | يُعيَّن سائق أو تتغير حالة التوصيل. |
| الترويسة | القيمة |
|---|---|
| x-menuthere-event | اسم الحدث. |
| x-menuthere-timestamp | وقت Unix بالثواني، يُعاد ضبطه في كل محاولة. |
| x-menuthere-signature | HMAC-SHA256 بصيغة hex لمحتوى الطلب الخام، يُحسب بسرّك. |
المحتوى غلاف فيه event وid فريد وcreated_at وdata. ويحمل حدث الاختبار أيضًا "test": true، فتجاوزه في مطبخك. وفي order.created تضم data الحقول أدناه.
| الحقل | المحتوى |
|---|---|
| order_id, order_number | معرّف الطلب والرقم الذي يراه فريقك. |
| status, type, placed_at, currency | الحالة الحالية ونوع الطلب ووقت التقديم والعملة. |
| totals | subtotal, delivery_charge, packing_charge, gst, discount, grand_total. |
| customer | name, phone, address. |
| table | number وname الطاولة لطلب طاولة، وإلا فارغ. |
| items | كل سطر: name, quantity, unit_price, total_price, variant, notes. |
| notes, payment | ملاحظة العميل، وmethod الدفع وهل هو is_paid. |
التحقق والموثوقية
- تحقق من التوقيع على المحتوى الخام. فتحليل JSON وإعادة ترميزه يغيّر المسافات والترتيب ولن يتطابق التوقيع.
- اجعل المعالجة idempotent. قد يصل id نفسه مرتين. استخدمه لتتجنب تذكرة مطبخ ثانية.
- ردّ بـ 2xx بسرعة. ينتظر Menuthere 8 ثوانٍ لكل محاولة ويحاول حتى ثلاث مرات، بعد 1.5 ثانية ثم 5 ثوانٍ. وتُعاد المحاولة عند انتهاء المهلة أو 5xx أو 408 أو 429. أما أي 4xx أخرى فتُعدّ رفضًا متعمدًا ويتوقف الإرسال.
- راجع Recent deliveries. تسرد اللوحة المحاولات في آخر 24 ساعة، الأحدث أولًا، مع رمز الرد والوقت. وكل إعادة محاولة صف مستقل.
أسئلة
هل أستطيع توجيهه إلى خادم على شبكتي الخاصة؟
هل أستطيع إخبار نقطة بيعي بأن الطلب قُبل؟
هل يُحفظ سجل التسليم إلى الأبد؟
ذات صلة
لم تجد ما تبحث عنه؟ راسلنا على [email protected] أو تحدّث معنا من 9 صباحًا حتى 9 مساءً.مركز المساعدةالأسعارmenuthere.com
