Məzmuna keç
TURANYOLDeveloperlər

Sandbox

Öz bazası, öz seed-i və öz açarları olan ikinci API prosesi. Burada etdiyiniz heç nə canlı sifarişlərə toxunmur.

Sandbox statusu

Yoxlanılır…Yoxlanılır…http://localhost:3050

Sandbox açarları

API açarları səhifəsində mühiti Sandbox olan açar yaradın. Canlı API-yə göndərilən sandbox açarı ERR_API_KEY_ENVIRONMENT ilə rədd edilir, əksi də belədir.

base urls
live     https://api.turanyol.com
sandbox  http://localhost:3050

Sandbox açarları

Seed-də nə var

Sandbox bazası development ilə eyni deterministik seed-dən qurulur, ona görə aşağıdakı kodlar sıfırlamalar arasında sabit qalır.

  • Sadarak A–F zonalarında satıcılar və məhsullar, az/ru/en adları və şəkilləri ilə.
  • 20 Yanvar, Gənclik, Yasamal, Nərimanov və Nizami ünvanları saxlanmış müştərilər.
  • Bütün statuslarda sifarişlər, AT_HUB və PACKED daxil, həmçinin partnyora artıq təhvil verilmiş hub sifarişləri.
  • Çatdırılma paketləri, sürücülər və nağd üzləşdirmə məlumatları.
  • Hər birində bir canlı və bir sandbox açarı olan iki partnyor hesabı, həmçinin bütün statuslarda çatdırılmaları olan vebhuklar.

Test hesabları

Sandbox-da OTP mock-dur: kod cavabda devCode kimi qayıdır və giriş ekranında göstərilir. Heç vaxt real SMS deyil.

Test hesabları
RolTelefonQeydlər
Partnyor+994500000040Kargo Express — orders:read, orders:pii, logistics:write
Partnyor+994500000041PayAZ — payments:read
Müştəri+994500000100Aysel Məmmədova — ES-1049, ES-1025, ES-1001
Satıcı+994500000010Vendor A-101
Sürücü+994500000020B-2083 completed, B-2084 assigned
Kuryer+994500000030Hub pickup queue
Dəstək əməkdaşı+994500000002Günel Rəhimova
Administrator+994500000001Kamil Hüseynov

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. Baza yenidən qurulan zaman heç nə yazmasın deyə sandbox API-ni dayandırın.
  2. Miqrasiyaları yenidən tətbiq edin və seed-i sandbox bazasında yenidən işə salın.
  3. Sandbox API-ni yenidən başladın — seed açarları və kodlar əvvəlki ilə eynidir.
shell
# 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:sandbox
Sıfırlama canlı API-də heç nəyi ləğv etmir: oradakı açarlar, vebhuklar və sifarişlər toxunulmaz qalır.

Sandbox canlıdan nə ilə fərqlənir

  • OTP mock-dur — SMS göndərilmir və kod çağırana qaytarılır.
  • Kart ödənişləri öz checkout səhifəsini verən və öz vebhukunu imzalayan mock provayderdən keçir.
  • Dispetçerlik seed sürücüləri üzərində işləyir, ona görə paketlər və təkliflər real van olmadan görünür.
  • Sürət limitləri və scope-lar canlıdakı kimi işləyir — sandbox daha sərbəst deyil.

Sandbox bələdçisi