Send WhatsApp messages from a link
Keys that start with tvku_ are send-by-URL keys. Your main API key starts with tvk_ and does not work in a link.
Your link has the form below. The page shows the full address in front of it, so always copy it from there.
…?api_key=YOUR_URL_KEY&to=9876543210,9123456789&template=your_template_name&lang=en&vars=Rahul|5,000|10-Oct
| Part | What to put |
|---|---|
| api_key | Your send-by-URL key. |
| to | Phone numbers, separated by commas. 10-digit Indian mobile numbers work as they are. For other countries, add the country code. Up to 100 numbers per link. |
| template | The name of an approved WhatsApp template. Needed for any customer who has not messaged you in the last 24 hours. |
| lang | The template's language code, such as en or hi. If you leave it out, it is en. |
| vars | The values for the template's {{1}}, {{2}} and so on, in order, separated by |. The bar keeps amounts like 5,000 in one piece. |
| image_url or document_url | Optional header image or PDF, for templates that have one. |
| text | Free text instead of a template. It is only delivered to customers who messaged you in the last 24 hours. |
Use either template or text in one link, not both. Some gateways call the number and message parts mobileNos and message. Those names work too.
Opening the link shows a short reply. It tells you whether Tanvik took the message, not whether the customer has read it. For delivery, check why a message failed and your inbox.
| Reply | Meaning |
|---|---|
| accepted | One number: Tanvik took the message. |
| queued | Several numbers: all were taken. |
| partial_failure | Several numbers: some were taken and some were not. The reply lists each number with its result. |
| An error | The message was not sent. The reply says why, for example the key is missing, wrong or revoked, to is empty, both template and text were given, or there are too many numbers. |
Messages sent from a link are paid from your wallet at your message rates. They do not use your 1,000 free messages, because those are for the inbox and the AI Agent. If your balance is too low, the message is not sent. See Free messages and how messages are billed.
Once you have a key, the card shows a short preview and either Last used with the time, or Not used yet. It also keeps the link format and the table of parts for you to copy.
| Button | What it does |
|---|---|
| Rotate | Makes a new key. The current key stops working immediately, so update the link in your software right away. |
| Revoke | Switches the key off. Every link using it stops working immediately. Your main API key is not affected. |
Was this article helpful?