في هذه الصفحة
نظرة سريعة#
تعيد عملية القائمة صفحة واحدة في كل مرة. يسمّي الطلب الصفحة وحجمها، وتحمل الاستجابة الصفحة والإجمالي والروابط في الجسم، لا في ترويسة أبداً.
| المعامل | النوع | القاعدة |
|---|---|---|
page | integer | يبدأ من 1. القيمة الافتراضية 1. |
per_page | integer | حجم الصفحة. يعلن maximum لا يزيد على 100 وdefault لا يتجاوزه. تعتمد معظم قوائم المنصة القيمة 15 افتراضياً. |
sort_by | string | الخاصية المرتَّب بحسبها، بصيغة snake_case. |
sort_dir | string | asc أو desc. |
الأسماء pageNumber وpageSize وpage_number وpage_size وsize وlimit وoffset وcursor ليست أسماء الترقيم في المنصة. الواجهة التي تحتاج ترقيماً بمؤشر لمجموعة كبيرة جداً تذكر ذلك في وصفها وتظل تقدّم page وper_page.
الاستجابة#
{
"data": [
{ "order_id": "ord_1042", "status": "shipped" },
{ "order_id": "ord_1043", "status": "open" }
],
"meta": {
"current_page": 1,
"last_page": 12,
"per_page": 15,
"total": 172
},
"links": {
"first": "https://gate.api360.sa/<product-slug>/v1/orders?page=1&per_page=15",
"next": "https://gate.api360.sa/<product-slug>/v1/orders?page=2&per_page=15",
"prev": null,
"last": "https://gate.api360.sa/<product-slug>/v1/orders?page=12&per_page=15"
}
}dataمصفوفة، فارغة حين لا تحمل الصفحة شيئاً. الصفحة التي تلي الأخيرة تُجاب بـ200معdataفارغة، لا بـ404.meta.totalعدد العناصر في المجموعة كلها. العميل الذي يحتاج العدد لا يقرأ ترويسة ولا يعدّ الصفحات.- الواجهة التي تغلّف كل إجابة بـ
successوmessageوdata، مثل واجهة وحدة التحكم في المنصة، تضع الصفحة مستوى أدنى:data.dataوdata.meta. تقبل القاعدة الشكلين.
الحدود#
يُجاب عن per_page الأكبر من الحد الأقصى بـ 400 وبـغلاف الخطأ. فالتقليص الصامت يخفي الخطأ عن المستدعي. وكذلك page أو per_page الأقل من 1 يُجاب عنه بـ 400.
الحد الأقصى قيد أمان بقدر ما هو عقد: بدونه يستطيع المستدعي طلب الجدول كله في طلب واحد.
تتحقق منه#
| القاعدة | الشدة | ما تتحقق منه |
|---|---|---|
api360-pagination-params | error | يستخدم GET الذي فيه معامل ترقيم page وper_page؛ وper_page عدد صحيح له maximum لا يزيد على 100 وقيمة افتراضية ضمنه |
api360-pagination-response | error | تحمل استجابة 200 لمثل هذا GET الحقلين data (مصفوفة) وmeta.total |