Aller au contenu
Wbiztool

API de messagerie

API d'annulation de messages

Annulez un message WhatsApp qui n'a pas encore été envoyé. Utilisez-la pour arrêter un rappel planifié après l'annulation d'un rendez-vous, ou pour retirer un message mis en file d'attente par erreur.

POSThttps://wbiztool.com/api/v1/cancel_msg/

Corps: JSON ou champs de formulaire

Vous pouvez annuler tout message encore en attente d'envoi (statut 0, Created) : les messages planifiés, ainsi que les messages mis en file d'attente par Envoyer un message, Envoyer à un groupe ou Envoyer à plusieurs numéros. Un message déjà envoyé ne peut pas être rappelé. Si un bot est déjà en train d'envoyer le message à ce moment-là, il peut quand même partir : pour les annulations critiques, vérifiez avec Statut du message.

Exemple rapide#

curl -X POST https://wbiztool.com/api/v1/cancel_msg/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "msg_id": 9817263
  }'

Remplacez 12345 et YOUR_API_KEY par vos propres valeurs, et 9817263 par le msg_id obtenu lors de l'envoi ou de la planification du message.

Paramètres de la requête#

client_idintegerobligatoire

Votre ID client API, dans Paramètres → Clés API.

api_keystringobligatoire

Votre clé API, sur cette même page.

msg_idintegerobligatoire

Le msg_id renvoyé par la requête d'envoi ou de planification. Il doit appartenir à l'espace de travail de votre clé API.

Cet endpoint ne nécessite pas whatsapp_client.

Utiliser les clients officiels#

Les clients Python et Node.js appellent cet endpoint pour vous.

from wbiztool_client import WbizToolClient

client = WbizToolClient(api_key="YOUR_API_KEY", client_id=12345)

result = client.cancel_message(msg_id=9817263)
print(result)

Les deux clients lèvent une exception en cas d'erreur d'authentification (HTTP 400/403) : Python lève requests.HTTPError, et Node.js lève API error: 400 - {…}. Une réponse Msg has been … est renvoyée comme un résultat normal avec status: 0.

Réponse#

Une requête réussie renvoie le code HTTP 200 :

{
  "message": "Cancelled",
  "status": 1
}
ChampTypeDescription
statusinteger1 si le message a été annulé, 0 sinon.
messagestringCancelled en cas de succès, sinon la raison.

Après l'annulation, Statut du message indique le message comme 3 (Cancelled). Un message annulé n'est pas envoyé, ne déclenche pas son webhook et n'est plus déduit de vos crédits restants.

Erreurs#

La plupart des erreurs renvoient le code HTTP 200 avec status à 0 : vérifiez donc toujours status dans le corps.

{ "message": "Msg has been Sent", "status": 0 }
MessageComment corriger
Msg has been SentLe message a déjà été envoyé. Il ne peut pas être annulé.
Msg has been FailedLe message a déjà échoué : il n'y a rien à annuler.
Msg has been CancelledLe message a déjà été annulé auparavant.
Msg has been ExpiredLe message a expiré avant d'être envoyé : il n'y a rien à annuler.
No msg found for given msg_idVérifiez le msg_id. Il doit être un nombre et appartenir au même espace de travail que votre clé API.
Msg_id cant be nullAjoutez msg_id.
Auth ErrorEnvoyez à la fois client_id et api_key.
Invalid Client IdEnvoyez client_id sous forme de nombre. Renvoyé avec le code HTTP 403.
Auth Error: invalid api keyVérifiez que la clé existe, n'a pas été supprimée et appartient à ce client_id. Renvoyé avec le code HTTP 400.
Invalid JSON format: …Le corps JSON n'est pas valide, souvent à cause d'une virgule finale, ou vous avez envoyé des champs de formulaire sans client_id.
Objet vide {}Un corps JSON a été envoyé avec une méthode autre que POST.

Conseils#

  • Enregistrez chaque msg_id : vous en avez besoin pour annuler. Pour Envoyer à plusieurs numéros, annulez séparément chaque msg_id de la réponse.
  • Annulez tôt : une fois envoyé, un message le reste ; annulez donc les messages planifiés dès que vous savez qu'ils ne sont plus nécessaires.
  • Replanification : aucun endpoint ne permet de modifier une heure planifiée. Annulez le message et planifiez un nouveau message.
  • Considérez les messages déjà finalisés comme traités : une réponse Msg has been … signifie que le message n'est plus dans la file d'attente ; inutile de réessayer.