Интеграции
Подключите внешние сервисы: синхронизируйте Google Календарь или Яндекс Календарь, привяжите Telegram для уведомлений.
Где настроить
Настройки → Интеграции (app.milapractice.ru/settings/integrations)
Синхронизация календарей
Поддерживаемые календари
| Провайдер | Поддерживается |
|---|---|
| Google Calendar | Да |
| Яндекс Календарь | Да |
Подключение
- Нажмите «Подключить» рядом с нужным провайдером
- Авторизуйтесь в своём аккаунте (Google или Яндекс)
- Разрешите доступ к календарю
- Выберите, какой календарь синхронизировать (если несколько)
[screenshot: страница интеграций с кнопками подключения]
Направление синхронизации
| Направление | Описание |
|---|---|
| Входящая (IN) | Подтягивает события из внешнего календаря. Занятые слоты блокируются — клиенты не смогут записаться на это время |
| Исходящая (OUT) | Записи из Mila отправляются во внешний календарь. Вы видите все сессии в привычном календаре |
| Двусторонняя (BOTH) | Оба направления одновременно |
По умолчанию: входящая синхронизация (чтобы не было конфликтов с другими делами).
Ручная синхронизация
Кнопка «Синхронизировать сейчас» — принудительная синхронизация. Можно нажимать не чаще раза в минуту.
Отключение
Нажмите «Отключить» рядом с подключённым провайдером. Доступ к внешнему календарю будет отозван.
Telegram-бот
Привязка
- В настройках интеграций нажмите «Привязать Telegram»
- Скопируйте ссылку (deep link) или нажмите кнопку перехода в Telegram
- Перейдите в бота Mila в Telegram
- Нажмите «Start» — аккаунт привяжется
Ссылка действует 10 минут. Если не успели — сгенерируйте новую.
Что даёт привязка
- Уведомления о записях, отменах, оплатах — в Telegram
- Клиенты могут записываться через бота
- Быстрые действия прямо из уведомления
Статус
На странице интеграций отображается:
- Привязан ли Telegram
- Username привязанного аккаунта
- Дата привязки
Отвязка
Нажмите «Отвязать Telegram». Уведомления в Telegram перестанут приходить. Другие каналы (email, в приложении) продолжат работать.
Webhooks (исходящие уведомления)
Автоматически отправляйте события о записях и оплатах в вашу CRM, Google Sheets, Zapier или Make.
Подключение
- Настройки → Интеграции → «Webhook в свою систему» → Webhooks
- Нажмите «Добавить webhook»
- Укажите URL вашего приёмника (только
https://) - Выберите события: запись создана, подтверждена, отменена, перенесена, неявка, оплата, возврат
- Скопируйте и сохраните секрет подписи — он показывается только один раз
Формат
Каждый webhook — HTTP POST с JSON-envelope:
{
"id": "evt_...",
"type": "booking.created",
"created": 1713200000,
"api_version": "2026-04-01",
"data": { ... }
}
Подпись: заголовок X-Mila-Signature: t=<timestamp>,v1=<hmac_sha256>. Всегда проверяйте подпись, используйте event.id для идемпотентности, отвечайте 2xx быстро.
Retry и надёжность
- При ошибке — 5 попыток с нарастающим интервалом (1 мин → 5 мин → 30 мин → 2 ч → 12 ч)
- После 5 неудачных попыток — доставка помечается как «мёртвая»
- 10 подряд ошибок — endpoint ставится на паузу на 15 минут
- Endpoints с >20 мёртвых доставок за 7 дней автоматически отключаются (с уведомлением)
Тестовые события
Кнопка «Отправить тестовое событие» — отправляет ping.test для проверки настройки.
Ротация секрета
Кнопка «Обновить секрет» — выпускает новый секрет. Старый перестаёт работать сразу.
API-токены для разработчиков
Дайте вашему разработчику токен для прямого доступа к API.
Создание
- Настройки → Интеграции → «API для разработчика» → Разработчикам
- Нажмите «Создать токен»
- Укажите название и выберите scope'ы (права доступа)
- Скопируйте токен — он показывается один раз
Формат: mp_pk_live_... (Bearer-токен). Используйте в заголовке: Authorization: Bearer mp_pk_live_...
Scope'ы
| Scope | Описание |
|---|---|
read:bookings |
Чтение записей |
write:bookings |
Создание/изменение записей |
read:clients |
Чтение клиентов |
write:clients |
Создание/изменение клиентов |
read:webhooks |
Чтение webhook-настроек |
write:webhooks |
Управление webhooks |
Управление
- Отозвать токен: кнопка «Отозвать» — токен перестаёт работать мгновенно
- Ротация: кнопка «Обновить» — создаёт новый токен, старый отзывается
Rate limits
API-токены имеют ограничения по количеству запросов в зависимости от плана подписки. При превышении лимита — ответ 429 Too Many Requests с заголовком Retry-After.
Отслеживание источников (Lead tracking)
Привяжите запись к лиду из CRM или рекламной кампании.
Как работает
Добавьте к ссылке записи параметр li (ID лида) и/или UTM-метки:
milapractice.ru/p/anna/book?li=CRM-12345&utm_source=google&utm_campaign=spring
Параметр
lead_idтоже поддерживается — для обратной совместимости со старыми ссылками.
Параметры сохраняются в браузере клиента и автоматически привязываются к записи. В карточке клиента и записи вы увидите источник: lead ID, UTM-метки, referrer.
Поддерживаемые параметры
| Параметр | Описание |
|---|---|
li (или lead_id) |
ID лида из вашей CRM |
utm_source |
Источник трафика |
utm_medium |
Канал |
utm_campaign |
Кампания |
utm_content |
Контент объявления |
utm_term |
Ключевое слово |
Lead tracking работает по принципу first-touch: первый источник сохраняется за клиентом, повторные визиты не перезаписывают его (окно — 90 дней).
Что дальше
- Уведомления — какие уведомления получать
- Безопасность аккаунта — сессии и пароль