Passer au contenu principal

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-teteValeur
X-Api-KeyVotre cle API
Content-Typeapplication/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
  }'

Message contact / vCard

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]"
    ]
  }'

Formats d’identifiants de conversation

FormatDescriptionExemple
{phone}@s.whatsapp.netConversation individuelle[email protected]
{id}@g.usConversation 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

TypeChamps obligatoiresChamps optionnels
texttextquoted_message_id, edit_message_id, mentions
imagemedia_urlcaption, quoted_message_id
videomedia_urlcaption, quoted_message_id
audiomedia_urlquoted_message_id
documentmedia_urlfilename, caption, quoted_message_id
locationlatitude, longitudename, address, quoted_message_id
pollpoll_name, poll_optionspoll_allow_multiple
contactcontact_name, contact_phonequoted_message_id
forwardforward_message_id, forward_chat_id
reactionreaction_message_id, reaction

Gestion des erreurs

Code de statutDescription
400Contenu du message invalide (par ex., champs obligatoires manquants pour le type donne).
404Instance non trouvee ou non connectee.
422La validation du message a echoue (par ex., format de numero de telephone invalide).
429Limite de debit depassee. Voir Limites de debit.
502Le fournisseur WhatsApp a retourne une erreur. Consultez le message d’erreur pour plus de details.