Vai al contenuto
Wbiztool

API di messaggistica

API Annulla messaggio

Annulla un messaggio WhatsApp che non è ancora stato inviato. Usala per fermare un promemoria pianificato dopo che un appuntamento è stato disdetto, o per ritirare un messaggio in coda inviato per errore.

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

Corpo: JSON o campi di un modulo

Puoi annullare qualsiasi messaggio ancora in attesa di invio (stato 0, Created): i messaggi pianificati e i messaggi messi in coda da Invia messaggio, Invia a un gruppo o Invia a più numeri. Un messaggio già inviato non può essere richiamato. Se un bot sta già inviando il messaggio in quel momento, potrebbe comunque partire: per gli annullamenti critici, verifica con Stato del messaggio.

Esempio rapido#

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

Sostituisci 12345 e YOUR_API_KEY con i tuoi valori, e 9817263 con il msg_id che hai ricevuto quando hai inviato o pianificato il messaggio.

Parametri della richiesta#

client_idintegerobbligatorio

Il tuo ID Client API, da Impostazioni → Chiavi API.

api_keystringobbligatorio

La tua chiave API, dalla stessa pagina.

msg_idintegerobbligatorio

Il msg_id restituito dalla richiesta di invio o di pianificazione. Deve appartenere allo spazio di lavoro della tua chiave API.

Questo endpoint non richiede whatsapp_client.

Usare i client ufficiali#

I client per Python e Node.js chiamano questo endpoint per te.

from wbiztool_client import WbizToolClient

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

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

Entrambi i client generano un'eccezione sugli errori di autenticazione (HTTP 400/403): Python solleva requests.HTTPError e Node.js lancia API error: 400 - {…}. Una risposta Msg has been … viene restituita come risultato normale con status: 0.

Risposta#

Una richiesta riuscita restituisce HTTP 200:

{
  "message": "Cancelled",
  "status": 1
}
CampoTipoDescrizione
statusinteger1 se il messaggio è stato annullato, 0 in caso contrario.
messagestringCancelled in caso di successo, altrimenti il motivo.

Dopo l'annullamento, Stato del messaggio riporta il messaggio come 3 (Cancelled). Un messaggio annullato non viene inviato, non attiva il suo webhook e non viene più conteggiato sui tuoi crediti rimanenti.

Errori#

La maggior parte degli errori restituisce HTTP 200 con status impostato su 0, quindi controlla sempre status nel corpo:

{ "message": "Msg has been Sent", "status": 0 }
MessaggioCome risolvere
Msg has been SentIl messaggio è già stato inviato. Non può essere annullato.
Msg has been FailedL'invio del messaggio è già fallito, quindi non c'è nulla da annullare.
Msg has been CancelledIl messaggio è stato annullato in precedenza.
Msg has been ExpiredIl messaggio è scaduto prima di essere inviato, quindi non c'è nulla da annullare.
No msg found for given msg_idControlla il msg_id. Deve essere un numero e appartenere allo stesso spazio di lavoro della tua chiave API.
Msg_id cant be nullAggiungi msg_id.
Auth ErrorInvia sia client_id sia api_key.
Invalid Client IdInvia client_id come numero. Restituito con HTTP 403.
Auth Error: invalid api keyVerifica che la chiave esista, non sia stata eliminata e appartenga a questo client_id. Restituito con HTTP 400.
Invalid JSON format: …Il corpo JSON non è valido, spesso a causa di una virgola finale, oppure hai inviato campi di un modulo senza client_id.
Oggetto vuoto {}È stato inviato un corpo JSON con un metodo diverso da POST.

Suggerimenti#

  • Salva ogni msg_id: ti serve per annullare. Per Invia a più numeri, annulla separatamente ogni msg_id della risposta.
  • Annulla per tempo: una volta inviato, un messaggio resta inviato, quindi annulla i messaggi pianificati non appena sai che non servono più.
  • Ripianificazione: non esiste un endpoint per modificare un orario pianificato. Annulla il messaggio e pianificane uno nuovo.
  • Considera concluso un messaggio già in stato finale: una risposta Msg has been … significa che il messaggio non è più in coda, quindi non serve riprovare.