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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"type": "forward",
"forward_message_id": "BAE5F2C4D3B2A1",
"forward_chat_id": "[email protected]"
}'
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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"type": "text",
"text": "Hey @Maria and @Carlos, please review this.",
"mentions": [
"[email protected]",
"[email protected]"
]
}'
| Format | Description | Exemple |
|---|
{phone}@s.whatsapp.net | Conversation individuelle | [email protected] |
{id}@g.us | Conversation de groupe | [email protected] |
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. |