للمطورين

توثيق API

مرجع لرفع كشف حساب ومعالجته وتحميل النتيجة بصيغة Excel برمجياً.

قريباً

مفاتيح API

ستنشئ المفاتيح من لوحة التحكم وتستدعي الواجهات أدناه من خادمك. هذه الصفحة توضح الواجهة كما ستعمل عند الإطلاق.

اطلب الوصول المبكر

المصادقة

أرسل مفتاحك في ترويسة Authorization مع كل طلب. احفظه على خادمك فقط، وليس في المتصفح أو تطبيق الجوال.

Authorization: Bearer <your_api_key>

الرابط الأساسي

https://api.bayainy.com/api/v1
POST/upload/preview

معاينة الملف قبل الرفع

يصنّف كل صفحة (رقمية أو ممسوحة) ويحسب التكلفة بالصفحات بدون خصم أي رصيد.

POST /upload/preview HTTP/1.1
Authorization: Bearer <your_api_key>
Content-Type: multipart/form-data
file: 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" }
]
}
POST/upload

رفع كشف حساب

ارفع ملف PDF لبدء الاستخراج. تبدأ الحالة بـ pending ثم تنتقل تلقائياً عبر processing.

POST /upload HTTP/1.1
Authorization: Bearer <your_api_key>
Content-Type: multipart/form-data
file: statement.pdf

الرد

{
"id": "550e8400-e29b-41d4-a716-446655440000",
"filename": "statement.pdf",
"status": "pending",
"page_count": 3,
"estimated_seconds": 6
}
GET/statements/{id}

جلب الكشف ومعاملاته

استخدم هذا الطرف لمعرفة متى تنتهي المعالجة والحصول على المعاملات المستخرجة والأرصدة.

ملاحظة: استعلم عن هذا الطرف كل بضع ثوانٍ إلى أن تتغير الحالة من processing إلى completed (أو failed).

GET /statements/550e8400-e29b-41d4-a716-446655440000 HTTP/1.1
Authorization: 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

صفحة الملف التي جاء منها السطر.

GET/statements

سجل كشوفاتك

يعيد كل الكشوفات المرتبطة بحسابك، الأحدث أولاً.

GET /statements HTTP/1.1
Authorization: Bearer <your_api_key>

الرد

[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"filename": "statement.pdf",
"status": "completed",
"transaction_count": 42
}
]
GET/download/{id}/{format}

تحميل الملف

متاح فقط بعد أن تصبح الحالة completed. الصيغ المتاحة لباقتك موجودة في available_exports.

excelcsvqboquickbooksxmlodoozohomt940camt053iif
GET /download/550e8400-e29b-41d4-a716-446655440000/excel HTTP/1.1
Authorization: Bearer <your_api_key>

الرد

HTTP/1.1 200 OK
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
<binary .xlsx file>
DELETE/statements/{id}

حذف كشف

يحذف الكشف ومعاملاته وملفاته. لا يمكن التراجع.

DELETE /statements/550e8400-e29b-41d4-a716-446655440000 HTTP/1.1
Authorization: Bearer <your_api_key>

الرد

HTTP/1.1 204 No Content

قيم الحالة الممكنة

الحالةالمعنى
pending

تم الاستلام وسيبدأ قريباً.

queued

في الانتظار حتى يتوفر مكان.

processing

الاستخراج جارٍ.

completed

المعاملات والملفات جاهزة.

failed

تعذّرت المعالجة. السبب في error_message.

أسئلة حول التكامل؟

تواصل معنا