مستندات API نمایندگی
API نمایندگی SHOP2TOPUP یک JSON REST API برای فروش شارژ بازی، شارژ حساب بازی و کدهای ووچر از فروشگاه، ویترین یا بات خودتان است. این مرجع همه اندپوینتهای عمومی، پارامترها و پاسخهایشان را مستند میکند.
آدرس پایه و انتقال
هر مسیر در این مرجع نسبت به آدرس پایه زیر است. درخواستها و پاسخها JSON روی HTTPS هستند، مبالغ بهصورت رشته میآیند تا خطای گرد کردن اعشاری پیش نیاید و هر زمان بهصورت UTC در قالب ISO 8601 است.
https://shop2topup.com/api/endpoints/v1
احراز هویت
هر درخواست یک هدر حمل میکند. جفت کلید از صفحه API Access پنل نمایندگی شما صادر میشود و میتوان آن را به یک فهرست IP مجاز محدود کرد؛ فراخوانی از هر آدرس دیگری پیش از رسیدن به هر منطق تجاری با IP_NOT_ALLOWED رد میشود.
Authorization: Bearer <keyId>.<secret>اولین فراخوانی
چیزی برای نصب نیست. کلید خودتان را جایگذاری کنید تا داده زنده کاتالوگ برگردد.
curl -s "https://shop2topup.com/api/endpoints/v1/catalog/categories?bigCategoryId=1" \
-H "Authorization: Bearer YOUR_KEY_ID.YOUR_KEY_SECRET"قراردادهای پاسخ
- هر پاسخ یک فیلد بولی success دارد، بنابراین یک شرط، مسیر موفق را از هر خطایی جدا میکند.
- خطاها یک شیء error با یک code پایدار، یک message خوانا برای انسان و details اختیاری برمیگردانند. بر اساس code شرط بگذارید، نه message.
- پول همیشه یک رشته اعشاری مانند "0.950000" به دلار است. پیش از مقایسه یا جمع زدن، آن را به عدد اعشاری دودویی تبدیل نکنید.
- اندپوینتهای فهرستی یک شیء pagination با فیلدهای page، limit، total و total_pages برمیگردانند.
- ثبت سفارش نسبت به UUID که در order_id میفرستید idempotent است، بنابراین تکرار درخواست هرگز نمیتواند دو بار کسر کند.
{
"success": false,
"error": {
"code": "PRICE_INCREASED",
"message": "Price has increased beyond expected",
"details": {
"expected_unit_price": "0.950000",
"current_unit_price": "0.980000"
}
}
}بخشهای مرجع
محدودیتهای نرخ
محدودیتها بهازای هر حساب و روی یک پنجره لغزان اعمال میشوند. هر پاسخ هدرهای X-RateLimit-Limit، X-RateLimit-Remaining و X-RateLimit-Reset را حمل میکند و یک فراخوانی محدودشده با هدر Retry-After پاسخ 429 میگیرد.
| مسیر | درخواست | پنجره | شمارش بر اساس |
|---|---|---|---|
| GET /catalog/* (all five) | 80 | 60s | per account |
| POST /orders/create | 120 | 60s | per account |
| GET /orders/:orderId | 3 | 60s | per account + order id |
| POST /orders/batch | 2 | 60s | per account |
| GET /orders | 2 | 60s | per account |
| GET /account | 60 | 60s | per account |
| POST /player/validate | dedicated limiter | — | per account |
وبهوکها
نتیجه سفارشها به اندپوینت HTTPS ای که ثبت میکنید فرستاده میشود و با HMAC-SHA256 روی بدنه خام امضا میشود. فهرست رویدادها، فهرست هدرها، ساختار محتوا و یک نمونه بررسی امضا در صفحه معرفی API مستند شدهاند.
خواندن مرجع محتوا و امضای وبهوکتازه با پلتفرم آشنا شدهاید؟ از معرفی API شارژ بازی برای نمایندگان فروش شروع کنید، یا معرفی برنامه نمایندگی SHOP2TOPUP را بخوانید تا ببینید حساب شریک چگونه کار میکند.