Zum Inhalt springen
WbizTool

Erinnerungs-API

Erinnerung erstellen (API)

Erstellen Sie eine wiederkehrende WhatsApp-Nachricht, die automatisch nach einem Zeitplan gesendet wird. Nutzen Sie die API für Zahlungserinnerungen, wöchentliche Rückfragen, tägliche Nachfassaktionen und andere sich wiederholende Nachrichten.

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

Body: JSON oder Formularfelder

Sie beschreiben den Zeitplan mit einem Cron-Ausdruck und einer Zeitzone. Jedes Mal, wenn der Zeitplan zutrifft, stellt WbizTool eine Nachricht an die Telefonnummer oder Gruppe in die Warteschlange, genau wie eine mit Nachricht senden gesendete Nachricht. Hier erstellte Erinnerungen erscheinen auch auf der Seite Erinnerungen in Ihrem Dashboard, wo Sie sie pausieren oder bearbeiten können.

Kurzes Beispiel#

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

Diese Erinnerung wird am 1. jedes Monats um 10:00 Uhr indischer Zeit gesendet. Ersetzen Sie 12345, YOUR_API_KEY und 678 durch Ihre eigenen Werte. Wo Sie diese finden, steht unter Authentifizierung.

Request-Parameter#

Senden Sie die Parameter als JSON-Body oder als Formularfelder. Senden Sie in JSON jeden Textwert (api_key, reminder_name, phone, message, cron_expression, timezone, img_url, file_name) als String.

Authentifizierung

client_idintegererforderlich

Ihre API-Client-ID aus Einstellungen → API-Schlüssel.

api_keystringerforderlich

Ihr API-Schlüssel von derselben Seite.

Absender

whatsapp_clientintegeroptional

ID der WhatsApp-Nummer oder des Telegram-Kontos, von dem gesendet wird, aus den WhatsApp-Einstellungen. Wenn Sie den Parameter weglassen oder die ID nicht zu Ihrem Arbeitsbereich gehört, wird jede Erinnerung von einer Nummer gesendet, die zum Ausführungszeitpunkt verbunden ist, WhatsApp zuerst: von der ersten verbundenen WhatsApp-Nummer, oder von einem Telegram-Konto nur, wenn es das einzige verbundene ist. Eine Erinnerung an einen @username, einen t.me-Link oder tg:<id> wird von einem verbundenen Telegram-Konto gesendet.

Erinnerung

reminder_namestringerforderlich

Ein Name für die Erinnerung, der auf der Seite Erinnerungen angezeigt wird und in der Nachricht als {reminder_name} verfügbar ist.

phonestringerforderlich

Die WhatsApp-Nummer des Empfängers mit Ländervorwahl, zum Beispiel 919876543210. Es gibt keinen separaten Parameter country_code. Leerzeichen, +, -, . und Klammern werden entfernt, ebenso eine führende 00 und eine führende 0, die Nummer wird also nur als Ziffern gespeichert: +91 98765-43210 und 0091 98765 43210 werden beide als 919876543210 gespeichert. Eine Nummer ohne Ländervorwahl, etwa 9876543210 oder 09876543210, wird ohne die 0 gespeichert und beim Ausführen der Erinnerung ergänzt, mit dem Land der Nummer whatsapp_client, sonst mit dem Land für Nummern ohne Ländervorwahl des Arbeitsbereichs. Ist kein Land bekannt, wird sie so gesendet, wie sie geschrieben ist. Tabellenwerte wie 919876543210.0 und 9.19876543210E+11 werden als ihre Ziffern gelesen. Ein gerundeter Tabellenwert wie 9.19877E+11 wird abgelehnt, weil Ziffern fehlen. Ein Wert mit Buchstaben oder anderen Zeichen wird als Name einer WhatsApp-Gruppe behandelt und so gespeichert, wie Sie ihn geschrieben haben. Ausnahme: Ein @username, ein Link t.me/username oder tg:<id> ist ein Telegram-Nutzer und wird von einem Telegram-Konto gesendet. Übergeben Sie die ID dieses Kontos als whatsapp_client.

messagestringerforderlich

Der Nachrichtentext. Er kann Vorlagenvariablen enthalten, die bei jeder Ausführung der Erinnerung ausgefüllt werden. WhatsApp-Formatierung funktioniert: *bold*, _italic_, ~strikethrough~.

cron_expressionstringerforderlich

Wann gesendet wird, als Cron-Ausdruck mit fünf Feldern wie 0 9 * * 1-5. Siehe Cron-Ausdrücke.

timezonestringoptional

Die Zeitzone, in der der Cron-Ausdruck ausgeführt wird, als IANA-Zeitzonenname wie Asia/Kolkata, America/New_York oder Europe/London. Lassen Sie den Parameter weg, um UTC zu verwenden. Ein leerer String liefert Invalid timezone. Die vollständige Liste finden Sie in der Zeitzonen-Referenz.

