واجهة شركاء RAWAFED (Partner API).
المصادقة: كل المسارات تتطلب مفتاح API بالترويسة X-API-Key بصيغة
{prefix}.{secret} — المفتاح يُنشأ من بوابة التاجر ويُعرض مرة واحدة فقط.
الصلاحيات (Scopes) — مفروضة فعلياً: كل مفتاح يحمل مجموعة صلاحيات تُختار
عند إنشائه. الطلب لمسار خارج صلاحيات المفتاح يُرفض بـ 403 مع رسالة تُسمّي
الصلاحية الناقصة. الصلاحيات المتاحة:
| Scope |
يسمح بـ |
addresses:read |
حلّ رمز توصيل، البحث المحجوب بالموبايل |
addresses:write |
إنشاء عنوان، إرسال طلب مشاركة |
rates:read |
التسعير قبل الإنشاء |
shipments:read |
قراءة/تتبع الشحنات وملصقاتها |
shipments:write |
إنشاء الشحنات وإلغاؤها |
express:read |
تسعير التوصيل، قراءة الطلبات السريعة ومتاجرك |
express:write |
إنشاء الطلب السريع وإلغاؤه و«جاهز»، وإدارة متاجرك |
cod:read |
قراءة دورات تسوية COD |
webhooks:manage |
تسجيل وإدارة الـ webhooks |
التوصيل السريع (أكل وماركت): سجّل متاجرك مرة (POST /partner/v1/express/stores)، ثم أرسل
كل طلب (POST /partner/v1/express) بالمتجر والزبون والدبوس والأصناف وطريقة الدفع. يُعرض فوراً على
الكباتن، وكل خطوة بعدها — قبول الكابتن، وصوله للمتجر، الاستلام، وصوله للباب، التسليم أو الفشل أو
الإلغاء — تصلك webhook باسم express.status_changed يحمل الطلب كاملاً بشكل ExpressOrder
نفسه (الحالة، الكابتن، والخطوات بأوقاتها). اعرض delivery_code لزبونك: الكابتن لا يسلّم بدونه.
للتتبع: GET /partner/v1/express/{code}/tracking (الموقع الحي والوقت المتوقع)، أو أرسل لزبونك
tracking_url — صفحة جاهزة باسم شركتك.
رمز التسليم منك: أرسل delivery_code (4–6 أرقام) مع الطلب السريع أو طلب المتجر، فنفحصه نحن عند الباب ولا
نتصل بك في اللحظة. يصلك delivery.code_failed عند كل رمز خطأ (attempts_left)، وdelivery.code_locked عند الحد.
واستبدل الرمز ليُفتح الباب. وكل تسليم يقول verification: code أو override أو none.
الخريطة الحية: اشترك بالاسم في express.location_updated (لا يصل لمن اشترك بـ*). يصلك موقع
الكابتن من الإسناد حتى الباب، مرة كل 10 ثوانٍ على الأكثر لكل طلب، بشكل ExpressLocationUpdated. الكابتن
الذي يحمل طلباً يرسل موقعه فور أخذه، فما يصلك عمره ثوانٍ.
Idempotency: مسارات الكتابة في الشحنات والطلب السريع تقبل ترويسة
Idempotency-Key. تكرار نفس المفتاح بنفس الجسم يُعيد الاستجابة المحفوظة
بدل إنشاء سجل ثانٍ (مع ترويسة Idempotent-Replay: true)، وتكراره بجسم
مختلف يُرفض بـ 422. استخدمه دائماً عند إعادة المحاولة بعد انقطاع الشبكة.
حدود المعدل: 60 طلب/دقيقة لكل مفتاح على عموم الواجهة (120 على مسارات السريع)، و10 طلبات/دقيقة
على مسارات البحث بالموبايل ومشاركة العنوان.
الخصوصية: /partner/v1/addresses/lookup-phone يُرجع بيانات محجوبة فقط
(exists / has_verified_address) ولا يكشف إحداثيات ولا معلماً ولا رمز
التوصيل. كشف العنوان يتم فقط بحيازة رمز التوصيل نفسه.