Receiving Events
account.auth.failed
An authentication attempt failed.
События сбоя аккаунта
Некоторые события WhatsApp account.auth.failed содержат необязательный объект data.error с непустыми строками code, numeric_code и message. Читайте их внутри события, отдельно от HTTP-ошибок.
В старых событиях и других сценариях data.error может отсутствовать. Сохраните совместимость с last_error; неизвестные и отсутствующие коды обрабатывайте прежним способом. В списке и деталях аккаунтов этот объект не появляется. Классификация не доказывает постоянную блокировку и не задаёт срок восстановления.
После безопасного принятия события верните 2xx для подтверждения доставки. Сбой аккаунта и сбой HTTP-доставки — разные ситуации: не отклоняйте webhook из-за состояния аккаунта. Правила повторной доставки и воспроизведения остаются прежними; старые события не дополняются.
account_auth_failed20100Авторизация аккаунта не удалась, точная причина неизвестна. Используйте прежний процесс обработки, не предполагая ограничение или выход из аккаунта.
Действия и повторы: Проверьте текущий процесс авторизации и необходимость действий пользователя. Не начинайте новую авторизацию только из-за этого сбоя и не отправляйте действия в истёкшую или завершённую сессию.
Пример JSON; message зависит от фактической причины
{ "id": "<EVENT_ID>", "type": "account.auth.failed", "provider": "whatsapp", "account_id": "<ACCOUNT_ID>", "occurred_at": "2026-10-16T00:00:00Z", "data": { "auth_status": "failed", "runtime_status": "disconnected", "event": { "kind": "account_auth_status", "auth_status": "failed", "runtime_status": "disconnected" }, "error": { "code": "account_auth_failed", "numeric_code": "20100", "message": "Account authentication failed. The specific cause could not be determined." } } }account_logged_out20101Текущая сессия аккаунта недействительна. Попросите пользователя пройти авторизацию заново поддерживаемым способом канала.
Действия и повторы: Попросите пользователя заново авторизоваться поддерживаемым способом канала. Затем проверьте runtime и готовность соединения перед возобновлением зависимых операций.
Пример JSON; message зависит от фактической причины
{ "id": "<EVENT_ID>", "type": "account.auth.failed", "provider": "whatsapp", "account_id": "<ACCOUNT_ID>", "occurred_at": "2026-10-16T00:00:00Z", "data": { "auth_status": "failed", "runtime_status": "disconnected", "event": { "kind": "account_auth_status", "auth_status": "failed", "runtime_status": "disconnected" }, "error": { "code": "account_logged_out", "numeric_code": "20101", "message": "The account session is no longer valid. Reauthorization is required." } } }account_restricted20102Событие WhatsApp account.auth.failed указывает текущее ограничение входа через data.error.code=account_restricted и numeric_code=20102. Это не доказывает постоянную блокировку и не задаёт срок восстановления.
Действия и повторы: Остановите автоматическую отправку и повторы. Попросите пользователя проверить и устранить ограничение в официальном приложении WhatsApp. Возобновляйте работу после устранения и необходимой повторной авторизации. Прежний running не доказывает снятие ограничения.
Пример JSON; message зависит от фактической причины
{ "id": "<EVENT_ID>", "type": "account.auth.failed", "provider": "whatsapp", "account_id": "<ACCOUNT_ID>", "occurred_at": "2026-10-16T00:00:00Z", "data": { "auth_status": "failed", "runtime_status": "disconnected", "event": { "kind": "account_auth_status", "auth_status": "failed", "runtime_status": "disconnected" }, "error": { "code": "account_restricted", "numeric_code": "20102", "message": "Account login is restricted. Check the official WhatsApp app for details." } } }
Event payload
{
"id": "evt_auth_5e6f7a8b9c",
"type": "account.auth.failed",
"provider": "whatsapp",
"account_id": "acc_8c21d0",
"occurred_at": "2026-06-08T13:25:00Z",
"data": {
"auth_status": "failed",
"runtime_status": "disconnected",
"last_error": "logged_out_from_another_device",
"event": {
"kind": "account_auth_status",
"auth_status": "failed"
}
}
}Примечания
- В старых событиях и других сценариях data.error может отсутствовать. Сохраните совместимость с last_error; неизвестные и отсутствующие коды обрабатывайте прежним способом. В списке и деталях аккаунтов этот объект не появляется. Классификация не доказывает постоянную блокировку и не задаёт срок восстановления.