К содержимому
TURANYOLРазработчикам

Песочница

Второй процесс API со своей базой, своим seed и своими ключами. Ничто здесь не затрагивает боевые заказы.

Статус песочницы

Проверка…Проверка…http://localhost:3050

Ключи песочницы

Создайте ключ со средой Sandbox на странице API-ключей. Ключ песочницы, отправленный в боевой API, отклоняется с ERR_API_KEY_ENVIRONMENT, и наоборот.

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

Ключи песочницы

Что в тестовых данных

База песочницы пересобирается из того же детерминированного seed, что и разработка, поэтому коды ниже стабильны между сбросами.

  • Продавцы и товары по зонам Садарака A–F с названиями на az/ru/en и фотографиями.
  • Клиенты с сохранёнными адресами в 20 Yanvar, Gənclik, Yasamal, Nərimanov и Nizami.
  • Заказы во всех статусах, включая AT_HUB и PACKED, а также заказы на хабе, уже переданные партнёру.
  • Партии доставки, водители и данные сверки наложенного платежа.
  • Два партнёрских аккаунта с одним боевым и одним sandbox-ключом каждый, а также вебхуки с доставками во всех статусах.

Тестовые аккаунты

OTP в песочнице замокан: код возвращается в ответе как devCode и показывается на экране входа. Никаких реальных SMS.

Тестовые аккаунты
РольТелефонПримечания
Партнёр+994500000040Kargo Express — orders:read, orders:pii, logistics:write
Партнёр+994500000041PayAZ — payments:read
Покупатель+994500000100Aysel Məmmədova — ES-1049, ES-1025, ES-1001
Продавец+994500000010Vendor A-101
Водитель+994500000020B-2083 completed, B-2084 assigned
Сборщик+994500000030Hub pickup queue
Агент поддержки+994500000002Günel Rəhimova
Администратор+994500000001Kamil Hüseynov

Сброс песочницы

База песочницы одноразовая. Попросите нас её сбросить, или, если стек запущен у вас:

  1. Остановите sandbox-API, чтобы во время пересборки базы никто в неё не писал.
  2. Примените миграции заново и повторно выполните seed для базы песочницы.
  3. Запустите sandbox-API снова — seed-ключи и коды будут теми же, что раньше.
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
Сброс ничего не отменяет в боевом API: ключи, вебхуки и заказы там не затрагиваются.

Чем песочница отличается от боевой среды

  • OTP замокан — SMS не отправляется, код возвращается вызывающей стороне.
  • Оплата картой идёт через mock-провайдер, который отдаёт свою страницу оплаты и подписывает свой вебхук.
  • Диспетчеризация работает на seed-водителях, поэтому партии и предложения появляются без реального фургона.
  • Лимиты запросов и скоупы работают ровно как в бою — песочница не мягче.

Руководство по песочнице