How to schedule a WhatsApp Status update (WhatsApp Stories)
Here’s everything you need to know about the WhatsApp Status feature and how to publish updates automatically on your WhatsApp number to better engage with customers.
🤩 🤖 Wassenger is a complete communication platform and API solution for WhatsApp. Explore more than 100+ API use cases and automate anything on WhatsApp by signing up for a free trial and getting started in minutes!
What Is WhatsApp Status?
WhatsApp Status, also known as WhatsApp Stories (similarly to Instagram Stories) is a feature that allows you to post profile status updates that disappear after 24 hours. You can publish photos, videos, text, links, and GIFs.
If you know how to use Instagram Stories, you’ll feel right at home. You’ll quickly learn how to check a friend’s WhatsApp status and update your own.
By default, WhatsApp Status only activates between two users who have each other’s contact details saved in their respective address books. If you don’t have someone’s number in your contacts, they can’t see your status message.
That being said, today we present to you the most effective way to schedule your WhatsApp stories so that you can keep your clients/contacts informed of all your news and your brand. Discover how easy it is with Wassenger
Check how to upload a new WhatsApp status (story) in minutes here
Note: WhatsApp status API feature is only available in the Platform plans. If you want to use it, please upgrade your plan.
Requirements
- To have a WhatsApp number already linked to the platform and online.
API endpoint
We will use the following API endpoint to update the WhatsApp status:
Prepare the request
Target API URL using the POST method
https://api.wassenger.com/v1/chat/{deviceId}/status
Required HTTPS headers > Obtain your API key here
Content-Type: application/json
Token: $API_TOKEN
Use the body in JSON format for an image update
{
"message": "This is a scheduled WhatsApp status update for tomorrow with an image",
"schedule": {
"date": "2024-09-21T10:53:24.998Z"
},
"media": {
"url": "https://picsum.photos/seed/picsum/600/400"
}
}
Use the body in JSON format for a video update
{
"message": "This is a scheduled WhatsApp status update for tomorrow with an image",
"schedule": {
"date": "2024-09-21T10:53:24.998Z"
},
"media": {
"url": "https://download.samplelib.com/mp4/sample-5s.mp4"
}
}
Use the body in JSON format with extra parameters like text font or background colour update
Note: When uploading images, the parameter colour can’t be added
{
"message": "This is a scheduled WhatsApp status update for tomorrow with an image",
"schedule": {
"date": "2024-09-21T10:53:24.998Z"
},
"font": "helvetica",
"color": "red_purple",
}
🖥️ Looking for a code example? Go to the API live tester and get ready-to-use code examples in 15+ programming languages, including Python, JavaScript, PHP, C#, Java, Ruby, Go, Powershell, cURL and more.
🤩 🤖 Wassenger is a complete API solution for WhatsApp. Sign up for a 7-day free trial and get started in minutes!
Upload the status using code
Explore how to use the code in your browser without installing any software.
Also, you can find different languages you can test on Replit.com:
Python
Post a scheduled image
# Examples requires to have installed requests Python package.
# Install it by running: pip install requests
import requests
url = "https://api.wassenger.com/v1/chat/DEVICE_ID/status"
payload = {
"message": "This is a scheduled WhatsApp status update for tomorrow with an image",
"schedule": { "date": "2024-09-21T10:53:24.998Z" },
"media": { "url": "https://picsum.photos/seed/picsum/600/400" }
}
headers = {
"Content-Type": "application/json",
"Token": "API TOKEN GOES HERE"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Post a scheduled video
# Examples requires to have installed requests Python package.
# Install it by running: pip install requests
import requests
url = "https://api.wassenger.com/v1/chat/DEVICE_ID/status"
payload = {
"message": "This is a scheduled WhatsApp status update for tomorrow with an image",
"schedule": { "date": "2024-09-21T10:53:24.998Z" },
"media": { "url": "https://download.samplelib.com/mp4/sample-5s.mp4" }
}
headers = {
"Content-Type": "application/json",
"Token": "API TOKEN GOES HERE"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
🤩 🤖 Wassenger is a complete API solution for WhatsApp. Sign up for a 7-day free trial and get started in minutes!
Post a scheduled image
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wassenger.com/v1/chat/DEVICE_ID/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'message' => 'This is a scheduled WhatsApp status update for tomorrow with an image',
'schedule' => [
'date' => '2024-09-21T10:53:24.998Z'
],
'media' => [
'url' => 'https://picsum.photos/seed/picsum/600/400'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Token: API TOKEN GOES HERE"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Post a scheduled video
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wassenger.com/v1/chat/DEVICE_ID/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'message' => 'This is a scheduled WhatsApp status update for tomorrow with an image',
'schedule' => [
'date' => '2024-09-21T10:53:24.998Z'
],
'media' => [
'url' => 'https://download.samplelib.com/mp4/sample-5s.mp4'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Token: API TOKEN GOES HERE"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Post a scheduled image
// Examples requires to have installed pecl_http package, a simple and elegant HTTP client for PHP.
// Install it by running: pecl install pecl_http
// More information: https://pecl.php.net/package/pecl_http/3.2.0
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->append(json_encode([
'message' => 'This is a scheduled WhatsApp status update for tomorrow with an image',
'schedule' => [
'date' => '2024-09-21T10:53:24.998Z'
],
'media' => [
'url' => 'https://picsum.photos/seed/picsum/600/400'
]
]));
$request->setRequestUrl('https://api.wassenger.com/v1/chat/DEVICE_ID/status');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders([
'Content-Type' => 'application/json',
'Token' => 'API TOKEN GOES HERE'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
Post a scheduled video
// Examples requires to have installed pecl_http package, a simple and elegant HTTP client for PHP.
// Install it by running: pecl install pecl_http
// More information: https://pecl.php.net/package/pecl_http/3.2.0
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->append(json_encode([
'message' => 'This is a scheduled WhatsApp status update for tomorrow with an image',
'schedule' => [
'date' => '2024-09-21T10:53:24.998Z'
],
'media' => [
'url' => 'https://download.samplelib.com/mp4/sample-5s.mp4'
]
]));
$request->setRequestUrl('https://api.wassenger.com/v1/chat/DEVICE_ID/status');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders([
'Content-Type' => 'application/json',
'Token' => 'API TOKEN GOES HERE'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
Post a scheduled image
// This code requires you to have installed Unirest package.
// Documentation: https://kong.github.io/unirest-java/#requests
// Installation: http://kong.github.io/unirest-java/
HttpResponse<String> response = Unirest.post("https://api.wassenger.com/v1/chat/DEVICE_ID/status")
.header("Content-Type", "application/json")
.header("Token", "API TOKEN GOES HERE")
.body("{\"message\":\"This is a scheduled WhatsApp status update for tomorrow with an image\",\"schedule\":{\"date\":\"2024-09-21T10:53:24.998Z\"},\"media\":{\"url\":\"https://picsum.photos/seed/picsum/600/400\"}}")
.asString();
Post a scheduled video
// This code requires you to have installed Unirest package.
// Documentation: https://kong.github.io/unirest-java/#requests
// Installation: http://kong.github.io/unirest-java/
HttpResponse<String> response = Unirest.post("https://api.wassenger.com/v1/chat/DEVICE_ID/status")
.header("Content-Type", "application/json")
.header("Token", "API TOKEN GOES HERE")
.body("{\"message\":\"This is a scheduled WhatsApp status update for tomorrow with an image\",\"schedule\":{\"date\":\"2024-09-21T10:53:24.998Z\"},\"media\":{\"url\":\"https://picsum.photos/seed/picsum/600/400\"}}")
.asString();
Need more? Explore all our WhatsApp status examples and go all in!
- 🚀 Update WhatsApp status with text
- 📈 Update WhatsApp status with an image
- ⚡ Update WhatsApp status with a video
- 🔥 Schedule WhatsApp status update
- 🌟 Schedule a delayed WhatsApp status update
- 🏆 Schedule WhatsApp status updates in strict publication order
🤩 🤖 Wassenger is a complete communication platform and API solution for WhatsApp. Explore more than 100+ API use cases and automate anything on WhatsApp by signing up for a free trial and getting started in minutes!
Live testing using the API
FAQs
How status update processing works
- By default, WhatsApp status updates are processed in real-time unless specified as scheduled or delayed.
- When status updates are scheduled, they are stored in a queue in a non-strict first-in-first-out (FIFO) order.
- Strict order can be enforced by specifying the
order
=true
field in JSON payload (example).
Can you use template variables in status messages?
No, template variables syntax is not supported in user status messages.
I have multiple numbers connected: how to send messages through a specific number?
If you have multiple numbers connected to your account, you need to specify the device
field in the JSON body with the target WhatsApp number device ID (24 characters hexadecimal value) you want to send the messages through.
If the device
field is not specified, messages will be sent through the first connected WhatsApp number in your account.
Here is an example of how to send a message through a specific WhatsApp number
How to send messages to multiple phone numbers
You have to send multiple API requests, one per target phone number.
For instance, if you want to send a message to 10 phone numbers, you should send 10 independent HTTPS requests to the API.
There is no option to send multiple messages in a single API request.
How to validate if a phone number can receive WhatsApp messages
You can validate if a given phone number is linked to a WhatsApp account and can receive messages.
The API provides an endpoint that can validate whether a given phone number exists in WhatsApp or not.
The only requirement is to have at least one WhatsApp number connected to the platform in your current account.
For more details, please check out the API endpoint documentation here.
Before you check if a phone number exists on WhatsApp, you can also validate and normalize the format of a list of phone numbers by using the numbers validator API endpoint. This endpoint only validates the correct E164 format, but it does not check whether the phone number effectively exists on WhatsApp.
Note: The number of WhatsApp check validations is limited per month based on your subscription plan. Please check out the pricing table for more details about the limits.
Further useful resources
API Documentation
For more details about the endpoint API, please check the documentation where you will find all the details about the accepted request params, possible success or error responses and ready-to-use code examples in multiple programming languages:
🤩 🤖 Wassenger is a complete API solution for WhatsApp. Sign up for a 7-day free trial and get started in minutes!