Dans ce tutoriel, vous apprendrez à programmer l'envoi de messages en utilisant l'API
Il existe deux manières de programmer l'envoi d'un message à une date et/ou heure ultérieure : en spécifiant le jour et l'heure exacts auxquels vous souhaitez qu'il soit envoyé ou en indiquant de combien de minutes, heures ou jours vous souhaitez retarder l'envoi différé.
Si vous souhaitez envoyer des messages depuis du code, vous pouvez utiliser n'importe quel langage de programmation pour effectuer des requêtes HTTPS vers l'API. Ci-dessous se trouve le testeur d'API en direct avec des exemples de code prêts à l'emploi dans différents langages.
Exigences
- Disposer d'un numéro WhatsApp déjà lié à la plateforme et en ligne.
- Numéro de téléphone du destinataire avec l'indicatif international au format E164. Exemple :
+393517224449. Vous pouvez valider le numéro de téléphone ici.
Point de terminaison de l'API
Dans ce tutoriel, nous utiliserons le point de terminaison API suivant :
Préparez la requête
URL cible de l'API (POST)
https://api.wassenger.com/v1/messages
En-têtes HTTPS requis
Content-Type: application/json
Token: ENTER API KEY HERE
Envoyer un message à une date spécifique au format ISO8601
Request body example in JSON format
{ "channel": "${channel_ID}@newsletter", "message": "This is a scheduled message to be sent tomorrow to a channel. Date format is based on ISO 8601 format with default UTC time zone", "deliverAt": "2025-01-15T10:42:34.416Z" }
Félicitations ! Vous pouvez maintenant envoyer des messages automatiques via l'API aux chaînes sur WhatsApp.
🤩 🤖 Wassenger est une solution API complète pour WhatsApp. Inscrivez-vous pour un essai gratuit de 7 jours et commencez en quelques minutes !
Vous êtes développeur ?
Découvrez comment utiliser le code dans votre navigateur sans installer de logiciel.
De plus, vous pouvez trouver différents langages à tester sur Replit.com:
# Examples requires to have installed requests Python package.
# Install it by running: pip install requests
import requests
url = "https://api.wassenger.com/v1/messages"
payload = {
"channel": "${channel_id}@newsletter",
"message": "This is a scheduled message to be sent tomorrow to a channel.Date format is based on ISO 8601 format with default UTC time zone",
"deliverAt": "2025-01-15T10:42:34.416Z"
}
headers = {
"Content-Type": "application/json",
"Token": "API TOKEN GOES HERE"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
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([
'channel' => '${channel_id}@newsletter',
'message' =>
'This is a scheduled message to be sent tomorrow to a channel.Date format is based on ISO 8601 format with default UTC time zone',
'deliverAt' => '2025-01-15T10:42:34.416Z',
]),
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;
}
// This code example 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://mdref.m6w6.name/http
<?php
$client = new http\Client();
$request = new http\Client\Request();
$body = new http\Message\Body();
$body->append(
json_encode([
'channel' => '${channel_id}@newsletter',
'message' =>
'This is a scheduled message to be sent tomorrow to a channel.Date format is based on ISO 8601 format with default UTC time zone',
'deliverAt' => '2025-01-15T10:42:34.416Z',
])
);
$request->setRequestUrl('https://api.wassenger.com/v1/messages');
$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();
// This code example requires to have installed Guzzle package, a flexible and elegant HTTP client for PHP.
// Install it first following these instructions:
// https://docs.guzzlephp.org/en/stable/overview.html#installation
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://api.wassenger.com/v1/messages', [
'body' =>
'{"channel":"${channel_id}@newsletter", "message":"This is a scheduled message to be sent tomorrow to a channel.Date format is based on ISO 8601 format with default UTC time zone", "deliverAt":"2025-01-15T10:42:34.416Z"}',
'headers' => [
'Content-Type' => 'application/json',
'Token' => 'API TOKEN GOES HERE',
],
]);
echo $response->getBody();
// This code example 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://mdref.m6w6.name/http
<?php
$client = new http\Client();
$request = new http\Client\Request();
$body = new http\Message\Body();
$body->append(
json_encode([
'channel' => '${channel_id}@newsletter',
'message' =>
'This is a scheduled message to be sent tomorrow to a channel.Date format is based on ISO 8601 format with default UTC time zone',
'deliverAt' => '2025-01-15T10:42:34.416Z',
])
);
$request->setRequestUrl('https://api.wassenger.com/v1/messages');
$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();
- C# (RestClient)
// This code requires you to have installed RestSharp package.
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp
var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "API TOKEN GOES HERE");
request.AddParameter("application/json", "{\"channel\":\"${channel_id}@newsletter\", \"message\":\"This is a scheduled message to be sent tomorrow to a channel.Date format is based on ISO 8601 format with default UTC time zone\", \"deliverAt\":\"2025-01-15T10:42:34.416Z\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
- C# (HttpClient)
// This code uses the built-in HttpClient package in the.NET framework.
// Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://api.wassenger.com/v1/messages"),
Headers =
{
{ "Token", "API TOKEN GOES HERE" },
},
Content = new StringContent("{\"channel\":\"${channel_id}@newsletter\", \"message\":\"This is a scheduled message to be sent tomorrow to a channel.Date format is based on ISO 8601 format with default UTC time zone\", \"deliverAt\":\"2025-01-15T10:42:34.416Z\"}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using(var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
// 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/messages")
.header("Content-Type", "application/json")
.header("Token", "API TOKEN GOES HERE")
.body("{\"channel\":\"${channel_id}@newsletter\", \"message\":\"This is a scheduled message to be sent tomorrow to a channel.Date format is based on ISO 8601 format with default UTC time zone\", \"deliverAt\":\"2025-01-15T10:42:34.416Z\"}")
.asString();
$headers=@{}
$headers.Add("Content-Type", "application/json")
$headers.Add("Token", "API TOKEN GOES HERE")
$response = Invoke-WebRequest -Uri 'https://api.wassenger.com/v1/messages' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"channel":"${channel_id}@newsletter", "message":"This is a scheduled message to be sent tomorrow to a channel.Date format is based on ISO 8601 format with default UTC time zone", "deliverAt":"2025-01-15T10:42:34.416Z"}'
require 'uri'
require 'net/http'
url = URI("https://api.wassenger.com/v1/messages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Token"] = 'API TOKEN GOES HERE'
request.body = "{\"channel\":\"${channel_id}@newsletter\", \"message\":\"This is a scheduled message to be sent tomorrow to a channel.Date format is based on ISO 8601 format with default UTC time zone\", \"deliverAt\":\"2025-01-15T10:42:34.416Z\"}"
response = http.request(request)
puts response.read_body
package main
import(
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url:= "https://api.wassenger.com/v1/messages"
payload:= strings.NewReader("{\"channel\":\"${channel_id}@newsletter\", \"message\":\"This is a scheduled message to be sent tomorrow to a channel.Date format is based on ISO 8601 format with default UTC time zone\", \"deliverAt\":\"2025-01-15T10:42:34.416Z\"}")
req, _:= http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Token", "API TOKEN GOES HERE")
res, _:= http.DefaultClient.Do(req)
defer res.Body.Close()
body, _:= io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
🤩 🤖 Wassenger est une plateforme de communication complète et une solution API pour WhatsApp. Explorez plus de 100 cas d'utilisation API et automatisez tout sur WhatsApp en vous inscrivant pour un essai gratuit et en commençant en quelques minutes!
Test en direct pour envoyer un message à un groupe via l'API
FAQ
Quelle est la différence entre l'envoi de messages individuels et la diffusion vers une chaîne WhatsApp ?
Avec Wassenger, vous pouvez envoyer des messages individuels pour des conversations personnalisées ou diffuser des messages via des campagnes pour atteindre plusieurs destinataires simultanément. La diffusion vous permet de cibler efficacement des groupes de clients tout en respectant les règles de messagerie de WhatsApp.
Wassenger prend-il en charge la programmation des messages pour les chaînes WhatsApp ?
Absolument. Wassenger vous permet de programmer des messages pour des dates et heures spécifiques, garantissant une communication ponctuelle avec vos clients.
Y a-t-il des limites sur le nombre de messages que je peux envoyer en une journée ?
Le nombre de messages dépend de votre type de compte WhatsApp Business et de votre forfait. Wassenger fournit des outils pour vous aider à rester conforme aux directives de WhatsApp et éviter les pénalités.
Puis-je inclure des éléments multimédias (images, vidéos, fichiers) dans les messages envoyés aux chaînes WhatsApp ?
Oui, Wassenger prend en charge la messagerie multimédia, vous permettant d'envoyer des images, vidéos, documents et même des notes vocales aux contacts ou aux chaînes WhatsApp.
Ressources utiles complémentaires
Pour plus de détails sur le point de terminaison de l'API, veuillez consulter notre documentation. Vous y trouverez tous les détails sur les paramètres de requête acceptés, les réponses possibles en cas de succès ou d'erreur et des exemples de code prêts à l'emploi dans plusieurs langages de programmation.







