Ошибки при проверке каскада

edna Pulse выполняет дополнительную проверку каскада, когда поступает запрос на отправку сообщения методом cascade/schedule.

Если поступивший запрос не соответствует параметрам каскада, edna Pulse возвращает ошибку cascade-scheduling-request-not-valid с кодом 400 и пояснениями в поле detail. Прочитайте текст в поле detail, чтобы выявить и устранить несоответствие или передайте описание в техническую поддержку edna, чтобы получить помощь.

Формат ответа

{
    "title": "cascade-scheduling-request-not-valid",
    "status": 400,
    "detail": "<Пояснения>"
}

Примеры

Пример 1. Объект 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]"
}

Пример 2. В объекте 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]"
}

Пример 3. Комбинация примеров 1 и 2: объект 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]"
}
In this article