コンテンツへスキップ
Wbiztool

メッセージングAPI

メッセージのキャンセルAPI

まだ送信されていないWhatsAppメッセージをキャンセルします。予約がキャンセルになったときに予約済みのリマインダーを止めたり、誤ってキューに登録したメッセージを取り消したりするのに利用できます。

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

リクエストボディ: JSONまたはフォームフィールド

送信待ちのメッセージ(ステータス0、Created)であれば、どれでもキャンセルできます。予約メッセージのほか、メッセージ送信グループに送信複数の番号に送信でキューに登録されたメッセージが対象です。すでに送信されたメッセージは取り消せません。その時点でボットがすでにメッセージを送信中の場合は、送信されてしまうことがあります。重要なキャンセルではメッセージのステータスで確認してください。

クイック例#

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

12345YOUR_API_KEYはご自身の値に、9817263はメッセージの送信時または予約時に受け取ったmsg_idに置き換えてください。

リクエストパラメータ#

client_idinteger必須

設定 → APIキーに表示されるAPIクライアントIDです。

api_keystring必須

同じページにあるAPIキーです。

msg_idinteger必須

送信リクエストまたは予約リクエストで返されたmsg_idです。APIキーのワークスペースに属している必要があります。

このエンドポイントではwhatsapp_clientは不要です。

公式クライアントを使う#

PythonNode.jsのクライアントは、このエンドポイントを代わりに呼び出します。

from wbiztool_client import WbizToolClient

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

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

どちらのクライアントも、認証エラー(HTTP 400/403)では例外を発生させます。Pythonは requests.HTTPError を送出し、Node.jsは API error: 400 - {…} をスローします。Msg has been … の応答は、status: 0 を含む通常の結果として返されます。

レスポンス#

リクエストが成功すると、HTTP 200が返ります。

{
  "message": "Cancelled",
  "status": 1
}
フィールド説明
statusintegerメッセージがキャンセルされた場合は1、キャンセルされなかった場合は0
messagestring成功時はCancelled、それ以外は理由。

キャンセル後、メッセージのステータスではそのメッセージは3(Cancelled)と表示されます。キャンセルされたメッセージは送信されず、Webhookも送信されず、残りクレジットからも差し引かれなくなります。

エラー#

ほとんどのエラーはHTTP 200で返り、status0になります。必ずボディのstatusを確認してください。

{ "message": "Msg has been Sent", "status": 0 }
メッセージ対処方法
Msg has been Sentメッセージはすでに送信されています。キャンセルできません。
Msg has been Failedメッセージはすでに失敗しているため、キャンセルするものはありません。
Msg has been Cancelledメッセージは以前にキャンセルされています。
Msg has been Expiredメッセージは送信前に期限切れになっているため、キャンセルするものはありません。
No msg found for given msg_idmsg_idを確認してください。数値で、APIキーと同じワークスペースに属している必要があります。
Msg_id cant be nullmsg_idを追加してください。
Auth Errorclient_idapi_keyの両方を送信してください。
Invalid Client Idclient_idを数値で送信してください。HTTP 403で返ります。
Auth Error: invalid api keyキーが存在し、削除されておらず、このclient_idに属していることを確認してください。HTTP 400で返ります。
Invalid JSON format: …JSONボディが無効(末尾のカンマが原因であることがよくあります)か、client_idなしでフォームフィールドを送信しています。
空のオブジェクト {}POST以外のメソッドでJSONボディが送信されました。

ヒント#

  • すべてのmsg_idを保存する:キャンセルにはmsg_idが必要です。複数の番号に送信の場合は、レスポンスの各msg_idを個別にキャンセルしてください。
  • 早めにキャンセルする:一度送信されたメッセージは取り消せないため、不要になったとわかった時点ですぐに予約メッセージをキャンセルしてください。
  • 予約し直す:予約時刻を変更するエンドポイントはありません。メッセージをキャンセルし、新しいメッセージを予約してください。
  • 最終状態のメッセージは完了として扱うMsg has been …という応答は、そのメッセージがすでにキューにないことを意味するため、再試行する必要はありません。