Zum Inhalt springen
Wbiztool

Messaging-API

Nachricht stornieren (Cancel Message API)

Stornieren Sie eine WhatsApp-Nachricht, die noch nicht gesendet wurde. Nutzen Sie die API, um eine geplante Erinnerung nach einer Terminabsage zu stoppen oder eine versehentlich in die Warteschlange gestellte Nachricht zurückzuziehen.

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

Body: JSON oder Formularfelder

Sie können jede Nachricht stornieren, die noch auf den Versand wartet (Status 0, Created): geplante Nachrichten sowie Nachrichten, die über Nachricht senden, An Gruppe senden oder An mehrere Nummern senden in die Warteschlange gestellt wurden. Eine bereits gesendete Nachricht kann nicht zurückgerufen werden. Wenn ein Bot die Nachricht in diesem Moment bereits sendet, kann sie trotzdem noch rausgehen. Prüfen Sie bei kritischen Stornierungen daher mit Nachrichtenstatus nach.

Kurzes Beispiel#

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

Ersetzen Sie 12345 und YOUR_API_KEY durch Ihre eigenen Werte und 9817263 durch die msg_id, die Sie beim Senden oder Planen der Nachricht erhalten haben.

Request-Parameter#

client_idintegererforderlich

Ihre API-Client-ID aus Einstellungen → API-Schlüssel.

api_keystringerforderlich

Ihr API-Schlüssel von derselben Seite.

msg_idintegererforderlich

Die msg_id, die der Sende- oder Planungs-Request zurückgegeben hat. Sie muss zum Arbeitsbereich Ihres API-Schlüssels gehören.

Dieser Endpoint benötigt kein whatsapp_client.

Offizielle Clients verwenden#

Die Clients für Python und Node.js rufen diesen Endpoint für Sie auf.

from wbiztool_client import WbizToolClient

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

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

Beide Clients lösen bei Authentifizierungsfehlern (HTTP 400/403) eine Ausnahme aus: Python wirft requests.HTTPError, Node.js wirft API error: 400 - {…}. Eine Antwort Msg has been … kommt dagegen als normales Ergebnis mit status: 0 zurück.

Antwort#

Ein erfolgreicher Request gibt HTTP 200 zurück:

{
  "message": "Cancelled",
  "status": 1
}
FeldTypBeschreibung
statusinteger1, wenn die Nachricht storniert wurde, 0, wenn nicht.
messagestringCancelled bei Erfolg, andernfalls der Grund.

Nach dem Stornieren meldet Nachrichtenstatus die Nachricht als 3 (Cancelled). Eine stornierte Nachricht wird nicht gesendet, löst ihren Webhook nicht aus und wird nicht mehr von Ihren verbleibenden Credits abgezogen.

Fehler#

Die meisten Fehler geben HTTP 200 mit status gleich 0 zurück. Prüfen Sie daher immer status im Body:

{ "message": "Msg has been Sent", "status": 0 }
MeldungLösung
Msg has been SentDie Nachricht wurde bereits gesendet. Sie kann nicht storniert werden.
Msg has been FailedDie Nachricht ist bereits fehlgeschlagen, es gibt also nichts zu stornieren.
Msg has been CancelledDie Nachricht wurde bereits früher storniert.
Msg has been ExpiredDie Nachricht ist vor dem Versand abgelaufen, es gibt also nichts zu stornieren.
No msg found for given msg_idPrüfen Sie die msg_id. Sie muss eine Zahl sein und zum selben Arbeitsbereich wie Ihr API-Schlüssel gehören.
Msg_id cant be nullFügen Sie msg_id hinzu.
Auth ErrorSenden Sie client_id und api_key.
Invalid Client IdSenden Sie client_id als Zahl. Wird mit HTTP 403 zurückgegeben.
Auth Error: invalid api keyPrüfen Sie, ob der Schlüssel existiert, nicht gelöscht wurde und zu dieser client_id gehört. Wird mit HTTP 400 zurückgegeben.
Invalid JSON format: …Der JSON-Body ist ungültig, oft wegen eines abschließenden Kommas, oder Sie haben Formularfelder ohne client_id gesendet.
Leeres Objekt {}Ein JSON-Body wurde mit einer anderen Methode als POST gesendet.

Tipps#

  • Speichern Sie jede msg_id: Sie benötigen sie zum Stornieren. Bei An mehrere Nummern senden stornieren Sie jede msg_id aus der Antwort einzeln.
  • Frühzeitig stornieren: Eine gesendete Nachricht bleibt gesendet. Stornieren Sie geplante Nachrichten daher, sobald Sie wissen, dass sie nicht mehr benötigt werden.
  • Neu planen: Es gibt keinen Endpoint, um eine geplante Uhrzeit zu ändern. Stornieren Sie die Nachricht und planen Sie eine neue.
  • Bereits abgeschlossene Nachrichten als erledigt behandeln: Eine Antwort Msg has been … bedeutet, dass die Nachricht nicht mehr in der Warteschlange ist. Sie müssen es also nicht erneut versuchen.