المتاجر · توثيق الـ API
البداية

رابط تثبيت التطبيق

بتبني تطبيق لـ متاجر كتير؟ متطلبش من كل تاجر ينسخ مفتاح. ابعته على رابط تثبيت: يدخل، يشوف تطبيقك طالب إيه بالظبط، يوافق — وإحنا بنبعت مفتاح متجره لسيرفرك.

اعمل الرابط

https://elmatajer.com/install-app
  ?app_name=YOUR_APP_NAME
  &app_description=WHAT_IT_DOES
  &app_icon=https://your-app.com/icon.png
  &permissions=orders.read,webhooks
  &callback_url=https://your-app.com/elmatajer/callback
  &webhook_url=https://your-app.com/elmatajer/webhook
  &redirect_url=https://your-app.com/connected
الحقل إلزامي الوصف
app_name نعم اسم تطبيقك، بيظهر في شاشة الموافقة.
callback_url نعم رابط سيرفر (https) بيستلم المفتاح — تحت.
permissions نعم الصلاحيات مفصولة بفاصلة.
app_description لا سطر عن تطبيقك.
app_icon لا رابط صورة مربعة (https).
webhook_url لا فين تتبعت أحداث المتجر (الويب هوك). محتاج صلاحية webhooks.
redirect_url لا فين يروح التاجر بعد الموافقة.

بعد موافقة التاجر

بنبعت POST على callback_url:

{
  "api_key": "51|o2NDtg7cT…",
  "store_id": 5907,
  "scope": "orders.read webhooks",
  "webhook_secret": "9fK…",
  "api_base": "https://elmatajer.com/api/v1/vendor"
}

احفظ api_key وwebhook_secret لكل متجر. وبعدها المتصفح بيروح لـ redirect_url ومعاه ?status=connected&store_id=5907 (أو status=denied لو التاجر رفض).

بتربط متاجر Easy Orders أصلًا؟

استخدم نفس الرابط اللي بتستخدمه مع Easy Orders — العنوان بس يبقى https://elmatajer.com/install-app. إحنا بنقرا حقول Easy Orders وأسامي صلاحياته زي ما هي:

Easy Orders هنا
orders_webhook الطلبات الجديدة، بشكل طلب Easy Orders نفسه (id، cost، shipping_cost، total_cost، status، full_name، phone، government، address، payment_method، cart_items[…product, variant])
order_status_webhook {"event_type": "order-status-update", "order_id", "old_status", "new_status", "payment_ref_id"}
الهيدر secret كل webhook معاه secret: <webhook_secret> (السر اللي بنبعته لـ callback_url بتاعك)
orders:read، orders:update، products:read، categories:read، shipping_areas… بتتحوّل لـصلاحياتنا، وwebhooks بتتضاف لوحدها

الـ callback بيستلم api_key وstore_id (ومعاهم webhook_secret وapi_base). كلمات الحالة: pending، confirmed، shipped، delivered، cancelled، returned — وتغيير الحالة بيقبل confirmed وcanceled كمان.

أول ربط بيتراجع

أول مرة تطبيقك يتثبّت، المتاجر بتراجعه. بعد الموافقة أي متجر يقدر يثبّته فورًا. والتاجر يقدر يسحب الصلاحية في أي وقت من التطبيقات المرتبطة.

عايز OAuth 2.0 العادي؟ شوف OAuth.