Voir en Markdown

Envoyer des messages

POST /whatsapp/messages

Le champ type choisit le format ; l'objet de contenu correspondant est requis.

Texte

{
  "to": "+2250700000000",
  "type": "text",
  "text": { "body": "Votre devis est prêt" }
}

Modèle approuvé

Le seul format délivré hors de la fenêtre de 24 heures.

{
  "to": "+2250700000000",
  "type": "template",
  "templateName": "recu_paiement",
  "templateLanguage": "fr",
  "variables": {
    "body": { "1": "Ibrahima", "2": "45 000 FCFA" }
  },
  "client_ref": "facture-2026-0912"
}

Les variables sont groupées par composant : header, body, footer, buttons. Les clés sont les numéros des marqueurs du modèle.

La fenêtre de 24 heures

WhatsApp n'autorise un message libre que dans les 24 heures suivant le dernier message du client. Au-delà, seul un modèle approuvé passe. C'est une règle de WhatsApp, pas de Fiitsa, et aucune API ne peut la contourner.

En pratique : pour un devis ou un reçu envoyé à l'initiative de ton application, il te faut un modèle.

client_ref

Champ libre, jusqu'à 128 caractères, renvoyé tel quel dans le webhook de statut. C'est lui qui permet de rattacher une livraison à ta facture sans tenir une table de correspondance des identifiants WhatsApp.

Types disponibles

text, template, image, video, audio, document, sticker, location, location_request, address, contacts, reaction, list, reply_buttons, cta_url, flow, carousel, product, product_list, catalog_message.

Marquer comme lu

POST /whatsapp/messages/read
{ "messageId": "wamid.HBgMMjI1MDcwMDAwMDAw" }