API напоминаний
API отмены напоминаний
Остановите повторяющееся напоминание, чтобы оно больше никогда не запускалось. Используйте этот API, когда клиент оплатил счёт, закончилась подписка или автоматизация больше не нужна.
https://wbiztool.com/api/v1/reminder/cancel/Тело запроса: JSON или поля формы
Вам нужен reminder_id, возвращённый API создания напоминаний. Если его у вас нет, найдите его через API списка напоминаний.
Быстрый пример#
curl -X POST https://wbiztool.com/api/v1/reminder/cancel/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"reminder_id": "3187"
}'import requests
reminder_id = 3187
response = requests.post(
"https://wbiztool.com/api/v1/reminder/cancel/",
json={
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"reminder_id": str(reminder_id), # must be a string in JSON
},
timeout=60,
)
try:
result = response.json() # read the body even when the HTTP code is 400 or 404
except ValueError:
raise SystemExit(f"HTTP {response.status_code}: not JSON. Check that your api_key exists.")
if result["status"] == 1:
print("Reminder cancelled")
else:
print("Failed:", result["message"])// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const reminderId = 3187;
const response = await fetch("https://wbiztool.com/api/v1/reminder/cancel/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
client_id: 12345,
api_key: "YOUR_API_KEY",
reminder_id: String(reminderId), // must be a string in JSON
}),
});
// Read the body even when the HTTP code is 400 or 404. A non-JSON reply means the request crashed.
const text = await response.text();
let result;
try {
result = JSON.parse(text);
} catch {
throw new Error(`HTTP ${response.status}: not JSON. Check your api_key and send reminder_id as a string.`);
}
if (result.status === 1) {
console.log("Reminder cancelled");
} else {
console.error("Failed:", result.message);
}<?php
$payload = [
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
'reminder_id' => (string) 3187, // must be a string in JSON
];
$ch = curl_init('https://wbiztool.com/api/v1/reminder/cancel/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode($payload),
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 your api_key and send reminder_id as a string.";
} elseif ($result['status'] === 1) {
echo 'Reminder cancelled';
} else {
echo 'Failed: ' . $result['message'];
}Замените 12345 и YOUR_API_KEY своими значениями. Где их найти, описано в разделе Аутентификация.
Параметры запроса#
client_idintegerобязательноВаш API Client ID из раздела Настройки → API ключи.
api_keystringобязательноВаш API-ключ с той же страницы.
reminder_idstringобязательноID отменяемого напоминания, возвращённый API создания напоминаний или API списка напоминаний. Оно должно принадлежать тому же рабочему пространству, что и API-ключ.
Отправка полей формы позволяет обойти эту проблему, потому что любое значение формы — строка:
curl -X POST https://wbiztool.com/api/v1/reminder/cancel/ \
-d client_id=12345 \
-d api_key=YOUR_API_KEY \
-d reminder_id=3187
Ответ#
Успешный запрос возвращает HTTP 200:
{
"message": "Reminder cancelled successfully",
"status": 1
}
| Поле | Тип | Описание |
|---|---|---|
status | integer | 1, если напоминание отменено, 0, если запрос не выполнен. |
message | string | Reminder cancelled successfully, иначе текст ошибки. |
Ошибки#
Ошибки возвращаются с HTTP 400 и status, равным 0, если не указано иное:
{ "status": 0, "message": "Reminder not found" }
| Сообщение | Как исправить |
|---|---|
Invalid JSON format: … | Тело JSON некорректно. Эта ошибка возвращается и для запроса с полями формы без client_id, а также для любого запроса GET. |
Reminder ID cannot be null | Добавьте reminder_id. |
Auth Error - Please send correct API key and Client id | Передайте и client_id, и api_key. |
Invalid client id | Передайте client_id числом. |
Invalid reminder id | reminder_id должен быть целым числом, например 3187. |
Auth Error: invalid api key | Ключ принадлежит другому client_id. |
Auth Error: please check client id | Ключ не привязан к рабочему пространству. Создайте новый ключ в нужном рабочем пространстве. |
Demo Account cannot access APIs | Используйте обычный аккаунт. |
Upgrade your plan to use reminders feature | Ваш тариф не включает напоминания. Созданные ранее напоминания продолжают работать и расходовать кредиты, и их нельзя отменить или приостановить ни через API, ни в панели управления, пока вы не повысите тариф. |
Reminder not found (HTTP 404) | ID не существует, относится к другому рабочему пространству или напоминание уже отменено. |
Error cancelling reminder: … (HTTP 500) | Что-то пошло не так на нашей стороне. Повторите попытку. |
Если api_key не существует или удалён, ответом будет HTML-страница ошибки с HTTP 500 вместо JSON. Проверьте свой ключ через API проверки учётных данных.
Что происходит при отмене#
- Напоминание останавливается сразу и больше не запускается. Приостановленные напоминания тоже можно отменить.
- Оно исчезает из API списка напоминаний и со страницы Напоминания.
- Отменённое напоминание нельзя восстановить. Чтобы начать заново, создайте новое напоминание.
- Сообщение, которое напоминание уже поставило в очередь до отмены, не удаляется и может быть отправлено.
Советы#
- Повторная отмена возвращает
Reminder not found. Если вы повторяете запросы, считайте это сообщение признаком того, что напоминание «уже отменено». - Приостановка через API недоступна. Чтобы временно остановить напоминание, приостановите его на странице Напоминания.
- Изменение расписания: API для обновления нет. Отмените напоминание и создайте новое с новым
cron_expression.
