Облачный API создан на основе Graph API. Если вы не знаете, как обрабатывать ответы на ошибки в Graph API, ознакомьтесь с соответствующей документацией.
Обычно мы рекомендуем вам выстраивать логику обработки ошибок приложением вокруг значений code
и свойств полезных данных details
. Эти свойства и их значения более явно указывают на основную ошибку.
Заголовки кодов, которые не имеют выделенного свойства в полезной нагрузке ответа на ошибку API, указываются как часть значения message
. Однако мы рекомендуем не полагаться на заголовки при обработке ошибок, поскольку со временем они будут упразднены.
Ошибки облачного API возвращаются либо синхронно в виде ответа Graph API, либо асинхронно через Webhooks, а иногда и обоими способами.
При работе с облачным API для обработки ошибок рекомендуется отслеживать как ответ Graph API, так и Webhooks messages
. Если вы подписаны на поле Webhooks messages
, для поддерживаемых асинхронных типов ошибок вы будете получать уведомления по мере возникновения ошибок.
Ошибки облачного API могут передаваться в перечисленных ниже объектах Webhooks.
Облачный API
entry.changes.value.errors
entry.changes.value.messages.errors
Локальный API
errors
Синтаксис ответа с сообщением об ошибке
{ "error": { "message": "<MESSAGE>", "type": "<TYPE>", "code": <CODE>, "error_data": { "messaging_product": "whatsapp", "details": "<DETAILS>" }, "error_subcode": <ERROR_SUBCODE> "fbtrace_id": "<FBTRACE_ID>" } }
Свойство | Тип значения | Описание |
---|---|---|
| Целое число | Код ошибки. Мы рекомендуем вам выстраивать логику обработки ошибок своего приложения вокруг кодов ошибок, а не подкодов или кодов статуса ответа HTTP. |
| Строка | Описание ошибки и наиболее вероятной причины ее появления. Также может содержать информацию о том, как устранить эту ошибку, например какой параметр недействителен или какие значения являются приемлемыми. |
| Целое число | Больше не используется. Не будет возвращаться в ответах в версии 16.0 и более поздних. Подкод Graph API. Не все ответы содержат подкод, поэтому мы рекомендуем выстраивать логику обработки ошибок вокруг свойств и |
| Строка | ID трассировки, который вы можете указать при обращении в прямую поддержку. Этот ID может помочь нам устранить возникшую ошибку. |
| Строка | Комбинация кода ошибки и его заголовка. Пример: |
| Строка | Продукт для обмена сообщениями. Это всегда будет строка |
| Строка | Тип ошибки. |
{ "error": { "message": "(#130429) Rate limit hit", "type": "OAuthException", "code": 130429, "error_data": { "messaging_product": "whatsapp", "details": "Message failed to send because there were too many messages sent from this phone number in a short period of time" }, "error_subcode": 2494055, "fbtrace_id": "Az8or2yhqkZfEZ-_4Qn_Bam" } }
Код | Описание | Возможные решения | Код статуса HTTP |
---|---|---|---|
Ошибка авторизации | Нам не удалось аутентифицировать пользователя приложения. | Часто это означает, что срок действия указанного маркера доступа истек или этот маркер стал недействительным, либо пользователь изменил настройку, чтобы запретить всем приложениям доступ к своим данным. Мы рекомендуем вам получить новый маркер доступа. |
Не выполнена авторизация |
Метод API | Проблема с возможностями или разрешениями. | Чтобы убедиться, что вашему приложению предоставлены разрешения, которые запрашиваются конечной точкой, используйте отладчик маркера доступа. См. раздел Устранение неполадок. |
Внутренняя ошибка сервера |
Разрешение отменено | Разрешение не предоставлено или отозвано. | Используйте отладчик маркера доступа, чтобы убедиться, что вашему приложению предоставлены разрешения, которые запрашиваются конечной точкой. См. раздел Устранение неполадок. Убедитесь, что номер телефона, используемый для настройки открытого ключа компании, занесен в список разрешений. |
Запрещено |
Истек срок действия маркера доступа | Срок действия вашего маркера доступа истек. |
Не пройдена авторизация | |
Разрешение для API | Разрешение не предоставлено или отозвано. | Используйте отладчик маркера доступа, чтобы убедиться, что вашему приложению предоставлены разрешения, которые запрашиваются конечной точкой. См. раздел Устранение неполадок. |
Запрещено |
Код | Описание | Возможные решения | Код статуса HTTP |
---|---|---|---|
Слишком много вызовов API | Приложение достигло ограничения количества вызовов API. | Загрузите приложение на панели приложений и см. статью Ограничение числа обращений на уровне приложения, чтобы проверить, достигло ли приложение установленного для него ограничения количества вызовов. Если ограничение достигнуто, повторите попытку позже или уменьшите частоту или количество запросов API, выполняемых приложением. |
Неправильный запрос |
Проблемы с ограничением числа обращений | Аккаунт WhatsApp Business достиг установленного для него ограничения числа обращений. | См. Ограничения числа обращений для аккаунта WhatsApp Business. Повторите попытку позже или уменьшите частоту или количество запросов API, выполняемых приложением. |
Неправильный запрос |
Достигнут лимит обращений | Облачный API достиг максимальной пропускной способности для сообщений. | Приложение достигло ограничения пропускной способности для API. См. статью Пропускная способность. Повторите попытку позже или уменьшите частоту отправки сообщений приложением. |
Неправильный запрос |
Достигнут лимит сообщений, помеченных как спам | Не удалось отправить сообщение: на количество сообщений, отправляемых с этого номера телефона, установлены ограничения. Это может быть связано с тем, что слишком много предыдущих сообщений было заблокировано или помечено как спам. | Проверьте свой статус качества в WhatsApp Manager и ознакомьтесь с документом Показатель качества и ограничения на количество обращений для получения дополнительной информации. |
Неправильный запрос |
Достигнут лимит обращений для пары (бизнес-аккаунт, аккаунт потребителя) | Слишком много сообщений отправлено с номера телефона отправителя на один и тот же номер получателя за короткое время. | Подождите некоторое время и повторите эту операцию, если вы намереваетесь отправить сообщения на тот же самый номер телефона. При этом вы можете отправлять сообщения на другой номер без ожидания. |
Неправильный запрос |
Превышено ограничение на количество регистраций и отмены регистраций аккаунтов | Сбой регистрации или отмены регистрации, поскольку для этого номера телефона в течение короткого периода времени было предпринято слишком много попыток. | Номер телефона компании блокируется, потому что для него достигнуто предельное количество попыток регистрации или отмены регистрации. Повторите попытку после разблокировки номера. См. раздел "Ограничения" в документе Регистрация. |
Неправильный запрос |
Код | Описание | Возможные решения | Код статуса HTTP |
---|---|---|---|
Временно заблокировано из-за нарушений политик | Аккаунт WhatsApp Business, связанный с приложением, заблокирован или деактивирован из-за нарушения политики платформы. | Информацию о нарушениях политики и способах их устранения см. в документе Соблюдение политики. |
Запрещено |
Бизнес-аккаунту запрещено отправлять сообщения пользователям из этой страны. | Аккаунту WhatsApp Business запрещено отправлять сообщения пользователям в определенных странах. | Сведения о странах, в которые можно отправлять сообщения для вашей категории компании, см. в Политике обмена сообщениями WhatsApp Business. |
Запрещено |
Аккаунт заблокирован | Аккаунт WhatsApp Business, связанный с приложением, заблокирован или деактивирован из-за нарушения политики платформы, либо нам не удалось проверить данные в запросе и сравнить их с набором данных в аккаунте WhatsApp Business (например, в запросе указан неверный PIN-код двухшаговой проверки). | Информацию о нарушениях политики и способах их устранения см. в документе Соблюдение политики. Вы также можете использовать Health Status API, который может предоставить дополнительные аналитические сведения о причинах блокировки аккаунта. |
Запрещено |
Код | Описание | Возможные решения | Код статуса HTTP |
---|---|---|---|
API неизвестен | Недопустимый запрос или ошибка сервера. | Чтобы посмотреть информацию о статусе API, перейдите на страницу статуса платформы WhatsApp Business. Если перебои в работе сервера отсутствуют, ознакомьтесь со справкой по конечной точке и убедитесь, что запрос имеет правильный формат и соответствует всем требованиям конечной точки. |
Неправильный запрос |
Служба API | Временно недоступна из-за вынужденной остановки или чрезмерной нагрузки. | Перед повторной попыткой проверьте информацию о статусе API на странице статуса платформы WhatsApp Business. |
Служба недоступна |
Недействительное значение параметра | Номер телефона компании удален. | Убедитесь, что номер телефона компании указан правильно. |
Неправильный запрос |
Недействительный параметр | Запрос содержит один или несколько неподдерживаемых или неправильно написанных параметров. | Чтобы определить, какие параметры поддерживаются и каким должно быть их написание, обратитесь к справке по конечной точке. Убедитесь, что используется действительный открытый 2048-битный ключ в формате PEM. Проверьте, совпадают ли ID регистрируемого номера телефона и ID номера телефона, сохраненного ранее. Ваш параметр не должен превышать ограничение по длине для этого типа. |
Неправильный запрос |
Номер пользователя участвует в эксперименте | Сообщение не было отправлено в рамках эксперимента. | См. информацию об отправке маркетинговых сообщений в рамках эксперимента. |
Неправильный запрос |
Произошла ошибка | Не удалось отправить сообщение из-за неизвестной ошибки. При настройке открытого ключа компании не удалось вычислить подпись или вызвать конечную точку GraphQL, либо конечная точка GraphQL вернула ошибку. | Попробуйте ещё раз. Если устранить ошибку не удается, оформите запрос в прямой поддержке. |
Внутренняя ошибка сервера |
Доступ запрещен | Разрешение не предоставлено или отменено. | Используйте отладчик маркера доступа, чтобы убедиться, что вашему приложению предоставлены разрешения, которые запрашиваются конечной точкой. См. раздел Устранение неполадок. |
Запрещено |
Не указан обязательный параметр | В запросе отсутствует обязательный параметр. | См. справку конечной точки, чтобы определить, какие параметры необходимы. |
Неправильный запрос |
Недействительное значение параметра | Одно или несколько значений параметров недействительны. | Чтобы определить, какие значения поддерживаются для каждого параметра, см. справку по конечной точке. Чтобы узнать, как добавить номер телефона в аккаунт WhatsApp Business, см. статью Номера телефонов. |
Неправильный запрос |
Служба недоступна | Служба временно недоступна. | Перед повторной попыткой проверьте информацию о статусе API на странице статуса платформы WhatsApp Business. |
Внутренняя ошибка сервера |
Получатель не может быть отправителем | Номера телефонов отправителя и получателя совпадают. | Сообщения можно отправлять только на номера, не совпадающие с номером отправителя. |
Неправильный запрос |
Невозможно доставить сообщение | Невозможно доставить сообщение. Возможные причины:
| Свяжитесь с пользователем вне WhatsApp и попросите его:
|
Неправильный запрос |
Соответствие компании правилам: проблема с платежами | Возникла ошибка, связанная с вашим способом оплаты. | См. статью О биллинге для аккаунта WhatsApp Business и убедитесь, что биллинг настроен правильно. Распространенные проблемы:
|
Неправильный запрос |
Неверный сертификат | Не удалось отправить сообщение из-за ошибки регистрации номера телефона. | Перед повторной попыткой зарегистрируйте номер телефона. |
Внутренняя ошибка сервера |
Сообщение для повторного вовлечения клиента | Более 24 часов прошло с того момента, как получатель в последний раз отправил сообщение на номер отправителя. | Вместо этого отправьте получателю сообщение от имени компании, используя шаблон сообщения. |
Неправильный запрос |
В Meta принято решение не доставлять. | Это сообщение не было доставлено, чтобы поддержать здоровое взаимодействие экосистем. | Если вы получили этот код ошибки и подозреваете, что она вызвана ограничением, не повторяйте попытку сразу же. Выполняйте повторные попытки с увеличивающимся интервалом до тех пор, пока сообщение не будет доставлено. Учтите, что ограничения могут действовать в течение разных периодов времени. Дополнительную информацию см. в статье Ограничения количества сообщений с шаблоном типа "Маркетинг" на пользователя. |
Неправильный запрос |
Неподдерживаемый тип сообщения | Тип сообщения не поддерживается. | Перед повторной отправкой сообщения поддерживаемого типа см. статью Сообщения, чтобы узнать, какие типы сообщений поддерживаются. |
Неправильный запрос |
Ошибка скачивания медиафайла | Не удается скачать отправленный пользователем медиафайл. | Нам не удалось скачать медиафайл из сообщения WhatsApp пользователя. Дополнительную информацию см. в значении Попросите пользователя WhatsApp отправить вам медиафайл другим способом, не через WhatsApp. |
Неправильный запрос |
Ошибка загрузки медиафайла | Не удается загрузить используемый в сообщении медиафайл. | Не удалось загрузить медиафайл по одной или нескольким причинам (например, потому что этот тип файла не поддерживается). Дополнительную информацию см. в значении Рекомендуем проверить все медиафайлы, которые вызывают ошибки, и убедиться, что они действительно поддерживаются. Например, в UNIX можно запустить из командной строки функцию проверки файлов, чтобы определить тип MIME файла:
После этого можно проверить, поддерживается ли этот тип MIME. См. статью Поддерживаемые типы медиафайлов. |
Неправильный запрос |
Аккаунт в режиме обслуживания | Бизнес-аккаунт находится в режиме обслуживания. | Аккаунт WhatsApp Business находится в режиме обслуживания. Одна из возможных причин — в аккаунте идет процесс увеличения производительности. |
Неправильный запрос |
Не совпадает количество параметров в шаблоне | Количество значений переменных параметров, указанных в запросе, не соответствует количеству переменных параметров, определенных в шаблоне. | См. статью Руководство по шаблонам сообщений и убедитесь, что запрос содержит все значения переменных параметров, которые определены в шаблоне. |
Неправильный запрос |
Шаблон отсутствует | Шаблон на указанном языке отсутствует или не был одобрен. | Убедитесь, что ваш шаблон был одобрен и что имя и язык шаблона указаны правильно. Обязательно следуйте руководству по шаблонам сообщений. |
Не найдено |
Слишком длинный заполненный текст шаблона | Переведенный текст слишком длинный. | Воспользуйтесь WhatsApp Manager и проверьте, был ли ваш шаблон переведен. См. статью Оценка качества и статус шаблона. |
Неправильный запрос |
Нарушение правил в отношении символов форматирования в шаблоне | Содержимое шаблона нарушает политику WhatsApp. | См. статью Причины отклонения, чтобы выяснить возможные причины нарушения. |
Неправильный запрос |
Не совпадает формат параметра в шаблоне | Значения переменных параметров имеют неверный формат. | Значения переменных параметров в запросе не указаны в формате, обозначенном в шаблоне. См. статью Рекомендации по использованию шаблонов сообщений. |
Неправильный запрос |
Работа шаблона приостановлена | Работа шаблона приостановлена из-за низкого качества, поэтому его нельзя использовать в сообщении. | Отредактируйте шаблон, чтобы повысить его качество, и повторите попытку после одобрения. |
Неправильный запрос |
Шаблон отключен | Работа шаблона слишком много раз приостанавливалась из-за низкого качества, поэтому шаблон отключен навсегда. | Создайте новый шаблон с другим содержимым. |
Неправильный запрос |
Процесс заблокирован | Процесс заблокирован. | Исправьте процесс. |
Неправильный запрос |
Процесс регулируется | Процесс регулируется, и за последний час через этот процесс уже было отправлено 10 сообщений. | Исправьте процесс |
Неправильный запрос |
Аннулирование регистрации не завершено | Предыдущая попытка аннулировать регистрацию не удалась. | Аннулируйте регистрацию номера повторно перед регистрацией. |
Внутренняя ошибка сервера |
Сервер временно недоступен | Сервер временно недоступен. | Перед повторной попыткой проверьте информацию о статусе API на странице статуса платформы WhatsApp Business и значение |
Служба недоступна |
Несовпадение PIN-кода двухшаговой проверки | Неверный PIN-код двухшаговой проверки. | Убедитесь, что в запросе указан правильный PIN-код двухшаговой проверки. Чтобы сбросить PIN-код двухшаговой проверки:
|
Неправильный запрос |
Необходимо повторное подтверждение номера телефона | Перед регистрацией номер телефона необходимо подтвердить. | Подтвердить номер телефона перед его регистрацией. |
Неправильный запрос |
Слишком много попыток угадать PIN-код двухшаговой проверки | Для этого номера телефона предпринято слишком много попыток угадать PIN-код двухшаговой проверки. | Повторите попытку спустя время, которое указано для значения |
Неправильный запрос |
PIN-код двухшаговой проверки угадан слишком быстро | PIN-код двухшаговой проверки был введен слишком быстро. | Перед повторной попыткой проверьте значение |
Неправильный запрос |
Номер телефона не зарегистрирован | Номер телефона не зарегистрирован на платформе WhatsApp Business. | Перед повторной попыткой зарегистрируйте номер телефона. |
Неправильный запрос |
Подождите несколько минут, прежде чем пытаться зарегистрировать этот номер телефона | Номер телефона, который вы пытаетесь зарегистрировать, был недавно удален, и процесс удаления ещё не завершен. | Подождите 5 минут, прежде чем отправлять повторный запрос. |
Неправильный запрос |
Общая ошибка пользователя | Не удалось отправить сообщение из-за неизвестной ошибки с вашими параметрами запроса. | См. справку конечной точки, чтобы определить, запрашиваете ли вы конечную точку с использованием правильного синтаксиса. Обратитесь в службу поддержки клиентов, если вы по-прежнему получаете этот код ошибки в ответе. |
Неправильный запрос |