Skip to main content
ينقلك هذا الدليل من البداية إلى النهاية: احصل على مفتاح API، وتأكّد من وجود العميل والأصناف، وأنشئ فاتورة عبر POST /invoices، ثم أرسلها للتسليم عبر Peppol.
1

احصل على مفتاح API

أنشئ مفتاحًا من الإعدادات ← التكاملات ← مفاتيح API وانسخ السرّ fat_…. راجع المصادقة. أرسله في ترويسة X-Api-Key في كل طلب.
2

أنشئ عميلًا وأصنافًا (عند الحاجة)

يمكنك الإشارة إلى المشتري والأصناف ضمن الفاتورة مباشرة، أو إنشاؤها أولًا كبيانات مرجعية لتصبح قابلة لإعادة الاستخدام. كل عملية إنشاء هي POST ويجب أن تحمل ترويسة Idempotency-Key:
3

أنشئ الفاتورة

نفّذ POST /invoices بجسم V1CreateInvoiceRequest. يوضّح المثال أدناه فاتورة ضريبية بسطر واحد، إضافة إلى مواضع الحقول الاختيارية — references وdelivery وallowancesCharges (على مستوى المستند والسطر) وclassifications على مستوى السطر ومعرّفات الصنف وتفاصيل الدفع.
invoice.json
يقبل documentType القيم Invoice أو CreditNote أو SelfBillingInvoice أو SelfBillingCreditNote. كما يتطلّب إشعار الخصم (CreditNote) الحقل precedingInvoiceNumber (رقم الفاتورة التي يصحّحها). ويقبل vatCategory القيم S (النسبة الأساسية 5%) أو Z (نسبة صفرية) أو E (معفى) أو O (خارج النطاق) أو AE (الاحتساب العكسي) — وعلى أي سطر يكون فيه vatCategory بقيمة E، يكون exemptionReasonCode مطلوبًا.
4

اقرأ الاستجابة

تُعيد عملية الإنشاء الناجحة 201 والمستند بالحالة Draft — أي أنه محفوظ ومتحقَّق منه، لكنه لم يُرسَل بعد إلى أي جهة:
إذا فشل الطلب، ستحصل على جسم خطأ بصيغة JSON ورمز حالة — راجع الأخطاء.
5

أرسلها للتسليم عبر Peppol

اختياريًا تحقّق مسبقًا عبر POST /invoices/{id}/validate (ينفّذ قواعد PINT-AE دون إرسال)، ثم أرسل المستند:
الإرسال غير متزامن: يُعيد الطلب 202 مع status: "Pending". استعلم عبر GET /invoices/{id} حتى تستقر الحالة:
يجب أن يتضمّن كل POST ترويسة Idempotency-Key. وبدونها يُرفَض الطلب برمز 400. أعِد استخدام المفتاح نفسه عند إعادة المحاولة كي لا تُنشأ نسخة مكرّرة — راجع معرّف عدم التكرار.