MelioraAPI EN
Ранний доступ. Ключи выдаются по запросу. Как получить ключ

Статусы лида и доставки

У лида четыре поля состояния. status говорит, где лид в кампании; delivery_state и automation_state говорят, что происходит с отправкой; reason объясняет, почему цепочка ждет.

#Как читать состояния

  • status: итог участия лида в кампании. Меняется редко: написали, ответил, отписался.
  • delivery_state: судьба ближайшего неотправленного сообщения цепочки, а если его нет, последнего отправленного.
  • automation_state: идет ли цепочка для этого лида.
  • reason: почему цепочка ждет и когда ожидается следующая попытка, если это известно.

Если данных недостаточно или источники противоречат друг другу, API отдает unknown, а не угадывает значение. Это нормальное состояние, а не ошибка.

#Статус лида

statusЧто означает
newЛид добавлен в кампанию, сообщений еще не было.
contactedПервое сообщение отправлено, ответа пока нет.
completedЦепочка пройдена, ответа нет.
repliedЛид ответил.
blockedПисать этому контакту нельзя или не стали: например, получателя не существует, он не принимает сообщения, ему уже писали или он в стоп-листе.
failedОтправка не удалась.
suspendedРабота с лидом временно приостановлена, например пока отдыхает аккаунт отправителя.
deletedЛид удален из кампании.
opted_outЛид попросил больше не писать.
unknownСтатус не удалось определить.

#Состояние доставки

delivery_stateЧто означаетСейчас
queuedСообщение в очереди на отправку.Приходит
heldОтправка удержана, пока не будет решения в кабинете.Приходит
sentОтправка подтверждена, следующих сообщений не ожидается или они еще не запланированы.Приходит
unknownИсход неизвестен: например, попытка отправки не подтверждена или данных недостаточно.Приходит
waiting_queueСледующее сообщение ожидается, но еще не поставлено в очередь.Пока не приходит
failedОтправка окончательно не удалась, повтор не назначен.Пока не приходит

unknown не означает неудачу. Не отправляйте лиду сообщение повторно своими средствами только потому, что пришел unknown: сообщение могло дойти.

#Состояние цепочки

automation_stateЧто означаетСейчас
runningЦепочка идет: кампания активна, отправка разрешена. Окно отправки, дневная норма и паузы Telegram лишь откладывают следующее сообщение.Приходит
pausedКампания на паузе, еще не запущена или остановилась из-за подписки.Приходит
heldЦепочка удержана, пока не будет решения в кабинете.Приходит
stoppedЦепочка остановлена: лид ответил, отписался, его остановили, либо кампания остановлена или в архиве.Приходит
unknownСостояние не удалось определить.Приходит
completedВсе шаги цепочки выполнены.Пока не приходит

У лидов, для которых сейчас нет запланированного сообщения, например у ответивших или прошедших цепочку, automation_state пока часто приходит как unknown. Итог участия смотрите в status.

#Причина ожидания

Объект reason есть у лида и у кампании:

JSON
{
  "reason_code": "telegram_wait",
  "reason_observed_at": "2026-10-27T08:41:07.000Z",
  "next_attempt_at": "2026-10-27T09:26:00.000Z",
  "requires_customer_action": false
}
reason_codeЧто означаетСейчас
noneЦепочка ничего не ждет.Приходит
daily_limitАккаунт отправителя исчерпал дневную норму.Приходит
queue_pendingСообщение ждет своей очереди на отправку.Приходит
telegram_waitTelegram попросил аккаунт подождать перед следующей отправкой.Приходит
account_unavailableАккаунт отправителя недоступен.Приходит
account_restrictedTelegram ограничил аккаунт отправителя.Приходит
campaign_pausedКампания на паузе или еще не запущена.Приходит
subscription_inactiveПодписка не действует или закончились кредиты.Приходит
manual_holdОтправка удержана до решения в кабинете.Приходит
automation_stoppedЦепочка остановлена.Приходит
unknownПричина неизвестна.Приходит
schedule_windowЖдет окна отправки по расписанию кампании.Пока не приходит
service_unavailableПричину сейчас не удалось прочитать.Пока не приходит
  • next_attempt_at заполнен, только если срок известен. Иначе null.
  • requires_customer_action: true означает, что цепочка не продолжится без действий в кабинете: например, нужно запустить кампанию или продлить подписку.
  • Лимиты API (ответ 429) не влияют на reason: это ограничения ваших запросов, а не отправки сообщений.

#Статус кампании

statusЧто означает
draftЧерновик.
scheduledЗапуск запланирован.
launchingКампания запускается.
activeКампания идет.
pausedНа паузе.
paused_no_creditsНа паузе: закончились кредиты.
stoppedОстановлена.
completedЗавершена.
archivedВ архиве.
failedОшибка запуска или работы.
unknownСтатус не удалось определить.

#Времена

  • first_message_sent_at: когда отправлено первое сообщение. Если отправка не подтверждена, поле равно null, даже при статусе contacted.
  • first_reply_at: когда пришел первый ответ.
  • created_at: когда лид добавлен в кампанию. Не меняется.
  • Все времена приходят по UTC с миллисекундами, например 2026-10-26T07:30:00.000Z.
  • observed_at: когда сервер прочитал данные для этого ответа. Это не время последнего изменения лида.