للمطوّرين

سكب للمطوّرين

سكب لا يكشف واجهات داخلية. للنظام بابان اثنان — صندوق وارد يستقبل، وصندوق صادر يبلّغ — وهذا الدليل يعلّمك كيف تهيّئ حمولتك ليتعامل معها الباب الصحيح.

آخر تحديث · 11 Aug 2026الإصدار · 1.0

البابان

أنت لا تستدعي وظائف سكب — أنت تصف ما حدث عندك في مغلّف، وسكب يقرر كيف يصبح مستندًا صحيحًا في الدفاتر.

  • الوارد — نظامك يرسل مغلّفًا موقّعًا إلى عنوان ربطك. سكب يتحقق منه ووصفة الربط تحوّله إلى مستند ينتظر مراجعة المحاسب. لا «نقطة نهاية» لكل مستند — عنوان واحد ونوع رسالة داخل المغلّف.
  • الصادر — سكب يدفع الأحداث الموقّعة إلى عناوينك (فاتورة صدرت، سند حُصّل…). أنت تشترك في الأحداث وتتحقق من توقيع كل تسليم — لا سحب دوريًا.

عنوان ربطك ومفتاحه وسر توقيعه داخل المنتج: الإعدادات ← الربط.

المغلّف — كيف تهيّئ الحمولة

كل إرسال هو مغلّف وحمولة. المغلّف يحمل هوية الرسالة وتوجيهها — والحمولة بياناتك أنت بأي شكل تتفق عليه وصفتك:

POST https://api.sakb.sa/api/public/v1/inbound/custom
Authorization: Bearer sakb_gk_…
X-Sakb-Signature: sha256=…
X-Sakb-Timestamp: 2026-08-11T09:30:00Z

{
  "envelope": {
    "messageType": "sales.invoice.received",
    "version": "1.0",
    "idempotencyKey": "inv-10452-delivery-1",
    "occurredAt": "2026-08-11T09:30:00Z",
    "source": { "channel": "custom", "externalId": "INV-10452" }
  },
  "payload": { }
}
  • messageType «تيار.حدث» — الجزء الأخير هو الحدث والباقي التيار؛ وصفتك تُطابق عليهما.
  • idempotencyKey فريد لكل إرسال: الإعادة بنفس المفتاح والمحتوى تُجاب بنفس النتيجة ولا تُنشئ سجلًا ثانيًا.
  • source.externalId رقم مستندك عندك — به يعرف سكب المستند نفسه إذا وصل مرة أخرى.
  • payload بياناتك — الوصفة داخل سكب تحوّلها إلى حقول المستند.

التوقيع

كل طلب وارد يوقَّع بسر توقيع ربطك ويُحمل في ترويستي X-Sakb-Signature وX-Sakb-Timestamp (نافذة ±5 دقائق):

base      = rawBodyUtf8 + "\n" + X-Sakb-Timestamp
signature = "sha256=" + hex(HMAC-SHA256(base, signingSecret))

ما لا يُوقَّع أو أُسيء توقيعه أو تقادم يُرفض — لا مسار بلا تحقق.

حالة الرسالة

تُستطلع النتيجة من GET /api/public/v1/messages/:id:

  • PROCESSED صار مستندًا — معرّفاته في الجواب.
  • NEEDS_USER وصل وتوقف لمراجعة المحاسب داخل سكب — ليس خطأك بالضرورة.
  • REJECTED رُفض — السبب في سجل الرسالة.

الصادر — الويب هوك

اشترك بعنوانك وأحداثك، وتحقق من توقيع كل تسليم بسر الاشتراك.

عند تدوير السر يبقى القديم صالحًا 7 أيام — سكب يوقّع بالاثنين خلالها.

الوضع التجريبي

أرسل المغلّف نفسه بعلم "sandbox": true — يمرّ بكل خطوات المعالجة ويتوقف قبل الكتابة، فترى النتيجة معاينةً دون أثر في الدفاتر.

نستخدم ملفات تعريف ارتباط وتخزيناً محلياً ضرورياً لتذكر لغتك وتفضيلاتك، وفق نظام حماية البيانات الشخصية السعودي. سياسة الخصوصية