Langkau ke kandungan
Wbiztool

API mesej

API Batal Mesej

Batalkan mesej WhatsApp yang belum dihantar. Gunakannya untuk menghentikan peringatan yang dijadualkan selepas temu janji dibatalkan, atau untuk menarik balik mesej dalam baris gilir yang dihantar secara tersilap.

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

Body: JSON atau medan borang

Anda boleh membatalkan mana-mana mesej yang masih menunggu untuk dihantar (status 0, Created): mesej yang dijadualkan, dan mesej yang dimasukkan ke dalam baris gilir oleh Hantar mesej, Hantar ke kumpulan atau Hantar ke beberapa nombor. Mesej yang telah dihantar tidak boleh ditarik balik. Jika bot sedang menghantar mesej itu pada saat tersebut, mesej mungkin tetap dihantar, jadi untuk pembatalan yang kritikal, sahkan dengan Status mesej.

Contoh ringkas#

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

Gantikan 12345 dan YOUR_API_KEY dengan nilai anda sendiri, dan 9817263 dengan msg_id yang anda terima semasa menghantar atau menjadualkan mesej.

Parameter permintaan#

client_idintegerwajib

API Client ID anda dari Settings → API keys (Tetapan → Kunci API).

api_keystringwajib

Kunci API anda dari halaman yang sama.

msg_idintegerwajib

msg_id yang dipulangkan oleh permintaan hantar atau jadual. Ia mesti milik ruang kerja kunci API anda.

Endpoint ini tidak memerlukan whatsapp_client.

Menggunakan klien rasmi#

Klien Python dan Node.js memanggil endpoint ini untuk anda.

from wbiztool_client import WbizToolClient

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

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

Kedua-dua klien melontarkan ralat pada ralat pengesahan identiti (HTTP 400/403): Python menimbulkan requests.HTTPError, dan Node.js melontarkan API error: 400 - {…}. Balasan Msg has been … dipulangkan sebagai hasil biasa dengan status: 0.

Respons#

Permintaan yang berjaya memulangkan HTTP 200:

{
  "message": "Cancelled",
  "status": 1
}
MedanJenisPenerangan
statusinteger1 jika mesej telah dibatalkan, 0 jika tidak.
messagestringCancelled jika berjaya, jika tidak, sebabnya.

Selepas pembatalan, Status mesej melaporkan mesej sebagai 3 (Cancelled). Mesej yang dibatalkan tidak dihantar, tidak mencetuskan webhooknya dan tidak lagi dikira dalam baki kredit anda.

Ralat#

Kebanyakan ralat memulangkan HTTP 200 dengan status ditetapkan kepada 0, jadi sentiasa semak status dalam badan respons:

{ "message": "Msg has been Sent", "status": 0 }
MesejCara membetulkannya
Msg has been SentMesej telah pun dihantar. Ia tidak boleh dibatalkan.
Msg has been FailedMesej telah pun gagal, jadi tiada apa-apa untuk dibatalkan.
Msg has been CancelledMesej telah dibatalkan sebelum ini.
Msg has been ExpiredMesej tamat tempoh sebelum dihantar, jadi tiada apa-apa untuk dibatalkan.
No msg found for given msg_idSemak msg_id. Ia mesti nombor dan milik ruang kerja yang sama dengan kunci API anda.
Msg_id cant be nullTambah msg_id.
Auth ErrorHantar kedua-dua client_id dan api_key.
Invalid Client IdHantar client_id sebagai nombor. Dipulangkan dengan HTTP 403.
Auth Error: invalid api keyPastikan kunci wujud, belum dipadam dan milik client_id ini. Dipulangkan dengan HTTP 400.
Invalid JSON format: …Badan JSON tidak sah, selalunya kerana koma di hujung, atau anda menghantar medan borang tanpa client_id.
Objek kosong {}Badan JSON dihantar dengan kaedah selain POST.

Petua#

  • Simpan setiap msg_id: anda memerlukannya untuk membatalkan. Untuk Hantar ke beberapa nombor, batalkan setiap msg_id dalam respons secara berasingan.
  • Batalkan awal: sebaik sahaja mesej dihantar, ia kekal dihantar, jadi batalkan mesej yang dijadualkan sebaik sahaja anda tahu ia tidak lagi diperlukan.
  • Menjadualkan semula: tiada endpoint untuk menukar masa yang dijadualkan. Batalkan mesej dan jadualkan mesej baharu.
  • Anggap mesej yang sudah muktamad sebagai selesai: balasan Msg has been … bermaksud mesej tidak lagi berada dalam baris gilir, jadi anda tidak perlu mencuba semula.