Sending your first message with Evolution API

To send the first message you need three things: a linked instance, the API key and an HTTP request with the recipient and the text. You make the request with curl or with an API client (Insomnia and Postman both work). The exact route and fields are in the official Evolution API documentation, the only reliable source: they change between versions, and copying them from an old video is the quickest way to get an error.

What the request carries

Part What it is
The API address Your server’s domain or IP, preferably over HTTPS. See securing Evolution API.
The instance The name you gave the linked instance. The request has to say which one it sends from.
The key The value of AUTHENTICATION_API_KEY, in a header whose name is in the documentation. Without it the API refuses.
The recipient The number in full international format, with the country code. The documentation says how the field wants it written.
The text The message itself, in a JSON body. The documentation shows the fields.

Step by step

1 Check that the instance is linked. If you have not scanned the QR yet, see connecting an instance with the QR.
2 Open the documentation for the version you installed and find the request that sends plain text.
3 Build the request with the address, the instance name, the key in the header and a body with the recipient and the text.
4 Send it to yourself. Use your own number, or a colleague who knows about the test. Never start with a list.
5 Read the response. A success response carries a message identifier. On the phone, the message shows up in the recipient’s conversation.
Do not run the first test on strangers. A number linked through Baileys that suddenly writes to many people who do not know it is the pattern that leads to bans. Test on yourself, then on people who asked to be contacted, and go slowly.

If the response is an error

Response Likely cause
401 or 403 The key is wrong, missing or in the wrong header.
404 The route does not exist in that version, or the instance name is misspelt.
400 The body is wrong: a misnamed field, a badly formatted number or invalid JSON.
It will not connect (refused or timed out) The port is not reachable. See ports and firewall on a VPS.
Success, but nothing arrives The instance is no longer linked, or the recipient has no WhatsApp. Check the instance state.
Keep one working request as a template, with the key coming from a variable rather than written in the file. When you move on to automation, that same request is what n8n or your website will repeat. See Evolution API with n8n.

JSON requests look daunting? Tell us what you want to automate.

Open a support ticket

SEE ALSO

Connecting an instance with the QR code

Evolution API with n8n

What a webhook is and how to test it with curl

RECOMMENDED PRODUCT

Web hosting with cPanel

Domain and SSL included, daily backups and the panel you already know. from 5.940,00 Kz/mo (3-year plan, with coupon)

See plans
  • 0 Users Found This Useful
Was this answer helpful?