Erinnerungs-API
Erinnerungen auflisten (API)
Rufen Sie die Erinnerungen in Ihrem Arbeitsbereich ab, jeweils 50 auf einmal, die neuesten zuerst. Nutzen Sie die API, um Erinnerungs-IDs zu finden, Ihre Automatisierungen zu überprüfen oder zu sichern.
https://wbiztool.com/api/v1/reminder/list/Body: JSON oder Formularfelder
Dieser Endpoint akzeptiert nur POST. Ein GET-Request liefert, auch mit Query-String, HTTP 400 mit Invalid JSON format: Expecting value….
Die Liste enthält aktive und pausierte Erinnerungen aus dem gesamten Arbeitsbereich, egal ob sie über die API oder auf der Seite Erinnerungen erstellt wurden. Stornierte Erinnerungen sind nicht enthalten.
Kurzes Beispiel#
curl -X POST https://wbiztool.com/api/v1/reminder/list/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"page": 1
}'import requests
response = requests.post(
"https://wbiztool.com/api/v1/reminder/list/",
json={"client_id": 12345, "api_key": "YOUR_API_KEY", "page": 1},
timeout=60,
)
try:
result = response.json() # read the body even when the HTTP code is 400
except ValueError:
raise SystemExit(f"HTTP {response.status_code}: not JSON. Check that your api_key exists.")
if result["status"] == 1:
print(f"{result['total']} reminders in total")
for reminder in result["reminders"]:
print(reminder["id"], reminder["name"], reminder["cron_expression"], reminder["is_active"])
else:
print("Failed:", result["message"])// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const response = await fetch("https://wbiztool.com/api/v1/reminder/list/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ client_id: 12345, api_key: "YOUR_API_KEY", page: 1 }),
});
// Read the body even when the HTTP code is 400. A non-JSON reply means the api_key wasn't found.
const text = await response.text();
let result;
try {
result = JSON.parse(text);
} catch {
throw new Error(`HTTP ${response.status}: not JSON. Check that your api_key exists.`);
}
if (result.status === 1) {
console.log(`${result.total} reminders in total`);
for (const reminder of result.reminders) {
console.log(reminder.id, reminder.name, reminder.cron_expression, reminder.is_active);
}
} else {
console.error("Failed:", result.message);
}<?php
$ch = curl_init('https://wbiztool.com/api/v1/reminder/list/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
'page' => 1,
]),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$result = json_decode(curl_exec($ch), true);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($result === null) {
echo "HTTP $httpCode: not JSON. Check that your api_key exists.";
} elseif ($result['status'] === 1) {
foreach ($result['reminders'] as $reminder) {
echo $reminder['id'] . ' ' . $reminder['name'] . ' ' . $reminder['cron_expression'] . "\n";
}
} else {
echo 'Failed: ' . $result['message'];
}Ersetzen Sie 12345 und YOUR_API_KEY durch Ihre eigenen Werte. Wo Sie diese finden, steht unter Authentifizierung.
Request-Parameter#
client_idintegererforderlichIhre API-Client-ID aus Einstellungen → API-Schlüssel.
api_keystringerforderlichIhr API-Schlüssel von derselben Seite.
pageintegeroptionalSeitennummer, beginnend bei
1(Standard). Jede Seite enthält 50 Erinnerungen, und die Seitengröße kann nicht geändert werden. Ein Wert, der keine ganze Zahl von 1 oder mehr ist, wird als1behandelt.
Antwort#
Ein erfolgreicher Request gibt HTTP 200 zurück:
{
"reminders": [
{
"id": 3187,
"name": "Monthly rent reminder",
"to_number": "919876543210",
"message_template": "Hi Aman, a reminder that your rent is due on {current_date_formatted}.",
"msg_type": 0,
"msg_type_display": "Text",
"img_url": "",
"file_name": "",
"cron_expression": "0 10 1 * *",
"next_run": "2026-10-01 10:00:00 UTC",
"is_active": true,
"whatsapp_client_id": 678,
"created_at": "2026-09-16 04:45:12"
}
],
"total": 1,
"page": 1,
"page_size": 50,
"message": "Success",
"status": 1
}
| Feld | Typ | Beschreibung |
|---|---|---|
status | integer | 1 bei Erfolg, 0, wenn der Request fehlgeschlagen ist. |
message | string | Success, andernfalls der Fehler. |
reminders | array | Die Erinnerungen auf dieser Seite, die neuesten zuerst. Leer, wenn die Seite hinter dem Ende liegt. |
total | integer | Erinnerungen im Arbeitsbereich, über alle Seiten. |
page | integer | Die zurückgegebene Seite. |
page_size | integer | Immer 50. |
Felder einer Erinnerung#
| Feld | Typ | Beschreibung |
|---|---|---|
id | integer | Die ID der Erinnerung. Verwenden Sie sie mit Erinnerung stornieren. |
name | string | Der Name der Erinnerung oder Unnamed Reminder, wenn sie keinen hat. |
to_number | string | Telefonnummer oder Gruppenname, an die die Erinnerung gesendet wird. |
message_template | string | Die Nachricht, mit noch nicht ausgefüllten Vorlagenvariablen. |
msg_type | integer | 0 Text, 1 Bild, 2 Datei. |
msg_type_display | string | Text, Image oder File. |
img_url | string or null | Bild-URL bei Erinnerungen mit Bild oder die Datei-URL bei über die API erstellten Datei-Erinnerungen. Kann andernfalls leer oder null sein. |
file_name | string or null | Bei Datei-Erinnerungen: die Datei-URL (im Dashboard erstellte Erinnerungen) oder der Dateiname (über die API erstellte Erinnerungen, deren URL in img_url steht). Kann andernfalls leer oder null sein. |
cron_expression | string | Der Zeitplan. Siehe Cron-Ausdrücke. |
next_run | string | Nächster Zeitpunkt, an dem der Zeitplan zutrifft, als YYYY-MM-DD HH:MM:SS UTC, oder Invalid cron, wenn der Ausdruck nicht gelesen werden kann. Siehe den Warnhinweis unten. |
is_active | boolean | true, wenn die Erinnerung läuft, false, wenn sie pausiert ist. |
whatsapp_client_id | integer or null | Die WhatsApp-Nummer, von der gesendet wird, oder null, wenn die erste verbundene Nummer verwendet wird. |
created_at | string | Wann die Erinnerung erstellt wurde, in UTC, als YYYY-MM-DD HH:MM:SS. |
Fehler#
Fehler geben HTTP 400 mit status gleich 0 zurück, sofern nicht anders angegeben:
{ "status": 0, "message": "Upgrade your plan to use reminders feature" }
| Meldung | Lösung |
|---|---|
Invalid JSON format: … | Der JSON-Body ist ungültig. Diese Meldung erhalten Sie auch bei einem GET-Request oder einem Formular-Request ohne client_id. |
Auth Error - Please send correct API key and Client id | Senden Sie client_id und api_key. |
Invalid client id | Senden Sie client_id als Zahl. |
Auth Error: invalid api key | Der Schlüssel gehört zu einer anderen client_id. |
Auth Error: please check client id | Der 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 APIs | Verwenden Sie ein reguläres Konto. |
Upgrade your plan to use reminders feature | Ihr Plan enthält keine Erinnerungen. Führen Sie ein Upgrade Ihres Plans durch. Bestehende Erinnerungen laufen nach einem Downgrade weiter und verbrauchen Credits, können aber bis zu einem Upgrade weder aufgelistet noch abgebrochen oder pausiert werden. |
Error fetching reminders: … (HTTP 500) | Auf unserer Seite ist etwas schiefgelaufen. Versuchen Sie es erneut. |
Wenn der api_key nicht existiert oder gelöscht wurde, ist die Antwort eine HTML-Fehlerseite mit HTTP 500 statt JSON. Testen Sie Ihren Schlüssel mit Zugangsdaten prüfen.
Alle Seiten abrufen#
Fordern Sie so lange die nächste Seite an, bis eine Seite weniger als 50 Erinnerungen enthält.
import requests
reminders, page = [], 1
while True:
response = requests.post(
"https://wbiztool.com/api/v1/reminder/list/",
json={"client_id": 12345, "api_key": "YOUR_API_KEY", "page": page},
timeout=60,
)
try:
result = response.json()
except ValueError:
raise SystemExit(f"HTTP {response.status_code}: not JSON. Check that your api_key exists.")
if result["status"] != 1:
raise RuntimeError(result["message"])
reminders += result["reminders"]
if len(result["reminders"]) < result["page_size"]:
break
page += 1
print(len(reminders), "reminders")// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const reminders = [];
let page = 1;
while (true) {
const response = await fetch("https://wbiztool.com/api/v1/reminder/list/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ client_id: 12345, api_key: "YOUR_API_KEY", page }),
});
const text = await response.text();
let result;
try {
result = JSON.parse(text);
} catch {
throw new Error(`HTTP ${response.status}: not JSON. Check that your api_key exists.`);
}
if (result.status !== 1) throw new Error(result.message);
reminders.push(...result.reminders);
if (result.reminders.length < result.page_size) break;
page += 1;
}
console.log(reminders.length, "reminders");Tipps#
- Speichern Sie eine eigene Kopie der
timezonejeder Erinnerung beim Erstellen, da dieser Endpoint sie nicht zurückgibt. - Pausierte Erinnerungen finden: Filtern Sie nach
is_activemit dem Wertfalse. Setzen Sie sie auf der Seite Erinnerungen fort. - Alte Automatisierungen aufräumen: Sammeln Sie zuerst über alle Seiten hinweg die IDs, die Sie stornieren möchten, und rufen Sie dann für jede Erinnerung stornieren auf. Wenn Sie während des Blätterns stornieren, rücken spätere Erinnerungen auf frühere Seiten vor, und einige werden übersprungen.
