Mesajlaşma API'si
Mesaj iptal etme API'si
Henüz gönderilmemiş bir WhatsApp mesajını iptal edin. Bir randevu iptal edildikten sonra zamanlanmış bir hatırlatmayı durdurmak veya yanlışlıkla kuyruğa alınmış bir mesajı geri çekmek için kullanın.
https://wbiztool.com/api/v1/cancel_msg/Gövde: JSON veya form alanları
Hâlâ gönderilmeyi bekleyen her mesajı (durum 0, Created) iptal edebilirsiniz: zamanlanmış mesajlar ve Mesaj gönderme, Gruba gönderme veya Birden fazla numaraya gönderme ile kuyruğa alınan mesajlar. Gönderilmiş bir mesaj geri alınamaz. O anda bir bot mesajı zaten gönderiyorsa mesaj yine de gidebilir; bu yüzden kritik iptallerde Mesaj durumu ile doğrulayın.
Hızlı örnek#
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
}'import requests
response = requests.post(
"https://wbiztool.com/api/v1/cancel_msg/",
json={
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"msg_id": 9817263,
},
timeout=60,
)
result = response.json() # read the body even when the HTTP code is 400
if result.get("status") == 1:
print("Message cancelled")
else:
print("Not cancelled:", result.get("message", "no message in response"))// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const response = await fetch("https://wbiztool.com/api/v1/cancel_msg/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
client_id: 12345,
api_key: "YOUR_API_KEY",
msg_id: 9817263,
}),
});
const result = await response.json(); // read the body even when the HTTP code is 400
if (result.status === 1) {
console.log("Message cancelled");
} else {
console.error("Not cancelled:", result.message ?? "no message in response");
}<?php
$payload = [
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
'msg_id' => 9817263,
];
$ch = curl_init('https://wbiztool.com/api/v1/cancel_msg/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (($result['status'] ?? 0) === 1) {
echo 'Message cancelled';
} else {
echo 'Not cancelled: ' . ($result['message'] ?? 'no message in response');
}12345 ve YOUR_API_KEY değerlerini kendi değerlerinizle, 9817263 değerini de mesajı gönderirken veya zamanlarken aldığınız msg_id ile değiştirin.
İstek parametreleri#
client_idintegerzorunluAyarlar → API anahtarları sayfasındaki API Client ID'niz.
api_keystringzorunluAynı sayfadaki API anahtarınız.
msg_idintegerzorunluGönderme veya zamanlama isteğinin döndürdüğü
msg_id. API anahtarınızın çalışma alanına ait olmalıdır.
Bu endpoint whatsapp_client gerektirmez.
Resmi istemcileri kullanma#
Python ve Node.js istemcileri bu endpoint'i sizin için çağırır.
from wbiztool_client import WbizToolClient
client = WbizToolClient(api_key="YOUR_API_KEY", client_id=12345)
result = client.cancel_message(msg_id=9817263)
print(result)const { WbizToolClient } = require("wbiztool-client");
const client = new WbizToolClient({
clientId: 12345,
apiKey: "YOUR_API_KEY",
whatsappClient: 678, // required by the client's constructor, not used by this endpoint
});
(async () => {
const result = await client.cancelMessage(9817263);
console.log(result);
})().catch(console.error);Her iki istemci de kimlik doğrulama hatalarında (HTTP 400/403) hata fırlatır: Python requests.HTTPError fırlatır, Node.js ise API error: 400 - {…} fırlatır. Msg has been … yanıtı, status: 0 ile normal bir sonuç olarak döner.
Yanıt#
Başarılı bir istek HTTP 200 döndürür:
{
"message": "Cancelled",
"status": 1
}
| Alan | Tür | Açıklama |
|---|---|---|
status | integer | Mesaj iptal edildiyse 1, edilmediyse 0. |
message | string | Başarıda Cancelled, aksi halde nedeni. |
İptalden sonra Mesaj durumu mesajı 3 (Cancelled – İptal edildi) olarak bildirir. İptal edilen bir mesaj gönderilmez, webhook'unu tetiklemez ve artık kalan kredilerinizden düşülmez.
Hatalar#
Çoğu hata, status değeri 0 olarak HTTP 200 döndürür; bu yüzden gövdedeki status değerini her zaman kontrol edin:
{ "message": "Msg has been Sent", "status": 0 }
| Mesaj | Nasıl düzeltilir |
|---|---|
Msg has been Sent | Mesaj zaten gönderildi. İptal edilemez. |
Msg has been Failed | Mesaj zaten başarısız oldu, iptal edilecek bir şey yok. |
Msg has been Cancelled | Mesaj daha önce iptal edildi. |
Msg has been Expired | Mesajın süresi gönderilmeden önce doldu, iptal edilecek bir şey yok. |
No msg found for given msg_id | msg_id değerini kontrol edin. Bir sayı olmalı ve API anahtarınızla aynı çalışma alanına ait olmalıdır. |
Msg_id cant be null | msg_id ekleyin. |
Auth Error | client_id ve api_key değerlerinin ikisini de gönderin. |
Invalid Client Id | client_id değerini sayı olarak gönderin. HTTP 403 ile döner. |
Auth Error: invalid api key | Anahtarın mevcut olduğunu, silinmediğini ve bu client_id değerine ait olduğunu kontrol edin. HTTP 400 ile döner. |
Invalid JSON format: … | JSON gövdesi geçerli değil (genellikle sondaki bir virgül nedeniyle) veya form alanlarını client_id olmadan gönderdiniz. |
Boş nesne {} | Bir JSON gövdesi POST dışında bir yöntemle gönderildi. |
İpuçları#
- Her
msg_iddeğerini kaydedin: iptal etmek için gerekir. Birden fazla numaraya gönderme için yanıttaki hermsg_iddeğerini ayrı ayrı iptal edin. - Erken iptal edin: gönderilen bir mesaj gönderilmiş olarak kalır; bu yüzden zamanlanmış mesajlara artık gerek olmadığını öğrenir öğrenmez iptal edin.
- Yeniden zamanlama: zamanlanmış saati değiştiren bir endpoint yoktur. Mesajı iptal edin ve yeni bir mesaj zamanlayın.
- Zaten son durumda olan mesajları tamamlanmış sayın:
Msg has been …yanıtı mesajın artık kuyrukta olmadığı anlamına gelir; yeniden denemenize gerek yoktur.
