Mesajlaşma API'si
WhatsApp grubuna mesaj gönderme API'si
Bağlı numaranızın üyesi olduğu bir WhatsApp grubuna WhatsApp metni, görseli veya belgesi gönderin. Ekip duyuruları, topluluk güncellemeleri ve toplu bildirimler için kullanın.
https://wbiztool.com/api/v1/send_msg/group/Gövde: JSON, form alanları veya dosya yüklerken multipart/form-data
Mesaj kuyruğa alınır ve WhatsApp numaranızdan gruba gönderilir. Yanıt, durumunu kontrol etmek için kullanabileceğiniz bir msg_id verir.
Hızlı örnek#
curl -X POST https://wbiztool.com/api/v1/send_msg/group/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 0,
"group_name": "Sales Team Mumbai",
"msg": "Reminder: *weekly review* starts at 4 PM today."
}'import requests
response = requests.post(
"https://wbiztool.com/api/v1/send_msg/group/",
json={
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 0,
"group_name": "Sales Team Mumbai",
"msg": "Reminder: *weekly review* starts at 4 PM today.",
},
timeout=60,
)
result = response.json() # read the body even when the HTTP code is 400
if result.get("status") == 1:
print("Queued with msg_id", result["msg_id"])
else:
print("Failed:", result.get("message"))// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const response = await fetch("https://wbiztool.com/api/v1/send_msg/group/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
client_id: 12345,
api_key: "YOUR_API_KEY",
whatsapp_client: 678,
msg_type: 0,
group_name: "Sales Team Mumbai",
msg: "Reminder: *weekly review* starts at 4 PM today.",
}),
});
const result = await response.json(); // read the body even when the HTTP code is 400
if (result.status === 1) {
console.log("Queued with msg_id", result.msg_id);
} else {
console.error("Failed:", result.message);
}<?php
$payload = [
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
'whatsapp_client' => 678,
'msg_type' => 0,
'group_name' => 'Sales Team Mumbai',
'msg' => 'Reminder: *weekly review* starts at 4 PM today.',
];
$ch = curl_init('https://wbiztool.com/api/v1/send_msg/group/');
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 'Queued with msg_id ' . $result['msg_id'];
} else {
echo 'Failed: ' . ($result['message'] ?? 'no response');
}12345, YOUR_API_KEY ve 678 değerlerini kendi değerlerinizle değiştirin. Bunları nerede bulacağınız için Kimlik doğrulama bölümüne bakın.
İstek parametreleri#
Kimlik doğrulama
client_idintegerzorunluAyarlar → API anahtarları sayfasındaki API Client ID'niz.
api_keystringzorunluAynı sayfadaki API anahtarınız.
whatsapp_clientintegerSahibin birden fazla bağlı numarası varsa zorunluGönderimin yapılacağı WhatsApp numarasının ID'si; WhatsApp ayarları sayfasında bulunur. Çalışma alanı sahibine ait bir numara olmalıdır. Bu alanı göndermezseniz ve sahibin tam olarak bir bağlı numarası varsa, o numara kullanılır.
Grup ve mesaj
group_namestringzorunluWhatsApp grubunun adı; tam olarak WhatsApp'ta göründüğü gibi yazılmalıdır. Metin (string) olarak gönderin.
2024gibi bir JSON sayısı bir HTML hata sayfası (HTTP500) döndürür. Bkz. Grup nasıl bulunur.msg_typeintegeristeğe bağlı0metin (varsayılan),1görsel,2dosya veya belge.msgstringmsg_type 0 olduğunda zorunluMesaj metni. Görsel ve dosyalarda açıklama metnidir ve boş olabilir. WhatsApp biçimlendirmesi çalışır:
*bold*,_italic_,~strikethrough~.messageda takma ad olarak kabul edilir.
Görseller ve dosyalar
img_urlstringmsg_type 1 olduğunda ve dosya yüklenmediğinde zorunluGörselin herkese açık
httpveyahttpsURL'si.file_urlstringmsg_type 2 olduğunda ve dosya yüklenmediğinde zorunluDosyanın doğrudan indirilebileceği herkese açık
httpveyahttpsURL'si.filefileisteğe bağlıURL vermek yerine görseli veya dosyayı yükleyin. İsteği
multipart/form-dataolarak, alan adıfileolacak şekilde gönderin.file_namestringisteğe bağlıGrubun gördüğü dosya adı, örneğin
price-list.pdf. Dosyanın nasıl gönderileceğini uzantısı belirler, bu yüzden bir uzantı ekleyin. Küçük harflerle gönderilir,& : ? * $ ;gibi karakterler_ile değiştirilir ve 150 karaktere kısaltılır. Göndermezseniz ad URL'den veya yüklenen dosyadan alınır.
Teslimat seçenekleri
expire_after_secondsintegeristeğe bağlıMesaj bu kadar saniye içinde gönderilmediyse süresi dolmuş (durum
4) olarak işaretlenir; örneğin bir saat için3600. Bunu bir arka plan işi süre dolduktan en az 30 saniye sonra yapar; bu yüzden bir dakikadan kısa süreler için buna güvenmeyin.webhookstringisteğe bağlıMesaj gönderildiğinde veya başarısız olduğunda bir
POSTalan URL. İçerik, Mesaj gönderme ile aynıdır.
Görseller ve dosyalar, Mesaj gönderme ile aynı kurallara uyar: URL'ler API'yi çağırdığınızda indirilir (en fazla 100 MB). Mesaj gönderilirken 16 MB'tan büyük görseller ve 64 MB'tan büyük videolar başarısız olur, WAV ve OGG ses dosyaları desteklenmez ve desteklenen bir uzantısı olmayan dosyalara (msg_type 2) .pdf eklenir; yüklenen dosyalar da buna dahildir. Dosya adları küçük harflerle gönderilir. Uzantıların ve hataların tam listesi için Görsel ve dosya gönderme bölümüne bakın.
Dosya yüklemek için Mesaj gönderme sayfasındaki multipart örneklerini kullanın; URL'yi /api/v1/send_msg/group/ ile, phone/country_code alanlarını da group_name ile değiştirin.
curl -X POST https://wbiztool.com/api/v1/send_msg/group/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 1,
"group_name": "Sales Team Mumbai",
"img_url": "https://example.com/reports/weekly-sales.png",
"msg": "This week'\''s sales summary"
}'import requests
response = requests.post(
"https://wbiztool.com/api/v1/send_msg/group/",
json={
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 1,
"group_name": "Sales Team Mumbai",
"img_url": "https://example.com/reports/weekly-sales.png",
"msg": "This week's sales summary",
},
timeout=60,
)
print(response.json())// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const response = await fetch("https://wbiztool.com/api/v1/send_msg/group/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
client_id: 12345,
api_key: "YOUR_API_KEY",
whatsapp_client: 678,
msg_type: 1,
group_name: "Sales Team Mumbai",
img_url: "https://example.com/reports/weekly-sales.png",
msg: "This week's sales summary",
}),
});
console.log(await response.json());<?php
$ch = curl_init('https://wbiztool.com/api/v1/send_msg/group/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
'whatsapp_client' => 678,
'msg_type' => 1,
'group_name' => 'Sales Team Mumbai',
'img_url' => 'https://example.com/reports/weekly-sales.png',
'msg' => "This week's sales summary",
]),
CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch);
curl_close($ch);Grup nasıl bulunur#
Wbiztool, API'yi çağırdığınızda grup adını kontrol etmez. Mesaj gönderilirken Wbiztool, WhatsApp sohbetlerinizde group_name değerini arar ve ilk sonucu açar. Bu nedenle:
- Bağlı WhatsApp numaranız grubun üyesi olmalıdır.
- Grubun tam adını, emoji ve noktalama işaretleri dahil, WhatsApp'ta göründüğü gibi kullanın. Baştaki ve sondaki boşluklar yok sayılır.
- Adı benzersiz yapın. Kısa veya eksik bir ad, aramada önce görünen farklı bir sohbetle eşleşebilir.
- Hiçbir şey eşleşmezse, grupta yalnızca yöneticiler mesaj gönderebiliyorsa ve numaranız yönetici değilse ya da yalnızca topluluk yöneticileri paylaşım yapabiliyorsa, mesaj
Group not foundhatasıyla başarısız olur. - Numaranız gruptan ayrıldıysa, mesaj
Group member blockedhatasıyla başarısız olur.
Grup sorunları API yanıtında görünmez. Mesajın gönderilip gönderilmediğini öğrenmek için bir webhook veya Mesaj durumu kullanın.
Resmi istemciyi kullanma#
Python istemcisi 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.send_message_to_group(
group_name="Sales Team Mumbai",
msg="Reminder: weekly review starts at 4 PM today.",
whatsapp_client=678,
)
print(result)Hatalar requests.HTTPError fırlatır. Nedeni e.response.json()["message"] ile okuyun.
Yanıt#
Başarılı bir istek HTTP 200 döndürür:
{
"status": 1,
"message": "Created",
"msg_id": 9817263
}
| Alan | Tür | Açıklama |
|---|---|---|
status | integer | Mesaj kuyruğa alındıysa 1, istek başarısız olduysa 0. |
message | string | Başarıda Created, aksi halde hata mesajı. |
msg_id | integer | Kuyruğa alınan mesajın ID'si. Durumu daha sonra kontrol etmek için kaydedin. Yalnızca başarıda bulunur. |
"status": 1, mesajın gruba ulaştığı değil, kuyruğa alındığı anlamına gelir. Gönderildiğini doğrulamak için bir webhook veya Mesaj durumu kullanın.
Hatalar#
Hatalar, status değeri 0 olarak HTTP 400 döndürür:
{ "status": 0, "message": "Group Name cant be null" }
| Mesaj | Nasıl düzeltilir |
|---|---|
Auth Error - Please send correct API key and Client id | Boş olmayan bir api_key gönderin. |
Invalid client id. | client_id değerini sayı olarak gönderin. |
Auth Error: invalid api key | Anahtarın mevcut olduğunu, silinmediğini ve bu client_id değerine ait olduğunu kontrol edin. |
Group Name cant be null | group_name ekleyin. |
Msg cant be null | Metin mesajları (msg_type 0) msg gerektirir. |
Image Url Can't be null | msg_type 1 için img_url gönderin veya bir file yükleyin. |
File Url Can't be null | msg_type 2 için file_url gönderin veya bir file yükleyin. |
Invalid file url, Can't download / Invalid file url | URL herkese açık değil, zaman aşımına uğradı veya dosya 100 MB'tan büyük. |
Invalid whatsapp client None | Bu whatsapp_client ID'si çalışma alanı sahibine ait değil. Yukarıdaki uyarıya bakın. |
Invalid whatsapp client id. | whatsapp_client gönderin. Sahibin tam olarak bir bağlı numarası yoksa zorunludur. |
Not enough credits | Planınızda mesaj hakkı kalmadı. |
Demo Account can not access apis | Normal bir hesap kullanın. |
Account Disabled | Hesabınız devre dışı. Destekle iletişime geçin. |
Invalid JSON format: … | JSON gövdesi geçerli değil; genellikle sondaki bir virgül veya msg içindeki kaçışsız bir satır sonu nedeniyle. Yeni satırlar için \n kullanın. |
İpuçları#
- Önce adı test edin: herhangi bir şeyi otomatikleştirmeden önce gruba kısa bir metin gönderin ve Mesaj durumu ile kontrol edin.
- Adı değiştirilen gruplar: biri grubun adını WhatsApp'ta değiştirirse, entegrasyonunuzdaki
group_namedeğerini de güncelleyin. - Mesaj türleri:
msg_typeiçin yalnızca0,1ve2geçerli değerlerdir. Tam sayı olmayan herhangi bir değer JSON yerine bir HTML hata sayfası (HTTP500) döndürür. - Aynı anda birkaç grup: Birden fazla numaraya gönderme endpoint'i tek bir istekte telefon numaralarıyla karışık grup adlarını kabul eder.
