Тема
События
Полный список событий, которые мы шлём в callback'ах.
Сводная таблица
| Event | Когда | is_depositor | Terminal? |
|---|---|---|---|
lead.accepted | Лид принят и распределён, сразу после POST /v1/inbound/leads. | false | нет |
lead.rejected | Лид не прошёл бизнес-правила (страна, ip-блок и т.п.). | false | да |
lead.status_changed | Любая смена статуса (кроме перехода в ftd / rtd). | varies | нет |
lead.ftd | Зафиксирован первый депозит, лид стал клиентом. | true | нет |
lead.rtd | Повторный депозит. | true | нет |
lead.accepted
Самое первое событие. Прилетает сразу после успешного inbound'а.
json
{
"event": "lead.accepted",
"external_lead_id": "aff42-lead-001",
"internal_id": "le-12345",
"status": "new",
"our_status": "new",
"is_depositor": false,
"timestamp": "2026-05-27T14:00:00+00:00"
}lead.rejected
Лид не прошёл бизнес-правила. Это финальное событие — больше callback'ов не будет.
json
{
"event": "lead.rejected",
"external_lead_id": "aff42-lead-002",
"internal_id": "le-12346",
"status": "rejected",
"our_status": "rejected",
"is_depositor": false,
"timestamp": "2026-05-27T14:00:01+00:00",
"reason": "country_blocked:US"
}Где видны validation_error и duplicate
Эти результаты возвращаются в самом ответе на POST /v1/inbound/leads (как HTTP 422 / 409), без отдельного callback'а. То есть rejected в callback'е — это не валидация, а post-validation бизнес-правило.
lead.status_changed
Любая смена статуса (кроме ftd / rtd — те имеют свои события).
json
{
"event": "lead.status_changed",
"external_lead_id": "aff42-lead-001",
"internal_id": "le-12345",
"status": "contacted", // ← после mapping'а
"our_status": "contacted", // ← наш канонический
"is_depositor": false,
"timestamp": "2026-05-27T14:05:00+00:00",
"from_status": "new" // ← опционально
}lead.ftd
Зафиксирован первый депозит, лид стал клиентом. Это поворотный момент — после него is_depositor: true.
json
{
"event": "lead.ftd",
"external_lead_id": "aff42-lead-001",
"internal_id": "le-12345",
"status": "won",
"our_status": "ftd",
"is_depositor": true,
"timestamp": "2026-05-27T15:30:00+00:00"
}Никаких сумм
Поля amount, currency, ftd_amount, deposit_amount в этом payload никогда не будут. Только факт.
lead.rtd
Повторный депозит. Прилетает каждый раз, когда клиент пополняет баланс.
json
{
"event": "lead.rtd",
"external_lead_id": "aff42-lead-001",
"internal_id": "le-12345",
"status": "won",
"our_status": "rtd",
"is_depositor": true,
"timestamp": "2026-05-30T11:00:00+00:00"
}Whitelist
Если в callback_events для вашего партнёра указан список — мы пришлём только эти события. Пустой список = «всё».
Пример «нужны только FTD/RTD»:
json
{
"callback_events": ["lead.ftd", "lead.rtd"]
}Так делают партнёры, которым нужно только confirm-конверсии для billing'а, а промежуточные статусы не интересуют.