Langkau ke kandungan
WbizTool

API v2 (beta)

Peringatan

Peringatan menghantar mesej yang sama kepada seorang penerima berulang kali mengikut jadual: sewa setiap bulan, kelas setiap Isnin, laporan setiap petang. Jadualnya ialah ungkapan cron 5 bahagian dalam zon waktu yang anda pilih. Peringatan yang dicipta dengan API sama seperti peringatan di halaman Peringatan dalam papan pemuka.

OperasiEndpointSkop
Cipta peringatanPOST /api/v2/remindersreminders
Senaraikan peringatanGET /api/v2/remindersreminders
Dapatkan peringatanGET /api/v2/reminders/{id}reminders
Ubah, jeda atau sambung semulaPATCH /api/v2/reminders/{id}reminders
Padam peringatanDELETE /api/v2/reminders/{id}reminders

Mencipta dan mengubah peringatan memerlukan pelan yang merangkumi peringatan; jika tidak, ia menjawab 403 plan_required. Menyenaraikan, membaca, menjeda dan memadam berfungsi pada mana-mana pelan. Untuk mesej yang dihantar sekali pada masa yang ditetapkan, gunakan send_at dalam Hantar mesej sebaliknya.

Cipta peringatan#

POSThttps://wbiztool.com/api/v2/reminders

Body: JSON (application/json)

curl -X POST https://wbiztool.com/api/v2/reminders \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: rent-flat-4b" \
  -d '{
    "name": "Weekly rent",
    "from": 101,
    "to": { "phone": "+919876543210" },
    "text": "Hi, a reminder that the rent is due on Friday.",
    "schedule": { "cron": "0 9 * * 1", "timezone": "Asia/Kolkata" }
  }'

Respons (201):

{
  "id": 812,
  "name": "Weekly rent",
  "active": true,
  "to": { "phone": "+919876543210" },
  "from": 101,
  "text": "Hi, a reminder that the rent is due on Friday.",
  "media": null,
  "schedule": { "cron": "0 9 * * 1", "timezone": "Asia/Kolkata" },
  "next_run_at": "2026-10-19T09:00:00+05:30",
  "created_at": "2026-10-18T10:20:11.004Z"
}

Badan

namestringwajib

Nama untuk peringatan, sehingga 100 aksara, seperti yang dipaparkan di halaman Peringatan.

toobjectwajib

Tepat satu daripada phone (format antarabangsa dengan +), group (nama tepat kumpulan WhatsApp), contact_id atau username (Telegram), seperti dalam Mesej → Penerima.

frominteger or nullWajib bagi kunci yang dihadkan kepada sebahagian nombor

id nombor yang menghantarnya. Ia mesti disambungkan semasa anda menetapkannya. Jika tidak disertakan atau null: mana-mana nombor ruang kerja yang disambungkan akan menghantarnya.

textstringwajib

Mesej itu, sehingga 3,000 aksara. Ia juga menjadi kapsyen apabila media dihantar.

mediaobject or nullpilihan

Imej atau fail untuk dihantar setiap kali: url atau media_id, dan secara pilihan type, seperti dalam Mesej → Media.

scheduleobjectwajib

cron (wajib) dan timezone. Lihat Jadual.

activebooleanpilihan

true (lalai) menjalankannya; false menciptanya dalam keadaan dijeda.

Jadual#

schedule.cron mempunyai lima bahagian yang dipisahkan oleh ruang: minit, jam, hari dalam bulan, bulan, hari dalam minggu. * bermaksud "setiap". Ia mesti jadual yang berjalan pada suatu masa (bukan 31 Februari).

cronBerjalan
0 9 * * 1Setiap Isnin pada 09:00
30 18 * * *Setiap hari pada 18:30
0 10 1 * *Hari pertama setiap bulan pada 10:00
0 9 * * 1-5Hari bekerja pada 09:00
0 8,20 * * *Setiap hari pada 08:00 dan 20:00
0 9 15 1 *15 Januari pada 09:00, setiap tahun

schedule.timezone ialah nama zon waktu IANA, seperti Asia/Kolkata, Europe/London atau America/New_York (lalai UTC). Masa cron mengikut zon itu, dan next_run_at juga diberikan dalam zon itu, dengan ofsetnya. Lihat rujukan zon waktu.

Setiap kali berjalan, ia menghantar mesej seperti mesej lain: ia memerlukan baki mesej dalam pelan dan muncul dalam Senaraikan mesej.

Ralat semasa mencipta#

