Langkau ke kandungan
Wbiztool

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.

POSThttps://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."
  }'

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_idintegerwajib

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

api_keystringwajib

Kunci API anda dari halaman yang sama.

whatsapp_clientintegerWajib jika pemilik mempunyai lebih daripada satu nombor yang disambungkan

ID 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_namestringwajib

Nama kumpulan WhatsApp, ditulis tepat seperti yang dipaparkan dalam WhatsApp. Hantarkannya sebagai rentetan. Nombor JSON seperti 2024 memulangkan halaman ralat HTML (HTTP 500). Lihat Cara kumpulan dicari.

msg_typeintegerpilihan

0 teks (lalai), 1 imej, 2 fail atau dokumen.

msgstringWajib apabila msg_type ialah 0

Teks mesej. Untuk imej dan fail, ini ialah kapsyen dan boleh dibiarkan kosong. Format WhatsApp boleh digunakan: *bold*, _italic_, ~strikethrough~. message diterima sebagai alias.

Imej dan fail

img_urlstringWajib apabila msg_type ialah 1 dan tiada fail dimuat naik

URL http atau https awam bagi imej.

file_urlstringWajib apabila msg_type ialah 2 dan tiada fail dimuat naik

URL http atau https awam tempat fail boleh dimuat turun secara terus.

filefilepilihan

Muat naik imej atau fail dan bukannya memberikan URL. Hantar permintaan sebagai multipart/form-data dengan medan bernama file.

file_namestringpilihan

Nama 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_secondsintegerpilihan

Tandakan mesej sebagai tamat tempoh (status 4) jika ia belum dihantar dalam tempoh bilangan saat ini, contohnya 3600 untuk 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.

webhookstringpilihan

URL yang menerima POST apabila 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.

Imej dari URL
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"
  }'

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.

Python
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
}
MedanJenisPenerangan
statusinteger1 jika mesej telah dimasukkan ke dalam baris gilir, 0 jika permintaan gagal.
messagestringCreated jika berjaya, jika tidak, mesej ralat.
msg_idintegerID 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" }
MesejCara membetulkannya
Auth Error - Please send correct API key and Client idHantar api_key yang tidak kosong.
Invalid client id.Hantar client_id sebagai nombor.
Auth Error: invalid api keyPastikan kunci wujud, belum dipadam dan milik client_id ini.
Group Name cant be nullTambah group_name.
Msg cant be nullMesej teks (msg_type 0) memerlukan msg.
Image Url Can't be nullUntuk msg_type 1, hantar img_url atau muat naik file.
File Url Can't be nullUntuk msg_type 2, hantar file_url atau muat naik file.
Invalid file url, Can't download / Invalid file urlURL bukan awam, tamat masa, atau fail melebihi 100 MB.
Invalid whatsapp client NoneID 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 creditsPelan anda tiada baki mesej.
Demo Account can not access apisGunakan akaun biasa.
Account DisabledAkaun 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_name dalam integrasi anda juga.
  • Jenis mesej: hanya 0, 1 dan 2 ialah nilai yang sah untuk msg_type. Sebarang nilai yang bukan nombor bulat memulangkan halaman ralat HTML (HTTP 500) dan bukannya JSON.
  • Beberapa kumpulan sekali gus: Hantar ke beberapa nombor menerima nama kumpulan yang dicampur dengan nombor telefon dalam satu permintaan.