INTERNAL между двумя клиентами Didit, открытый протокол Travel Rule (TRP) и EMAIL. Четыре сетевых канала (GTR, TRUST, VERIFYVASP, SYGNA) требуют членства в этой сети на стороне отправителя.
На этой странице описано, что каждый канал делает сегодня, чтобы вы знали, какие контрагенты доступны, прежде чем полагаться на маршрут.
Статус в общих чертах
«Работает» означает, что Didit отправляет обмен и получает ответ. «Реализовано, но ещё не проверено в работе» означает, что Didit отправляет обмен и читает ответ сети, но ни один обмен по этой сети ещё не завершился на действующей сети. Ни одно из этих значений не означает, что конкретный контрагент доступен: это зависит от контрагента. Поле
routes в справочнике для каждого VASP показывает, какие каналы ваше приложение может использовать для него сегодня.
EMAIL передаёт только ваши исходящие запросы: страница ответа является местом, где контрагент отвечает на один из них, и ни один VASP не может отправить вам перевод по электронной почте.
Перед тем как полагаться на GTR, VerifyVASP, Sygna Bridge или TRUST, подключите своё членство и проведите первый обмен с контрагентом, которого вы знаете.
Каналы, которые не требуют членства
INTERNAL
Оба VASP работают на Didit, поэтому обмен завершается внутри платформы без исходящего вызова. Получатель должен быть действующим клиентом Didit, у которого включён Travel Rule и который подтвердил контроль над целевым кошельком подписанным сообщением или тестовым депозитом. Кошелёк, заявленный самостоятельно, подтверждённый только скриншотом, или непроверенный, не получает ничего. См. Отправка перевода.TRP
Didit нативно поддерживает протокол Travel Rule (TRP). Перевод идёт поTRP, когда в нём указан Travel Address контрагента, когда запись в адресной книге целевого кошелька его хранит или когда контрагент находится в справочнике с endpoint TRP, который справочник проверил.
Каждый обмен TRP, который не завершается одним вызовом, требует публичного хоста TRP Didit, на который указывают Travel Address:
- Отправка. Контрагент, который отвечает на ваш запрос сразу, в своём ответе завершает или отклоняет перевод. Контрагент, который отвечает позже, публикует свой ответ на хост TRP Didit, поэтому такой обмен не может завершиться, пока хост не заработает: перевод ожидает ответа и истекает по достижении установленного срока. Didit отправляет запрос один раз и не повторяет его: если хост TRP контрагента недоступен или отклоняет запрос, перевод сразу получает статус
COUNTERPARTY_VASP_NOT_REACHABLE, и вы можете повторить его сaction: "resend". - Приём. Другие VASP обращаются к вам по вашему Travel Address на этом хосте, поэтому ни один контрагент не может отправить вам запрос TRP, пока хост не заработает.
Сетевые каналы
С собственным членством
Подключите собственное членство в консоли, в Marketplace (категория Travel Rule networks). Ваши переводы тогда пойдут под вашей собственной идентификацией в сети, и подключённое членство всегда имеет приоритет над членством Didit.
GTR, TRUST и VerifyVASP также принимают необязательные клиентский сертификат для взаимного TLS, клиентский ключ и пакет сертификатов CA (PEM) для членства, которое использует взаимный TLS или приватный CA.
- Didit отправляет запросы в фоновом режиме и повторяет попытку, если сеть не отвечает или отвечает временной ошибкой (ответ не пришёл вовремя, соединение не установлено, HTTP
408,429или5xx): через 30 секунд, затем через 2, 10, 30 и 60 минут. После шестой неудачной попытки перевод получает статусCOUNTERPARTY_VASP_NOT_REACHABLE. Отказ, например другой ответ4xxили перенаправление, не повторяется: перевод сразу получает статусCOUNTERPARTY_VASP_NOT_REACHABLE. - Перевод, ответ на который так и не пришёл, остаётся в статусе
AWAITING_COUNTERPARTYдо тех пор, пока не пройдётconfirmation_timeout_hours. Затем он истекает и к нему применяется вашtimeout_outcome. - Приём переводов, которые другой VASP отправляет вам через GTR, VerifyVASP или Sygna Bridge, пока не включён: Didit включает его отдельно для каждой сети, и до этого такие сети не могут доставить вам перевод.
- Сохранение членства возвращает
400, если код участника совпадает с кодом Didit в этой сети или с кодом, который уже занят другим приложением. - Сетевые запросы передают ваши учётные данные только на собственный хост сети и никогда не следуют перенаправлениям. Пакет данных TRUST отправляется получателю без вашего API-ключа, ID участника и клиентского сертификата.
Через членство Didit
Когда у Didit есть членство в сети, клиент без собственного членства может подключиться к сети как собственный участник на членстве Didit, с кодом участника, который выдаёт ему сеть: исходящие сообщения содержат ваш код, а не код Didit. Это предлагается только для GTR и Sygna Bridge. TRUST принимает участников по одному VASP, а VerifyVASP Enclave обслуживает один VASP, поэтому для этих двух сетей доступно только ваше собственное членство. Подключение занимает три шага: ответить на анкету Didit для проверки благонадёжности сети, дождаться одобрения со стороны Didit и затем подать запрос на подключение к сети. Didit регистрирует вас в сети, и ваш участник становится активным, когда сеть выдаёт ему код. Этот процесс пока не открыт. Пока это так, сохранение или отправка анкеты и запрос сети возвращают403 с code: travel_rule_platform_networks_disabled, а GET /v3/travel-rule/networks/ показывает platform_networks_enabled: false.
Просмотр статуса вашего приложения
GET /v3/travel-rule/settings/ и GET /v3/travel-rule/networks/ возвращают networks с ключами gtr, trust, verifyvasp и sygna. Каждая запись показывает, что сеть может делать для вашего приложения сейчас:
mode сводит состояние к одному из значений: own, didit, off или unavailable. Сначала проверяется ваше собственное членство, затем disabled_networks, затем членство Didit. Сейчас сеть получает статус own_membership, как только вы подключаете собственное членство. В остальных случаях GTR и Sygna Bridge получают didit_onboarding (unavailable с sandbox_application для песочницы), а TRUST и VerifyVASP получают unavailable с own_membership_only, в том числе в песочнице.
Приложение в песочнице никогда не отправляет через сеть, даже при подключённом собственном членстве и статусе own_membership: его переводы уходят в Didit Test VASP.
connected означает, что сохранённое членство прошло локальную проверку, а не что обмен с сетью состоялся. Первый реальный обмен подтверждает это уже на стороне сети.
Что меняется, когда сеть переходит в прод
Эта страница, статусnetworks и все маршруты каталога меняются одновременно. Ваша интеграция не меняется: перевод начинает проходить через сеть, как только у вашего приложения появляется членство в ней, в порядке маршрутов, описанном в разделе Как Didit маршрутизирует обмен.
Чтобы запросить сеть, до которой Didit пока не может подключиться, используйте плитку Запросить доступ в Marketplace. У каждого запроса есть статус (Открыт, Связались, В процессе, В продакшне или Отклонён) и последняя заметка от Didit. Когда Didit меняет статус или заметку, он отправляет письмо участнику команды, который сделал запрос, пока тот состоит в вашей организации. Запрос, созданный с помощью API-ключа, не сопровождается письмом, поэтому отслеживайте его в Marketplace.
Следующие шаги
Travel Rule
Жизненный цикл обмена, настройки, каналы и API /v3/.
Тестирование в песочнице
Проверьте каждый результат на Didit Test VASP перед выходом в прод.
Интероперабельность
Эндпоинты, которые VASP-контрагенты используют, чтобы связаться с вами.
Справочник
Найдите VASP и маршруты, которые ваше приложение может использовать для него.