curl --request POST \
--url https://api.wachap.com/v1/whatsapp/messages/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"accountId": "a1233b-a1233b-a1233b-a1233b-a1233bcdjdg9878",
"to": "+33612345678",
"type": "text",
"content": "Souhaitez-vous confirmer ?",
"buttons": [
{
"id": "yes",
"text": "Oui",
"type": "reply"
},
{
"id": "website",
"text": "Voir le site",
"type": "url",
"url": "https://wachap.com"
}
],
"footerText": "WaChap"
}
}
'Messages WhatsApp
Envoyer une image
Envoyez une image via URL à un contact WhatsApp
POST
/
whatsapp
/
messages
/
send
curl --request POST \
--url https://api.wachap.com/v1/whatsapp/messages/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"accountId": "a1233b-a1233b-a1233b-a1233b-a1233bcdjdg9878",
"to": "+33612345678",
"type": "text",
"content": "Souhaitez-vous confirmer ?",
"buttons": [
{
"id": "yes",
"text": "Oui",
"type": "reply"
},
{
"id": "website",
"text": "Voir le site",
"type": "url",
"url": "https://wachap.com"
}
],
"footerText": "WaChap"
}
}
'Endpoint
Headers
string
requis
Bearer token avec votre Secret Key (format:
Bearer sk_...)Body Parameters
string
requis
ID du compte WhatsApp
string
requis
Numéro destinataire
string
requis
Doit être “image”
string
requis
URL publique de l’image
string
Légende de l’image
array
Jusqu’à trois boutons interactifs. Une
caption non vide est requise lorsque des boutons sont présents.string
Pied affiché sous les boutons, limité à 60 caractères.
Formats supportés
- JPG / JPEG
- PNG
- GIF
- WebP
Exemples de requêtes
curl -X POST https://api.wachap.com/v1/whatsapp/messages/send \
-H "Content-Type: application/json" \
-H "Authorization: Bearer token" \
-d '{
"data": {
"accountId": "account_123",
"to": "+33612345678",
"type": "image",
"imageUrl": "https://example.com/image.jpg",
"caption": "Souhaitez-vous voir les détails ?",
"buttons": [
{"id": "details", "text": "Voir les détails", "type": "url", "url": "https://wachap.com/details"}
],
"footerText": "WaChap",
"isCampaign": false
}
}
'
const response = await fetch('https://api.wachap.com/v1/whatsapp/messages/send', {
method: 'POST',
headers: {
'Authorization': 'Bearer token',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
accountId: 'account_123',
to: '+33612345678',
type: 'image',
imageUrl: 'https://picsum.photos/800/600',
caption: 'Voici une image 📸'
}
})
});
const data = await response.json();
console.log(data);
import requests
url = "https://api.wachap.com/v1/whatsapp/messages/send"
headers = {
"Authorization": "Bearer token",
"Content-Type": "application/json"
}
payload = {
"data": {
"accountId": "account_123",
"to": "+33612345678",
"type": "image",
"imageUrl": "https://picsum.photos/800/600",
"caption": "Voici une image 📸"
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
<?php
$curl = curl_init();
$payload = [
"data" => [
"accountId" => "account_123",
"to" => "+33612345678",
"type" => "image",
"imageUrl" => "https://picsum.photos/800/600",
"caption" => "Voici une image 📸"
]
];
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wachap.com/v1/whatsapp/messages/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer token",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
reply, url et call, ainsi que leurs limites.