İçeriğe geç
WbizTool

API v2 (beta)

Hatırlatıcılar

Bir hatırlatıcı aynı mesajı tek bir alıcıya bir zamanlamaya göre tekrar tekrar gönderir: her ay kira, her pazartesi bir ders, her akşam bir rapor. Zamanlama, seçtiğiniz bir saat diliminde 5 parçalı bir cron ifadesidir. API ile oluşturulan hatırlatıcılar, paneldeki Hatırlatıcılar sayfasındakilerle aynıdır.

İşlemEndpointKapsam
Hatırlatıcı oluşturunPOST /api/v2/remindersreminders
Hatırlatıcıları listeleyinGET /api/v2/remindersreminders
Bir hatırlatıcıyı alınGET /api/v2/reminders/{id}reminders
Değiştirin, duraklatın veya sürdürünPATCH /api/v2/reminders/{id}reminders
Bir hatırlatıcıyı silinDELETE /api/v2/reminders/{id}reminders

Hatırlatıcı oluşturmak ve değiştirmek için hatırlatıcıları içeren bir plan gerekir; aksi halde 403 plan_required yanıtı alırsınız. Listeleme, okuma, duraklatma ve silme her planda çalışır. Belirli bir saatte bir kez gönderilen bir mesaj için bunun yerine Mesaj gönderme içindeki send_at alanını kullanın.

Hatırlatıcı oluşturun#

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

Gövde: 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" }
  }'

Yanıt (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"
}

Gövde

namestringzorunlu

Hatırlatıcının Hatırlatıcılar sayfasında gösterilen adı, en fazla 100 karakter.

toobjectzorunlu

Mesajlar → Alıcılar bölümündeki gibi phone (+ ile uluslararası biçimde), group (bir WhatsApp grubunun tam adı), contact_id veya username (Telegram) alanlarından tam olarak biri.

frominteger or nullBazı numaralarla sınırlı bir anahtar için zorunlu

Hatırlatıcıyı gönderen numaranın id değeri. Ayarladığınız anda bağlı olmalıdır. Gönderilmezse veya null ise çalışma alanının bağlı herhangi bir numarası gönderir.

textstringzorunlu

Mesaj, en fazla 3.000 karakter. media gönderildiğinde açıklama metni de budur.

mediaobject or nullisteğe bağlı

Her seferinde gönderilecek bir görsel veya dosya: Mesajlar → Medya bölümündeki gibi url veya media_id, isteğe bağlı olarak da type.

scheduleobjectzorunlu

cron (zorunlu) ve timezone. Bkz. Zamanlama.

activebooleanisteğe bağlı

true (varsayılan) hatırlatıcıyı çalıştırır; false onu duraklatılmış olarak oluşturur.

Zamanlama#

schedule.cron boşluklarla ayrılmış beş parçadan oluşur: dakika, saat, ayın günü, ay, haftanın günü. * "her" anlamına gelir. Bir noktada çalışan bir zamanlama olmalıdır (31 Şubat olmaz).

cronÇalışma zamanı
0 9 * * 1Pazartesileri 09:00'da
30 18 * * *Her gün 18:30'da
0 10 1 * *Her ayın 1'inde 10:00'da
0 9 * * 1-5Hafta içi günlerde 09:00'da
0 8,20 * * *Her gün 08:00'de ve 20:00'de
0 9 15 1 *Her yıl 15 Ocak'ta 09:00'da

schedule.timezone, Asia/Kolkata, Europe/London veya America/New_York gibi bir IANA saat dilimi adıdır (varsayılan UTC). Cron saatleri o saat dilimindedir ve next_run_at da farkıyla birlikte o saat diliminde verilir. Bkz. Saat dilimi referansı.

Her çalıştırma diğer mesajlar gibi bir mesaj gönderir: planda mesaj kalmış olması gerekir ve mesaj Mesajları listeleme sonuçlarında görünür.

Oluştururken alınan hatalar#

