Sandbox (demo muhit)
ms_test_ kalitlar bilan integratsiyani pulsiz sinang: simulyatsiya qilingan raqamlar, ~8 soniyada SMS va boshqariladigan stsenariylar.
Sandbox nima#
Test kalit bilan yuborilgan har bir so'rov haqiqiy katalog va narxlarni qaytaradi, lekin buyurtmalar simulyatsiya qilinadi: provayderdan raqam olinmaydi, balansdan pul yechilmaydi. Javob formatlari live bilan bir xil — faqat kalitni almashtirasiz.
- Buyurtma ID:
ord_test_<n>, javobda"mode": "test". - Standart holatda SMS kod ~8 soniyadan so'ng keladi.
- Test buyurtmalar uchun webhooklar test rejimidagi endpointlarga yuboriladi.
- Test balansi alohida (virtual) va haqiqiy pulga bog'liq emas.
GET /balance (test)
{
"object": "balance",
"mode": "test",
"amount": "1000000.00",
"amount_cents": 100000000,
"currency": "UZS",
"note": "Sandbox: virtual balans, buyurtmalar pul yechmaydi"
}Stsenariylar#
POST /v1/orders body'sida sandbox_scenario maydoni bilan natijani tanlaysiz (faqat test kalitlar):
| Qiymat | Natija |
|---|---|
success (standart) | ~8 soniyada SMS keladi → sms_received |
no_sms | SMS kelmaydi, 20 daqiqadan keyin expired (pul qaytishi simulyatsiyasi) |
expire_fast | 30 soniyada expired — timeout mantiqini tez sinash uchun |
Terminal
curl -X POST https://api.milliysavdo.uz/v1/orders \
-H "Authorization: Bearer $MILLIYSAVDO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country_id": 6, "service_code": "907", "sandbox_scenario": "expire_fast"}'Diqqat
Live kalit bilan
sandbox_scenario yuborilsa, 400 invalid_request qaytadi — maydonni faqat test muhitida yuboring.Sandbox limitlari#
Test rejimida limitlar pastroq (masalan, 30 so'rov/daqiqa, 50 buyurtma/kun, 3 ta faol buyurtma). Aniq qiymatlarni kabinetdagi Limitlar sahifasida va har bir javobning RateLimit-* headerlarida ko'rasiz.
Live ga o'tishdan oldin tekshiring#
success,no_smsvaexpire_faststsenariylarini qayta ishlaysizmi?Idempotency-Keyyuborasizmi va takror javobni (200) to'g'ri qabul qilasizmi?402 insufficient_balance,409 out_of_stockva429xatolarini foydalanuvchiga tushunarli ko'rsatasizmi?- Webhook imzosini tekshirasiz va
webhook-idbo'yicha dublikatlarni tashlaysizmi?