Bilder und Dateien

msg_typeintegeroptional

0 Text (Standard), 1 Bild oder 2 Datei, jeweils mit message als Bildunterschrift. Jeder andere Wert wird als 0 behandelt.

img_urlstringErforderlich, wenn msg_type 1 oder 2 ist

Öffentliche http- oder https-URL des Bildes bzw. bei msg_type 2 der Datei, bis zu 1.000 Zeichen. Die Datei wird bei jeder Ausführung der Erinnerung heruntergeladen, halten Sie den Link also funktionsfähig. Dateien können Sie mit der Media-Upload-API hosten.

file_namestringErforderlich, wenn msg_type 2 ist

Bei msg_type 2 der Dateiname mit Endung, bis zu 100 Zeichen, zum Beispiel invoice.pdf. Bei anderen Nachrichtentypen wird er ignoriert.

Cron-Ausdrücke#

Ein Cron-Ausdruck besteht aus fünf durch Leerzeichen getrennten Werten. Die Erinnerung wird ausgeführt, wenn die aktuelle Zeit in timezone allen fünf Werten entspricht:

┌───────── 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
SymbolBedeutungBeispiel
*Jeder Wert* im Stundenfeld bedeutet jede Stunde.
,Eine Liste von Werten9,18 im Stundenfeld bedeutet 9:00 und 18:00 Uhr.
-Ein Bereich1-5 im Wochentagsfeld bedeutet Montag bis Freitag.
/Eine Schrittweite*/6 im Stundenfeld bedeutet alle 6 Stunden.

Häufige Beispiele#

AusdruckWird ausgeführt
0 9 * * *Jeden Tag um 9:00 Uhr
0 9 * * 1-5Montag bis Freitag um 9:00 Uhr
0 9 * * 1Jeden Montag um 9:00 Uhr
30 18 * * 0Jeden Sonntag um 18:30 Uhr
0 9,18 * * *Jeden Tag um 9:00 und 18:00 Uhr
0 */6 * * *Alle 6 Stunden, jeweils zur vollen Stunde
*/30 9-17 * * 1-5Alle 30 Minuten von 9:00 bis 17:30 Uhr, Montag bis Freitag
0 9 1 * *Am 1. jedes Monats um 9:00 Uhr
0 10 15 * *Am 15. jedes Monats um 10:00 Uhr
0 8 1 1 *Jedes Jahr am 1. Januar um 8:00 Uhr

Die Uhrzeiten gelten in der timezone der Erinnerung. Verwenden Sie nur fünf Felder: Fügen Sie kein Sekundenfeld und keine Kurzformen wie @daily hinzu.

Vorlagenvariablen#

Diese Platzhalter in message werden bei jeder Ausführung der Erinnerung ersetzt. Datum und Uhrzeit gelten in der timezone der Erinnerung.

VariableErsetzt durchBeispiel
{current_date}Datum2026-10-01
{current_date_formatted}Datum in WortenOctober 1, 2026
{current_time}Uhrzeit im 24-Stunden-Format09:00:00
{current_time_12h}Uhrzeit im 12-Stunden-Format9:00 AM
{current_datetime}Datum und Uhrzeit2026-10-01 09:00:00
{timezone}Der Wert von timezoneAsia/Kolkata
{timezone_short}ZeitzonenabkürzungIST
{reminder_name}Der Wert von reminder_nameMonthly rent reminder
{to_number}Der gespeicherte Wert von phone919876543210
{client_name}Name Ihres Arbeitsbereichs, wie bei {organisation_name}
{organisation_name}Name Ihres Arbeitsbereichs

Erinnerung mit Bild#

Wöchentliche Erinnerung mit Bild
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"
  }'

Das PHP-Beispiel sendet Formularfelder statt JSON. Beides funktioniert.

Antwort#

Ein erfolgreicher Request gibt HTTP 200 zurück:

{
  "reminder_id": 3187,
  "message": "Reminder created successfully",
  "status": 1
}
FeldTypBeschreibung
statusinteger1, wenn die Erinnerung erstellt wurde, 0, wenn der Request fehlgeschlagen ist.
messagestringReminder created successfully, andernfalls der Fehler.
reminder_idintegerID der neuen Erinnerung. Speichern Sie sie, um die Erinnerung später zu stornieren. Nur bei Erfolg vorhanden.

Neue Erinnerungen sind sofort aktiv.

Fehler#

Fehler geben HTTP 400 mit status gleich 0 zurück, sofern nicht anders angegeben:

