البداية
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.