Langkau ke kandungan
Wbiztool

API peringatan

API Cipta Peringatan

Cipta mesej WhatsApp berulang yang dihantar secara automatik mengikut jadual. Gunakannya untuk peringatan bayaran, semakan mingguan, susulan harian dan mesej lain yang berulang.

POSThttps://wbiztool.com/api/v1/reminder/create/

Body: JSON atau medan borang

Anda menerangkan jadual dengan ungkapan cron dan zon waktu. Setiap kali jadual sepadan, Wbiztool memasukkan mesej ke dalam baris gilir untuk nombor telefon atau kumpulan, sama seperti mesej yang dihantar dengan Hantar mesej. Peringatan yang anda cipta di sini juga muncul di halaman Reminders (Peringatan) dalam papan pemuka anda, tempat anda boleh menjeda atau mengeditnya.

Contoh ringkas#

curl -X POST https://wbiztool.com/api/v1/reminder/create/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "whatsapp_client": 678,
    "reminder_name": "Monthly rent reminder",
    "phone": "919876543210",
    "message": "Hi Aman, a reminder that your rent is due on {current_date_formatted}.",
    "cron_expression": "0 10 1 * *",
    "timezone": "Asia/Kolkata"
  }'

Peringatan ini dihantar pada pukul 10:00 waktu India pada 1 haribulan setiap bulan. Gantikan 12345, YOUR_API_KEY dan 678 dengan nilai anda sendiri. Lihat Pengesahan identiti untuk mengetahui di mana nilai ini boleh didapati.

Parameter permintaan#

Hantar parameter sebagai badan JSON atau sebagai medan borang. Dalam JSON, hantar setiap nilai teks (api_key, reminder_name, phone, message, cron_expression, timezone, img_url, file_name) sebagai rentetan.

Pengesahan identiti

client_idintegerwajib

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

api_keystringwajib

Kunci API anda dari halaman yang sama.

Penghantar

whatsapp_clientintegerpilihan

ID nombor WhatsApp yang digunakan untuk menghantar, dari tetapan WhatsApp. Jika anda tidak menyertakannya, atau ID itu tiada dalam ruang kerja anda, setiap peringatan dihantar dari nombor pertama yang disambungkan dalam ruang kerja anda pada masa ia dijalankan.

Peringatan

reminder_namestringwajib

Nama untuk peringatan, dipaparkan di halaman Reminders dan boleh digunakan dalam mesej sebagai {reminder_name}.

phonestringwajib

Nombor WhatsApp penerima dengan kod negaranya, contohnya 919876543210. Tiada parameter country_code yang berasingan. Ruang, +, -, . dan kurungan dibuang, dan 0 di hadapan dibuang (sehingga dua sifar di hadapan dalam badan JSON). Nilai yang bukan digit sepenuhnya dianggap sebagai nama kumpulan WhatsApp.

messagestringwajib

Teks mesej. Ia boleh mengandungi pemboleh ubah templat yang diisi setiap kali peringatan dijalankan. Format WhatsApp boleh digunakan: *bold*, _italic_, ~strikethrough~.

cron_expressionstringwajib

Masa untuk menghantar, sebagai ungkapan cron lima medan seperti 0 9 * * 1-5. Lihat Ungkapan cron.

timezonestringpilihan

Zon waktu tempat ungkapan cron dijalankan, sebagai nama zon waktu IANA seperti Asia/Kolkata, America/New_York atau Europe/London. Jangan sertakannya untuk menggunakan UTC. Rentetan kosong memulangkan Invalid timezone. Lihat Rujukan zon waktu untuk senarai penuh.

Imej dan fail

msg_typeintegerpilihan

0 teks (lalai), 1 imej atau 2 fail, dengan message sebagai kapsyen. Sebarang nilai lain dianggap sebagai 0.

img_urlstringWajib apabila msg_type ialah 1 atau 2

URL http atau https awam bagi imej, atau bagi fail untuk msg_type 2, sehingga 1,000 aksara. Ia dimuat turun setiap kali peringatan dijalankan, jadi pastikan pautan itu terus berfungsi. Anda boleh mengehos fail dengan API Muat naik media.

