Overview
The WhatsApp Business API allows medium and large businesses to communicate with their customers at scale. Using the API, businesses can connect thousands of agents and bots to interact with customers programmatically and manually.
The WhatsApp Business API uses a REST API Architecture with JSON data formats. The API follows the standard HTTP request-response exchange.
API_TOKEN
Developers can authenticate their API calls with the API_TOKEN
generated in App Dashboard > Phone Numbers > Detail > Api
. This is a list of root nodes and edges available for the API.
Profile
Use the /profile endpoint to retrieve and update your business’ profile. This business profile is visible to consumers in the chat thread next to the profile photo.
Method | Node | Description |
---|---|---|
GET | /profile | Retrieve profile. |
Media
You use 3 different endpoints to manage your media:
Method | Node | Description |
---|---|---|
POST | /media | Upload media. |
GET | /media/{{ MEDIA_ID }} | Retrieve a specific media. |
DELETE | /media/{{ MEDIA_ID }} | Delete a specific media. |
See Supported Media Types for supported types and size limits.
Messages
Use the /messages endpoint to send text, media, contacts, location, and interactive messages, as well as message templates to your customers.
Method | Node | Description |
---|---|---|
POST | /messages | Used to send messages. |
PUT | /messages/{{ MESSAGE_ID }} | Mark as read message. |
Messages are identified by a unique ID. You can track message status in the Webhooks through its ID. You could also mark an incoming message as read through messages endpoint.
Broadcasts
Use the /broadcasts endpoint to broadcasts to your customers.
Method | Node | Description |
---|---|---|
POST | /broadcasts | Used to send broadcasts. |
Message Templates
Use the /message-templates endpoint to manage message templates.
Method | Node | Description |
---|---|---|
GET | /message-templates | Used to get lists message templates. |
POST | /message-templates | Used to create message template. |
GET | /message-templates/{{ MESSAGE_TEMPLATE_ID }} | Used to get message template. |
PATCH | /message-templates/{{ MESSAGE_TEMPLATE_ID }} | Used to update message template when rejected. |
DELETE | /message-templates/{{ MESSAGE_TEMPLATE_NAME }} | Used to delete message template by name. |