Организации, приложения и окружения
Организация содержит вашу команду и биллинг; приложения содержат рабочие процессы и API-ключи, и каждое из них работает либо в режиме live, либо в режиме sandbox. Если разобраться в этой структуре, большинство непонятного поведения исчезает.
Организация = ваша команда, ваш баланс биллинга, ваш журнал аудита.
Приложение = рабочие процессы, API-ключ, webhook-назначения, политика хранения
данных - и режим: live или sandbox. Большинство проблем «я изменил, но
ничего не произошло» связаны с тем, что вы находитесь не в том приложении.
#Два уровня
Организация - это ваш аккаунт. Ей принадлежат:
- Ваша команда и роли ее участников
- Ваш баланс биллинга и счета
- Ваш журнал аудита
- Все ваши приложения
Приложение - это рабочее пространство внутри организации. Ему принадлежат:
- Собственные рабочие процессы
- Собственный API-ключ
- Собственные webhook-назначения
- Собственная политика хранения данных
- Режим:
liveилиsandbox
Переключайтесь между приложениями через выпадающий список в верхней части консоли.
#Почему это важнее, чем кажется
Почти каждый отчет вида «я изменил и ничего не произошло» сводится к этой структуре:
- Вы отредактировали рабочий процесс в приложении A, а ваши сессии работают в приложении B.
- Вы добавили webhook-назначение в одно приложение, а ожидали события из другого.
- Вы вызываете API с ключом от другого приложения, чем то, к которому относится нужный ресурс, и получаете 404 или 403 для того, что явно существует.
Прежде чем отлаживать что-либо еще, убедитесь, что вы в правильном приложении. См. ошибки API и что они означают.
#Live и sandbox - это разные приложения
Внутри live-приложения нет переключателя тестового режима. Режим выбирается на уровне приложения, поэтому тестирование означает создание второго приложения в sandbox-режиме и использование его ключа.
В этом и есть смысл разделения: тестовый трафик и реальные данные никогда не смешиваются, и sandbox-ключ не может случайно потратить реальные кредиты. См. тестирование в sandbox.
Называйте приложения так, чтобы их нельзя было спутать на глаз - acme-live и
acme-sandbox гораздо лучше, чем «Application» и «Application (2)». Храните
ключи под такими же именами в своем менеджере секретов и никогда не держите одну
переменную окружения, значение которой означает «какой ключ сейчас актуален».
#Сколько приложений вам нужно?
Как минимум одно live и одно sandbox. Дальше разделяйте по всему, что требует своей конфигурации или изоляции:
- По продукту, если разным продуктам нужны разные рабочие процессы и разные webhook-эндпоинты.
- По окружению, если у вас несколько предпродакшн-окружений.
- По бренду, если вы предоставляете верификацию под несколькими брендами с разным оформлением.
- По политике хранения, поскольку хранение данных настраивается на уровне приложения.
Что не делится по приложениям - это ваш баланс, он на уровне организации. Все приложения расходуют одни и те же кредиты.
#Создание дополнительных приложений
Дополнительные приложения создаются в консоли. Если такой опции нет, либо вам нужно создавать приложения через API, а не через консоль, это вопрос прав доступа на уровне аккаунта, который стоит задать поддержке, а не пытаться обойти - особенно для второго live-приложения, где ответ может зависеть от вашего тарифного плана.
#Несколько организаций
Электронная почта одного человека принадлежит только одной организации одновременно, и создать суборганизации или субаккаунты под вашей нельзя. Если вы обслуживаете несколько собственных клиентов, поддерживаемая структура - одно приложение на клиента внутри вашей единственной организации: у каждого приложения свои рабочие процессы, брендинг, ключи API, результаты и отчёты об использовании, полностью изолированные от остальных, а биллинг остаётся на уровне организации.
#Перепродажа Didit
Если вы хотите включить Didit в собственный продукт и брать за это плату с клиентов, это реселлерская модель. Как она работает, в тех формулировках, которые поддержка даёт всем, кто спрашивает:
- Предоплаченный кредит. Минимальная первоначальная покупка 5 000 USD, предоплата, по годовому соглашению. Кредит не имеет срока действия, находится на уровне вашей организации и расходуется всеми конечными клиентами, которых вы подключаете, и включает скидку за объём, растущую с суммой.
- Панель управления строите вы. Вы интегрируете API Didit в свой фронтенд, и ваши клиенты управляют там своими рабочими процессами, брендингом и ролями. Didit не предоставляет white-label-копию Business Console; экраны проверки, которые видят ваши конечные пользователи, могут нести ваш бренд (см. white label), консоль - нет.
- Ваша маржа - ваша. Вы назначаете цену, которую платят ваши клиенты. Didit выставляет вам счёт за каждую выполненную функцию по единичным ценам, зафиксированным на срок соглашения.
- Это не программа локальных партнёров. Didit проводит демонстрации, онбординг и поддержку напрямую с клиентами и не ищет партнёров по дистрибуции или внедрению.
Если вы не хотите заниматься перепродажей, используйте реферальную опцию: в боковой панели Business Console откройте Рефералы, примите условия программы и поделитесь своей ссылкой. Вы получаете комиссию 10 % с каждого денежного пополнения приглашённой организации в течение 36 месяцев с её первого пополнения, которую можно использовать как кредит Didit или вывести банковским переводом после периода созревания - без обязательств по поставке или поддержке. Вы можете построить и протестировать интеграцию на бесплатном тарифе до того, как решитесь на любой из вариантов.
#Удаление приложения
Удаление приложения удаляет его рабочие процессы и конфигурацию. Данные верификации следуют политике хранения и правилам удаления для этих данных, а не жизненному циклу приложения - поэтому если ваша цель - удалить данные клиентов, удаляйте данные явно, а не полагайтесь на то, что удаление приложения сделает это за вас. См. удаление сессий и персональных данных.
#Все действия отслеживаемы
Каждый API-вызов фиксирует, к какому приложению он относился, в журнале аудита, в течение 365 дней. Именно это делает структуру с несколькими приложениями проверяемой, а не просто аккуратной. См. использование журналов аудита.