Песочница для интеграторов
Компания с ключом, программой и гостями — на неделю и без регистрации. Тот же API, что у боевых клиентов.
Песочница — настоящая компания на нашей платформе, заведённая на неделю, на тарифе «Про»: открытый API и вебхуки включены. Тот же API и те же коды ошибок, что у боевых клиентов. Регистрироваться, вводить почту и ждать ответа не нужно: ключ выдаётся сразу, вместе с программой, точкой продаж и тремя гостями с картами.
Без регистрации. Компания с ключом, программой и тремя гостями заводится за пару секунд и живёт неделю.
Перед выдачей может появиться проверка «я не робот» — пройдите её, и песочница заведётся. Всё выданное показывается один раз и нигде не хранится: ключ, как и боевой, в базе лежит только отпечатком. Потеряли — возьмите новую песочницу.
Что внутри
Ключ API со всеми областями доступа
Чеки, возвраты, поиск карты, купоны, заведение гостя и подтверждение номера — всё, что умеет открытый API. Ключ начинается с wlk_test_, чтобы его нельзя было перепутать с боевым в конфиге кассы.
Точка продаж и программа
«Демо-точка» в московском часовом поясе и программа с приветственным бонусом в 100 баллов. Идентификатор точки для locationId отдаёт GET /program.
Три гостя с картами
Телефоны, штрихкоды и балансы приходят в ответе. У двоих уже есть покупки, у третьей — только приветственный бонус. Проводить чек есть по кому с первой минуты — искать в пустой базе некого.
Кабинет с паролем
Чтобы посмотреть глазами, что чек дошёл: сводка, карточка гостя, история начислений. Там же настраиваются вебхуки. Вход — почта и пароль из ответа.
Страница выдачи карты
Публичный адрес программы: можно пройти путь гостя целиком и поставить карту в свой телефон. Анкета спрашивает только имя.
Выдача отвечает одним JSON — форма выше показывает его целиком:
| Поле | Что в нём |
|---|---|
apiKey | Ключ для заголовка X-API-Key |
apiBaseUrl | Адрес API — тот же, что у боевых клиентов |
expiresAt | Когда песочница удалится |
joinUrl | Страница выдачи карты гостю |
admin | Адрес кабинета, почта и пароль владельца |
guests | Гости: телефон, имя, штрихкод карты и баланс |
Как проверить, что всё работает
Проведите чек по любому из выданных штрихкодов. Заголовок Idempotency-Key обязателен — он защищает от двойного начисления при повторной отправке. Готовую команду с вашим ключом и первым из выданных гостей печатает сама выдача — поле «Первый запрос», её достаточно скопировать.
POST /transactions
curl -X POST https://api.snovacard.ru/api/v1/transactions \
-H "x-api-key: ВАШ_КЛЮЧ" \
-H "content-type: application/json" \
-H "Idempotency-Key: demo-$(date +%s)" \
-d '{"cardBarcode":"ШТРИХКОД_ГОСТЯ","amount":1000,"redeemPoints":0}'Idempotency-Key — любая строка, уникальная для чека: номер чека из кассы, UUID, что угодно. В примере это секунды текущего времени, чтобы команда работала в любой оболочке без дополнительных утилит; повторная отправка с тем же ключом вернёт прежний ответ и баллы второй раз не начислит.
В ответе — начисленные баллы, новый баланс и сработавшие правила. Дальше стоит проверить списание: спросите карту по телефону (POST /cards/lookup), посмотрите maxRedeemPercent и проведите чек с redeemPoints. Подробно о методах — в описании API.
Чем песочница отличается от боевой компании
Живёт неделю
Потом ночная уборка удаляет её целиком — с гостями, картами, историей и учётной записью владельца. Продлить нельзя — берите новую, это одна кнопка.
Код показывается, а не отправляется
Никаких сообщений наружу: ни письма, ни SMS, ни звонка. На странице выдачи код виден прямо на форме, а POST /customers/phone-code возвращает его полем shownCode. На боевой компании код уходит гостю, и каналы выбирает владелец.
Ключ знает, что он песочный
GET /program отвечает company.sandbox: true — по нему интеграция может показать разработчику код подтверждения, не нарушая правила для боевых ключей.
Оператор персональных данных — мы
Заведения за песочницей нет, поэтому в согласии названы наши реквизиты. У настоящего клиента там его юридическое лицо и его ИНН.
Не больше трёх в сутки с одного адреса
Выдача открыта без авторизации, и предел защищает её от перебора. Считается и выдача, сорвавшаяся на середине. Нужно больше — напишите нам, договоримся.
Кроме предела по адресу есть два общих: не больше 30 песочниц в час на всю платформу и не больше 500 живых одновременно. Упрётесь в них — выдача ответит RATE_LIMITED с просьбой повторить позже; в details.retryAfterSec — через сколько секунд.
Частые вопросы
Нужно ли регистрироваться, чтобы получить песочницу?
Нет. Кнопка на этой странице выдаёт компанию с ключом сразу: ни почты, ни пароля, ни подтверждения. Регистрация нужна, когда дело дойдёт до настоящих гостей.
Сколько живёт песочница?
Неделю. Потом она удаляется целиком — компания, гости, карты и история. Продления нет: новая заводится одной кнопкой.
Отличается ли API песочницы от боевого?
Нет, это та же платформа и тот же адрес api.snovacard.ru. Отличается только компания: у неё стоит срок жизни, код подтверждения показывается вместо отправки гостю, а оператором персональных данных названы мы, а не заведение.
Можно ли проверить в песочнице вебхуки?
Да. Песочница на тарифе «Про», и вкладка «Интеграции» → «Вебхуки» в её кабинете работает как у боевой компании: укажите https-адрес своего приёмника и проведите чек через API.
Можно ли перенести данные из песочницы в боевую компанию?
Нет, и это намеренно: в песочнице придуманные гости, которым место в базе заведения не полагается. Настройки программы переносятся руками за пару минут в кабинете.
Первые 20 карт — бесплатно. Программа настраивается за вечер.
Создать программу
Снова