إنتقل إلى المحتوى الرئيسي

الصلاحيات

الصلاحية إذن على نوع واحد من بيانات المتجر. تسجّل الصلاحيات التي يحتاجها تطبيقك في منصة المطورين، ويمكن لطلب التفويض أن يطلبها كلها أو بعضها. يحمل رمز الوصول الصلاحيات التي وافق عليها التاجر بالضبط.

الصلاحيات التي يمكن للتطبيق طلبها​

الأوصاف في هذا الجدول هي ما يقرؤه التاجر في شاشة الموافقة.

الصلاحيةالوصف
analytics:readالاطلاع على إحصائيات متجرك
customers:readالاطلاع على زبائنك وبياناتهم (الاسم، الهاتف، العنوان)
delivery:sendإرسال طلباتك إلى شركة التوصيل
landing_pages:readالاطلاع على صفحات الهبوط
landing_pages:writeالاطلاع على صفحات الهبوط وإنشاؤها وتعديلها ونشرها
orders:readعرض الطلبات (قراءة فقط، لا يمكنه إنشاء أو تعديل الطلبات)
orders:writeإنشاء الطلبات وتعديلها
pixels:readالاطلاع على بيكسلات التتبع الإعلاني
pixels:writeالاطلاع على بيكسلات التتبع الإعلاني وإضافتها وتعديلها
products:readالاطلاع على منتجاتك
products:writeالاطلاع على منتجاتك وإنشاؤها وتعديلها وحذفها
promos:readالاطلاع على أكواد التخفيض
promos:writeالاطلاع على أكواد التخفيض وإنشاؤها وتعديلها (هذا يغيّر الأسعار التي يدفعها زبائنك)
shipping:readالاطلاع على أسعار التوصيل وإعداداته
shipping:writeالاطلاع على أسعار التوصيل وتعديلها وربط شركات التوصيل أو فصلها
store:readالاطلاع على معلومات متجرك وإعداداته
store:writeالاطلاع على إعدادات متجرك وتصميمه وقالبه وتعديلها
whatsapp:readالاطلاع على قوالب رسائل واتساب ورصيدك وسجل الرسائل المرسلة
whatsapp:sendإرسال رسائل واتساب لزبائنك بخصوص طلباتهم (تُخصم كل رسالة من رصيد واتساب)

قواعد صلاحيات التطبيقات​

  • لا يمكن تسجيل صلاحية على تطبيق أو منحها له إلا إذا كانت في الجدول أعلاه. أي صلاحية أخرى في طلب التفويض تفشل بـ invalid_scope.
  • لا يمكن للتطبيقات طلب ai:generate. هذه الصلاحية تطلق عمليات توليد بالذكاء الاصطناعي تستهلك نقاط AI من رصيد التاجر.
  • لا يمكن للتطبيقات طلب usage:read ولا webhooks:read ولا webhooks:write. يستقبل تطبيقك إشعارات webhook عبر عنوان webhook المسجّل في تطبيقك، لا عبر /v1/webhooks.
  • غياب المعامل scope أو كونه فارغا يمنح كل الصلاحيات المسجّلة على التطبيق.
  • اطلب أقل عدد ممكن من الصلاحيات. يرى التاجر في شاشة الموافقة سطرًا واحدًا لكل مورد قبل أن يوافق.

نقاط الوصول التي تفتحها كل صلاحية​

هذه القائمة كما يصرّح بها وصف OpenAPI. بعض عمليات الكتابة تحتاج صلاحية القراءة أيضا: POST /v1/orders و PATCH /v1/orders/{id} و POST /v1/orders/{id}/cancel تحتاج orders:read و orders:write، و POST /v1/products و PATCH /v1/products/{id} تحتاج products:read و products:write، و POST /v1/landing-pages و PATCH /v1/landing-pages/{id} و POST /v1/landing-pages/{id}/publish تحتاج landing_pages:read و landing_pages:write. تُرجع هذه العمليات السجلّ بعد تعديله، وقراءته تتطلب صلاحية القراءة. من دون هذه الصلاحية تُنفَّذ الكتابة، ثم يُجاب الطلب بـ 403 مع رسالة مثل Missing scope: orders:read، وإعادة المحاولة بقيمة Idempotency-Key نفسها تُرجع رد 403 المخزّن. سجّل الصلاحيتين واطلبهما معًا.