HTTPKodNe zaman
400validation_failedZorunlu bir alan eksik veya boş, bir alan bilinmiyor veya çok uzun (name, to.group) ya da media geçerli değil
400text_requiredtext boş
400text_too_longtext 3.000 karakterden uzun
400invalid_cronschedule.cron 5 parçadan oluşmuyor veya hiç çalışmıyor
400invalid_timezoneschedule.timezone bir IANA saat dilimi değil
403plan_requiredPlan hatırlatıcıları içermiyor
403number_not_allowedAnahtar bazı numaralarla sınırlı ve from bunlardan biri değil ya da eksik
422invalid_phoneto.phone, + ile uluslararası biçimde geçerli bir numara değil
422invalid_usernameto.username bir Telegram kullanıcı adı, bağlantısı veya tg: ID'si değil
422username_needs_telegramBir Telegram kullanıcı adı verilmiş, ancak from bir Telegram hesabı değil (veya from olmadan hiçbir Telegram hesabı bağlı değil)
422contact_not_foundBu to.contact_id ile bir kişi yok
422media_not_foundBu media.media_id ile bir dosya yok
422invalid_media_urlmedia.url herkese açık bir http(s) bağlantısı değil
422number_not_connectedfrom bu çalışma alanının bağlı bir numarası değil

Hatırlatıcıları listeleyin#

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

Çalışma alanının hatırlatıcıları, en yeniden başlayarak sayfalar halinde (limit 1 ile 100 arası, varsayılan 25, ve cursor). Duraklatılmış olanlar "active": false ile dahil edilir. Bazı numaralarla sınırlı bir anahtar yalnızca bu numaralardan gönderen hatırlatıcıları görür.

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

Yanıt {"data": [Reminder, …], "next_cursor": "…" or null} biçimindedir.

Bir hatırlatıcıyı alın#

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

Var olmayan, silinmiş veya anahtarın kullanamadığı bir numaradan gönderen bir hatırlatıcı 404 reminder_not_found ile yanıt verir.

Bir hatırlatıcıyı değiştirin, duraklatın veya sürdürün#

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

Gövde: JSON (application/json)

Yalnızca değişen alanları gönderin; diğerleri değerlerini korur. Alanlar Hatırlatıcı oluşturun bölümündekilerle aynıdır. Yanıt, hatırlatıcının şimdiki haliyle 200 olur.

  • Duraklatma: {"active": false}. Hatırlatıcı çalışmayı bırakır ve next_run_at değeri null olur. Duraklatma her planda çalışır.
  • Sürdürme: {"active": true}. Hatırlatıcı bir sonraki zamanından itibaren yeniden çalışır. Sürdürmek için hatırlatıcıları içeren bir plan gerekir.
  • schedule bir bütün olarak değiştirilir: onunla birlikte cron gönderin. timezone olmadan hatırlatıcı mevcut saat dilimini korur.
# 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."}'

Bir değişiklik, oluşturmadakiyle aynı hatalarla ve 404 reminder_not_found ile yanıt verir. Bir alan yanlışsa hiçbir şey değiştirilmez.

Bir hatırlatıcıyı silin#

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

Hatırlatıcıyı siler: bir daha hiç çalışmaz. Daha önce gönderdiği mesajlar geçmişte kalır. Bunun yerine bir süreliğine durdurmak için onu duraklatın.

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

Reminder nesnesi#

AlanTürAçıklama
idintegerHatırlatıcının ID'si.
namestringAdı.
activebooleanÇalışırken true, duraklatılmışken false.
toobjectAlıcı: phone (+ ile), group veya username. contact_id ile oluşturulan bir hatırlatıcı, kişinin numarasını veya grubunu gösterir.
frominteger veya nullGönderen numaranın id değeri veya bağlı herhangi bir numara için null.
textstringMesaj.
mediaobject veya nulltype (image veya file), url ve file_name.
scheduleobjectcron ve timezone.
next_run_atstring veya nullBir sonraki çalışma zamanı; kendi saat diliminde ve farkıyla birlikte, örneğin 2026-10-19T09:00:00+05:30. Duraklatılmışken null.
created_atstringOluşturulma zamanı (UTC).

İlgili sayfalar#