Langsung ke konten
Wbiztool

API Pesan

API Kirim Pesan ke Grup WhatsApp

Kirim teks, gambar, atau dokumen WhatsApp ke grup WhatsApp yang beranggotakan nomor Anda yang terhubung. Gunakan untuk pengumuman tim, update komunitas, dan notifikasi siaran.

POSThttps://wbiztool.com/api/v1/send_msg/group/

Body: JSON, field formulir, atau multipart/form-data saat mengunggah file

Pesan masuk antrean dan dikirim ke grup dari nomor WhatsApp Anda. Respons memberi Anda msg_id yang dapat digunakan untuk memeriksa statusnya.

Contoh singkat#

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

Ganti 12345, YOUR_API_KEY, dan 678 dengan nilai Anda sendiri. Lihat Autentikasi untuk mengetahui di mana menemukannya.

Parameter request#

Autentikasi

client_idintegerwajib

API Client ID Anda dari Settings → API keys (Pengaturan → Kunci API).

api_keystringwajib

API key Anda dari halaman yang sama.

whatsapp_clientintegerWajib jika pemilik memiliki lebih dari satu nomor yang terhubung

ID nomor WhatsApp yang digunakan untuk mengirim, dari WhatsApp settings (pengaturan WhatsApp). Nomor ini harus milik pemilik workspace. Jika tidak dikirim dan pemilik memiliki tepat satu nomor yang terhubung, nomor tersebut yang digunakan.

Grup dan pesan

group_namestringwajib

Nama grup WhatsApp, ditulis persis seperti yang tampil di WhatsApp. Kirim sebagai string. Angka JSON seperti 2024 mengembalikan halaman error HTML (HTTP 500). Lihat Cara grup ditemukan.

msg_typeintegeropsional

0 teks (default), 1 gambar, 2 file atau dokumen.

msgstringWajib jika msg_type bernilai 0

Teks pesan. Untuk gambar dan file, ini adalah keterangan (caption) dan boleh kosong. Format WhatsApp berfungsi: *bold*, _italic_, ~strikethrough~. message diterima sebagai alias.

Gambar dan file

img_urlstringWajib jika msg_type bernilai 1 dan tidak ada file yang diunggah

URL http atau https publik dari gambar.

file_urlstringWajib jika msg_type bernilai 2 dan tidak ada file yang diunggah

URL http atau https publik tempat file dapat diunduh secara langsung.

filefileopsional

Unggah gambar atau file sebagai ganti URL. Kirim request sebagai multipart/form-data dengan field bernama file.

file_namestringopsional

Nama file yang dilihat grup, misalnya price-list.pdf. Ekstensinya menentukan cara file dikirim, jadi sertakan ekstensi. Nama dikirim dalam huruf kecil, karakter seperti & : ? * $ ; diganti dengan _, dan dipotong menjadi 150 karakter. Jika tidak dikirim, nama diambil dari URL atau file yang diunggah.

Opsi pengiriman

expire_after_secondsintegeropsional

Tandai pesan sebagai kedaluwarsa (status 4) jika belum terkirim dalam jumlah detik ini, misalnya 3600 untuk satu jam. Proses latar belakang melakukannya paling cepat 30 detik setelah batas waktu, jadi jangan mengandalkannya untuk batas waktu yang lebih pendek dari satu menit.

webhookstringopsional

URL yang menerima POST ketika pesan terkirim atau gagal. Payload-nya sama seperti pada Kirim pesan.

Gambar dan file mengikuti aturan yang sama seperti Kirim pesan: URL diunduh saat Anda memanggil API (hingga 100 MB). Saat pesan dikirim, gambar lebih dari 16 MB dan video lebih dari 64 MB gagal, audio WAV dan OGG tidak didukung, dan file (msg_type 2) tanpa ekstensi yang didukung ditambahi .pdf, termasuk file yang diunggah. Nama file dikirim dalam huruf kecil. Lihat Mengirim gambar dan file untuk daftar lengkap ekstensi dan error.

Untuk mengunggah file, gunakan contoh multipart di Kirim pesan, dengan mengganti URL menjadi /api/v1/send_msg/group/ serta phone/country_code menjadi group_name.

