Référence API

Bac à sable

Simuler des messages reçus et des changements de statut, sans WhatsApp.

Voir cette page en Markdown

Simuler un message reçu d’un client (clé sandbox uniquement). Déclenche le webhook `message.received`.#

POST/sandbox/simulate/inbound-message

Authentification
Clé API (Bearer pk_…), ou session de la console (Bearer ses_… avec l'en-tête X-Environment-Id)
Portée requise
messages:send

Corps de la requête (JSON)

ChampTypeDescription
phoneNumberIdstringrequisIdentifiant d'un numéro de l'environnement sandbox.
fromstringrequisNuméro de l'expéditeur simulé, format international avec « + ».
textstringrequisTexte du message simulé.

Exemple

bash
curl -X POST "$INBOX_API/sandbox/simulate/inbound-message" \
  -H "Authorization: Bearer $INBOX_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phoneNumberId": "4d8e654e-d744-4bf3-8211-9ceffcccfe87",
    "from": "+237611111111",
    "text": "Bonjour, je voudrais déplacer mon rendez-vous"
  }'
Réponse · 201 Created
{
  "messageId": "3f3baf5a-f93e-42e8-8263-ce62dc4aadd6",
  "from": "237611111111",
  "status": "received",
  "simulated": true
}

Faire avancer le statut d’un message sortant (clé sandbox uniquement). Déclenche le webhook correspondant.#

POST/sandbox/simulate/message-status

Authentification
Clé API (Bearer pk_…), ou session de la console (Bearer ses_… avec l'en-tête X-Environment-Id)
Portée requise
messages:send

Corps de la requête (JSON)

ChampTypeDescription
messageIdstringrequisIdentifiant d'un message sortant de l'environnement sandbox.
statusstringrequisNouveau statut : sent, delivered, read ou failed. Un statut ne recule jamais, comme chez Meta.Valeurs : sent, delivered, read, failed

Exemple

bash
curl -X POST "$INBOX_API/sandbox/simulate/message-status" \
  -H "Authorization: Bearer $INBOX_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "messageId": "d5ad1e3e-6ab9-4f7f-8e4e-b17104a7bd00",
    "status": "delivered"
  }'
Réponse · 200 OK
{
  "messageId": "d5ad1e3e-6ab9-4f7f-8e4e-b17104a7bd00",
  "status": "delivered",
  "simulated": true
}