Sandbox və test məlumatları
Sandbox API-nin öz bazası üzərində işləyən tam surətidir. Eyni kod, eyni qaydalar, eyni xəta kodları — fərqli məlumatlar və real müştəriyə çatan heç nə yoxdur.
Baza URL-lər
live https://api.turanyol.com
sandbox http://localhost:3050Açarlar bir mühitə bağlıdır
Sandbox kimi yaradılmış açar yalnız sandbox baza URL-i ilə, canlı açar isə yalnız canlı URL ilə işləyir. Səhvini göndərmək ERR_API_KEY_ENVIRONMENT ilə rədd edilir — bu, etibarsız açardan qəsdən fərqlidir ki, konfiqurasiya səhvini etimadnamə probleminden ayıra biləsiniz.
ERR_API_KEY_ENVIRONMENTTest telefon nömrələri
Giriş telefon OTP ilə olur. Sandbox-da provayder mock-dur: kod cavabda qaytarılır və giriş ekranında göstərilir, ona görə heç vaxt SMS göndərilmir.
| Rol | Telefon | Qeydlər |
|---|---|---|
| Partnyor | +994500000040 | Kargo Express — orders:read, orders:pii, logistics:write |
| Partnyor | +994500000041 | PayAZ — payments:read |
| Müştəri | +994500000100 | Aysel Məmmədova — ES-1049, ES-1025, ES-1001 |
| Satıcı | +994500000010 | Vendor A-101 |
| Sürücü | +994500000020 | B-2083 completed, B-2084 assigned |
| Kuryer | +994500000030 | Hub pickup queue |
| Dəstək əməkdaşı | +994500000002 | Günel Rəhimova |
| Administrator | +994500000001 | Kamil Hüseynov |
Seed məlumatları
Sandbox real Bakı məlumatları ilə deterministik seed-dən qurulur — Sadarak dükanları, az/ru/en kateqoriyalar, 20 Yanvar, Gənclik, Yasamal, Nərimanov və Nizamidə müştərilər, bütün statuslarda sifarişlər, sürücülər və paketlər.
Mock kart ödənişi axını
Sandbox-da kart ödənişləri mock provayderdən keçir, ona görə bütün axını PSP olmadan sınaya bilərsiniz:
- paymentMethod CARD ilə sifariş verin. Sifariş UNPAID statusunda, ödəniş niyyəti və checkoutUrl ilə qayıdır.
- Checkout URL-i açın. Mock provayder “Ödə” və “Uğursuz” düymələri olan kiçik səhifə verir.
- Nəticəni seçmək provayderin API-yə imzalanmış vebhuk göndərməsinə səbəb olur — real PSP-nin istifadə edəcəyi eyni vebhuk yolu.
- Sifariş PAID olur və ya niyyət FAILED olur, müştəri isə dəyişikliyi realtime kanalda görür.
Sandbox-un sıfırlanması
Sandbox bazası birdəfəlikdir. Sıfırlamağı bizdən xahiş edin, yaxud stack-i özünüz işlədirsinizsə:
# 1. stop the sandbox API
pnpm --filter @turanyol/api exec -- true # (stop the 'dev:api:sandbox' process)
# 2. re-apply migrations and re-seed the sandbox database
DATABASE_URL=postgresql://esadarak:esadarak@localhost:5433/esadarak_sandbox?schema=public \
pnpm --filter @turanyol/api prisma:deploy
DATABASE_URL=postgresql://esadarak:esadarak@localhost:5433/esadarak_sandbox?schema=public \
pnpm db:seed
# 3. start it again
pnpm dev:api:sandboxNə fərqlənmir
Scope-lar, sürət limitləri, sifariş vəziyyət maşını və vebhuk imza sxemi produksiyadakı kimi işləyir. Sandbox-da işləyirsə, canlıda da işləyir — məqsəd elə budur.