نظرة عامة
فواترا طبقة وسيطة (API Gateway) بين نظامك ونظام الفوترة الوطني الأردني (JoFotara). ترسل إلينا الفاتورة بصيغة JSON مألوفة، فنقوم نحن بما يلي:
- التحقّق من صحّة البيانات وحساب الإجماليات والضريبة بدقّة ثلاث خانات عشرية.
- تخصيص
UUIDوعدّادICVتصاعدي لا يتكرّر لمنشأتك. - بناء مستند UBL 2.1 مطابق لمتطلّبات البوابة، وترميزه
base64. - الإرسال إلى البوابة بترويستي
Client-IdوSecret-Keyالخاصّتين بمنشأتك. - تفسير الردّ، واستخراج محتوى رمز QR، وتخزين الطلب والردّ كاملين للتدقيق.
- إشعار نظامك عبر Webhook موقّع (في الخطط المدفوعة).
الأساسيات
| العنوان الأساسي | https://fawtara.codexal.co/api/v1 |
| المصادقة | Authorization: Bearer <API_KEY> |
| صيغة الطلب | application/json بترميز UTF-8 |
| صيغة الردّ | JSON — كل ردّ ناجح يحتوي data، وكل خطأ يحتوي error |
| العملة | JOD افتراضيًا، بثلاث خانات عشرية |
| الإصدار | v1 — أي تغيير غير متوافق سيصدر تحت v2 |
شكل الردّ
الاستجابة الناجحة:
{
"data": {
"id": "inv_7a2f9c1b4e8d0536",
"object": "invoice",
"mode": "live",
"invoice_number": "INV-1001",
"status": "accepted",
"qr_content": "AQ3YtNix...",
"qr_image_url": "https://fawtara.codexal.co/api/v1/invoices/inv_7a2f9c1b4e8d0536/qr.png",
"totals": { "subtotal": 150.000, "tax_total": 0.000, "total": 150.000 }
}
}
الاستجابة في حالة الخطأ:
{
"error": {
"type": "validation_error",
"message": "بيانات الطلب غير صحيحة.",
"fields": {
"lines.0.unit_price": ["سعر الوحدة مطلوب ولا يقبل القيم السالبة."]
}
}
}
حالات الفاتورة
| الحالة | المعنى | الإجراء المطلوب منك |
|---|---|---|
pending | أُنشئت ولم يكتمل الإرسال. | استعلم مرة أخرى أو أعد المحاولة. |
accepted | قُبلت من البوابة ورمز QR متاح. | اطبع الفاتورة مع الرمز. |
rejected | رفضتها البوابة لخطأ في البيانات. | اقرأ error.message، صحّح، ثم retry. |
error | خطأ تقني (شبكة أو بيانات اعتماد). | أعد المحاولة لاحقًا أو تحقّق من الإعدادات. |
قبل أن تبدأ
- سجّل منشأتك لدى دائرة ضريبة الدخل والمبيعات واحصل على
Client-IdوSecret-Keyمن شاشة «ربط الأجهزة» — الخطوات بالصور في مفاتيح البوابة من المنصة. - اعرف نوع تكليفك: دخل، أو مبيعات، أو مبيعات خاصة — فهو يُحدّد بنية الفاتورة.
- اعرف تسلسل مصدر الدخل الخاص بك من البوابة.
- أنشئ حساب مطوّر هنا، وابدأ على بيئة الاختبار قبل الإنتاج.
ملاحظة مهمّة: نُولّد مستند UBL وفق المواصفة المنشورة، لكن البوابة قد تطبّق قواعد تحقّق
خاصّة بنوع تكليف منشأتك. استخدم
POST /v1/invoices/preview لمعاينة الـ XML قبل الإرسال،
وابدأ بفاتورة واحدة حقيقية للتأكّد قبل تحويل كل حركتك.