Согласования через Telegram и Max — кнопки подтверждения без бэкенда · Zapnoty

Согласования
прямо в мессенджере

Бот присылает подписчику вопрос с кнопками. По клику — свой follow-up текст, маршруты уведомлений и webhook. Встраивайте подтверждения записей, доставок и заказов без своего бэкенда на обработку кнопок.

· Сразу или к назначенному времени · TTL · approved / declined / reschedule

@clinicbot
Согласование
Запись к врачу на 18:00. Придёте?
⌛ Ждём ответ подписчика…
POST /v1/approvals кнопки · follow-up · webhook
0
строк бэкенд-кода на обработку кнопок
3
исхода: подтвердить, отклонить, перенести
5
webhook-событий approval.*
1
кредит за вопрос, follow-up — ещё 1

Без нас

Почему «перезвоните для подтверждения» — дорого

Кнопки требуют бэкенда

Inline-кнопки в боте — это callback-и, вебхуки, хранение состояния и тексты ответов. Написать и поддерживать всё это ради «Придёте? Да / Нет» — недели работы.

Звонки и SMS съедают время

Администратор обзванивает клиентов ради подтверждения записи. SMS-опросы стоят 4-7 ₽ и не дают нажать кнопку — только перезвонить.

Неявки и пустые слоты

Без быстрого подтверждения клиент забывает про запись. Слот простаивает, доставка едет впустую, заказ зависает — а вы узнаёте постфактум.

Что внутри

Готовый сценарий подтверждения — из коробки

Вопрос с кнопками

Задайте prompt с {{переменными}} и кнопки approve / decline / reschedule со своими подписями. Обязательна только approve — остальные по желанию.

Follow-up по клику

Для каждого исхода — свой текст. Нажал «Приду» → «Ждём вас в 18:00», «Не приду» → «Слот освобождён». Бот отвечает сам, без вашего сервера.

Сразу или по расписанию

Запускайте согласование мгновенно или к назначенному времени через scheduled_at. TTL ограничивает срок ответа — по истечении срабатывает исход expired.

Маршруты по исходу

Как в формах: на approved / declined / reschedule / expired — уведомить email, мессенджер, конкретного подписчика или всю команду.

Webhook-события

approval.sent, .approved, .declined, .reschedule, .expired с HMAC-подписью. Обновляйте CRM, календарь или заказ в реальном времени.

Переменные и медиа

{{плейсхолдеры}} подставляются из vars при запуске — имя, время, номер заказа. В вопросе можно приложить медиа и выбрать формат текста.

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

Три шага до первого подтверждения

01

Создайте сценарий

POST /v1/approval-templates — вопрос, кнопки, тексты follow-up и TTL по умолчанию. Добавьте маршруты уведомлений по исходу.

02

Запустите согласование

POST /v1/approvals с template_id и подписчиком (subscriber_id или external_id). Передайте vars и, при необходимости, scheduled_at.

03

Получите исход

Бот присылает вопрос, подписчик жмёт кнопку. Вы получаете webhook и можете опросить GET /v1/approvals/{id} — статус и outcome.

FAQ

Частые вопросы

Нет. Zapnoty сам показывает кнопки, ловит нажатие, отправляет follow-up и шлёт вам webhook с исходом. Вы только создаёте шаблон и запускаете согласование через API.

Обычное сообщение с inline-кнопками требует, чтобы вы сами обрабатывали callback-и. Согласование — это готовый сценарий: исходы approved / declined / reschedule / expired, тексты follow-up, маршруты и события из коробки.

Да. Укажите scheduled_at при запуске — вопрос уйдёт в это время (например, за сутки до записи). Без него отправка происходит сразу. TTL (ttl_minutes) ограничивает срок ответа.

По истечении TTL согласование получает исход expired: отправляется follow-up для expired (если задан), срабатывают маршруты expired и приходит webhook approval.expired.

Запускайте согласование по subscriber_id или по вашему external_id. Оба возвращаются в статусе и в webhook, плюс любое поле metadata — так вы связываете ответ со своей записью или заказом.

Вопрос подписчику — 1 кредит, follow-up после ответа — ещё 1 кредит. Маршрут-уведомление на email — 3 кредита; в мессенджер или подписчику — 1 кредит.

Бесплатный старт

Подключите за 5 минут

Без привязки карты. 100 кредитов в месяц бесплатно — этого хватит, чтобы попробовать все возможности.