Организации, приложения и окружения

Организация содержит вашу команду и биллинг; приложения содержат рабочие процессы и API-ключи, и каждое из них работает либо в режиме live, либо в режиме sandbox. Если разобраться в этой структуре, большинство непонятного поведения исчезает.

Short answer

Организация = ваша команда, ваш баланс биллинга, ваш журнал аудита. Приложение = рабочие процессы, API-ключ, webhook-назначения, политика хранения данных - и режим: live или sandbox. Большинство проблем «я изменил, но ничего не произошло» связаны с тем, что вы находитесь не в том приложении.

#Два уровня

Организация - это ваш аккаунт. Ей принадлежат:

  • Ваша команда и роли ее участников
  • Ваш баланс биллинга и счета
  • Ваш журнал аудита
  • Все ваши приложения

Приложение - это рабочее пространство внутри организации. Ему принадлежат:

  • Собственные рабочие процессы
  • Собственный API-ключ
  • Собственные webhook-назначения
  • Собственная политика хранения данных
  • Режим: live или sandbox

Переключайтесь между приложениями через выпадающий список в верхней части консоли.

#Почему это важнее, чем кажется

Почти каждый отчет вида «я изменил и ничего не произошло» сводится к этой структуре:

  • Вы отредактировали рабочий процесс в приложении A, а ваши сессии работают в приложении B.
  • Вы добавили webhook-назначение в одно приложение, а ожидали события из другого.
  • Вы вызываете API с ключом от другого приложения, чем то, к которому относится нужный ресурс, и получаете 404 или 403 для того, что явно существует.

Прежде чем отлаживать что-либо еще, убедитесь, что вы в правильном приложении. См. ошибки API и что они означают.

#Live и sandbox - это разные приложения

Внутри live-приложения нет переключателя тестового режима. Режим выбирается на уровне приложения, поэтому тестирование означает создание второго приложения в sandbox-режиме и использование его ключа.

В этом и есть смысл разделения: тестовый трафик и реальные данные никогда не смешиваются, и sandbox-ключ не может случайно потратить реальные кредиты. См. тестирование в sandbox.

Tip

Называйте приложения так, чтобы их нельзя было спутать на глаз - 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 дней. Именно это делает структуру с несколькими приложениями проверяемой, а не просто аккуратной. См. использование журналов аудита.