İçeriğe geç
Wbiztool

Hatırlatıcılar API'si

Hatırlatıcı oluşturma API'si

Bir zamanlamaya göre otomatik olarak gönderilen tekrarlanan bir WhatsApp mesajı oluşturun. Ödeme hatırlatmaları, haftalık kontroller, günlük takip mesajları ve tekrarlanan diğer mesajlar için kullanın.

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

Gövde: JSON veya form alanları

Zamanlamayı bir cron ifadesi ve bir saat dilimiyle tanımlarsınız. Zamanlama her eşleştiğinde Wbiztool, Mesaj gönderme ile gönderilen bir mesaj gibi telefon numarasına veya gruba bir mesaj kuyruğa alır. Burada oluşturduğunuz hatırlatıcılar, panelinizdeki Hatırlatıcılar sayfasında da görünür; orada onları duraklatabilir veya düzenleyebilirsiniz.

Hızlı örnek#

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

Bu hatırlatıcı her ayın 1'inde Hindistan saatiyle 10:00'da gönderilir. 12345, YOUR_API_KEY ve 678 değerlerini kendi değerlerinizle değiştirin. Bunları nerede bulacağınız için Kimlik doğrulama bölümüne bakın.

İstek parametreleri#

Parametreleri bir JSON gövdesi veya form alanları olarak gönderin. JSON'da her metin değerini (api_key, reminder_name, phone, message, cron_expression, timezone, img_url, file_name) string olarak gönderin.

Kimlik doğrulama

client_idintegerzorunlu

Ayarlar → API anahtarları sayfasındaki API Client ID'niz.

api_keystringzorunlu

Aynı sayfadaki API anahtarınız.

Gönderen

whatsapp_clientintegeristeğe bağlı

Gönderimin yapılacağı WhatsApp numarasının ID'si; WhatsApp ayarları sayfasında bulunur. Bu alanı göndermezseniz veya ID çalışma alanınızda değilse, her hatırlatıcı çalıştığı anda çalışma alanınızdaki ilk bağlı numaradan gönderilir.

Hatırlatıcı

reminder_namestringzorunlu

Hatırlatıcı için bir ad; Hatırlatıcılar sayfasında gösterilir ve mesajda {reminder_name} olarak kullanılabilir.

phonestringzorunlu

Alıcının ülke koduyla birlikte WhatsApp numarası, örneğin 919876543210. Ayrı bir country_code parametresi yoktur. Boşluklar, +, -, . ve parantezler kaldırılır; baştaki bir 0 da kaldırılır (JSON gövdesinde baştaki en fazla iki sıfır). Tamamı rakamlardan oluşmayan bir değer WhatsApp grup adı olarak değerlendirilir.

messagestringzorunlu

Mesaj metni. Hatırlatıcı her çalıştığında doldurulan şablon değişkenleri içerebilir. WhatsApp biçimlendirmesi çalışır: *bold*, _italic_, ~strikethrough~.

cron_expressionstringzorunlu

Ne zaman gönderileceği; 0 9 * * 1-5 gibi beş alanlı bir cron ifadesi olarak. Bkz. Cron ifadeleri.

timezonestringisteğe bağlı

Cron ifadesinin çalıştığı saat dilimi; Asia/Kolkata, America/New_York veya Europe/London gibi bir IANA saat dilimi adı olarak. UTC kullanmak için göndermeyin. Boş bir metin Invalid timezone döndürür. Tam liste için Saat dilimi referansı sayfasına bakın.

Görseller ve dosyalar

msg_typeintegeristeğe bağlı

message açıklama metni olmak üzere 0 metin (varsayılan), 1 görsel veya 2 dosya. Diğer her değer 0 olarak değerlendirilir.

img_urlstringmsg_type 1 veya 2 olduğunda zorunlu

Görselin veya msg_type 2 için dosyanın herkese açık http ya da https URL'si, en fazla 1.000 karakter. Hatırlatıcı her çalıştığında indirilir, bu yüzden bağlantıyı çalışır durumda tutun. Dosyaları Medya yükleme API'si ile barındırabilirsiniz.