HTTPKodBila
400validation_failedMedan wajib tiada atau kosong, medan tidak dikenali atau terlalu panjang (name, to.group), atau media tidak sah
400text_requiredtext kosong
400text_too_longtext melebihi 3,000 aksara
400invalid_cronschedule.cron bukan 5 bahagian, atau tidak pernah berjalan
400invalid_timezoneschedule.timezone bukan zon waktu IANA
403plan_requiredPelan tidak merangkumi peringatan
403number_not_allowedKunci dihadkan kepada sebahagian nombor dan from bukan salah satu daripadanya, atau tiada
422invalid_phoneto.phone bukan nombor yang sah dalam format antarabangsa dengan +
422invalid_usernameto.username bukan nama pengguna, pautan atau ID tg: Telegram
422username_needs_telegramNama pengguna Telegram, tetapi from bukan akaun Telegram (atau, tanpa from, tiada akaun Telegram yang disambungkan)
422contact_not_foundTiada kenalan dengan to.contact_id itu
422media_not_foundTiada fail dengan media.media_id itu
422invalid_media_urlmedia.url bukan pautan http(s) awam
422number_not_connectedfrom bukan nombor ruang kerja ini yang disambungkan

Senaraikan peringatan#

GEThttps://wbiztool.com/api/v2/reminders

Peringatan ruang kerja, yang terbaharu dahulu, dalam halaman (limit 1 hingga 100, lalai 25, dan cursor). Peringatan yang dijeda turut disertakan, dengan "active": false. Kunci yang dihadkan kepada sebahagian nombor hanya melihat peringatan yang dihantar dari nombor itu.

curl "https://wbiztool.com/api/v2/reminders?limit=50" \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"

Responsnya ialah {"data": [Reminder, …], "next_cursor": "…" or null}.

Dapatkan peringatan#

GEThttps://wbiztool.com/api/v2/reminders/{id}
curl https://wbiztool.com/api/v2/reminders/812 \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"

Peringatan yang tidak wujud, telah dipadam, atau dihantar dari nombor yang tidak boleh digunakan oleh kunci menjawab 404 reminder_not_found.

Ubah, jeda atau sambung semula peringatan#

PATCHhttps://wbiztool.com/api/v2/reminders/{id}

Body: JSON (application/json)

Hantar hanya medan yang berubah; yang lain mengekalkan nilainya. Medannya sama seperti Cipta peringatan. Responsnya ialah 200 dengan peringatan seperti keadaannya sekarang.

  • Jeda: {"active": false}. Ia berhenti berjalan dan next_run_at menjadi null. Menjeda berfungsi pada mana-mana pelan.
  • Sambung semula: {"active": true}. Ia berjalan semula dari masa seterusnya. Menyambung semula memerlukan pelan yang merangkumi peringatan.
  • schedule diganti sepenuhnya: hantar cron bersamanya. Tanpa timezone, peringatan mengekalkan zon waktunya yang sedia ada.
# Pause
curl -X PATCH https://wbiztool.com/api/v2/reminders/812 \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"active": false}'

# Move it to Fridays at 10:00 and change the text
curl -X PATCH https://wbiztool.com/api/v2/reminders/812 \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"schedule": {"cron": "0 10 * * 5"}, "text": "Hi, the rent is due today."}'

Perubahan menjawab dengan ralat yang sama seperti semasa mencipta, dan 404 reminder_not_found. Jika satu medan salah, tiada apa yang diubah.

Padam peringatan#

DELETEhttps://wbiztool.com/api/v2/reminders/{id}

Memadam peringatan: ia tidak akan berjalan lagi. Mesej yang telah dihantarnya kekal dalam sejarah. Untuk menghentikannya buat sementara waktu sebaliknya, jedakannya.

curl -X DELETE https://wbiztool.com/api/v2/reminders/812 \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"
{ "id": 812, "deleted": true }

Objek Reminder#

MedanJenisPenerangan
idintegerID peringatan.
namestringNamanya.
activebooleantrue semasa ia berjalan, false semasa ia dijeda.
toobjectPenerima: phone (dengan +), group atau username. Peringatan yang dicipta dengan contact_id menunjukkan nombor atau kumpulan kenalan itu.
frominteger or nullid nombor penghantar, atau null untuk mana-mana nombor yang disambungkan.
textstringMesej itu.
mediaobject or nulltype (image atau file), url dan file_name.
scheduleobjectcron dan timezone.
next_run_atstring or nullBila ia berjalan seterusnya, dalam zon waktunya dengan ofset, seperti 2026-10-19T09:00:00+05:30. null semasa ia dijeda.
created_atstringBila ia dicipta (UTC).

Berkaitan#