Gambar 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 grup ditemukan#

Wbiztool tidak memeriksa nama grup saat Anda memanggil API. Saat pesan sedang dikirim, Wbiztool mencari group_name di chat WhatsApp Anda dan membuka hasil pertama. Karena itu:

  • Nomor WhatsApp Anda yang terhubung harus menjadi anggota grup.
  • Gunakan nama grup lengkap persis seperti yang ditampilkan WhatsApp, termasuk emoji dan tanda baca. Spasi di awal dan akhir diabaikan.
  • Buat nama yang unik. Nama yang pendek atau sebagian bisa cocok dengan chat lain yang muncul lebih dulu di hasil pencarian.
  • Jika tidak ada yang cocok, jika hanya admin yang dapat mengirim pesan di grup dan nomor Anda bukan admin, atau jika hanya admin komunitas yang dapat memposting, pesan gagal dengan error Group not found.
  • Jika nomor Anda sudah keluar dari grup, pesan gagal dengan error Group member blocked.

Masalah grup tidak muncul di respons API. Gunakan webhook atau Status pesan untuk mengetahui apakah pesan sudah terkirim.

Menggunakan klien resmi#

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)

Error memunculkan requests.HTTPError. Baca penyebabnya dengan e.response.json()["message"].

Respons#

Request yang berhasil mengembalikan HTTP 200:

{
  "status": 1,
  "message": "Created",
  "msg_id": 9817263
}
FieldTipeDeskripsi
statusinteger1 jika pesan masuk antrean, 0 jika request gagal.
messagestringCreated jika berhasil, selain itu berisi error.
msg_idintegerID pesan dalam antrean. Simpan untuk memeriksa status nanti. Hanya ada jika berhasil.

"status": 1 berarti pesan sudah masuk antrean, belum tentu sudah sampai ke grup. Gunakan webhook atau Status pesan untuk memastikan pesan sudah terkirim.

Error#

Error mengembalikan HTTP 400 dengan status bernilai 0:

{ "status": 0, "message": "Group Name cant be null" }
PesanCara memperbaikinya
Auth Error - Please send correct API key and Client idKirim api_key yang tidak kosong.
Invalid client id.Kirim client_id sebagai angka.
Auth Error: invalid api keyPastikan key tersebut ada, belum dihapus, dan milik client_id ini.
Group Name cant be nullTambahkan group_name.
Msg cant be nullPesan teks (msg_type 0) memerlukan msg.
Image Url Can't be nullUntuk msg_type 1, kirim img_url atau unggah file.
File Url Can't be nullUntuk msg_type 2, kirim file_url atau unggah file.
Invalid file url, Can't download / Invalid file urlURL tidak publik, waktu habis (timeout), atau file lebih dari 100 MB.
Invalid whatsapp client NoneID whatsapp_client tersebut bukan milik pemilik workspace. Lihat peringatan di atas.
Invalid whatsapp client id.Kirim whatsapp_client. Parameter ini wajib kecuali pemilik memiliki tepat satu nomor yang terhubung.
Not enough creditsPaket Anda sudah tidak memiliki sisa pesan.
Demo Account can not access apisGunakan akun biasa.
Account DisabledAkun Anda dinonaktifkan. Hubungi dukungan.
Invalid JSON format: …Body JSON tidak valid, sering kali karena koma di akhir atau baris baru tanpa escape di msg. Gunakan \n untuk baris baru.

Tips#

  • Uji nama grup terlebih dahulu: kirim teks singkat ke grup dan periksa Status pesan sebelum mengotomatiskan apa pun.
  • Grup yang diganti namanya: jika seseorang mengganti nama grup di WhatsApp, perbarui juga group_name di integrasi Anda.
  • Jenis pesan: hanya 0, 1, dan 2 yang merupakan nilai valid untuk msg_type. Nilai apa pun yang bukan bilangan bulat mengembalikan halaman error HTML (HTTP 500), bukan JSON.
  • Beberapa grup sekaligus: Kirim ke banyak nomor menerima nama grup yang dicampur dengan nomor telepon dalam satu request.