Error Codes

This article describes the errors that may occur when sending messages or receiving message statuses.

The list of errors can be extended. Keep this in mind when setting up the integration.

Message Sending Error Codes

Error codes after calling the schedule method.

CodeErrorDescription
400 requestId-is-not-uniqueThis request ID has already been used. Use a new ID for each request.
400content-not-specifiedThe content type and its properties are not specified. For example, smsContent, viberContent или whatsappContent.
400contentType-not-specifiedThe content type is not specified. For example, text или image.
400text-not-specifiedThe text field is not filled in.
400caption-not-specifiedThe signature text field is not filled in.
400action-not-specifiedThe action for the button is not specified.
400attachmentName-not-specifiedThe attached document name is not specified.
400attachmentName-is-too-longThe attached document name is too long. The maximum length is 70 characters.
400latitude-not-specifiedLatitude is not set when specifying coordinates.
400longitude-not-specifiedLongitude is not set when specifying coordinates.
400cascade-not-foundInvalid cascade ID specified. Request a list of all cascades on your account and verify that the ID you entered is correct.
400request-doesn’t-contain-content-for-all-cascade-stagesThe cascade has many channels. Add another channel to the request’s content object.
400matched-template-not-foundThe request body scheme doesn’t match the template scheme. Check the relative location and availability of all properties in the request.
400cascade-scheduling-request-is-not-validThe transmitted content for the cascade doesn’t match the cascade settings. The edna Pulse software performs an additional cascade check when it receives a request to send a message using the cascade/schedule method.
If the received request doesn’t match the cascade parameters, an error is returned with explanations in the detail field. Read the explanations to identify and resolve the discrepancy, or send a request to technical support support@edna.io. For examples with explanations, see the section.
400template-parameter-is-not-validThe values of the listPicker.sections.items.title or listPicker.sections.items.subtitle parameters are longer than 24 characters, including spaces.
400out-of-balanceInsufficient funds in the balance sheet.
400button-validation-errorError validating a WhatsApp message with buttons.

Occurs if the maximum allowed number of buttons is exceeded in the WhatsApp template. Possible messages:

• Too many buttons, maximum is 10
• Too many URL buttons, maximum is 2
• Too many PHONE buttons, maximum is 1
401auth-errorAuthorization error. Check the spelling and expiration date of the API key.
404not-foundThe URL you requested was not found. Make sure the address you entered is correct.
405method-not-allowedThe HTTP request method is not allowed. Use POST, GET, and other requests according to the documentation.
500system-errorServer error. Send a request to the technical support support@edna.io. An error may occur if the request is incorrect. Check the relative location, availability, and completeness of all request properties according to the documentation.

Examples of Cascade Checking Errors

Example 1. The content object has channel parameters that are not included in the cascade.

In the request below, the smscontent parameter causes an error, because the cascade with cascadeId = 31634 includes only Viber and WhatsApp channels.

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": "+00000000000",
        "type": "PHONE"
    },
    "content": {
        "viberContent": {
            "contentType": "TEXT",
            "text": "cascade viber  --> whatsapp "
        },
        "whatsappContent": {
            "contentType": "TEXT",
            "text": "cascade viber  --> whatsapp"
        },
        "smsContent": {
            "contentType": "TEXT",
            "text": "cascade viber  --> whatsapp"
        }
    }
}'

Response:

{
    "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]"
}
Example 2. The content object has no channel parameters that are included in the cascade.

In the request below, only the viberContent parameter is passed, even though the cascade with cascadeId = 31634 includes Viber and WhatsApp channels.

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": "+00000000999",
        "type": "PHONE"
    },
    "content": {
        "viberContent": {
            "contentType": "TEXT",
            "text": "cascade viber  --> whatsapp. No whatsapp content"
        }
    }
}'

Response:

{
    "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]"
}
Example 3. The content object has no channel parameters that are not included in the cascade, and has no channel parameters that are included in the cascade.

In the request below, only the viberContent and smsContent parameters are passed, even though the cascade with cascadeId = 31634 includes Viber and WhatsApp channels.

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": "+0000008000",
        "type": "PHONE"
    },
    "content": {
        "viberContent": {
            "contentType": "TEXT",
            "text": "cascade viber  --> whatsapp. No whatsapp content"
        },
        "smsContent": {
            "contentType": "TEXT",
            "text": "cascade viber  --> whatsapp. No whatsapp content"
        }
    }
}'

Response:

{
    "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]"
}

Receiving Message Status Errors

Errors during unsuccessful message delivery and receiving the undelivered status on the callback of receiving message statuses. Read more about receiving message statuses.

ErrorDescription
not-WhatsApp-userThe recipient is not registered in WhatsApp. For WhatsApp channel only.
no-template-matchThe message doesn’t match the registered templates.
session-not-startedThe message wasn’t sent within the 24-hour dialogue. The message doesn’t match the registered templates.
daily-rate-limitThe daily template message limit exceeded. For WhatsApp channel only.
too-long-messageThe message length exceeds the allowed limit.
chat-window-closedError opening the chat window. For WhatsApp channel only.
media-request-failedError uploading a file.
error-subject-unknownThe specified signature isn’t allowed. All signatures should be registered first.
error-address-formatThe format of the subscriber number is incorrect.
duplicatedThe message duplicate was attempted to be sent within 5 minutes.
message-undeliverableThe message couldn’t be delivered to the recipient. Possible reasons:

• The recipient’s phone number is not a WhatsApp phone number.
• The recipient hasn’t accepted WhatsApp’s new terms of service and privacy policy.
• The recipient is using an old version of WhatsApp. Use WhatsApp version 2.21.15.15 (Android) or 2.21.170.4 (iOS) and above.
• Sending authorization messages to recipients with the code +91 (India) is not available.

For full error description, see the Meta documentation.
spam-rate-limit-hitThe message couldn’t be delivered to the recipient because many previous messages were blocked or flagged as spam.
marketing-template-undeliverableThe message couldn’t be delivered to the recipient. The marketing message delivery limit for the recipient has been reached. Try sending a message again later.