Перейти к основному содержанию
POST
curl
Каждый вызов доставляет webhook повторно. Сделайте endpoint идемпотентным по event_id перед массовой повторной отправкой и повторно отправляйте только те доставки, у которых response_status равен null или 400 и выше.
Повторная отправка уходит на URL, который использовала исходная доставка. Если вы перенесли адрес назначения на новый URL, старые доставки по-прежнему указывают на прежний. Найти доставки для повторной отправки можно с помощью List Webhook Destination Deliveries, а о проверке подписи читайте в руководстве по webhook.

Авторизации

x-api-key
string
header
обязательно

API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в Business Console. Основной ключ имеет полный доступ. Именованный ключ может иметь ограниченную область действия: без доступа, чтение или запись для каждого ресурса, ограничение определенными сценариями или одобренными сессиями, списком IP-адресов и сроком действия. 401 означает, что ключ неверен, отозван или его срок действия истек; 403 означает, что ключ не был передан, у ключа нет доступа к этому ресурсу или действию, либо запрос поступил с адреса вне его списка IP-адресов; 404 на маршруте сессии означает, что сессия не входит в сценарии или статусы ключа. Ключ без доступа к медиа получает URL изображений, видео и PDF как null, а ключ без прав на запись сессий получает ссылки на сессии и токены как null. См. https://docs.didit.me/console/api-keys.

Параметры пути

destination_uuid
string<uuid>
обязательно

UUID адреса назначения webhook, на который была отправлена доставка.

delivery_uuid
string<uuid>
обязательно

UUID доставки для повторной отправки: uuid записи, возвращаемой методом GET /v3/webhook/destinations/{destination_uuid}/deliveries/.

Ответ

Новая доставка, попытка которой уже была совершена. Поле response_status содержит то, что ваш endpoint вернул на этот раз (504 тайм-аут, 503 сбой подключения). Исходная доставка остаётся без изменений.

Одна попытка доставки на адрес назначения webhook с точными заголовками и телом запроса, отправленными Didit.

uuid
string<uuid>
обязательно

ID доставки для запросов сведений и повторной отправки.

session_id
string<uuid> | null
обязательно

Сессия проверки пользователей, к которой относится событие. null для событий бизнес-сессий, пользователей, компаний, транзакций, Travel Rule и сценариев.

request_url
string<uri> | null
обязательно

URL, на который была отправлена доставка: URL адреса назначения на момент генерации события.

response_status
integer | null
обязательно

HTTP-статус, возвращённый вашим endpoint. null, пока доставка находится в очереди и попытка ещё не совершена. Если HTTP-ответ не был получен, Didit фиксирует собственный статус: 504, если ваш endpoint не ответил в течение 5 секунд, 503 при ошибке подключения, 400, если URL был отклонён как небезопасный (например, приватный или внутренний адрес), и 404 при любой другой ошибке запроса. Статус 400 или выше считается неудачной доставкой.

response_time_ms
integer | null
обязательно

Время, затраченное на попытку, в миллисекундах. null, пока доставка находится в очереди.

Требуемый диапазон: x >= 0
status
string | null
обязательно

Статус, о котором сообщило событие при создании: статус сессии для событий сессии (например, Approved или In Review), статус физического лица или компании для событий пользователей и компаний, а также статус транзакции для событий транзакций. Значение null для событий без статуса.

webhook_type
enum<string>
обязательно

Поддерживаемое имя события webhook. Используйте именно эти строки в subscribed_events; неподдерживаемые значения отклоняются.

Доступные опции:
status.updated,
data.updated,
user.status.updated,
user.data.updated,
business.status.updated,
business.data.updated,
activity.created,
transaction.created,
transaction.status.updated,
travel_rule.status.updated,
workflow.compliance_changed,
transaction_rule_suggestions.created,
auth.signup,
auth.login,
auth.login_failed,
auth.password_reset_requested,
auth.password_reset_completed,
auth.mfa_changed,
auth.new_device,
auth.account_locked,
investigator.report.ready,
investigator.decision.automated,
investigator.decision.overridden,
investigator.decision.contested,
investigator.question.raised,
investigator.automation.paused,
investigator.rfi.answered,
investigator.rfi.overdue,
investigator.drift.detected,
investigator.sla.breached,
investigator.qa.failed,
investigator.external.report.ready
created_at
string<date-time>
обязательно

Когда была создана доставка.

request_header
string
обязательно

JSON-текст (строка) заголовков запроса, отправленных Didit: Content-Type, X-Signature, X-Signature-V2, X-Signature-Simple, X-Timestamp и User-Agent. Разберите его с помощью JSON-парсера. Он содержит подписи и никогда не содержит секрет подписи.

request_body
string
обязательно

JSON-текст (строка) точного payload, отправленного Didit, с отсортированными ключами, включая event_id и timestamp. Разберите его с помощью JSON-парсера; см. Формат payload. Для ключа с ограниченной областью действия без media: read URL-адреса медиафайлов внутри него имеют значение null; без sessions: write токены сессий и ссылки на размещённую страницу верификации имеют значение null. После такого изменения тела подписи больше ему не соответствуют. Didit не сохраняет тело ответа, возвращённое вашим endpoint.

Последнее изменение 7 ноября 2026 г.