المصادقة
تتطلب جميع طلبات Public API رمز Bearer. تتم إدارة بيانات اعتماد القنوات وأكواد المستودعات في بوابة المطورين — لا تضمنها أبدا داخل تطبيقات العملاء.
مفاتيح API {#api-keys}
أنشئ المفاتيح من Developer Portal → API Keys بعد اعتماد تطبيقك.
| العنصر | الوصف |
|---|---|
| Format | Authorization: Bearer hio_live_… للإنتاج، أو مفاتيح الاختبار كما تصدرها البوابة |
| Scope | مفتاح واحد لكل تطبيق. تتبع الحصص وإتاحة القنوات خطة اشتراك التطبيق. |
| Rotation | ألغ المفاتيح المخترقة فورا؛ أنشئ بديلا قبل الإلغاء في بيئة الإنتاج. |
| Storage | على الخادم فقط. لا تكشف المفاتيح في تطبيقات الجوال أو browser JS أو المستودعات العامة. |
مثال طلب
curl https://api.hiobuy.com/v1/products/detail \
-H "Authorization: Bearer hio_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"channel": "1688",
"product_id": "554456348334",
"language": "en"
}'تفويض القنوات (متطلب مسبق) {#channel-authorization}
مفتاح API وحده لا يكفي. يجب أن يكمل كل تطبيق تفويض القناة قبل استدعاء واجهات المنتجات أو الطلبات الخاصة بذلك السوق.
| الوضع | ما تضبطه | ما يستخدمه Gateway |
|---|---|---|
| Self fulfillment | OAuth لكل قناة أو token JSON في البوابة | رموز محفوظة لكل تطبيق + قناة |
| HIOBuy warehouse | كود مطور مستودع واحد | الكود + رموز مدارة من جهة الخادم؛ تمرير الشراء/الشحن إلى HIOBuy |
راجع تفويض البوابة. إذا لم تكن القناة مفوضة، تعيد الاستدعاءات 401 CHANNEL_NOT_AUTHORIZED (الأخطاء).
ما لا ترسله أبدا {#what-not-to-send}
- رموز وصول أو تحديث Taobao / 1688 / Weidian
- كود مطور المستودع (يضيفه Gateway لمسارات fulfillment)
- Portal session JWT في استدعاءات Public API
تتبع الطلبات {#tracing}
تتضمن كل استجابة:
- ترويسة
x-request-id— لربطها معrequest_idفي جسم JSON - ترويسات حصة اختيارية على المسارات القابلة للفوترة — راجع حدود المعدل
أرفق x-request-id عند التواصل مع دعم HIOBuy.
أخطاء المصادقة الشائعة {#auth-errors}
| HTTP | Code | المعنى |
|---|---|---|
| 401 | INVALID_API_KEY | رمز Bearer مفقود أو ملغى أو غير صحيح الصياغة |
| 401 | CHANNEL_NOT_AUTHORIZED | لم يفوض التطبيق القناة المطلوبة في البوابة |
| 403 | INSUFFICIENT_SCOPE | المفتاح أو التطبيق لا يملك إذن العملية |
| 403 | FULFILLMENT_MODE_NOT_SUPPORTED | تم استدعاء Fulfillment API بينما التطبيق في وضع self-fulfillment |