API mesej
API Hantar Mesej ke Kumpulan WhatsApp
Hantar teks, imej atau dokumen WhatsApp ke kumpulan WhatsApp yang disertai oleh nombor anda yang disambungkan. Gunakannya untuk pengumuman pasukan, kemas kini komuniti dan notifikasi siaran.
https://wbiztool.com/api/v1/send_msg/group/Body: JSON, medan borang, atau multipart/form-data semasa memuat naik fail
Mesej dimasukkan ke dalam baris gilir dan dihantar ke kumpulan dari nombor WhatsApp anda. Respons memberikan msg_id yang boleh anda gunakan untuk menyemak statusnya.
Contoh ringkas#
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');
}Gantikan 12345, YOUR_API_KEY dan 678 dengan nilai anda sendiri. Lihat Pengesahan identiti untuk mengetahui di mana nilai ini boleh didapati.
Parameter permintaan#
Pengesahan identiti
client_idintegerwajibAPI Client ID anda dari Settings → API keys (Tetapan → Kunci API).
api_keystringwajibKunci API anda dari halaman yang sama.
whatsapp_clientintegerWajib jika pemilik mempunyai lebih daripada satu nombor yang disambungkanID nombor WhatsApp yang digunakan untuk menghantar, dari tetapan WhatsApp. Ia mesti nombor milik pemilik ruang kerja. Jika anda tidak menyertakannya dan pemilik mempunyai tepat satu nombor yang disambungkan, nombor itu akan digunakan.
Kumpulan dan mesej
group_namestringwajibNama kumpulan WhatsApp, ditulis tepat seperti yang dipaparkan dalam WhatsApp. Hantarkannya sebagai rentetan. Nombor JSON seperti
2024memulangkan halaman ralat HTML (HTTP500). Lihat Cara kumpulan dicari.msg_typeintegerpilihan0teks (lalai),1imej,2fail atau dokumen.msgstringWajib apabila msg_type ialah 0Teks mesej. Untuk imej dan fail, ini ialah kapsyen dan boleh dibiarkan kosong. Format WhatsApp boleh digunakan:
*bold*,_italic_,~strikethrough~.messagediterima sebagai alias.
Imej dan fail
img_urlstringWajib apabila msg_type ialah 1 dan tiada fail dimuat naikURL
httpatauhttpsawam bagi imej.file_urlstringWajib apabila msg_type ialah 2 dan tiada fail dimuat naikURL
httpatauhttpsawam tempat fail boleh dimuat turun secara terus.filefilepilihanMuat naik imej atau fail dan bukannya memberikan URL. Hantar permintaan sebagai
multipart/form-datadengan medan bernamafile.file_namestringpilihanNama fail yang dilihat oleh kumpulan, seperti
price-list.pdf. Sambungannya menentukan cara fail dihantar, jadi sertakan sambungan. Nama dihantar dalam huruf kecil, aksara seperti& : ? * $ ;digantikan dengan_, dan nama dipotong kepada 150 aksara. Jika anda tidak menyertakannya, nama diambil daripada URL atau fail yang dimuat naik.
Pilihan penghantaran
expire_after_secondsintegerpilihanTandakan mesej sebagai tamat tempoh (status
4) jika ia belum dihantar dalam tempoh bilangan saat ini, contohnya3600untuk satu jam. Tugas latar belakang melakukannya sekurang-kurangnya 30 saat selepas tarikh akhir, jadi jangan bergantung padanya untuk tarikh akhir yang kurang daripada satu minit.webhookstringpilihanURL yang menerima
POSTapabila mesej dihantar atau gagal. Muatannya sama seperti untuk Hantar mesej.
Imej dan fail mengikut peraturan yang sama seperti Hantar mesej: URL dimuat turun semasa anda memanggil API (sehingga 100 MB). Semasa mesej dihantar, imej melebihi 16 MB dan video melebihi 64 MB akan gagal, audio WAV dan OGG tidak disokong, dan fail (msg_type 2) tanpa sambungan yang disokong akan ditambah .pdf, termasuk fail yang dimuat naik. Nama fail dihantar dalam huruf kecil. Lihat Menghantar imej dan fail untuk senarai penuh sambungan dan ralat.
Untuk memuat naik fail, gunakan contoh multipart di Hantar mesej, dengan menggantikan URL kepada /api/v1/send_msg/group/ dan phone/country_code kepada group_name.
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);Cara kumpulan dicari#
Wbiztool tidak menyemak nama kumpulan semasa anda memanggil API. Semasa mesej dihantar, Wbiztool mencari group_name dalam sembang WhatsApp anda dan membuka hasil pertama. Oleh itu:
- Nombor WhatsApp anda yang disambungkan mesti menjadi ahli kumpulan itu.
- Gunakan nama penuh kumpulan tepat seperti yang dipaparkan oleh WhatsApp, termasuk emoji dan tanda baca. Ruang di awal dan di hujung diabaikan.
- Pastikan nama itu unik. Nama yang pendek atau separa boleh terpadan dengan sembang lain yang muncul dahulu dalam carian.
- Jika tiada yang sepadan, jika hanya pentadbir boleh menghantar mesej dalam kumpulan itu dan nombor anda bukan pentadbir, atau jika hanya pentadbir komuniti boleh menyiarkan, mesej akan gagal dengan ralat
Group not found. - Jika nombor anda telah keluar daripada kumpulan, mesej gagal dengan ralat
Group member blocked.
Masalah kumpulan tidak muncul dalam respons API. Gunakan webhook atau Status mesej untuk mengetahui sama ada mesej telah dihantar.
Menggunakan klien rasmi#
Klien Python memanggil endpoint ini untuk anda.
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)Ralat menimbulkan requests.HTTPError. Baca sebabnya dengan e.response.json()["message"].
Respons#
Permintaan yang berjaya memulangkan HTTP 200:
{
"status": 1,
"message": "Created",
"msg_id": 9817263
}
| Medan | Jenis | Penerangan |
|---|---|---|
status | integer | 1 jika mesej telah dimasukkan ke dalam baris gilir, 0 jika permintaan gagal. |
message | string | Created jika berjaya, jika tidak, mesej ralat. |
msg_id | integer | ID mesej dalam baris gilir. Simpan untuk menyemak status kemudian. Hanya ada jika berjaya. |
"status": 1 bermaksud mesej telah dimasukkan ke dalam baris gilir, bukan bermaksud ia sudah sampai ke kumpulan. Gunakan webhook atau Status mesej untuk mengesahkan bahawa ia telah dihantar.
Ralat#
Ralat memulangkan HTTP 400 dengan status ditetapkan kepada 0:
{ "status": 0, "message": "Group Name cant be null" }
| Mesej | Cara membetulkannya |
|---|---|
Auth Error - Please send correct API key and Client id | Hantar api_key yang tidak kosong. |
Invalid client id. | Hantar client_id sebagai nombor. |
Auth Error: invalid api key | Pastikan kunci wujud, belum dipadam dan milik client_id ini. |
Group Name cant be null | Tambah group_name. |
Msg cant be null | Mesej teks (msg_type 0) memerlukan msg. |
Image Url Can't be null | Untuk msg_type 1, hantar img_url atau muat naik file. |
File Url Can't be null | Untuk msg_type 2, hantar file_url atau muat naik file. |
Invalid file url, Can't download / Invalid file url | URL bukan awam, tamat masa, atau fail melebihi 100 MB. |
Invalid whatsapp client None | ID whatsapp_client itu bukan milik pemilik ruang kerja. Lihat amaran di atas. |
Invalid whatsapp client id. | Hantar whatsapp_client. Ia wajib kecuali pemilik mempunyai tepat satu nombor yang disambungkan. |
Not enough credits | Pelan anda tiada baki mesej. |
Demo Account can not access apis | Gunakan akaun biasa. |
Account Disabled | Akaun anda dinyahdayakan. Hubungi sokongan. |
Invalid JSON format: … | Badan JSON tidak sah, selalunya kerana koma di hujung atau pemisah baris yang tidak di-escape dalam msg. Gunakan \n untuk baris baharu. |
Petua#
- Uji nama dahulu: hantar teks ringkas ke kumpulan dan semak Status mesej sebelum anda mengautomasikan apa-apa.
- Kumpulan yang ditukar nama: jika seseorang menukar nama kumpulan dalam WhatsApp, kemas kini
group_namedalam integrasi anda juga. - Jenis mesej: hanya
0,1dan2ialah nilai yang sah untukmsg_type. Sebarang nilai yang bukan nombor bulat memulangkan halaman ralat HTML (HTTP500) dan bukannya JSON. - Beberapa kumpulan sekali gus: Hantar ke beberapa nombor menerima nama kumpulan yang dicampur dengan nombor telefon dalam satu permintaan.
