Langsung ke konten
Wbiztool

API Pengingat

API Buat pengingat

Buat pesan WhatsApp berulang yang dikirim secara otomatis sesuai jadwal. Gunakan untuk pengingat pembayaran, check-in mingguan, tindak lanjut harian, dan pesan lain yang berulang.

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

Body: JSON atau field formulir

Anda menentukan jadwal dengan ekspresi cron dan zona waktu. Setiap kali jadwal cocok, Wbiztool memasukkan pesan ke antrean untuk nomor telepon atau grup tersebut, sama seperti pesan yang dikirim dengan Kirim pesan. Pengingat yang Anda buat di sini juga muncul di halaman Reminders (Pengingat) di dashboard Anda, tempat Anda dapat menjeda atau mengeditnya.

Contoh singkat#

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

Pengingat ini dikirim pukul 10:00 waktu India setiap tanggal 1 setiap bulan. Ganti 12345, YOUR_API_KEY, dan 678 dengan nilai Anda sendiri. Lihat Autentikasi untuk mengetahui di mana menemukannya.

Parameter request#

Kirim parameter sebagai body JSON atau sebagai field formulir. Di JSON, kirim setiap nilai teks (api_key, reminder_name, phone, message, cron_expression, timezone, img_url, file_name) sebagai string.

Autentikasi

client_idintegerwajib

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

api_keystringwajib

API key Anda dari halaman yang sama.

Pengirim

whatsapp_clientintegeropsional

ID nomor WhatsApp yang digunakan untuk mengirim, dari WhatsApp settings (pengaturan WhatsApp). Jika tidak dikirim, atau ID tidak ada di workspace Anda, setiap pengingat dikirim dari nomor terhubung pertama di workspace Anda pada saat pengingat dijalankan.

Pengingat

reminder_namestringwajib

Nama pengingat, ditampilkan di halaman Reminders dan tersedia di pesan sebagai {reminder_name}.

phonestringwajib

Nomor WhatsApp penerima dengan kode negaranya, misalnya 919876543210. Tidak ada parameter country_code terpisah. Spasi, +, -, ., dan tanda kurung dihapus, dan angka 0 di depan dihapus (hingga dua angka nol di depan pada body JSON). Nilai yang tidak seluruhnya angka diperlakukan sebagai nama grup WhatsApp.

messagestringwajib

Teks pesan. Dapat berisi variabel template yang diisi setiap kali pengingat dijalankan. Format WhatsApp berfungsi: *bold*, _italic_, ~strikethrough~.

cron_expressionstringwajib

Kapan pesan dikirim, sebagai ekspresi cron lima field seperti 0 9 * * 1-5. Lihat Ekspresi cron.

timezonestringopsional

Zona waktu tempat ekspresi cron dijalankan, sebagai nama zona waktu IANA seperti Asia/Kolkata, America/New_York, atau Europe/London. Hilangkan untuk menggunakan UTC. String kosong mengembalikan Invalid timezone. Lihat Referensi zona waktu untuk daftar lengkapnya.

Gambar dan file

msg_typeintegeropsional

0 teks (default), 1 gambar, atau 2 file, dengan message sebagai keterangan (caption). Nilai lain diperlakukan sebagai 0.

img_urlstringWajib jika msg_type bernilai 1 atau 2

URL http atau https publik dari gambar, atau dari file untuk msg_type 2, hingga 1.000 karakter. URL ini diunduh setiap kali pengingat dijalankan, jadi pastikan tautannya tetap berfungsi. Anda dapat meng-host file dengan API Unggah media.

file_namestringWajib jika msg_type bernilai 2

Untuk msg_type 2, nama file beserta ekstensinya, hingga 100 karakter, misalnya invoice.pdf. Diabaikan untuk jenis pesan lainnya.

Ekspresi cron#

Ekspresi cron terdiri dari lima nilai yang dipisahkan spasi. Pengingat dijalankan setiap kali waktu saat ini di timezone cocok dengan kelima nilai tersebut:

┌───────── 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
SimbolArtiContoh
*Setiap nilai* di field jam berarti setiap jam.
,Daftar nilai9,18 di field jam berarti pukul 9:00 dan 18:00.
-Rentang1-5 di field hari dalam minggu berarti Senin sampai Jumat.
/Interval*/6 di field jam berarti setiap 6 jam.

Contoh umum#

EkspresiDijalankan
0 9 * * *Setiap hari pukul 9:00
0 9 * * 1-5Senin sampai Jumat pukul 9:00
0 9 * * 1Setiap Senin pukul 9:00
30 18 * * 0Setiap Minggu pukul 18:30
0 9,18 * * *Setiap hari pukul 9:00 dan 18:00
0 */6 * * *Setiap 6 jam, tepat di awal jam
*/30 9-17 * * 1-5Setiap 30 menit dari pukul 9:00 hingga 17:30, Senin sampai Jumat
0 9 1 * *Tanggal 1 setiap bulan pukul 9:00
0 10 15 * *Tanggal 15 setiap bulan pukul 10:00
0 8 1 1 *Setiap 1 Januari pukul 8:00

Waktu mengikuti timezone pengingat. Gunakan lima field saja: jangan tambahkan field detik atau singkatan seperti @daily.

Variabel template#

