Envoi de messages
Tous les messages sont envoyes via un endpoint unique. Le champ type determine le type de message envoye, et les autres champs varient en consequence.
Endpoint :
POST https://api.wappfy.io/api/instances/{instanceId}/messages/send
En-tetes :
| En-tete | Valeur |
|---|
X-Api-Key | Votre cle API |
Content-Type | application/json |
Message texte
Envoyez un message texte simple.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511999998888@s.whatsapp.net",
"type": "text",
"text": "Hello from Wappfy!"
}'
Reponse :
{
"data": {
"message_id": "BAE5F2C4D3B2A1",
"status": "sent"
}
}
Message image
Envoyez une image avec une legende optionnelle.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511999998888@s.whatsapp.net",
"type": "image",
"media_url": "https://example.com/photo.jpg",
"caption": "Check out this photo!"
}'
Message video
Envoyez un fichier video avec une legende optionnelle.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511999998888@s.whatsapp.net",
"type": "video",
"media_url": "https://example.com/clip.mp4",
"caption": "Watch this!"
}'
Message audio
Envoyez un fichier audio. Les messages audio apparaissent sous forme de messages vocaux dans WhatsApp.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511999998888@s.whatsapp.net",
"type": "audio",
"media_url": "https://example.com/voice-note.ogg"
}'
Pour une compatibilite optimale, utilisez des fichiers .ogg encodes avec le codec Opus pour les messages vocaux.
Message document
Envoyez un fichier en tant que piece jointe.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511999998888@s.whatsapp.net",
"type": "document",
"media_url": "https://example.com/report.pdf",
"filename": "Q1-Report.pdf",
"caption": "Here is the quarterly report"
}'
Message de localisation
Envoyez un point de localisation geographique.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511999998888@s.whatsapp.net",
"type": "location",
"latitude": -23.5505,
"longitude": -46.6333,
"name": "Sao Paulo",
"address": "Sao Paulo, SP, Brazil"
}'
Message sondage
Creez un sondage interactif. Les destinataires peuvent voter directement dans WhatsApp.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511999998888@s.whatsapp.net",
"type": "poll",
"poll_name": "What day works best for the meeting?",
"poll_options": ["Monday", "Wednesday", "Friday"],
"poll_allow_multiple": false
}'
Partagez une fiche contact.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511999998888@s.whatsapp.net",
"type": "contact",
"contact_name": "Maria Silva",
"contact_phone": "+5511988887777"
}'
Transfert de message
Transferez un message existant vers une autre conversation.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511888887777@s.whatsapp.net",
"type": "forward",
"forward_message_id": "BAE5F2C4D3B2A1",
"forward_chat_id": "5511999998888@s.whatsapp.net"
}'
Reaction
Reagissez a un message avec un emoji.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511999998888@s.whatsapp.net",
"type": "reaction",
"reaction_message_id": "BAE5F2C4D3B2A1",
"reaction": "\ud83d\udc4d"
}'
Pour supprimer une reaction, envoyez une chaine vide comme valeur de reaction.
Fonctionnalites avancees
Repondre a un message
Citez un message precedent en incluant quoted_message_id. Cela fonctionne avec tous les types de messages.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511999998888@s.whatsapp.net",
"type": "text",
"text": "Yes, I agree with this!",
"quoted_message_id": "BAE5F2C4D3B2A1"
}'
Modifier un message envoye
Modifiez un message que vous avez precedemment envoye en fournissant edit_message_id.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "5511999998888@s.whatsapp.net",
"type": "text",
"text": "Updated message content",
"edit_message_id": "BAE5F2C4D3B2A1"
}'
Vous ne pouvez modifier que les messages que vous avez envoyes. La modification est soumise a une fenetre temporelle imposee par WhatsApp (environ 15 minutes apres l’envoi).
Mentions
Mentionnez des contacts specifiques dans un message de groupe. Les contacts mentionnes recevront une notification.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "120363012345678901@g.us",
"type": "text",
"text": "Hey @Maria and @Carlos, please review this.",
"mentions": [
"5511999998888@s.whatsapp.net",
"5511888887777@s.whatsapp.net"
]
}'
| Format | Description | Exemple |
|---|
{phone}@s.whatsapp.net | Conversation individuelle | 5511999998888@s.whatsapp.net |
{id}@g.us | Conversation de groupe | 120363012345678901@g.us |
Numeros de telephone bresiliens
Wappfy gere automatiquement le probleme du 9e chiffre bresilien. Si un message echoue avec une erreur “no LID found”, le systeme reessaiera automatiquement avec le format alternatif (en ajoutant ou supprimant le 9e chiffre).Par exemple, si 5511999998888 echoue, le systeme reessaiera avec 551199998888, et vice versa. Cela se fait de maniere transparente — vous n’avez pas besoin de le gerer vous-meme.
Reference des types de messages
| Type | Champs obligatoires | Champs optionnels |
|---|
text | text | quoted_message_id, edit_message_id, mentions |
image | media_url | caption, quoted_message_id |
video | media_url | caption, quoted_message_id |
audio | media_url | quoted_message_id |
document | media_url | filename, caption, quoted_message_id |
location | latitude, longitude | name, address, quoted_message_id |
poll | poll_name, poll_options | poll_allow_multiple |
contact | contact_name, contact_phone | quoted_message_id |
forward | forward_message_id, forward_chat_id | — |
reaction | reaction_message_id, reaction | — |
Gestion des erreurs
| Code de statut | Description |
|---|
400 | Contenu du message invalide (par ex., champs obligatoires manquants pour le type donne). |
404 | Instance non trouvee ou non connectee. |
422 | La validation du message a echoue (par ex., format de numero de telephone invalide). |
429 | Limite de debit depassee. Voir Limites de debit. |
502 | Le fournisseur WhatsApp a retourne une erreur. Consultez le message d’erreur pour plus de details. |