WhatsApp Cloud API Get Started | Developer Documentation
WhatsApp Cloud API Get Started
Updated: Oct 1, 2025
This guide helps developers quickly get started with the WhatsApp Cloud API. It covers the basic setup steps, including registering as a developer, creating a Meta app, sending your first message, and setting up a test webhook endpoint. You’ll also learn how to generate secure access tokens and send both template and non-template messages. Advanced features and further resources are introduced for deeper exploration.
Download the Sample App
The Jasper’s Market sample app contains all of the messages and code used in the Jasper’s Market demo. You can use this sample app to learn how to build an application that sends and handles WhatsApp Cloud API data.
Prerequisites
Step 1. Create a New Meta Developer App and Set Up with WhatsApp
You need to create a Meta developer app and set the app up with the WhatsApp use case.
Click on “Go to App Dashboard” and follow the instructions below to get started.
If you already have a Meta app
If you do not have a Meta app
Step 2. Connect Your Meta App to a WhatsApp Business Account
After creating your Meta app, you need to connect it to a WhatsApp Business Account. This connection allows your app to access the WhatsApp Cloud API and send messages on behalf of your business.
Note: If you created a new Meta Business Portfolio during app creation, a WhatsApp Business Account may have been automatically created for you. Verify the connection in the API Setup section before proceeding.
Step 3. Send Your First Template Message
With your new app set up, let’s send your first message on WhatsApp.
hello_world template message to a phone number of your choosing.
Step 4. Set Up the Test Webhook App
You will need to set up a webhook endpoint in order to receive notifications about message statuses, such as read and delivered.
Use our sample webhook server for testing purposes by following the Using a test webhook app guide.
Once your test webhook application is established, respond in the WhatsApp chat thread you created with yourself. You will see the webhook payload in your test application like this:
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "215589313241560883",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "15551797781",
"phone_number_id": "7794189252778687"
},
"contacts": [
{
"profile": {
"name": "Jessica Laverdetman"
},
"wa_id": "13557825698"
}
],
"messages": [
{
"from": "17863559966",
"id": "wamid.HBgLMTc4NjM1NTk5NjYVAGHAYWYET688aASGNTI1QzZFQjhEMDk2QQA=",
"timestamp": "1758254144",
"text": {
"body": "Hi!"
},
"type": "text"
}
]
},
"field": "messages"
}
]
}
]
}Step 5. Create a System User and Generate a Permanent Access Token
The temporary access token you created to send the
hello_world template message expires quickly and is not suitable for development purposes.
So you should create a permanent token for use across the WhatsApp Business Platform.Step 6. Send a Non-Template Message
When you responded to your earlier test message, you triggered what is known as a customer service window. This 24-hour window allows you to send non-template messages to users on WhatsApp. With the customer service window now open, you can send a non-template message to yourself.
To do this, insert your test phone number ID, the system user access token, and your phone number in the code sample below, then paste the code into your terminal and run it.
curl 'https://graph.facebook.com/v23.0/<TEST_BUSINESS_PHONE_NUMBER_ID>/messages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <SYSTEM_USER_ACCESS_TOKEN>' \
-d '
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "<WHATSAPP_USER_PHONE_NUMBER>",
"type": "text",
"text": {
"body": "Hello!"
}
}'After successfully sending your message, check your test webhook application to view the webhook event confirming the message receipt.
Step 7. Finish
The WhatsApp Cloud API enables you to send messages and receive webhooks—these are the fundamental building blocks for messaging integration.
Beyond these basics, the API offers additional features such as group creation and management, as well as support for calling.
To explore these advanced capabilities, check out the “Learn more” section below.
No comments to display
No comments to display