Перейти к содержимому
WbizTool

Повторяющиеся напоминания WhatsApp через API

Отправляйте одно и то же сообщение WhatsApp по расписанию – об оплате аренды каждый месяц, о расписании занятий каждую неделю, ежедневную сверку – с вашего собственного номера. Создайте напоминание один раз с выражением cron и часовым поясом, и WbizTool будет ставить сообщение в очередь каждый раз, когда наступает его время. Напоминания входят во все платные тарифы, от $25 в месяц в США (ваша цена – на странице «Цены»).

Напоминаниям нужен платный тариф: от $25 в месяц в США.

Как это работает

  1. Получите API-ключ и привяжите номер

    Привяжите номер WhatsApp на странице «Номера WhatsApp» по QR-коду или коду привязки и создайте ключ в разделе «Настройки → API-ключи». Напоминаниям нужен платный тариф (Lite, Standard, Advanced или Enterprise).

  2. Выберите расписание

    Запишите его как выражение cron из пяти частей: 0 10 1 * * – 1-го числа каждого месяца в 10:00, 0 9 * * 1-5 – по будням в 9:00. Добавьте часовой пояс IANA, например Asia/Kolkata.

  3. Создайте напоминание

    Отправьте POST на /api/v1/reminder/create/ с reminder_name, phone, message, cron_expression и timezone. Сохраните reminder_id из ответа.

  4. Просматривайте или отменяйте

    /api/v1/reminder/list/ возвращает ваши напоминания по 50 на странице. /api/v1/reminder/cancel/ с reminder_id останавливает напоминание навсегда – например, когда клиент оплатил.

Примеры кода: API напоминаний

Ежемесячное напоминание
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"
  }'
Создание напоминания на Python
import requests

response = requests.post(
    "https://wbiztool.com/api/v1/reminder/create/",
    json={
        "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",
    },
    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. Send every text value as a string.")

if result["status"] == 1:
    print("Reminder created with reminder_id", result["reminder_id"])
else:
    print("Failed:", result["message"])
Еженедельное напоминание с изображением
import requests

response = requests.post(
    "https://wbiztool.com/api/v1/reminder/create/",
    json={
        "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",
    },
    timeout=60,
)
print(response.status_code, response.text)
Список напоминаний
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
  }'
Отмена напоминания
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"
  }'

Что можно делать

  • Любое расписание, которое умеет cron

    Каждый день в 9:00 (0 9 * * *), каждый понедельник (0 9 * * 1), дважды в день (0 9,18 * * *), 15-го числа каждого месяца (0 10 15 * *) или каждые 6 часов (0 */6 * * *).

  • Даты подставляются сами

    Переменные шаблона, например {current_date_formatted}, {current_time_12h} и {reminder_name}, заменяются при каждом запуске напоминания, в его часовом поясе.

  • Изображения и файлы

    msg_type 1 отправляет изображение из img_url. Для файла используйте msg_type 2 с публичным URL файла в img_url и его именем в file_name.

  • Видно в панели управления

    Напоминания, созданные через API, также появляются на странице «Напоминания», где их можно приостановить или изменить. Там же можно импортировать много напоминаний из таблицы CSV или Excel.

  • Отправка с выбранного номера

    Укажите whatsapp_client, чтобы выбрать номер. Если не указать, каждый запуск использует номер, подключённый в этот момент.

Полезно знать

  • Напоминаниям нужен платный тариф. В пробном периоде API отвечает Upgrade your plan to use reminders feature.
  • Используйте названия часовых поясов IANA, например Asia/Kolkata или America/Chicago. Сокращения вроде IST или CST отклоняются с ошибкой Invalid timezone; без часового пояса расписание работает по UTC.
  • phone принимает номер с кодом страны, например 79161234567, – поля country_code у этого эндпоинта нет.
  • В API нет вызовов для изменения или приостановки. Чтобы изменить расписание, отмените напоминание и создайте новое; чтобы приостановить – используйте страницу «Напоминания».
  • Напоминания проверяются периодически, а не с точностью до секунды, поэтому запуск может уйти до 10 минут позже своего времени; если проверка запоздает сильнее, запуск пропускается. Каждый запуск учитывается в лимите номера – 1 000 сообщений в день.
  • В списке напоминаний next_run рассчитывается так, будто часовой пояс напоминания – UTC. Правильное следующее время смотрите на странице «Напоминания».
  • Если текстовое поле, например phone, message или reminder_name, передано как число, true или null, в ответ приходит HTML-страница ошибки (HTTP 500), поэтому передавайте текстовые значения строками и обрабатывайте ответ, который не является JSON, как в примере на Python.
  • Если номер whatsapp_client на момент создания напоминания вышел из WhatsApp, API отклоняет запрос с WhatsApp Logged Out. Please Reconnect!!
  • Сообщения уходят с вашего собственного номера WhatsApp, поэтому действуют правила самого WhatsApp: пишите тем, кто ждёт ваших сообщений.

Вопросы и ответы

Чем напоминание отличается от запланированного сообщения?
Запланированное сообщение (/api/v1/schedule_msg/) уходит один раз, в указанные дату и время. Напоминание повторяется по своему расписанию cron, пока вы его не отмените.
Как остановить напоминание, когда клиент оплатил?
Вызовите /api/v1/reminder/cancel/ с его reminder_id. Оно останавливается сразу и больше не запустится. Сообщение, которое оно уже поставило в очередь до отмены, ещё может быть отправлено.
Можно ли приостановить или изменить напоминание через API?
Пока нет. Приостановите или измените его на странице «Напоминания» в панели управления или отмените и создайте новое с новым расписанием.
Может ли напоминание отправить PDF?
Да. Используйте msg_type 2, укажите публичный URL файла в img_url и его имя с расширением (например, invoice.pdf) в file_name. Файл скачивается при каждом запуске напоминания, поэтому ссылка должна продолжать работать.
В какие тарифы входят напоминания?
Во все платные: Lite (1 номер), Standard (3 номера) и Advanced (10 номеров) – $25, $59 и $149 в месяц в США; на странице «Цены» показана цена для вашей страны. На всех них сообщения безлимитные в рамках честного использования. В пробный период напоминания не входят.

Читайте руководства

Смотрите также

Отправьте своё первое автоматическое сообщение в WhatsApp уже сегодня

Создайте аккаунт, отсканируйте QR-код и отправьте сообщение менее чем за пять минут.

Начать бесплатно

Платные тарифы – от $25 в месяц в США. Цены