file_namestringWajib apabila msg_type ialah 2

Untuk msg_type 2, nama fail beserta sambungannya, sehingga 100 aksara, contohnya invoice.pdf. Diabaikan untuk jenis mesej lain.

Ungkapan cron#

Ungkapan cron ialah lima nilai yang dipisahkan dengan ruang. Peringatan dijalankan apabila masa semasa dalam timezone sepadan dengan kesemua lima nilai:

┌───────── minute        (0-59)
│ ┌─────── hour          (0-23)
│ │ ┌───── day of month  (1-31)
│ │ │ ┌─── month         (1-12)
│ │ │ │ ┌─ day of week   (0-7, where 0 and 7 are Sunday)
│ │ │ │ │
0 9 * * 1-5
SimbolMaksudContoh
*Setiap nilai* dalam medan jam bermaksud setiap jam.
,Senarai nilai9,18 dalam medan jam bermaksud 9:00 dan 18:00.
-Julat1-5 dalam medan hari dalam minggu bermaksud Isnin hingga Jumaat.
/Langkah*/6 dalam medan jam bermaksud setiap 6 jam.

Contoh biasa#

UngkapanDijalankan
0 9 * * *Setiap hari pada 9:00
0 9 * * 1-5Isnin hingga Jumaat pada 9:00
0 9 * * 1Setiap Isnin pada 9:00
30 18 * * 0Setiap Ahad pada 18:30
0 9,18 * * *Setiap hari pada 9:00 dan 18:00
0 */6 * * *Setiap 6 jam, tepat pada awal jam
*/30 9-17 * * 1-5Setiap 30 minit dari 9:00 hingga 17:30, Isnin hingga Jumaat
0 9 1 * *1 haribulan setiap bulan pada 9:00
0 10 15 * *15 haribulan setiap bulan pada 10:00
0 8 1 1 *Setiap 1 Januari pada 8:00

Masa adalah dalam timezone peringatan. Gunakan lima medan sahaja: jangan tambah medan saat atau pintasan seperti @daily.

Pemboleh ubah templat#

Pemegang tempat ini dalam message digantikan setiap kali peringatan dijalankan. Tarikh dan masa adalah dalam timezone peringatan.

Pemboleh ubahDigantikan denganContoh
{current_date}Tarikh2026-10-01
{current_date_formatted}Tarikh dalam perkataan (bahasa Inggeris), hari dengan sifar di hadapanOctober 01, 2026
{current_time}Masa 24 jam09:00:00
{current_time_12h}Masa 12 jam09:00 AM
{current_datetime}Tarikh dan masa2026-10-01 09:00:00
{timezone}Nilai timezoneAsia/Kolkata
{timezone_short}Singkatan zon waktuIST
{reminder_name}Nilai reminder_nameMonthly rent reminder
{to_number}Nilai phone yang disimpan919876543210
{client_name}Nama pemilik ruang kerja
{organisation_name}Nama ruang kerja anda

Peringatan imej#

Peringatan imej mingguan
curl -X POST https://wbiztool.com/api/v1/reminder/create/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "whatsapp_client": 678,
    "reminder_name": "Weekly class timetable",
    "phone": "919876543210",
    "msg_type": 1,
    "img_url": "https://example.com/timetable.png",
    "message": "Here is this week'\''s timetable.",
    "cron_expression": "0 8 * * 1",
    "timezone": "Asia/Kolkata"
  }'

Contoh PHP menghantar medan borang dan bukannya JSON. Kedua-duanya berfungsi.

Respons#

Permintaan yang berjaya memulangkan HTTP 200:

{
  "reminder_id": 3187,
  "message": "Reminder created successfully",
  "status": 1
}
MedanJenisPenerangan
statusinteger1 jika peringatan telah dicipta, 0 jika permintaan gagal.
messagestringReminder created successfully, jika tidak, mesej ralat.
reminder_idintegerID peringatan baharu. Simpan untuk membatalkan peringatan kemudian. Hanya ada jika berjaya.

