Песочница и тестовые данные
Песочница — полная копия API, работающая на своей базе. Тот же код, те же правила, те же коды ошибок — другие данные и ничего, что дойдёт до реального клиента.
Базовые URL
live https://api.turanyol.com
sandbox http://localhost:3050Ключ привязан к одной среде
Ключ, созданный как Sandbox, работает только с базовым URL песочницы, боевой — только с боевым. Не тот ключ отклоняется с ERR_API_KEY_ENVIRONMENT: это намеренно отличается от невалидного ключа, чтобы отличать ошибку конфигурации от проблемы с учётными данными.
ERR_API_KEY_ENVIRONMENTТестовые номера телефонов
Вход — по телефонному OTP. В песочнице провайдер замокан: код возвращается в ответе и показывается на экране входа, поэтому SMS не отправляется никогда.
| Роль | Телефон | Примечания |
|---|---|---|
| Партнёр | +994500000040 | Kargo Express — orders:read, orders:pii, logistics:write |
| Партнёр | +994500000041 | PayAZ — payments:read |
| Покупатель | +994500000100 | Aysel Məmmədova — ES-1049, ES-1025, ES-1001 |
| Продавец | +994500000010 | Vendor A-101 |
| Водитель | +994500000020 | B-2083 completed, B-2084 assigned |
| Сборщик | +994500000030 | Hub pickup queue |
| Агент поддержки | +994500000002 | Günel Rəhimova |
| Администратор | +994500000001 | Kamil Hüseynov |
Тестовые данные
Песочница пересобирается из детерминированного seed с реалистичными бакинскими данными — прилавки Садарака, категории на az/ru/en, клиенты в 20 Yanvar, Gənclik, Yasamal, Nərimanov и Nizami, заказы во всех статусах, водители и партии.
Поток mock-оплаты картой
Оплата картой в песочнице идёт через mock-провайдер, поэтому весь поток можно пройти без PSP:
- Создайте заказ с paymentMethod CARD. Заказ вернётся как UNPAID с платёжным намерением и checkoutUrl.
- Откройте checkout URL. Mock-провайдер отдаёт небольшую страницу с кнопками «Оплатить» и «Ошибка».
- Выбор исхода заставляет провайдер отправить в API подписанный вебхук — тот же путь, что использовал бы настоящий PSP.
- Заказ становится PAID либо намерение FAILED, и клиент видит изменение по realtime-каналу.
Сброс песочницы
База песочницы одноразовая. Попросите нас её сбросить, или, если стек запущен у вас:
# 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Что не отличается
Скоупы, лимиты запросов, машина состояний заказа и схема подписи вебхуков работают ровно как в продакшене. Работает в песочнице — работает и в бою; в этом весь смысл.