Placeholder berikut di message diganti setiap kali pengingat dijalankan. Tanggal dan jam mengikuti timezone pengingat.

VariabelDiganti denganContoh
{current_date}Tanggal2026-10-01
{current_date_formatted}Tanggal dalam kata-kata, hari diawali angka nolOctober 01, 2026
{current_time}Jam format 24 jam09:00:00
{current_time_12h}Jam format 12 jam09:00 AM
{current_datetime}Tanggal dan jam2026-10-01 09:00:00
{timezone}Nilai timezoneAsia/Kolkata
{timezone_short}Singkatan zona waktuIST
{reminder_name}Nilai reminder_nameMonthly rent reminder
{to_number}Nilai phone yang disimpan919876543210
{client_name}Nama pemilik workspace
{organisation_name}Nama workspace Anda

Pengingat gambar#

Pengingat gambar 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 mengirim field formulir, bukan JSON. Keduanya berfungsi.

Respons#

Request yang berhasil mengembalikan HTTP 200:

{
  "reminder_id": 3187,
  "message": "Reminder created successfully",
  "status": 1
}
FieldTipeDeskripsi
statusinteger1 jika pengingat dibuat, 0 jika request gagal.
messagestringReminder created successfully, selain itu berisi error.
reminder_idintegerID pengingat baru. Simpan untuk membatalkan pengingat nanti. Hanya ada jika berhasil.

Pengingat baru langsung aktif.

Error#

Error mengembalikan HTTP 400 dengan status bernilai 0, kecuali disebutkan lain:

{ "status": 0, "message": "Invalid timezone" }
PesanCara memperbaikinya
Invalid JSON format: …Body JSON tidak valid, sering kali karena koma di akhir atau baris baru tanpa escape di message. Gunakan \n untuk baris baru. Anda juga mendapatkan error ini untuk request formulir tanpa client_id, atau untuk request GET apa pun.
Invalid client id.Kirim client_id sebagai angka.
Reminder name cannot be nullTambahkan reminder_name.
Phone number cannot be nullTambahkan phone.
Message template cannot be nullTambahkan message.
Cron expression cannot be nullTambahkan cron_expression.
Auth Error - Please send correct API key and Client idKirim api_key yang tidak kosong.
Invalid cron expressionPastikan ekspresi memiliki lima field yang valid. Lihat Ekspresi cron.
Invalid timezoneGunakan nama IANA seperti Asia/Kolkata, bukan singkatan seperti IST.
Image URL cannot be null for image messagesUntuk msg_type 1, kirim img_url.
File URL cannot be null for file messagesUntuk msg_type 2, kirim file_name.
Auth Error: invalid api keyKey tersebut milik client_id lain.
Auth Error: please check client idKey tidak terhubung ke workspace. Buat key baru di workspace yang ingin Anda gunakan.
Demo Account cannot access APIsGunakan akun biasa.
Not enough creditsPaket Anda sudah tidak memiliki sisa pesan.
Upgrade your plan to use reminders featurePaket Anda tidak mencakup pengingat. Upgrade paket Anda.
WhatsApp Logged Out. Please Reconnect!!Nomor whatsapp_client terputus. Hubungkan kembali di WhatsApp settings.
Invalid WhatsApp client idKirim whatsapp_client sebagai angka.
Error creating reminder: … (HTTP 500)Pengingat tidak dapat disimpan. Periksa nilai yang Anda kirim, misalnya img_url maksimal 1.000 karakter dan file_name maksimal 100 karakter.

Cara pengingat dijalankan#

  • Jadwal diperiksa dalam timezone pengingat, dan pesan dimasukkan ke antrean ketika waktu saat ini cocok dengan ekspresi cron.
  • Setiap putaran membuat pesan biasa yang dikirim dari nomor WhatsApp Anda, jadi nomor tersebut harus tetap terhubung.
  • Sebuah putaran dilewati jika workspace Anda tidak memiliki sisa kredit, atau jika whatsapp_client tidak diisi dan tidak ada nomor di workspace Anda yang terhubung saat itu.
  • Jika whatsapp_client diisi, setiap putaran dimasukkan ke antrean nomor tersebut meskipun nomornya sudah terputus sejak itu, dan menunggu di sana. Tidak ada peralihan ke nomor lain.
  • Pengingat diperiksa secara berkala, tidak sampai ke hitungan detik, lalu pesan menunggu di antrean pengiriman seperti pesan lainnya. Jangan mengandalkan waktu yang persis. Jika pemeriksaan berjalan terlambat, putaran tersebut tetap dikirim hingga 10 menit terlambat (hingga 1 menit terlambat untuk putaran pertama pengingat); setelah itu putaran dilewati. Putaran yang sama tidak pernah dikirim dua kali.

Tips#

  • Lihat daftar dan bersihkan: dapatkan pengingat Anda beserta ID-nya dengan Daftar pengingat, dan hentikan salah satunya dengan Batalkan pengingat.
  • Menjeda dan mengedit tidak tersedia melalui API. Gunakan halaman Reminders di dashboard Anda.
  • Banyak pengingat sekaligus: halaman Reminders juga dapat mengimpor pengingat dari file CSV.
  • Baris baru di JSON: tulis sebagai \n di dalam message. Baris baru mentah membuat JSON tidak valid.