Включите Sandbox под названием приложения и создайте тестовый API-ключ: проверки имитируются, плата не взимается, результат можно выбрать.

Краткий ответ

Переключитесь в Sandbox под названием приложения, создайте тестовый API-ключ и используйте его. Проверки имитируются, плата не взимается, результат можно выбрать.

Sandbox в Didit - это аналог тестовых карт платёжного провайдера: он позволяет воспроизвести любой результат верификации по требованию, без обращения к реальным провайдерам, без обработки реальных персональных данных и без списания средств с баланса.

#Отдельная тестовая среда

Sandbox является общим тестовым приложением организации. Данные, ключи, вебхуки и списки отделены от Live. Полоса вверху каждой страницы обозначает тестовую среду.

Страница API-ключей в консоли Didit, где каждый ключ принадлежит одному приложению
Ключи привязаны к приложению, поэтому sandbox-ключ никогда не получит доступ к боевым данным.
  1. Переключитесь в Sandbox

    Нажмите Sandbox под названием приложения. Перед возвратом в Live проверьте публикацию процесса, боевой ключ или ссылку, вебхук, оплату и срок хранения; затем подтвердите переход или останьтесь в Sandbox.

  2. Создайте тестовый ключ

    Откройте Разработчики → API-ключи и выберите Sandbox при создании. Ключ определяет среду: боевой ключ не создаёт тестовую сессию.

  3. Создайте или скопируйте процесс

    У Sandbox свои процессы. Создайте тестовый процесс или скопируйте его из Live.

  4. Создавайте сессии как обычно

    Тот же эндпоинт, тот же путь в коде. Единственное отличие - какой ключ вы отправляете.

Примечание

Если Sandbox недоступен, у организации ещё нет тестового приложения. Попросите поддержку включить его; это настройка учётной записи.

#Что меняет sandbox, а что нет

SandboxLive
Внешние провайдерыВсе замоканы - ни один сторонний сервис никогда не вызываетсяРеальные
ТарификацияНикогда не тарифицируется; проверка баланса пропускаетсяТарифицируется за каждую завершённую функцию
Лимит создания сессий500 за 24 часа на приложениеВаш баланс
Тело webhook"environment": "sandbox""environment": "live"
Извлечённые данные и статусСмоделированы выбранным сценариемПолучены из реальной съёмки
Захваченные медиафайлыСохраняются по-настоящему, точно как в боевой сессииСохраняются
Важно

Sandbox сохраняет захваченные медиафайлы - документы, селфи, видео liveness, файлы подтверждения адреса - точно так же, как это сделала бы боевая сессия. Результат симулируется, но загрузка происходит по-настоящему, поэтому используйте тестовые документы и тестовые данные, которые предлагает флоу, а не реальный документ, удостоверяющий личность, или реальные персональные данные.

Поскольку результат никогда не зависит от самой картинки, намеренно плохое фото не приведёт к отказу в sandbox. Результат определяет сценарий.

#Выбор результата

Передайте слаг сценария в параметре sandbox_scenario при создании сессии, либо позвольте тестировщику выбрать его самому: в размещённом флоу sandbox-сессии показывают выбор сценария внутри карточки перед началом съёмки, а также ряд образцов документов под компонентом загрузки и постоянный баннер "только тестовые данные".

Сценарии покрывают именно те результаты, под которые вам действительно нужно тестировать код:

Что протестироватьСценарий
Всё одобряетсяapprove
Просроченный документdecline_document_expired
Нечитаемый документdecline_could_not_recognize_document
Ошибка контрольной суммы MRZdecline_mrz_validation
Ниже минимального возрастаdecline_minimum_age
Слишком низкое сравнение лицdecline_face_match_low_similarity
Атака имитации при livenessdecline_liveness_attack
Срабатывание AML по санкциям / PEPdecline_aml_hit
Заблокированный IP-адресdecline_ip_blocklist
Несовпадение адреса при подтверждении адресаdecline_poa_address_mismatch
Чип NFC не прошёл проверку целостностиdecline_nfc_chip_not_verified
Проверка по базам данных ничего не нашлаdecline_database_no_match
Требуется ручная проверка (AML)review_aml_possible_match
Требуется ручная проверка (пограничное сравнение лиц)review_face_match_borderline
Требуется ручная проверка (частичное совпадение адреса)review_poa_partial_match
Несовпадение с реестром KYBdecline_kyb_registry_mismatch

Сценарии review_* существуют, чтобы вы могли проверить весь путь ручной проверки целиком - очередь на проверку в консоли, webhook со статусом In Review, одобрение или запрос повторной отправки проверяющим - без необходимости данных, ведущих к отказу.

Совет

Актуальный каталог сценариев и магических значений отдаёт сам API по адресу GET /v1/sandbox/scenarios/. Если какой-то слаг здесь выглядит устаревшим, доверяйте эндпоинту. Полный справочник: тестирование в sandbox.

#Как отличить одно от другого в собственном коде

Каждый webhook несёт поле environment - "sandbox" или "live". Ветвите логику по нему, а не пытайтесь определить окружение по ключу - и вы никогда не перепутаете тестовую сессию с реальным клиентом.

#Чего sandbox не делает

  • Не возвращает реальные данные реестра для реальной компании. KYB в sandbox использует замоканные ответы реестра.
  • Не отправляет реальные SMS или email. Верификация телефона и email замокана, поэтому по sandbox нельзя оценить реальную доставляемость сообщений.
  • Не расходует ваш месячный кредит тарифа - а значит, прогон в sandbox ничего не говорит об оставшемся кредите.

#Если вам нужны реальные тестовые верификации

Некоторые вещи действительно требуют реального вызова - например, проверить, что сервис работы с базой данных конкретной страны подключён именно для вас, или подтвердить доставку SMS конкретному оператору. Для этого нужно небольшое пополнение боевого приложения, а не sandbox. Прежде чем тратить на это средства, спросите поддержку - так они смогут заранее подтвердить, что нужный сервис действительно включён в вашем аккаунте.

Не нашли ответ? Поговорите с человеком.

Укажите ID организации и ID сессии, о которой спрашиваете.

Связаться с поддержкой