مرجع API · الكتالوج

قراءة بطاقة من الكتالوج

GET/v1/wallets/{walletId}/catalog/cards/{cardId}

يقرأ GET /v1/wallets/{walletId}/catalog/cards/{cardId} بطاقة CatalogueCard واحدة بسعر هذه المحفظة وشعارها وفئتها. يتطلب catalogue:read؛ وردّه غير موقَّع.

الصلاحيةcatalogue:read
المصادقةقراءة موقَّعة
ردّ أنيسغير موقَّع
حدود الموظفين التي يُحتسب ضمنهاكل الاستدعاءات
حزمة SDK لـ ‎.NETclient.Catalogue.GetCardAsync(walletId, cardId)

المعاملات

الاسمالموضعالنوعملاحظات
walletIdإلزاميpathUUIDمعرّف UUID بأحرف صغيرة مع الشرطات.
cardIdإلزاميpathUUIDمعرّف UUID بأحرف صغيرة مع الشرطات.

الاستدعاء

موقَّعة بمفتاحك. بلا محتوى وبلا رقم استخدام لمرة واحدة (nonce).

الترويسات: Signature-Input، Signature، X-Anis-Date، Accept-Language (اختياري). تضبطها حزم SDK كلها نيابةً عنك.

المحتوى: لا يوجد.

الردود

الحالةالمعنىالمحتوى
200نجاح.CatalogueCard
400مرفوض: الاستدعاء الموقّع غير سليم البنية.مشكلة
401مرفوض: لم تتم المصادقة.مشكلة
403مرفوض: غير مسموح.مشكلة
404مرفوض: غير موجود، أو ليس لك.مشكلة
429مرفوض: بلغتَ حدًا.مشكلة
503لا قرار: خدمة مطلوبة غير متاحة.مشكلة

ردود هذا الاستدعاء غير موقَّعة — لا ترويسة Signature ولا Signature-Input، سواء في النجاح أو الرفض. لا شيء تتحقق منه؛ فحماية TLS تكفيها. وتبقى Content-Digest و X-Request-Id موجودتين.

حالات الرفض

رفض هذا الاستدعاء مشكلةٌ بلا توقيع. ابنِ منطقك على رمزها code؛ وكلٌّ منها يرتبط بصفحة تشرح معناه وما عليك فعله.

الخطأالرمزالحالة
بيانات اعتماد غير صالحةinvalid_credentials401
استدعاء موقّع غير سليم البنيةmalformed_signed_request400
صلاحية غير كافيةinsufficient_scope403
عنوان المصدر غير مسموحsource_ip_not_allowed403
تجاوزت حدّ الاستدعاءاتrate_limited429
الحساب غير مخوَّلbinding_not_authorized403
الحساب غير فعّالaccount_inactive403
المحفظة غير ممنوحةwallet_not_granted404
غير موجودresource_not_found404
الخدمة غير متاحةdependency_unavailable503
انتهت مهلة الاستدعاءrequest_timeout504
خطأ داخليinternal_error500

الأنواع

CatalogueCard

الحقلالنوعملاحظات
idموجود دائمًاUUIDمعرّف البطاقة — وهو cardId الذي يحمله طلب الشراء.
subcategoryIdموجود دائمًاUUIDالفئة الفرعية التي تتبع لها.
nameLocalizedTextاسم البطاقة، بالعربية والإنجليزية.
faceValuestringالقيمة المطبوعة على البطاقة، إن وُجدت.
unitPriceMoneyالسعر الذي تدفعه هذه المحفظة. أرسله دون تغيير في expectedUnitPrice لطلب الشراء. البطاقة التي لا تملكه لا يمكن بيعها لهذه المحفظة.
businessPriceMoneyللعرض فقط. طلب الشراء بهذا السعر قد يُرفض بـ price_changed.
personalPriceMoneyسعر التجزئة، ويُعرض فقط ما دام أعلى من سعر الأعمال. للعرض فقط.
hasSpecialOfferموجود دائمًاbooleanهل يوجد عرض خاص.
specialOfferPriceMoneyسعر العرض، ويُعرض فقط مع العرض الخاص. للعرض فقط.
availableموجود دائمًاbooleanهل يمكن شراء البطاقة الآن.
minimumQuantityموجود دائمًاintegerدائمًا 1: الحد الأدنى لطلب الشراء على المنصة.
maximumQuantityموجود دائمًاintegerحدّ طلب الشراء على المنصة: 100. ويُفحص المخزون والإتاحة بصورة مستقلة.
logostringعنوان URL مطلق لشعار الفئة الفرعية؛ يُحذف حين يكون فارغًا.
categoryobjectالفئة، بمعرّفها واسمها المحلي.
category.idUUIDمعرّف الفئة.
category.nameLocalizedTextاسم الفئة بالعربية والإنجليزية.
category.typestringهل الفئة محلية أم دولية. لا يظهر إن لم تحدده أنيس. القيم: local, international

LocalizedText

الحقلالنوعملاحظات
arstringالنص العربي؛ يُحذف حين يكون فارغًا.
enstringالنص الإنجليزي؛ يُحذف حين يكون فارغًا.

Money

الحقلالنوعملاحظات
amountموجود دائمًاstringنص عشري، وليس عدد JSON. قد يكون رصيد المحفظة سالبًا عند استخدام الدين المسموح. تتبع الأسعار والإجماليات قواعد المبلغ لكل مسار.
currencyموجود دائمًاstringرمز عملة من ثلاثة أحرف كبيرة، مثل LYD. اقرأ عملة المحفظة من balance.currency.
asOfstring (date-time)وقت قراءة هذا السعر أو الرصيد.