file_namestringmsg_type 2 olduğunda zorunlu

msg_type 2 için uzantısıyla birlikte dosyanın adı, en fazla 100 karakter; örneğin invoice.pdf. Diğer mesaj türlerinde yok sayılır.

Cron ifadeleri#

Bir cron ifadesi, boşluklarla ayrılmış beş değerden oluşur. Hatırlatıcı, timezone içindeki geçerli saat beşiyle de eşleştiğinde çalışır:

┌───────── 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
SembolAnlamıÖrnek
*Her değerSaat alanındaki * her saat anlamına gelir.
,Değer listesiSaat alanındaki 9,18 9:00 ve 18:00 anlamına gelir.
-AralıkHaftanın günü alanındaki 1-5 pazartesiden cumaya anlamına gelir.
/AdımSaat alanındaki */6 her 6 saatte bir anlamına gelir.

Yaygın örnekler#

İfadeÇalışma zamanı
0 9 * * *Her gün 9:00'da
0 9 * * 1-5Pazartesiden cumaya 9:00'da
0 9 * * 1Her pazartesi 9:00'da
30 18 * * 0Her pazar 18:30'da
0 9,18 * * *Her gün 9:00 ve 18:00'de
0 */6 * * *Her 6 saatte bir, saat başında
*/30 9-17 * * 1-5Pazartesiden cumaya 9:00'dan 17:30'a kadar her 30 dakikada bir
0 9 1 * *Her ayın 1'inde 9:00'da
0 10 15 * *Her ayın 15'inde 10:00'da
0 8 1 1 *Her 1 Ocak'ta 8:00'de

Saatler hatırlatıcının timezone değerine göredir. Yalnızca beş alan kullanın: saniye alanı veya @daily gibi kısayollar eklemeyin.

Şablon değişkenleri#

message içindeki bu yer tutucular, hatırlatıcı her çalıştığında değiştirilir. Tarihler ve saatler hatırlatıcının timezone değerine göredir.

DeğişkenYerine gelenÖrnek
{current_date}Tarih2026-10-01
{current_date_formatted}Sözcüklerle tarih, gün sıfırla doldurulmuşOctober 01, 2026
{current_time}24 saatlik saat09:00:00
{current_time_12h}12 saatlik saat09:00 AM
{current_datetime}Tarih ve saat2026-10-01 09:00:00
{timezone}timezone değeriAsia/Kolkata
{timezone_short}Saat dilimi kısaltmasıIST
{reminder_name}reminder_name değeriMonthly rent reminder
{to_number}Kaydedilen phone değeri919876543210
{client_name}Çalışma alanı sahibinin adı
{organisation_name}Çalışma alanınızın adı

Görsel hatırlatıcı#

Haftalık görsel hatırlatıcı
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"
  }'

PHP örneği JSON yerine form alanları gönderir. İkisi de çalışır.

Yanıt#

Başarılı bir istek HTTP 200 döndürür:

{
  "reminder_id": 3187,
  "message": "Reminder created successfully",
  "status": 1
}
AlanTürAçıklama
statusintegerHatırlatıcı oluşturulduysa 1, istek başarısız olduysa 0.
messagestringReminder created successfully, aksi halde hata mesajı.
reminder_idintegerYeni hatırlatıcının ID'si. Daha sonra hatırlatıcıyı iptal etmek için kaydedin. Yalnızca başarıda bulunur.

Yeni hatırlatıcılar hemen etkin olur.

Hatalar#

Aksi belirtilmedikçe hatalar, status değeri 0 olarak HTTP 400 döndürür:

{ "status": 0, "message": "Invalid timezone" }
MesajNasıl düzeltilir
Invalid JSON format: …JSON gövdesi geçerli değil; genellikle sondaki bir virgül veya message içindeki kaçışsız bir satır sonu nedeniyle. Yeni satırlar için \n kullanın. Bunu client_id olmayan bir form isteğinde veya herhangi bir GET isteğinde de alırsınız.
Invalid client id.client_id değerini sayı olarak gönderin.
Reminder name cannot be nullreminder_name ekleyin.
Phone number cannot be nullphone ekleyin.
Message template cannot be nullmessage ekleyin.
Cron expression cannot be nullcron_expression ekleyin.
Auth Error - Please send correct API key and Client idBoş olmayan bir api_key gönderin.
Invalid cron expressionİfadenin beş geçerli alanı olduğunu kontrol edin. Bkz. Cron ifadeleri.
Invalid timezoneIST gibi bir kısaltma değil, Asia/Kolkata gibi bir IANA adı kullanın.
Image URL cannot be null for image messagesmsg_type 1 için img_url gönderin.
File URL cannot be null for file messagesmsg_type 2 için file_name gönderin.
Auth Error: invalid api keyAnahtar farklı bir client_id değerine ait.
Auth Error: please check client idAnahtar bir çalışma alanına bağlı değil. Kullanmak istediğiniz çalışma alanında yeni bir anahtar oluşturun.
Demo Account cannot access APIsNormal bir hesap kullanın.
Not enough creditsPlanınızda mesaj hakkı kalmadı.
Upgrade your plan to use reminders featurePlanınız hatırlatıcıları içermiyor. Planınızı yükseltin.
WhatsApp Logged Out. Please Reconnect!!whatsapp_client numarasının bağlantısı kesik. WhatsApp ayarları sayfasından yeniden bağlayın.
Invalid WhatsApp client idwhatsapp_client değerini sayı olarak gönderin.
Error creating reminder: … (HTTP 500)Hatırlatıcı kaydedilemedi. Gönderdiğiniz değerleri kontrol edin; örneğin img_url 1.000 karakter veya daha kısa, file_name 100 veya daha kısa olmalıdır.

Hatırlatıcılar nasıl çalışır#

  • Zamanlama hatırlatıcının timezone değerine göre kontrol edilir ve geçerli saat cron ifadesiyle eşleştiğinde mesaj kuyruğa alınır.
  • Her çalıştırma, WhatsApp numaranızdan gönderilen normal bir mesaj oluşturur; bu yüzden numaranın bağlı kalması gerekir.
  • Çalışma alanınızda kredi kalmamışsa veya whatsapp_client ayarlanmamışsa ve o anda çalışma alanınızda bağlı bir numara yoksa, çalıştırma atlanır.
  • whatsapp_client ayarlanmışsa, o numaranın bağlantısı sonradan kesilmiş olsa bile her çalıştırma o numarada kuyruğa alınır ve orada bekler. Başka bir numaraya geçiş yapılmaz.
  • Hatırlatıcılar saniyesi saniyesine değil, belirli aralıklarla kontrol edilir ve mesaj ardından diğer mesajlar gibi gönderim kuyruğunda bekler. Kesin zamanlamaya güvenmeyin. Bir kontrol geç çalışırsa, çalıştırma 10 dakikaya kadar gecikmeyle yine de gönderilir (hatırlatıcının ilk çalıştırmasında en fazla 1 dakika); bundan sonra atlanır. Aynı çalıştırma asla iki kez gönderilmez.

İpuçları#

  • Listeleyin ve temizleyin: hatırlatıcılarınızı ve ID'lerini Hatırlatıcıları listeleme ile alın, birini Hatırlatıcı iptal etme ile durdurun.
  • Duraklatma ve düzenleme API üzerinden yapılamaz. Panelinizdeki Hatırlatıcılar sayfasını kullanın.
  • Aynı anda çok sayıda hatırlatıcı: Hatırlatıcılar sayfası hatırlatıcıları bir CSV dosyasından da içe aktarabilir.
  • JSON'da yeni satırlar: bunları message içinde \n olarak yazın. Ham bir satır sonu JSON'u geçersiz kılar.