رموز الأخطاء · الصلاحيات والحساب
صلاحية غير كافية
الرمز
insufficient_scopeالحالة403
إن كان طلب شراءلم يشترِ شيئًا — ربما اشترت نسخة سابقة: استأنف بالمعرّف نفسه
هل تعيد إرساله كما هو؟لا — غيّر شيئًا أولًا
حزمة SDK لـ .NET
AuthorizationExceptionربما تمّت نسخة سابقة من طلب الشراء هذا
هذا الاستدعاء لم يشترِ شيئًا، لكنه رُفض قبل أن تنظر أنيس في طلب الشراء، فهو لا يقول شيئًا عن محاولة سابقة بمعرّف العملية نفسه. عالج السبب أولًا (أعِد الوصول، أو أصلح طريقة توقيع الاستدعاء)، ثم استأنف بالمعرّف نفسه (أو اقرأه بالاستدعاء GET /orders/{operationId}). لا تقدّمه أبدًا بمعرّف جديد.
المعنى
لا يُسمح لتطبيقك بهذا الاستدعاء: صلاحياته لا تشمل الصلاحية التي يحتاجها هذا المسار، أو جاء الاستدعاء من عنوان خارج الشبكات المسموح بها للتطبيق. الحالتان تتلقيان الرد نفسه عمدًا.
ما عليك فعله
- اقرأ ملفّك (
GET /profile) من المضيف نفسه. إن أجاب فشبكتك مقبولة: قارن الصلاحيات التي يعرضها بالصلاحية التي يحتاجها هذا المسار. وإن رُفض هو أيضًا بالرمزinsufficient_scope، فالسبب هو الشبكة التي تستدعي منها (أو غياب الصلاحيةprofile:read). - تحقّق من أنك تستدعي من إحدى الشبكات المتّفق عليها مع أنيس.
- اطلب من موظفي أنيس تغيير أيٍّ منهما؛ ويسري التغيير من استدعائك التالي.
- في طلب شراء: رُفض الاستدعاء قبل أن تنظر أنيس في طلب الشراء، فهو لا يقول شيئًا عن محاولة سابقة بمعرّف العملية نفسه. أعِد الوصول أولًا، ثم استأنف بالمعرّف نفسه (أو اقرأه بالاستدعاء
GET /orders/{operationId}). لا تقدّمه أبدًا بمعرّف جديد.
أين قد تصادفه
- GETقراءة ملفّك
/v1/profile - GETقائمة المحافظ
/v1/wallets - GETقراءة محفظة
/v1/wallets/{walletId} - GETقائمة فئات الكتالوج
/v1/wallets/{walletId}/catalog/categories - GETقائمة الفئات الفرعية لفئة
/v1/wallets/{walletId}/catalog/categories/{categoryId}/subcategories - GETقراءة فئة فرعية
/v1/wallets/{walletId}/catalog/subcategories/{subcategoryId} - GETقائمة البطاقات المعروضة للبيع
/v1/wallets/{walletId}/catalog/subcategories/{subcategoryId}/cards - GETقراءة بطاقة من الكتالوج
/v1/wallets/{walletId}/catalog/cards/{cardId} - POSTتقديم طلب شراء
/v1/wallets/{walletId}/orders - GETقراءة طلب شراء
/v1/orders/{operationId} - GETقائمة البطاقات المملوكة
/v1/wallets/{walletId}/owned-cards - GETقراءة بطاقة مملوكة
/v1/wallets/{walletId}/owned-cards/{soldCardId} - POSTكشف بطاقة
/v1/wallets/{walletId}/owned-cards/{soldCardId}/reveal - POSTكشف فاتورة
/v1/wallets/{walletId}/invoices/{invoiceId}/owned-cards/reveal - POSTفحص توقيعك
/v1/diagnostics/signature - GETقائمة العناوين المسموح بها
/v1/application/networks - POSTالسماح بعنوان إضافي
/v1/application/networks - POSTإزالة عنوان أضفته
/v1/application/networks/remove - GETعرض باقات شحن العداد
/v1/wallets/{walletId}/meter-packages - GETعرض عمليات شحن العدادات الخاصة بي
/v1/wallets/{walletId}/meter-charges - POSTشحن عداد
/v1/wallets/{walletId}/meter-charges - GETقراءة عملية شحن
/v1/meter-charges/{operationId} - GETعرض الشحن المباشر
/v1/wallets/{walletId}/direct-recharge-products - GETقراءة منتج الشحن المباشر
/v1/wallets/{walletId}/direct-recharge-products/{productId} - GETالبحث عن مواقع المستلم
/v1/wallets/{walletId}/direct-recharge-products/{productId}/locations - GETحساب تكلفة الشحن المباشر
/v1/wallets/{walletId}/direct-recharge-products/{productId}/quote - GETعرض عمليات الشحن المباشر الخاصة بي
/v1/wallets/{walletId}/direct-recharges - POSTطلب الشحن المباشر
/v1/wallets/{walletId}/direct-recharges - GETمتابعة عملية شحن مباشر مطلوبة
/v1/direct-recharges/{operationId} - PATCHتصحيح بيانات المستلم
/v1/direct-recharges/{operationId}/recipient - GETقراءة عنوان الإشعارات
/v1/webhook-endpoint - PUTتسجيل عنوان الإشعارات
/v1/webhook-endpoint - POSTاختبار استقبال الإشعارات
/v1/webhook-endpoint/test - GETعرض تسليم الإشعارات
/v1/webhook-events - POSTإعادة إرسال إشعار
/v1/webhook-events/{eventId}/redeliver
مثال
محتوى الرفض. قيمة type هي عنوان الصفحة الإنجليزية؛ وهذه الصفحة نسختها العربية.
{
"type": "https://developers.anis.ly/errors/insufficient-scope",
"title": "صلاحية غير كافية",
"status": 403,
"code": "insufficient_scope",
"requestId": "01J9R2K8T4V6XQ0M3B7C5D9E1F"
}