To send messages by the template ID templateId
, the following methods are used:
api/v1/out-messages/whatsapp/template
— for sending messages to the WhatsApp channel;api/v1/out-messages/viber/template
— for sending messages to the Viber channel.
The api/v1/out-messages/whatsapp/template
and api/v1/out-messages/viber/template
methods refer to the new API version.
WhatsApp Channel
To send a message to the WhatsApp channel using the `api/v1/out-messages/whatsapp/template` method, send a POST request to the URL `https://app.edna.io/api/v1/out-messages/whatsapp/template `
Request Format
{ "messageId": "string", "sender": "string", "phone": "string", "templateId": integer, "textVariables": [ "string", "string", "string" ], "buttonVariables": [ "string", "string" ], "headerVariables": [ "string" ], "attachment": { "url": "string", "name": "string" }, "options": { "comment": "string", "sendDelay": "string", "priority": "string" } }
Request Example
Text message:
{ "sender": "RETAIL_WA", "phone": "35700000000", "templateId": 81, "options": { "comment": "2025-08-04T13:00:48.567Z" } }
The message with the document in the attachment:
{ "sender": "RETAIL_WA", "phone": "35700000000", "templateId": 96, "attachment": { "url": "https://tourism.gov.in/sites.pdf", "name": "example" }, "options": { "comment": "promotion" } }
A delayed message containing a document in an attachment, variables in the header, message text, and dynamic link buttons:
{ "messageId": "01987f4a-069e-730e-bf59-cedc1e63349", "sender": "RETAIL_WA", "phone": "35700000000", "templateId": 98, "textVariables": [ "Alex", "10.05", "Happy Birthday" ], "buttonVariables": [ "3FgSD", "KNsr6" ], "headerVariables": [ "Good Morning" ], "attachment": { "url": "https://tourism.gov.in/sites.pdf", "name": "offer" }, "options": { "comment": "2025-08-15T12:12:16.984Z", "sendDelay": "PT10H15M47S", "priority": "NORMAL" } }
Request Parameters
Parameter | Data type | Character | Description |
`messageId` | string | Optional | The internal ID of the message. |
`sender` | string | Required | The name of the signature. To find out the name of the signature, use the API method to get a list of channels — the ‘subject` parameter. Receiving List of Channels |
`phone` | string | Required | Recipient’s address (a phone number). To find out the recipient’s address, use the API method for requesting recipient data — the `addresses.address` parameter. Requesting Client Data |
`templateId` | integer | Required | The template ID. To find out the template ID, use the API method to get a list of templates — the `id` parameter. Retrieving List of Templates |
`textVariables` | array of strings | Required if the template contains variables | The values of the variables in the message are based on a template. |
`buttonVariables` | array of strings | Required if the template has buttons with dynamic links | Variable values for buttons with dynamic links in a template message. A WhatsApp message template can contain up to two link buttons. |
`headerVariables` | array of strings | Required if there is a variable in the template header | The value of the variable in the template message header. The header can contain only one variable. |
`attachment` | object | Optional | Information about the attachment. |
`attachment.url` | string | Required if the `attachment` parameter is not empty | Link to the attachment: image, file, video or audio. |
`attachment.name` | string | Required if the `attachment` parameter is not empty | The name of the image, file, video, or audio. The maximum length is 70 characters. |
`options` | object | Optional | It is used for additional settings for sending messages. |
`options.comment` | string | Optional | A text comment to the message. The parameter value is displayed in the message report. |
`options.sendDelay` | string | Optional | The time interval in the ISO 8601 durations date format (for example, `PT10H15M48S’) before which the message will not be sent. Used for delayed delivery |
`options.priority` | string | Optional | It is used to indicate the priority of messages. Possible values: – `LOW` — low priority; – `NORMAL’ — average priority, default value; – `HIGH` — high priority; – `REALTIME` — real-time delivery. |
Response Format
{ "messageId": "string", "phone": "string" }
Response Example
{ "messageId": "01987f4a-069e-730e-bf59-cedc1e63349", "phone": "35700000000" }
Response Parameters
Parameter | Data Type | Description |
`messageId` | string | The internal ID of the message. |
`phone` | string | Recipient’s address (a phone number). |
Viber Channel
To send a message to the Viber channel using the api/v1/out-messages/viber/template
method, send a POST request to the URL https://app.edna.io/api/v1/out-messages/viber/template
Request Format
{ "messageId": "string", "sender": "string", "phone": "string", "templateId": integer, "textVariables": [ "string", "string", "string" ], "options": { "comment": "$isoTimestamp", "sendDelay": "timeStampPlus2Minutes", "priority": "NORMAL" } }
Request Example
Text message:
{ "sender": "RETAIL_VIBER", "phone": "35700000000", "templateId": 32, "options": { "comment": "promotion" } }
A delayed message containing variables in the text:
{ "messageId": "01987f4a-070e-730e-bf59-cedc1e63350", "sender": "RETAIL_VIBER", "phone": "35700000000", "templateId": 34, "textVariables": [ "Alex", "10.05", "Happy Birthday" ], "options": { "comment": "2025-08-12T12:17:20.981Z", "sendDelay": "PT1H3M4S", "priority": "NORMAL" } }
Request Parameters
Parameter | Data type | Character | Description |
`messageId` | string | Optional | The internal ID of the message. |
`sender` | string | Required | The name of the signature. To find out the name of the signature, use the API method to get a list of channels — the ‘subject` parameter. Receiving List of Channels |
`phone` | string | Required | Recipient’s address (a phone number). To find out the recipient’s address, use the API method for requesting recipient data — the `addresses.address` parameter. Requesting Client Data |
`templateId` | integer | Required | The template ID. To find out the template ID, use the API method to get a list of templates — the `id` parameter. Retrieving List of Templates |
`textVariables` | array of strings | Required if the template contains variables | The values of the variables in the message are based on a template. |
`options` | object | Optional | It is used for additional settings for sending messages. |
`options.comment` | string | Optional | A text comment to the message. The parameter value is displayed in the message report. |
`options.sendDelay` | string | Optional | The time interval in the ISO 8601 durations date format (for example, `PT10H15M48S’) before which the message will not be sent. Used for delayed delivery |
`options.priority` | string | Optional | It is used to indicate the priority of messages. Possible values: – `LOW` — low priority; – `NORMAL’ — average priority, default value; – `HIGH` — high priority; – `REALTIME` — real-time delivery. |
Response Format
{ "messageId": "string", "phone": "string" }
Response Example
{ "messageId": "01987f4a-069e-730e-bf59-cedc1e63349", "phone": "35700000000" }
Response Parameters
Parameter | Data Type | Description |
`messageId` | string | The internal ID of the message. |
`phone` | string | Recipient’s address (a phone number). |