settings

Интеграции

Подключите внешние сервисы: синхронизируйте Google Календарь или Яндекс Календарь, привяжите Telegram для уведомлений.

Где настроить

Настройки → Интеграции (app.milapractice.ru/settings/integrations)

Синхронизация календарей

Поддерживаемые календари

Провайдер Поддерживается
Google Calendar Да
Яндекс Календарь Да

Подключение

  1. Нажмите «Подключить» рядом с нужным провайдером
  2. Авторизуйтесь в своём аккаунте (Google или Яндекс)
  3. Разрешите доступ к календарю
  4. Выберите, какой календарь синхронизировать (если несколько)

[screenshot: страница интеграций с кнопками подключения]

Направление синхронизации

Направление Описание
Входящая (IN) Подтягивает события из внешнего календаря. Занятые слоты блокируются — клиенты не смогут записаться на это время
Исходящая (OUT) Записи из Mila отправляются во внешний календарь. Вы видите все сессии в привычном календаре
Двусторонняя (BOTH) Оба направления одновременно

По умолчанию: входящая синхронизация (чтобы не было конфликтов с другими делами).

Ручная синхронизация

Кнопка «Синхронизировать сейчас» — принудительная синхронизация. Можно нажимать не чаще раза в минуту.

Отключение

Нажмите «Отключить» рядом с подключённым провайдером. Доступ к внешнему календарю будет отозван.

Telegram-бот

Привязка

  1. В настройках интеграций нажмите «Привязать Telegram»
  2. Скопируйте ссылку (deep link) или нажмите кнопку перехода в Telegram
  3. Перейдите в бота Mila в Telegram
  4. Нажмите «Start» — аккаунт привяжется

Ссылка действует 10 минут. Если не успели — сгенерируйте новую.

Что даёт привязка

  • Уведомления о записях, отменах, оплатах — в Telegram
  • Клиенты могут записываться через бота
  • Быстрые действия прямо из уведомления

Статус

На странице интеграций отображается:

  • Привязан ли Telegram
  • Username привязанного аккаунта
  • Дата привязки

Отвязка

Нажмите «Отвязать Telegram». Уведомления в Telegram перестанут приходить. Другие каналы (email, в приложении) продолжат работать.

Webhooks (исходящие уведомления)

Автоматически отправляйте события о записях и оплатах в вашу CRM, Google Sheets, Zapier или Make.

Подключение

  1. Настройки → Интеграции → «Webhook в свою систему» → Webhooks
  2. Нажмите «Добавить webhook»
  3. Укажите URL вашего приёмника (только https://)
  4. Выберите события: запись создана, подтверждена, отменена, перенесена, неявка, оплата, возврат
  5. Скопируйте и сохраните секрет подписи — он показывается только один раз

Формат

Каждый 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.

Создание

  1. Настройки → Интеграции → «API для разработчика» → Разработчикам
  2. Нажмите «Создать токен»
  3. Укажите название и выберите scope'ы (права доступа)
  4. Скопируйте токен — он показывается один раз

Формат: 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 дней).

Что дальше