{ "status": 0, "message": "Invalid timezone" }
MeldungLösung
Invalid JSON format: …Der JSON-Body ist ungültig, oft wegen eines abschließenden Kommas oder eines nicht maskierten Zeilenumbruchs in message. Verwenden Sie \n für neue Zeilen. Diese Meldung erhalten Sie auch bei einem Formular-Request ohne client_id oder bei jedem GET-Request.
Invalid client id.Senden Sie client_id als Zahl.
Reminder name cannot be nullFügen Sie reminder_name hinzu.
Phone number cannot be nullFügen Sie phone hinzu.
Phone number was rounded by a spreadsheet (like 9.19877E+11): send all of its digits as textFormatieren Sie die Telefonspalte als Text oder als ganze Zahl und senden Sie die vollständige Nummer.
Invalid phone number or group nameEine Nummer braucht 7 bis 15 Ziffern, zum Beispiel 919876543210. Nur Nullen oder zu wenige bzw. zu viele Ziffern sind weder eine Nummer noch ein Gruppenname.
Message template cannot be nullFügen Sie message hinzu.
Cron expression cannot be nullFügen Sie cron_expression hinzu.
Auth Error - Please send correct API key and Client idSenden Sie einen nicht leeren api_key.
Invalid cron expressionPrüfen Sie, ob der Ausdruck fünf gültige Felder hat. Siehe Cron-Ausdrücke.
Invalid timezoneVerwenden Sie einen IANA-Namen wie Asia/Kolkata, keine Abkürzung wie IST.
Image URL cannot be null for image messagesSenden Sie für msg_type 1 eine img_url.
File URL cannot be null for file messagesSenden Sie für msg_type 2 einen file_name.
Auth Error: invalid api keyDer Schlüssel existiert nicht, wurde gelöscht oder gehört zu einer anderen client_id. Testen Sie ihn mit Zugangsdaten prüfen.
Auth Error: please check client idDer Schlüssel ist mit keinem Arbeitsbereich verknüpft. Erstellen Sie einen neuen Schlüssel in dem Arbeitsbereich, den Sie verwenden möchten.
Demo Account cannot access APIsVerwenden Sie ein reguläres Konto.
Not enough creditsDer Arbeitsbereich ist im kostenlosen Plan und hat keine Nachrichten mehr: Kostenpflichtige Pläne senden unbegrenzt viele Nachrichten. Siehe Wenn Ihre Nachrichten aufgebraucht sind.
Upgrade your plan to use reminders featureIhr Plan enthält keine Erinnerungen. Führen Sie ein Upgrade Ihres Plans durch.
WhatsApp Logged Out. Please Reconnect!!Die Nummer whatsapp_client ist getrennt. Verbinden Sie sie in den WhatsApp-Einstellungen erneut.
Invalid WhatsApp client idSenden Sie whatsapp_client als Zahl.
Error creating reminder: … (HTTP 500)Die Erinnerung konnte nicht gespeichert werden. Prüfen Sie die gesendeten Werte, zum Beispiel ob img_url höchstens 1.000 und file_name höchstens 100 Zeichen lang ist.

Wie Erinnerungen ausgeführt werden#

  • Der Zeitplan wird in der timezone der Erinnerung geprüft, und die Nachricht wird in die Warteschlange gestellt, wenn die aktuelle Zeit dem Cron-Ausdruck entspricht.
  • Jede Ausführung erzeugt eine normale Nachricht, die von Ihrer WhatsApp-Nummer gesendet wird. Die Nummer muss also verbunden bleiben.
  • Eine Ausführung wird übersprungen, wenn kein whatsapp_client festgelegt wurde und in diesem Moment keine Nummer in Ihrem Arbeitsbereich verbunden ist. Eine Ausführung über dem Tageslimit der Nummer (1.000 Nachrichten in 24 Stunden) wird als fehlgeschlagene Nachricht mit „Daily limit reached: …“ erstellt.
  • Ist whatsapp_client festgelegt, wird jede Ausführung auf dieser Nummer in die Warteschlange gestellt, auch wenn sie inzwischen getrennt wurde, und wartet dort. Es gibt keinen Wechsel auf eine andere Nummer.
  • Erinnerungen werden in regelmäßigen Abständen geprüft, nicht sekundengenau, und die Nachricht wartet dann wie jede andere in der Sendewarteschlange. Verlassen Sie sich nicht auf ein exaktes Timing. Läuft eine Prüfung verspätet, wird die Ausführung noch bis zu 10 Minuten zu spät gesendet (bei der ersten Ausführung einer Erinnerung bis zu 1 Minute zu spät); danach wird sie übersprungen. Dieselbe Ausführung wird nie doppelt gesendet.

Tipps#

  • Auflisten und aufräumen: Rufen Sie Ihre Erinnerungen und deren IDs mit Erinnerungen auflisten ab und stoppen Sie eine mit Erinnerung stornieren.
  • Pausieren und Bearbeiten ist über die API nicht möglich. Verwenden Sie die Seite Erinnerungen in Ihrem Dashboard.
  • Viele Erinnerungen auf einmal: Auf der Seite Erinnerungen können Sie Erinnerungen auch aus einer CSV-Datei importieren.
  • Zeilenumbrüche in JSON: Schreiben Sie sie in message als \n. Ein echter Zeilenumbruch macht das JSON ungültig.