الصلاحيةنقاط الوصول
analytics:readGET /v1/analytics
customers:readGET /v1/customers, GET /v1/customers/{id}, GET /v1/customers/{id}/orders
delivery:sendPOST /v1/orders/{id}/send-to-delivery
landing_pages:readGET /v1/landing-page-section-types, GET /v1/landing-pages, GET /v1/landing-pages/{id}, GET /v1/landing-pages/{id}/check, GET /v1/landing-pages/{id}/sections, GET /v1/landing-pages/generate/{id}
landing_pages:writePOST /v1/landing-pages, PATCH /v1/landing-pages/{id}, DELETE /v1/landing-pages/{id}, POST /v1/landing-pages/{id}/publish, POST /v1/landing-pages/{id}/sections, POST /v1/landing-pages/{id}/sections/batch, POST /v1/landing-pages/{id}/sections/reorder, PATCH /v1/landing-pages/{id}/sections/{section_id}, DELETE /v1/landing-pages/{id}/sections/{section_id}
orders:readGET /v1/orders, GET /v1/orders/{id}
orders:writePOST /v1/orders, PATCH /v1/orders/{id}, POST /v1/orders/{id}/cancel
pixels:readGET /v1/pixels
pixels:writePOST /v1/pixels, PATCH /v1/pixels/{id}, DELETE /v1/pixels/{id}
products:readGET /v1/categories, GET /v1/categories/{id}, GET /v1/products, GET /v1/products/{id}, GET /v1/products/{id}/addons, GET /v1/products/{id}/offers, GET /v1/products/{id}/quantity-rules, GET /v1/products/{id}/stock
products:writePOST /v1/categories, POST /v1/categories/reorder, PATCH /v1/categories/{id}, DELETE /v1/categories/{id}, POST /v1/products, PATCH /v1/products/{id}, DELETE /v1/products/{id}, POST /v1/products/{id}/addons, POST /v1/products/{id}/images, PATCH /v1/products/{id}/images/{image_id}, DELETE /v1/products/{id}/images/{image_id}, POST /v1/products/{id}/offers, POST /v1/products/{id}/quantity-rules, POST /v1/products/{id}/stock, PUT /v1/products/{id}/variants
promos:readGET /v1/promo-codes
promos:writePOST /v1/promo-codes, PATCH /v1/promo-codes/{id}, DELETE /v1/promo-codes/{id}
shipping:readGET /v1/shipping/coverage, GET /v1/shipping/providers, GET /v1/shipping/rates, GET /v1/shipping/settings, GET /v1/wilayas, GET /v1/wilayas/{id}/communes
shipping:writePOST /v1/shipping/providers, POST /v1/shipping/providers/default, POST /v1/shipping/providers/test, DELETE /v1/shipping/providers/{provider}, POST /v1/shipping/rates, POST /v1/shipping/rates/sync, PATCH /v1/shipping/settings
store:readGET /v1/store, GET /v1/store/design, GET /v1/store/design/fields, GET /v1/store/home-sections, GET /v1/store/home-layout, GET /v1/themes
store:writePATCH /v1/store, PATCH /v1/store/design, PATCH /v1/store/home-sections, PUT /v1/store/home-layout, POST /v1/store/home-layout/sections, PATCH /v1/store/home-layout/sections/{id}, DELETE /v1/store/home-layout/sections/{id}, POST /v1/store/home-layout/reorder, POST /v1/store/theme, POST /v1/store/fast-checkout-theme, POST /v1/store/variant-style
whatsapp:readGET /v1/whatsapp/templates, GET /v1/whatsapp/balance, GET /v1/whatsapp/messages
whatsapp:sendPOST /v1/orders/{id}/whatsapp

الطلب GET /v1/whoami لا يحتاج أي صلاحية، والطلب GET /v1/ping لا يحتاج أي رمز. الاستدعاء الذي تنقصه الصلاحية اللازمة يجيب بـ 403 مع رمز الخطأ forbidden ورسالة تذكر الصلاحية، مثل Missing scope: orders:read.

نقاط وصول مغلقة أمام رموز التطبيقات​

تجيب هذه النقاط بـ 403 مع الرسالة Apps cannot use this endpoint مهما كانت صلاحيات الرمز: /v1/keys و /v1/webhooks و /v1/changes و POST /v1/changes/{id}/undo. تبقى إدارة المفاتيح واشتراكات webhook وسجل التراجع بيد التاجر. أما نقطتا اتصال المساعدين GET /v1/connection و POST /v1/connection/active-store فتجيبان بـ 403 من دون store:read أو store:write، وبـ 404 في غير ذلك، لأن رمز التطبيق لم يُنشأ عبر اتصال مساعد.

الصلاحيات وإشعارات webhook​

كل حدث طلبية (order.created، order.confirmed، order.processing، order.shipped، order.delivered، order.cancelled، order.returned) يحمل اسم المشتري وهاتفه وعنوانه. لا يستقبل تثبيتك أحداث الطلبيات إلا إذا منح التاجر orders:read. أما الحدث app.uninstalled فيُرسل مهما كانت الصلاحيات. راجع إشعارات Webhook.

ما يراه التاجر​

تجمع شاشة الموافقة الصلاحيات حسب المورد وتعرض سطرا واحدا لكل مورد: سطر الكتابة إذا طلب التطبيق الكتابة، وسطر القراءة في غير ذلك. يظهر السطر بلغة التاجر. تغيير الصلاحيات المسجّلة على التطبيق لا يغيّر الرموز الصادرة من قبل؛ يحصل المتجر على الصلاحيات الجديدة عندما يعيد التاجر تثبيت التطبيق.

هذه الصفحة لأدوات الذكاء الاصطناعيعرض بصيغة Markdownفتح في ChatGPTفتح في Claude