قائمة المعاملات
يعيد GET /transactions معاملات الوقود بحالة CONFIRMED وEXTERNAL لنطاق تاريخ حتى 31 يومًا، 100 سجل في الصفحة، مع شرح كل حقل.
GET /api/v1/integration/transactionsيعيد معاملات الوقود بحالة CONFIRMED وEXTERNAL الخاصة بالمستدعي والمنشأة ضمن نطاق تاريخ، الأحدث أولًا، مع ترقيم صفحات بالمؤشر. يُستنتج حساب العميل من مفتاح API.
معاملات الاستعلام
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
from | تاريخ ووقت ISO 8601 | نعم | بداية النطاق على created_at (شاملة). |
to | تاريخ ووقت ISO 8601 | نعم | نهاية النطاق على created_at. يمتد النطاق حتى 31 يومًا كحد أقصى. |
corporate_group_id | عدد صحيح | لا | حصر النتائج في مجموعة شركات واحدة. يجب أن تنتمي إلى حسابك. |
corporate_id | عدد صحيح أو قائمة مفصولة بفواصل | لا | حصر النتائج في شركة أو أكثر. يجب أن تنتمي إلى حسابك، وإلى المجموعة إذا أُعطي corporate_group_id أيضًا. |
status | قائمة من CONFIRMED، EXTERNAL | لا | تصفية حسب الحالة. تُعاد الحالتان عند الحذف. |
limit | عدد صحيح | لا | حجم الصفحة. الافتراضي 50، والأقصى 100. |
cursor | نص | لا | مؤشر معتم من pagination.next_cursor في الصفحة السابقة. كرر المرشحات نفسها عند تمريره. |
مرر عدة حالات كقائمة مفصولة بفواصل، مثل status=CONFIRMED,EXTERNAL.
أي المعاملات تُعاد؟
- معاملات
CONFIRMEDوEXTERNALفقط. لا تُعاد معاملاتPENDINGوVOIDوCANCELEDأبدًا. المعاملة التي تُلغى بعد جلبها تختفي ببساطة من النتائج اللاحقة للنطاق نفسه. راجع اكتشاف المعاملات الملغاة. - معاملات الاسترداد (للتكرار أو الفروق أو النزاعات المحلولة) تُعاد، مع
correction_reference_idيشير إلى المعاملة الأصلية. - تسويات الرصيد اليدوية التي يجريها محاسبو أوكتين لا تُعاد أبدًا.
مثال طلب
curl -G "https://prod-app.octanetech-api.com/api/v1/integration/transactions" \
-H "X-API-Key: $OCTANE_API_KEY" \
--data-urlencode "from=2026-09-01T00:00:00Z" \
--data-urlencode "to=2026-09-30T23:59:59Z" \
--data-urlencode "corporate_id=67,68" \
--data-urlencode "status=CONFIRMED" \
--data-urlencode "limit=100"مثال استجابة
{
"data": [
{
"id": 185432,
"status": "CONFIRMED",
"created_at": "2026-09-20T08:59:36.340Z",
"confirmed_at": "2026-09-20T09:00:02.110Z",
"correction_reference_id": null,
"corporate": { "id": 67, "name": "Acme Logistics" },
"corporate_group": { "id": 9, "name": "Acme Group" },
"fuel": {
"type": { "id": 2, "name": "Benzine 92" },
"liters": 18.5,
"price_per_liter": 13.75,
"amount": 254.38
},
"odometer_reading": 120450,
"distance_traveled": 312,
"fuel_consumption": 5.93,
"station": {
"id": 164,
"name": "Misr Petroleum - Ring Road",
"provider": { "id": 7, "name": "Misr Petroleum" },
"is_external": false
},
"vehicle": {
"id": 4,
"code": "V-004",
"number_plate": "ABC 1234",
"chassis_number": "JTDBR32E720123456",
"brand": "Toyota",
"model": "Hilux",
"year": 2021,
"department": { "id": 3, "name": "Distribution" }
},
"driver": { "id": 31, "name": "Ahmed Mostafa" },
"fees": {
"total_fees": 1.06,
"total_vat": 0.13,
"total_amount": 255.435000
},
"images": {
"pump": "https://storage.example/pump.jpg?X-Amz-Expires=3600&...",
"odometer": "https://storage.example/odometer.jpg?X-Amz-Expires=3600&...",
"expires_at": "2026-09-20T10:00:02Z"
}
}
],
"pagination": {
"limit": 100,
"has_more": true,
"next_cursor": "eyJ0IjoiMjAyNi0wOS0yMFQwODo1OTozNi4zNDBaIiwiaWQiOjE4NTQzMn0"
}
}قد تتضمن الاستجابات الناجحة أيضًا ترويسة X-Access-Expires-At. راجع انتهاء الوصول.
كائن المعاملة
المستوى الأعلى
| الحقل | النوع | الوصف |
|---|---|---|
id | عدد صحيح | معرّف المعاملة الفريد. ثابت بين واجهة السحب وتسليمات الويب هوك. |
status | CONFIRMED أو EXTERNAL | |
created_at | تاريخ ووقت | وقت إنشاء المعاملة. ينطبق مرشحا from وto على هذا الحقل. |
confirmed_at | تاريخ ووقت، قد يكون فارغًا | وقت تأكيد المعاملة. |
correction_reference_id | عدد صحيح، قد يكون فارغًا | لمعاملات الاسترداد، معرّف المعاملة الأصلية المصحَّحة. null في غير ذلك. |
corporate | كائن | الشركة التي تتبعها المركبة. موجود دائمًا. |
corporate_group | كائن، قد يكون فارغًا | مجموعة الشركة. null عندما لا تكون الشركة ضمن مجموعة. |
fuel | كائن | نوع الوقود والكمية والسعر. |
odometer_reading | عدد صحيح، قد يكون فارغًا | قراءة العداد الملتقطة عند المعاملة، إن توفرت. |
distance_traveled | عدد صحيح، قد يكون فارغًا | المسافة منذ المعاملة السابقة للمركبة، عندما يمكن حسابها. |
fuel_consumption | رقم، قد يكون فارغًا | لترات لكل 100 كم منذ المعاملة السابقة، عندما يمكن حسابها. |
station | كائن | مكان صرف الوقود. |
vehicle | كائن | المركبة التي تم تزويدها. |
driver | كائن | السائق. |
fees | كائن | إجمالي الرسوم وإجمالي الضريبة والإجمالي المحصَّل. |
images | كائن | روابط موقّعة لصور المضخة والعداد. |
corporate وcorporate_group
| الحقل | النوع | الوصف |
|---|---|---|
id | عدد صحيح | |
name | نص |
fuel
| الحقل | النوع | الوصف |
|---|---|---|
type.id | عدد صحيح | معرّف نوع الوقود. |
type.name | نص | اسم نوع الوقود، مثل Benzine 92. |
liters | رقم | الكمية المصروفة، منزلتان عشريتان. |
price_per_liter | رقم | سعر الوحدة، منزلتان عشريتان. |
amount | رقم | مبلغ الوقود قبل الرسوم، منزلتان عشريتان. |
station
| الحقل | النوع | الوصف |
|---|---|---|
id | عدد صحيح، قد يكون فارغًا | معرّف المحطة. null للمحطات الخارجية. |
name | نص | اسم المحطة. للمعاملات الخارجية، اسم المحطة الخارجية كما أُدخل. |
provider | كائن، قد يكون فارغًا | مزود المحطة (id، name). null للمحطات الخارجية. |
is_external | منطقي | true عندما تُسجَّل المعاملة في محطة خارج شبكة أوكتين. |
vehicle
| الحقل | النوع | الوصف |
|---|---|---|
id | عدد صحيح | |
code | نص، قد يكون فارغًا | كود المركبة الداخلي لديك كما هو مضبوط في أوكتين. |
number_plate | نص، قد يكون فارغًا | |
chassis_number | نص، قد يكون فارغًا | |
brand، model | نص، قد يكون فارغًا | |
year | عدد صحيح، قد يكون فارغًا | |
department | كائن، قد يكون فارغًا | قسم المركبة (id، name)، عند تعيينه. |
driver
| الحقل | النوع | الوصف |
|---|---|---|
id | عدد صحيح | |
name | نص | |
mobile_number | نص | موجود فقط عندما تفعّل أوكتين أرقام جوال السائقين على مفتاحك. اسأل مدير حسابك إن احتجته. |
لا يُعاد البريد الإلكتروني للسائق أبدًا.
fees
الأرقام الثلاثة نفسها المعروضة في جدول المعاملات بلوحة تحكم أوكتين.
| الحقل | النوع | الوصف |
|---|---|---|
total_fees | رقم | كل رسوم الخدمة المطبقة على المعاملة، دون الضريبة. منزلتان عشريتان. |
total_vat | رقم | كل ضريبة القيمة المضافة المطبقة على المعاملة. منزلتان عشريتان. |
total_amount | رقم | الإجمالي المخصوم من رصيدك: fuel.amount + total_fees + total_vat. ست منازل عشرية ليطابق كشف حساب أوكتين تمامًا. |
تُعاد الرسوم كما هي مسجلة على المعاملة، لمعاملات EXTERNAL كما لمعاملات CONFIRMED. تفصيل أنواع الرسوم الفردية ليس جزءًا من الواجهة.
images
| الحقل | النوع | الوصف |
|---|---|---|
pump | نص (رابط)، قد يكون فارغًا | صورة شاشة المضخة. null عندما لا توجد صورة. |
odometer | نص (رابط)، قد يكون فارغًا | صورة العداد. null عندما لا توجد صورة. |
expires_at | تاريخ ووقت | وقت توقف الروابط عن العمل. |
روابط الصور موقّعة مسبقًا وتنتهي بعد ساعة واحدة. نزّل الصور فورًا إن احتجت إلى الاحتفاظ بها؛ ولا تخزّن الروابط. أعد جلب المعاملة للحصول على روابط جديدة.
المعاملات الخارجية
المعاملة بحالة EXTERNAL سُجّلت في محطة خارج شبكة أوكتين. لها شكل المعاملة المؤكدة نفسه، مع هذه الفروق:
statusهيEXTERNAL.station.is_externalهيtrue، وstation.idوstation.providerهماnull، وstation.nameهو اسم المحطة الخارجية.- تُعاد
feesكما هي مسجلة، وقد تكون صفرًا أو غير صفر حسب اتفاقك.
قواعد الدقة
| الحقل | الدقة |
|---|---|
fuel.liters، fuel.price_per_liter، fuel.amount | منزلتان عشريتان |
fees.total_fees، fees.total_vat | منزلتان عشريتان |
fees.total_amount | ست منازل عشرية |
fuel_consumption | منزلتان عشريتان |
الأخطاء
| الحالة | الرمز | السبب |
|---|---|---|
400 | VALIDATION_FAILED | معامل مفقود أو غير صالح، أو نطاق يتجاوز 31 يومًا، أو limit فوق 100، أو status غير معروفة، أو cursor غير صالح. يحدد كائن fields المعامل المخالف. |
404 | CORPORATE_NOT_FOUND | قيمة corporate_id لا تنتمي إلى حسابك (أو إلى المجموعة المعطاة). |
404 | CORPORATE_GROUP_NOT_FOUND | قيمة corporate_group_id لا تنتمي إلى حسابك. |
بالإضافة إلى أخطاء المصادقة والشبكة المشتركة. راجع الأخطاء.


