Коды ошибок

В этой статье описаны ошибки, которые могут произойти при отправке сообщений или получении статусов сообщений.

Список ошибок может быть расширен. Учитывайте это при настройке интеграции.

Коды ошибок при отправке сообщений

Коды ошибок после вызова метода api/cascade/schedule.

КодОшибкаОписание
400requestId-is-not-uniqueТакой идентификатор запроса уже использовался. Используйте новый идентификатор для каждого запроса.
400content-not-specifiedНе указан тип контента и его свойства. Например, smsContent, viberContent или whatsappContent.
400contentType-not-specifiedНе указан тип контента. Например, text или image.
400text-not-specifiedНе заполнено текстовое поле.
400caption-not-specifiedНе заполнено текстовое поле подписи.
400action-not-specifiedНе указано действие для кнопки.
400attachmentName-not-specifiedНе указано имя прикрепляемого документа.
400attachmentName-is-too-longИмя прикрепляемого документа слишком длинное.
Максимальная длина — 70 символов.
400latitude-not-specifiedНе задана широта при указании координат.
400longitude-not-specifiedНе задана долгота при указании координат.
400cascade-not-foundУказан неверный идентификатор каскада. Запросите список всех каскадов вашего аккаунта и проверьте корректность указанного вами идентификатора.
400request-doesn’t-contain-content-for-all-cascade-stagesКаскад содержит много каналов. Добавьте еще один канал в объект content запроса.
400matched-template-not-foundСхема тела запроса не соответствует схеме шаблона. Проверьте взаимное расположение и наличие всех свойств запроса.
400cascade-scheduling-request-is-not-validПереданный контент для каскада не соответствует настройкам каскада. Программа edna Pulse выполняет дополнительную проверку каскада при поступлении запроса на отправку сообщения методом cascade/schedule.
Если поступивший запрос не соответствует параметрам каскада, возвращается ошибка с пояснениями в поле detail. Прочитайте пояснения, чтобы выявить и устранить несоответствие или отправьте запрос в службу технической поддержки support@edna.ru.
Примеры ошибок с пояснениями смотрите в разделе.
400template-parameter-is-not-validДлина значений параметров listPicker.sections.items.title или listPicker.sections.items.subtitle превышает 24 символа с учетом пробелов.
400out-of-balanceНедостаточно средств на балансе.
400button-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.
401auth-errorОшибка авторизации. Проверьте правильность написания и срок действия ключа API.
404not-foundЗапрошенный URL-адрес не найден. Проверьте корректность указанного вами адреса.
405method-not-allowedМетод HTTP-запроса не разрешен. Используйте POST, GET и другие запросы согласно документации.
500system-errorОшибка сервера. Отправьте запрос в службу технической поддержки support@edna.ru. Ошибка может возникать при некорректном запросе. Проверьте взаимное расположение, наличие и заполненность всех свойств запроса согласно документации.

Примеры ошибок при проверке каскада

Пример 1. В объекте content есть параметры канала, которого нет в каскаде

В запросе ниже ошибку вызывает параметр smscontent, так как каскад с cascadeId = 31634 включает в себя только каналы Viber и WhatsApp.

curl --location 'http://app.edna.ru/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.ru/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.ru/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Не удалось доставить сообщение получателю. Для получателя достигнут лимит доставки маркетинговых сообщений*. Попробуйте отправить сообщение позже.

* Деятельность компании Meta запрещена на территории Российской Федерации.