Docs

الـ Webhooks

استقبال اشعارات فورية عن الاحداث في متجرك عبر Webhooks

الـ Webhooks تتيح لتطبيقاتك الخارجية استقبال اشعارات فورية عند حدوث احداث معينة في المتجر.

كيف تعمل

  1. تسجّل عنوان URL في اعدادات المتجر
  2. عند حدوث حدث (مثل طلب جديد)، مُلكم ترسل طلب POST
  3. تطبيقك يستقبل البيانات ويعالجها

تسجيل Webhook

POST /functions/v1/webhooks/register

{
  "store_id": "uuid",
  "url": "https://your-app.com/webhooks/mollkom",
  "events": ["order.created", "order.updated", "product.created"],
  "secret": "your-webhook-secret"
}

الاحداث المتاحة

احداث الطلبات

الحدثمتى يُطلق
order.createdطلب جديد
order.updatedتحديث حالة الطلب
order.paidتم الدفع
order.shippedتم الشحن
order.deliveredتم التوصيل
order.cancelledتم الالغاء
order.refundedتم الاسترداد

احداث المنتجات

الحدثمتى يُطلق
product.createdمنتج جديد
product.updatedتحديث منتج
product.deletedحذف منتج
inventory.updatedتغيير المخزون

احداث العملاء

الحدثمتى يُطلق
customer.createdعميل جديد
customer.updatedتحديث بيانات عميل

شكل البيانات (Payload)

{
  "id": "evt_abc123",
  "event": "order.created",
  "created_at": "2026-04-14T12:00:00Z",
  "store_id": "uuid",
  "data": {
    "order_id": "uuid",
    "order_number": "#1234",
    "total": 299.00,
    "currency": "SAR",
    "status": "pending",
    "customer": {
      "name": "محمد احمد",
      "email": "m@example.com"
    },
    "items": [
      {
        "product_id": "uuid",
        "name": "تيشيرت قطن",
        "quantity": 2,
        "price": 89.00
      }
    ]
  }
}

التحقق من التوقيع

كل طلب Webhook يحتوي هيدر X-Mollkom-Signature للتحقق من الاصالة:

import crypto from 'crypto';
 
function verifyWebhook(payload, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

اعادة المحاولة

اذا لم يستجب عنوانك بـ 200 OK خلال 10 ثوانٍ:

  • محاولة 1: فورية
  • محاولة 2: بعد 1 دقيقة
  • محاولة 3: بعد 5 دقائق
  • محاولة 4: بعد 30 دقيقة
  • محاولة 5: بعد ساعة

بعد 5 محاولات فاشلة، يتم تعطيل الـ Webhook وارسال اشعار للتاجر.

On this page