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

OAuth 2.0

للتطبيقات المسجّلة، المتاجر بتدعم تدفّق authorization code العادي (مع PKCE لو حابب). اطلب مننا client_id وclient_secret ومعاهم روابط الرجوع والصلاحيات اللي محتاجها.

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

https://elmatajer.com/oauth/authorize
  ?client_id=app_xxx
  &redirect_uri=https://your-app.com/oauth/callback
  &scope=orders.read webhooks
  &state=RANDOM
  &code_challenge=…&code_challenge_method=S256   (اختياري، PKCE)

يدخل، يراجع الصلاحيات ويوافق. بنرجّعه على redirect_uri ومعاه ?code=…&state=….

٢ · بدّل الكود (من سيرفر لسيرفر)

curl -X POST https://elmatajer.com/oauth/token \
  -d grant_type=authorization_code \
  -d client_id=app_xxx -d client_secret=YOUR_SECRET \
  -d code=THE_CODE -d redirect_uri=https://your-app.com/oauth/callback
{
  "access_token": "52|kL9…",
  "token_type": "Bearer",
  "scope": "orders.read webhooks",
  "store": { "vendor_id": 5907, "name": "Assem Store" },
  "webhook_secret": "9fK…",
  "api_base": "https://elmatajer.com/api/v1/vendor"
}

استخدم access_token زي مفتاح الـ API بالظبط. الكود بيتستخدم مرة واحدة وبيخلص بعد 5 دقايق؛ وأي خطأ بيرجع 400 invalid_grant.