مرجع API · الكتالوج
قائمة فئات الكتالوج
GET
/v1/wallets/{walletId}/catalog/categoriesالمستوى الأعلى من الكتالوج كما تراه هذه المحفظة. مقسّمة إلى صفحات بمؤشر.
الصلاحية
catalogue:readالمصادقةقراءة موقَّعة
حدود الموظفين التي يُحتسب ضمنهاكل الاستدعاءات
حزمة SDK لـ .NET
anis.Catalogue.ListCategoriesAsync(walletId)المعاملات
| الاسم | الموضع | النوع | ملاحظات |
|---|---|---|---|
walletIdإلزامي | path | UUID | معرّف UUID بأحرف صغيرة مع الشرطات. |
cursorاختياري | query | string | قيمة nextCursor من الصفحة السابقة، تُعاد كما استُلمت بالضبط. اتركها للصفحة الأولى. |
الاستدعاء
موقَّعة بمفتاحك. بلا محتوى وبلا رقم استخدام لمرة واحدة (nonce).
الترويسات: Signature-Input، Signature، X-Anis-Date، Accept-Language (اختياري). تضبطها حزم SDK كلها نيابةً عنك.
المحتوى: لا يوجد.
الردود
| الحالة | المعنى | المحتوى |
|---|---|---|
| 200 | نجاح. | CatalogueCollection |
| 401 | مرفوض: لم تتم المصادقة. | مشكلة |
| 403 | مرفوض: غير مسموح. | مشكلة |
| 404 | مرفوض: غير موجود، أو ليس لك. | مشكلة |
| 422 | مرفوض: الاستدعاء يخالف قاعدة. | مشكلة |
| 429 | مرفوض: بلغتَ حدًا. | مشكلة |
| 503 | لا قرار: خدمة مطلوبة غير متاحة. | مشكلة |
كل ردّ موقَّع من أنيس؛ وتتحقق منه حزم SDK قبل أن يصلك.
حالات الرفض
كل رفض مشكلةٌ موقَّعة. ابنِ منطقك على رمزها code؛ وكلٌّ منها يرتبط بصفحة تشرح معناه وما عليك فعله.
| الخطأ | الرمز | الحالة |
|---|---|---|
| بيانات اعتماد غير صالحة | invalid_credentials | 401 |
| صلاحية غير كافية | insufficient_scope | 403 |
| عنوان المصدر غير مسموح | source_ip_not_allowed | 403 |
| تجاوزت حدّ الاستدعاءات | rate_limited | 429 |
| الحساب غير مخوَّل | binding_not_authorized | 403 |
| الحساب غير فعّال | account_inactive | 403 |
| المحفظة غير ممنوحة | wallet_not_granted | 404 |
| فشل التحقق | validation_failed | 422 |
| الخدمة غير متاحة | dependency_unavailable | 503 |
| انتهت مهلة الاستدعاء | request_timeout | 504 |
| خطأ داخلي | internal_error | 500 |
الأنواع
CatalogueCollection
| الحقل | النوع | ملاحظات |
|---|---|---|
itemsموجود دائمًا | list of CatalogueObject | الفئات أو الفئات الفرعية أو البطاقات في هذه الصفحة — كل مسار قائمة يُرجع نوعًا واحدًا. |
nextCursor | string | مرّره في cursor للحصول على الصفحة التالية. غير موجود في الصفحة الأخيرة. |
CatalogueObject
واحد من: CatalogueCategory, CatalogueSubcategory, CatalogueCard — كل مسار يُرجع نوعًا واحدًا منها بالضبط.
CatalogueCategory
| الحقل | النوع | ملاحظات |
|---|---|---|
idموجود دائمًا | UUID | معرّف الفئة. |
name | LocalizedText | اسم الفئة، بالعربية والإنجليزية. |
description | LocalizedText | وصف، بالعربية والإنجليزية. |
logo | string | عنوان صورة شعار الفئة. |
type | string | هل الفئة محلية أم دولية. القيم: local, international |
inStockموجود دائمًا | boolean | هل يمكن شراء أي شيء فيها الآن. |
displayOrderموجود دائمًا | integer | ترتيب عرض الفئات — الأصغر أولًا. |
LocalizedText
| الحقل | النوع | ملاحظات |
|---|---|---|
ar | string | النص العربي. |
en | string | النص الإنجليزي. |
CatalogueSubcategory
| الحقل | النوع | ملاحظات |
|---|---|---|
idموجود دائمًا | UUID | معرّف الفئة الفرعية. |
categoryIdموجود دائمًا | UUID | الفئة التي تتبع لها. |
name | LocalizedText | اسم الفئة الفرعية، بالعربية والإنجليزية. |
description | LocalizedText | وصف، بالعربية والإنجليزية. |
logo | string | عنوان صورة شعار الفئة الفرعية. |
isBestSellingموجود دائمًا | boolean | علّمتها أنيس بأنها من الأكثر مبيعًا. |
displayOrderموجود دائمًا | integer | ترتيب عرض الفئات الفرعية — الأصغر أولًا. |
availableموجود دائمًا | boolean | هل يمكن الشراء منها الآن. |
CatalogueCard
| الحقل | النوع | ملاحظات |
|---|---|---|
idموجود دائمًا | UUID | معرّف البطاقة — وهو cardId الذي يحمله طلب الشراء. |
subcategoryIdموجود دائمًا | UUID | الفئة الفرعية التي تتبع لها. |
name | LocalizedText | اسم البطاقة، بالعربية والإنجليزية. |
faceValue | string | القيمة المطبوعة على البطاقة، إن وُجدت. |
unitPrice | Money | السعر الذي تدفعه هذه المحفظة. أرسله دون تغيير في expectedUnitPrice لطلب الشراء. البطاقة التي لا تملكه لا يمكن بيعها لهذه المحفظة. |
businessPrice | Money | للعرض فقط. طلب الشراء بهذا السعر قد يُرفض بـ price_changed. |
personalPrice | Money | سعر التجزئة، ويُعرض فقط ما دام أعلى من سعر الأعمال. للعرض فقط. |
hasSpecialOfferموجود دائمًا | boolean | هل يوجد عرض خاص. |
specialOfferPrice | Money | سعر العرض، ويُعرض فقط مع العرض الخاص. للعرض فقط. |
availableموجود دائمًا | boolean | هل يمكن شراء البطاقة الآن. |
Money
| الحقل | النوع | ملاحظات |
|---|---|---|
amountموجود دائمًا | string | نصّ عشري بثلاث خانات عشرية بالضبط، مثل "10.500" — وليس رقم JSON أبدًا. |
currencyموجود دائمًا | string | رمز العملة، مثل LYD: وهو دائمًا عملة المحفظة. |
asOf | string (date-time) | وقت قراءة هذا السعر أو الرصيد. |