В этой статье описаны ошибки, которые могут произойти при отправке сообщений или получении статусов сообщений.
Коды ошибок при отправке сообщений
Коды ошибок после вызова метода 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 | Недостаточно средств на балансе. |
400 | button-validation-error | Ошибка валидации шаблона WhatsApp с кнопками. Возникает, если в шаблоне WhatsApp превышено максимально допустимое количество кнопок. Возможные комментарии: • Too many buttons, maximum is 10Слишком много кнопок. Максимальное количество — 10. • Too many URL buttons, maximum is 2Слишком много кнопок-ссылок. Максимальное количество — 2. • Too many PHONE buttons, maximum is 1Слишком много кнопок-звонков. Максимальное количество — 1. • Payload is too long, maximum is 128Превышена длина поля кода кнопки быстрого ответа payload, максимальное количество символов — 128. |
401 | auth-error | Ошибка авторизации. Проверьте правильность написания и срок действия ключа API. |
404 | not-found | Запрошенный URL-адрес не найден. Проверьте корректность указанного вами адреса. |
405 | method-not-allowed | Метод HTTP-запроса не разрешен. Используйте POST, GET и другие запросы согласно документации. |
500 | system-error | Ошибка сервера. Отправьте запрос в службу технической поддержки support@edna.ru. Ошибка может возникать при некорректном запросе. Проверьте взаимное расположение, наличие и заполненность всех свойств запроса согласно документации. |
Примеры ошибок при проверке каскада
content есть параметры канала, которого нет в каскаде
В запросе ниже ошибку вызывает параметр smscontent, так как каскад с cascadeId = 31634 включает в себя только каналы Viber и WhatsApp.
curl --location 'http://app.edna.io/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]"
} content нет параметров канала, который есть в каскаде
В запросе ниже передается только параметр viberContent, хотя каскад с cascadeId = 31634 включает в себя каналы Viber и WhAtsapp.
curl --location 'http://app.edna.io/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]"
} content нет параметров канала, которого нет в каскаде, и нет параметров канала, который есть в каскаде
В запросе ниже передаются параметр viberContent и smsContent, хотя каскад с cascadeId = 31634 включает в себя каналы Viber и WhatsApp.
curl --location 'http://app.edna.io/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 | Не удалось доставить сообщение получателю. Для получателя достигнут лимит доставки маркетинговых сообщений*. Попробуйте отправить сообщение позже. |