Webhook about Clicking on WhatsApp Link Buttons
This webhook enables you to obtain information about users clicking on link buttons in WhatsApp messages. When a user clicks on a link button, edna Pulse sends an HTTP POST request to your system's specified URL. This article describes the webhook format and transmitted data.
Configuring the URL
To set a URL for a webhook about user clicks on link buttons in WhatsApp messages, send a POST request to the URL https://app.edna.io/api/callback/set .
Your URL should be genuine and accessible to the public via the internet. Only use the secure HTTPS protocol — the default is TCP port 443. URLs can contain a maximum of 500 characters.
If a webhook delivery fails, edna Pulse will attempt to resend it up to three times using a backoff scheme: 4, 128, and 2048 seconds after the previous attempt.
You can also specify the webhook URL in your edna Pulse account: Integration → Settings → Main profile → Webhook URL for tracking clicks on the WhatsApp link button.
General Information about edna Pulse API Keys and Webhooks Managing edna Pulse WebhooksWebhook format
{
"payload": {
"sender": "string",
"templateId": number,
"channelType": "WHATSAPP",
"outMessageId": number,
"phone": "string",
"url": "string",
"shortLink": "string",
"requestId": "string"
},
"type": "string",
"version": "string",
"timestamp": "string"
}
Webhook example
{
"payload": {
"sender": "test-channel",
"templateId": 1333,
"channelType": "WHATSAPP",
"outMessageId": 5345345,
"phone": "79991234567",
"url": "google.ru",
"shortLink": "f42kL",
"requestId": "059cc352-f6a2-4fb0-b717-a56fa0c820bf"
},
"type": "short_link_visited",
"version": "v1",
"timestamp": "2025-08-10T12:32:56Z"
}
Webhook parameters
| Parameter | Data type | Character | Description |
|---|---|---|---|
payload | object | Required | The information about the type of event. |
payload.sender | string | Required | The name of the channel. To find out the name of the channel, use the API method to get a list of channels — the 'subject` parameter. Receiving List of Channels |
payload.templateId | number | 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 |
payload.channelType | string | Required | The channel type. A possible value is WHATSAPP (WhatsApp channel). |
payload.outMessageId | number | Required | The ID of the message. |
payload.phone | string | Required | The recipient's address is 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 |
payload.url | string | Required | The initial link of the button is static and dynamic parts. To find out the original link of the button, use the API method to get a list of templates — the parameter content.keyboard.rows.buttons.url. Retrieving List of Templates |
payload.shortLink | string | Required | The end part of the unique button link, replaced individually for each recipient of the WhatsApp message. |
requestId | string | Required | The ID of the message. Corresponds to the requestId value in the response of the api/cascade/schedule method. The parameter is passed to the webhook only for messages sent via the API. The maximum string length is 256 characters. Sending Messages |
type | string | Required | The type of event that the webhook is being sent about. |
version | string | Required | The API method version. |
timestamp | string | Required | The time when the recipient clicked the link button from the WhatsApp message. Specified in the ISO 8601 format (for example, 2025-07-01T00:00:00Z). |
Response format
In response to a request from your server, the status of its execution with the code 200 should be returned.