Peringatan baharu aktif serta-merta.

Ralat#

Ralat memulangkan HTTP 400 dengan status ditetapkan kepada 0, kecuali dinyatakan sebaliknya:

{ "status": 0, "message": "Invalid timezone" }
MesejCara membetulkannya
Invalid JSON format: …Badan JSON tidak sah, selalunya kerana koma di hujung atau pemisah baris yang tidak di-escape dalam message. Gunakan \n untuk baris baharu. Anda juga menerima ralat ini untuk permintaan borang tanpa client_id, atau untuk sebarang permintaan GET.
Invalid client id.Hantar client_id sebagai nombor.
Reminder name cannot be nullTambah reminder_name.
Phone number cannot be nullTambah phone.
Message template cannot be nullTambah message.
Cron expression cannot be nullTambah cron_expression.
Auth Error - Please send correct API key and Client idHantar api_key yang tidak kosong.
Invalid cron expressionPastikan ungkapan mempunyai lima medan yang sah. Lihat Ungkapan cron.
Invalid timezoneGunakan nama IANA seperti Asia/Kolkata, bukan singkatan seperti IST.
Image URL cannot be null for image messagesUntuk msg_type 1, hantar img_url.
File URL cannot be null for file messagesUntuk msg_type 2, hantar file_name.
Auth Error: invalid api keyKunci itu milik client_id yang lain.
Auth Error: please check client idKunci tidak dipautkan ke mana-mana ruang kerja. Cipta kunci baharu dalam ruang kerja yang anda mahu gunakan.
Demo Account cannot access APIsGunakan akaun biasa.
Not enough creditsPelan anda tiada baki mesej.
Upgrade your plan to use reminders featurePelan anda tidak termasuk peringatan. Naik taraf pelan anda.
WhatsApp Logged Out. Please Reconnect!!Nombor whatsapp_client terputus sambungan. Sambungkannya semula di tetapan WhatsApp.
Invalid WhatsApp client idHantar whatsapp_client sebagai nombor.
Error creating reminder: … (HTTP 500)Peringatan tidak dapat disimpan. Semak nilai yang anda hantar, contohnya pastikan img_url tidak melebihi 1,000 aksara dan file_name tidak melebihi 100 aksara.

Cara peringatan dijalankan#

  • Jadual disemak dalam timezone peringatan, dan mesej dimasukkan ke dalam baris gilir apabila masa semasa sepadan dengan ungkapan cron.
  • Setiap larian mencipta mesej biasa yang dihantar dari nombor WhatsApp anda, jadi nombor itu mesti kekal disambungkan.
  • Larian dilangkau jika ruang kerja anda tiada baki kredit, atau jika tiada whatsapp_client ditetapkan dan tiada nombor dalam ruang kerja anda yang disambungkan pada saat itu.
  • Jika whatsapp_client ditetapkan, setiap larian dimasukkan ke dalam baris gilir nombor itu walaupun ia telah terputus sambungan sejak itu, dan menunggu di sana. Tiada sandaran kepada nombor lain.
  • Peringatan disemak secara berkala, bukan tepat pada saatnya, dan mesej kemudiannya menunggu dalam baris gilir penghantaran seperti mesej lain. Jangan bergantung pada masa yang tepat. Jika semakan berjalan lewat, larian masih dihantar sehingga 10 minit lewat (sehingga 1 minit lewat untuk larian pertama peringatan); selepas itu ia dilangkau. Larian yang sama tidak akan dihantar dua kali.

Petua#

  • Senaraikan dan kemas: dapatkan peringatan anda dan ID-nya dengan Senarai peringatan, dan hentikan satu peringatan dengan Batal peringatan.
  • Menjeda dan mengedit tidak tersedia melalui API. Gunakan halaman Reminders dalam papan pemuka anda.
  • Banyak peringatan sekali gus: halaman Reminders juga boleh mengimport peringatan daripada fail CSV.
  • Baris baharu dalam JSON: tulis sebagai \n di dalam message. Pemisah baris mentah menjadikan JSON tidak sah.