مرجع الويب هوكس
ترسل صلة الويب هوكس من الخادم إلى الخادم مع تواقيع HMAC وترويسة زمنية وإعادة محاولات تلقائية.
الترويسات
text
X-Sela-Event: conversation.created
X-Sela-Delivery: whd_...
X-Sela-Timestamp: 1712345678901
X-Sela-Signature-Version: v1
X-Sela-Signature: <hex hmac sha256>طريقة التوقيع
احسب HMAC-SHA256 باستخدام السر المخزّن لديك وعلى النص التالي: timestamp + '.' + rawBody
javascript
import crypto from "node:crypto";
const signedPayload = `${req.headers["x-sela-timestamp"]}.${rawBody}`;
const expected = crypto
.createHmac("sha256", process.env.SELA_WEBHOOK_SECRET!)
.update(signedPayload)
.digest("hex");أحداث الطلبات
اشترك في order.* لاستقبال كل أحداث طلبات المطاعم. تحتوي البيانات على معرف الطلب، الحالة، بيانات العميل، تفاصيل التسليم، ملخص الطلب، ومعرف الطلب الخارجي عند توفره.
text
order.created
order.approved
order.rejected
order.arrivedjson
{
"event": "order.created",
"timestamp": 1712345678901,
"data": {
"id": "toolExecutions:...",
"status": "pending",
"conversationId": "conversations:...",
"customer": {
"name": "Ali",
"phone": "+964..."
},
"fulfillment": {
"type": "delivery",
"address": "Al Mansour"
},
"orderSummary": "2 burgers, fries, delivery fee included",
"specialInstructions": null,
"externalOrderId": null
}
}إعادة المحاولات
إذا أعادت نقطتك حالة غير ناجحة أو انتهت المهلة، تعيد صلة المحاولة حتى 5 مرات بتراجع تصاعدي. يجب التعامل مع X-Sela-Delivery كمفتاح إزالة التكرار.