SolaBill API الشروع في العمل
Integrate your ERP or billing system in a few steps: authenticate, submit invoice payloads, monitor processing status, and receive events through webhooks.
المتطلبات الأساسية
قبل الاتصال بواجهات برمجة تطبيقات الإنتاج، تأكد من اكتمال إعداد حساب العميل الخاص بك.
| متطلبات | وصف | حالة |
|---|---|---|
| بيانات اعتماد مستخدم العميل | Active email/password for API login | مطلوب |
| معرف مشارك بيبول | الهوية المسجلة لتبادل المستندات الصادرة | مطلوب |
| نقطة نهاية إشعار الويب | نقطة نهاية HTTPS عامة لاستقبال النداءات الراجعة | مُستَحسَن |
| التحقق في بيئة الاختبار | قم بإجراء اختبار شامل في وضع الحماية أولاً | مُستَحسَن |
المصادقة
احصل على رمز الوصول وقم بتمريره في Authorization: Bearer <token> header.
curl -X POST "https://solabill.com/api/v1/client/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "client.user@example.com",
"password": "password",
"device_name": "erp-connector"
}'
{
"success": true,
"message": "Login successful",
"data": {
"token": "1|sample-token-value",
"token_type": "Bearer"
}
}
إرسال الفاتورة
أنشئ فاتورة باستخدام رمز Bearer الخاص بك. احتفظ بـ رقم الفاتورة unique per client account.
curl -X POST "https://solabill.com/api/v1/client/invoices" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"invoice_number": "INV-2026-1001",
"recipient_name": "Acme LLC",
"recipient_peppol_id": "ae:TRN123456789000003",
"issue_date": "2026-02-12",
"due_date": "2026-03-12",
"currency": "AED",
"total_amount": 1500.00
}'
التحقق
يتم التحقق من صحة بيانات الطلب قبل الحفظ. تعيد الحقول غير الصالحة استجابة HTTP 422 مع رسائل على مستوى الحقل.
معالجة قائمة الانتظار
بعد الإنشاء، يتم تشغيل معالجة الرسائل في قائمة انتظار الخلفية لتحديثات النقل والحالة.
استراتيجية العجز
استخدم معرفات الفاتورة الفريدة عند إعادة المحاولة لتجنب السجلات المالية المكررة.
حالة المسار
استخدم نقاط نهاية التتبع لمراقبة حالات دورة الحياة من القبول إلى التسليم.
curl -X GET "https://solabill.com/api/v1/client/messages/{trackingId}" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
| حالة | معنى | فعل |
|---|---|---|
| مقبول | تم قبول الطلب ووضعه في قائمة الانتظار | انتظر الحدث القادم |
| processing | Document under validation/transport | الاستطلاع أو انتظار إشعار الويب |
| تم التوصيل | تم التسليم بنجاح | وضع علامة مكتملة في ERP |
| فشل | فشل التسليم أو التحقق من الصحة | افحص الخطأ وأعد محاولة التدفق |
تدفق إشعارات الويب
اشترك في الأحداث لتجنب الاقتراع المتكرر واحصل على تحديثات في الوقت الفعلي تقريبًا.
- أنشئ اشتراك إشعار ويب من حساب العميل الخاص بك.
- تحقق من التواقيع في طلبات النداء الراجع الواردة.
- قم بإرجاع HTTP 2xx بسرعة وقم بالمعالجة بشكل غير متزامن في نظامك.
- التعامل مع عمليات إعادة المحاولة لعمليات التسليم المكررة بأمان.
الأخطاء وإعادة المحاولة
| رمز HTTP | يكتب | إرشادات التعامل |
|---|---|---|
| 400 | اقتراح غير جيد | أصلح بنية بيانات الطلب وأعد المحاولة بعد التصحيح. |
| 401 | غير مصرح به | قم بتحديث رمز تسجيل الدخول ثم أعد المحاولة. |
| 403 | مُحرَّم | التحقق من أذونات الحساب ونطاق المستأجر. |
| 422 | خطأ في التحقق | فحص الأخطاء الميدانية وتصحيح تعيين المصدر. |
| 429 | معدل محدود | تطبيق التراجع الأسي والارتعاش. |
| 500/503 | Server/transient | أعد المحاولة مع التراجع؛ تنبيه إذا تكررت. |
{
"success": false,
"message": "Validation failed",
"errors": {
"invoice_number": ["The invoice number field is required."]
}
}
اذهب إلى قائمة التحقق المباشرة
- تحقق من صحة كافة حقول الفاتورة الإلزامية من تخطيط تخطيط موارد المؤسسات (ERP) الخاص بك.
- قم بتأكيد حدود نطاق المستأجر والعميل في كل استدعاء لواجهة برمجة التطبيقات.
- نفّذ اختبارات بيئة الاختبار لسيناريوهات النجاح وحالات الفشل.
- فعّل التنبيهات عند فشل إشعارات الويب، وتأخر قائمة الانتظار، وارتفاع أخطاء API من فئة 5xx.
- قم بمراجعة سجل التغيير قبل نشر كل إصدار.