В этой статье описаны ошибки, которые могут произойти при отправке сообщений или получении статусов сообщений.
Список ошибок может быть расширен. Учитывайте это при настройке интеграции.
Коды ошибок при отправке сообщений
Коды ошибок после вызова метода api/cascade/schedule
.
Код | Ошибка | Описание |
400 | requestId-is-not-unique | Такой идентификатор запроса уже использовался. Используйте новый идентификатор для каждого запроса. |
400 | content-not-specified | Не указан тип контента и его свойства. Например, smsContent , viberContent или whatsappContent . |
400 | contentType-not-specified | Не указан тип контента. Например, text или image . |
400 | text-not-specified | Не заполнено текстовое поле. |
400 | caption-not-specified | Не заполнено текстовое поле подписи. |
400 | action-not-specified | Не указано действие для кнопки. |
400 | attachmentName-not-specified | Не указано имя прикрепляемого документа. |
400 | attachmentName-is-too-long | Имя прикрепляемого документа слишком длинное. Максимальная длина — 70 символов. |
400 | latitude-not-specified | Не задана широта при указании координат. |
400 | longitude-not-specified | Не задана долгота при указании координат. |
400 | cascade-not-found | Указан неверный идентификатор каскада. Запросите список всех каскадов вашего аккаунта и проверьте корректность указанного вами идентификатора. |
400 | request-doesn’t-contain-content-for-all-cascade-stages | Каскад содержит много каналов. Добавьте еще один канал в объект content запроса. |
400 | matched-template-not-found | Схема тела запроса не соответствует схеме шаблона. Проверьте взаимное расположение и наличие всех свойств запроса. |
400 | cascade-scheduling-request-is-not-valid | Переданный контент для каскада не соответствует настройкам каскада. Программа edna Pulse выполняет дополнительную проверку каскада при поступлении запроса на отправку сообщения методом cascade/schedule .Если поступивший запрос не соответствует параметрам каскада, возвращается ошибка с пояснениями в поле detail . Прочитайте пояснения, чтобы выявить и устранить несоответствие или отправьте запрос в службу технической поддержки support@edna.ru.Примеры ошибок с пояснениями смотрите в разделе. |
400 | template-parameter-is-not-valid | Длина значений параметров listPicker.sections.items.title или listPicker.sections.items.subtitle превышает 24 символа с учетом пробелов. |
400 | out-of-balance | Недостаточно средств на балансе. |
401 | auth-error | Ошибка авторизации. Проверьте правильность написания и срок действия ключа API. |
404 | not-found | Запрошенный URL-адрес не найден. Проверьте корректность указанного вами адреса. |
405 | method-not-allowed | Метод HTTP-запроса не разрешен. Используйте POST , GET и другие запросы согласно документации. |
500 | system-error | Ошибка сервера. Отправьте запрос в службу технической поддержки support@edna.ru. Ошибка может возникать при некорректном запросе. Проверьте взаимное расположение, наличие и заполненность всех свойств запроса согласно документации. |
Примеры ошибок при проверке каскада
Пример 1. В объекте
content
есть параметры канала, которого нет в каскаде
В запросе ниже ошибку вызывает параметр smscontent
, так как каскад с cascadeId
= 31634 включает в себя только каналы Viber и WhatsApp.
curl --location 'http://app.edna.by/api/cascade/schedule' \ --header 'Content-Type: application/json' \ --header 'x-api-key: ************' \ --data '{ "requestId": "e62b4736-1278-4119-8816-3f2257eec47c", "cascadeId": 31634, "subscriberFilter": { "address": "+70000000000", "type": "PHONE" }, "content": { "viberContent": { "contentType": "TEXT", "text": "cascade viber --> whatsapp " }, "whatsappContent": { "contentType": "TEXT", "text": "cascade viber --> whatsapp" }, "smsContent": { "contentType": "TEXT", "text": "cascade viber --> whatsapp" } } }'
Ответ:
{ "title": "cascade-scheduling-request-not-valid", "status": 400, "detail": "Cascade scheduling request is not valid. Violations: the cascade template stage was not found for the content [cascadeTemplateId:31,634;contentChannelType:SMS]" }
Пример 2. В объекте
content
нет параметров канала, который есть в каскаде
В запросе ниже передается только параметр viberContent
, хотя каскад с cascadeId
= 31634 включает в себя каналы Viber и WhAtsapp.
curl --location 'http://app.edna.by/api/cascade/schedule' \ --header 'Content-Type: application/json' \ --header 'x-api-key: ****************' \ --data '{ "requestId": "7c42344c-aeea-41c9-834b-eb627136f400", "cascadeId": 31634, "subscriberFilter": { "address": "+70000000999", "type": "PHONE" }, "content": { "viberContent": { "contentType": "TEXT", "text": "cascade viber --> whatsapp. No whatsapp content" } } }'
Ответ:
{ "title": "cascade-scheduling-request-not-valid", "status": 400, "detail": "Cascade scheduling request is not valid. Violations: the content was not found for the cascade template stage [cascadeTemplateId:31,634;stageUuid:6467a97d-c0b5-486b-9f94-733297b668de;channelType:WHATSAPP]" }
Пример 3. В объекте
content
нет параметров канала, которого нет в каскаде, и нет параметров канала, который есть в каскаде
В запросе ниже передаются параметр viberContent
и smsContent
, хотя каскад с cascadeId
= 31634 включает в себя каналы Viber и WhatsApp.
curl --location 'http://app.edna.by/api/cascade/schedule' \ --header 'Content-Type: application/json' \ --header 'x-api-key: **********' \ --data '{ "requestId": "8bcb602f-ce61-4bce-a021-5dc52125a194", "cascadeId": 31634, "subscriberFilter": { "address": "+70000008000", "type": "PHONE" }, "content": { "viberContent": { "contentType": "TEXT", "text": "cascade viber --> whatsapp. No whatsapp content" }, "smsContent": { "contentType": "TEXT", "text": "cascade viber --> whatsapp. No whatsapp content" } } }'
Ответ:
{ "title": "cascade-scheduling-request-not-valid", "status": 400, "detail": "Cascade scheduling request is not valid. Violations: the content was not found for the cascade template stage [cascadeTemplateId:31,634;stageUuid:6467a97d-c0b5-486b-9f94-733297b668de;channelType:WHATSAPP]; the cascade template stage was not found for the content [cascadeTemplateId:31,634;contentChannelType:SMS]" }
Ошибки при получении статусов сообщений
Ошибки при неуспешной доставке сообщений и получении статуса UNDELIVERED
на колбэк получения статусов сообщений. Подробнее про получение статусов сообщений.
Ошибка | Описание |
not-WhatsApp-user | Указанный получатель не зарегистрирован в WhatsApp. |
no-template-match | Сообщение не соответствует допустимому шаблону. |
session-not-started | Сообщение отправляется не в рамках 24-часового диалога и не соответствует допустимому шаблону. |
daily-rate-limit | Превышен суточный лимит WhatsApp на отправку шаблонных сообщений. Только для канала WhatsApp. |
too-long-message | Длина сообщения превышает допустимый лимит. |
chat-window-closed | Ошибка открытия диалогового окна на стороне WhatsApp. |
media-request-failed | Ошибка загрузки файла. |
error-subject-unknown | Указанная подпись не разрешена клиенту. Необходимо предварительно активировать все подписи. |
error-address-format | Неправильный формат номера абонента. |
duplicated | Попытка отправки дубликата сообщения в течение 5 минут. |
message-undeliverable | Не удалось доставить сообщение получателю. Возможные причины: • Номера телефона получателя нет в WhatsApp. • Получатель не принял новые версии пользовательского соглашения и политики конфиденциальности WhatsApp. • Получатель использует старую версию WhatsApp. Используйте WhatsApp версии 2.21.15.15 (Android) или 2.21.170.4 (iOS) и выше. • Отправка авторизационных сообщений получателям с кодом +91 (Индия) недоступна. Полное описание ошибки смотрите в документации Meta. |
spam-rate-limit-hit | Не удалось доставить сообщение получателю, так как многие предыдущие сообщения были заблокированы или отмечены как спам. |
marketing-template-undeliverable | Не удалось доставить сообщение получателю. Для получателя достигнут лимит доставки маркетинговых сообщений. Попробуйте отправить сообщение позже. |