This article describes the errors that may occur when sending messages or receiving message statuses.
Message Sending Error Codes
Error codes after calling the schedule
method.
Code | Error | Description |
400 | requestId-is-not-unique | This request ID has already been used. Use a new ID for each request. |
400 | content-not-specified | The content type and its properties are not specified. For example, smsContent , viberContent или whatsappContent . |
400 | contentType-not-specified | The content type is not specified. For example, text или image . |
400 | text-not-specified | The text field is not filled in. |
400 | caption-not-specified | The signature text field is not filled in. |
400 | action-not-specified | The action for the button is not specified. |
400 | attachmentName-not-specified | The attached document name is not specified. |
400 | attachmentName-is-too-long | The attached document name is too long. The maximum length is 70 characters. |
400 | latitude-not-specified | Latitude is not set when specifying coordinates. |
400 | longitude-not-specified | Longitude is not set when specifying coordinates. |
400 | cascade-not-found | Invalid cascade ID specified. Request a list of all cascades on your account and verify that the ID you entered is correct. |
400 | request-doesn’t-contain-content-for-all-cascade-stages | The cascade has many channels. Add another channel to the request’s content object. |
400 | matched-template-not-found | The request body scheme doesn’t match the template scheme. Check the relative location and availability of all properties in the request. |
400 | cascade-scheduling-request-is-not-valid | The 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. |
400 | template-parameter-is-not-valid | The values of the listPicker.sections.items.title or listPicker.sections.items.subtitle parameters are longer than 24 characters, including spaces. |
400 | out-of-balance | Insufficient funds in the balance sheet. |
400 | button-validation-error | Error 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 |
401 | auth-error | Authorization error. Check the spelling and expiration date of the API key. |
404 | not-found | The URL you requested was not found. Make sure the address you entered is correct. |
405 | method-not-allowed | The HTTP request method is not allowed. Use POST , GET , and other requests according to the documentation. |
500 | system-error | Server 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
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]" }
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]" }
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.
Error | Description |
not-WhatsApp-user | The recipient is not registered in WhatsApp. For WhatsApp channel only. |
no-template-match | The message doesn’t match the registered templates. |
session-not-started | The message wasn’t sent within the 24-hour dialogue. The message doesn’t match the registered templates. |
daily-rate-limit | The daily template message limit exceeded. For WhatsApp channel only. |
too-long-message | The message length exceeds the allowed limit. |
chat-window-closed | Error opening the chat window. For WhatsApp channel only. |
media-request-failed | Error uploading a file. |
error-subject-unknown | The specified signature isn’t allowed. All signatures should be registered first. |
error-address-format | The format of the subscriber number is incorrect. |
duplicated | The message duplicate was attempted to be sent within 5 minutes. |
message-undeliverable | The 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-hit | The message couldn’t be delivered to the recipient because many previous messages were blocked or flagged as spam. |
marketing-template-undeliverable | The 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. |