توثيق API
مرجع لرفع كشف حساب ومعالجته وتحميل النتيجة بصيغة Excel برمجياً.
مفاتيح API
ستنشئ المفاتيح من لوحة التحكم وتستدعي الواجهات أدناه من خادمك. هذه الصفحة توضح الواجهة كما ستعمل عند الإطلاق.
اطلب الوصول المبكرالمصادقة
أرسل مفتاحك في ترويسة Authorization مع كل طلب. احفظه على خادمك فقط، وليس في المتصفح أو تطبيق الجوال.
Authorization: Bearer <your_api_key>
الرابط الأساسي
https://api.bayainy.com/api/v1
/upload/previewمعاينة الملف قبل الرفع
يصنّف كل صفحة (رقمية أو ممسوحة) ويحسب التكلفة بالصفحات بدون خصم أي رصيد.
POST /upload/preview HTTP/1.1Authorization: Bearer <your_api_key>Content-Type: multipart/form-datafile: statement.pdf
الرد
{"page_count": 3,"digital_pages": 2,"scanned_pages": 1,"credit_cost": 4,"pages": [{ "page": 1, "type": "digital" },{ "page": 2, "type": "digital" },{ "page": 3, "type": "scanned" }]}
/uploadرفع كشف حساب
ارفع ملف PDF لبدء الاستخراج. تبدأ الحالة بـ pending ثم تنتقل تلقائياً عبر processing.
POST /upload HTTP/1.1Authorization: Bearer <your_api_key>Content-Type: multipart/form-datafile: statement.pdf
الرد
{"id": "550e8400-e29b-41d4-a716-446655440000","filename": "statement.pdf","status": "pending","page_count": 3,"estimated_seconds": 6}
/statements/{id}جلب الكشف ومعاملاته
استخدم هذا الطرف لمعرفة متى تنتهي المعالجة والحصول على المعاملات المستخرجة والأرصدة.
ملاحظة: استعلم عن هذا الطرف كل بضع ثوانٍ إلى أن تتغير الحالة من processing إلى completed (أو failed).
GET /statements/550e8400-e29b-41d4-a716-446655440000 HTTP/1.1Authorization: Bearer <your_api_key>
الرد
{"id": "550e8400-e29b-41d4-a716-446655440000","status": "completed","bank_name": "Al Rajhi Bank","transaction_count": 42,"opening_balance": 12480.00,"closing_balance": 24755.00,"available_exports": ["excel", "csv", "qbo", "xml"],"transactions": [{"date": "2026-09-01","description": "Card purchase, Panda","debit": 184.50,"credit": 0.00,"balance": 12295.50,"category": "grocery","reference": "FT26244S1K7Q","page_number": 1}]}
حقول المعاملة
datestringتاريخ المعاملة بصيغة YYYY-MM-DD.
descriptionstringوصف المعاملة بعد إزالة أرقام المراجع.
debitnumberالمبلغ الخارج. موجب دائماً، 0 إن لم يوجد.
creditnumberالمبلغ الداخل. موجب دائماً، 0 إن لم يوجد.
balancenumberالرصيد الجاري المطبوع في السطر. سالب عند السحب على المكشوف.
categorystringتصنيف المصروف، مثل grocery أو transfer أو fuel.
referencestring | nullمرجع البنك إن وُجد.
page_numberintegerصفحة الملف التي جاء منها السطر.
/statementsسجل كشوفاتك
يعيد كل الكشوفات المرتبطة بحسابك، الأحدث أولاً.
GET /statements HTTP/1.1Authorization: Bearer <your_api_key>
الرد
[{"id": "550e8400-e29b-41d4-a716-446655440000","filename": "statement.pdf","status": "completed","transaction_count": 42}]
/download/{id}/{format}تحميل الملف
متاح فقط بعد أن تصبح الحالة completed. الصيغ المتاحة لباقتك موجودة في available_exports.
excelcsvqboquickbooksxmlodoozohomt940camt053iifGET /download/550e8400-e29b-41d4-a716-446655440000/excel HTTP/1.1Authorization: Bearer <your_api_key>
الرد
HTTP/1.1 200 OKContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet<binary .xlsx file>
/statements/{id}حذف كشف
يحذف الكشف ومعاملاته وملفاته. لا يمكن التراجع.
DELETE /statements/550e8400-e29b-41d4-a716-446655440000 HTTP/1.1Authorization: Bearer <your_api_key>
الرد
HTTP/1.1 204 No Content
قيم الحالة الممكنة
pendingتم الاستلام وسيبدأ قريباً.
queuedفي الانتظار حتى يتوفر مكان.
processingالاستخراج جارٍ.
completedالمعاملات والملفات جاهزة.
failedتعذّرت المعالجة. السبب في error_message.
أسئلة حول التكامل؟
تواصل معنا