Интеграция с системой Time: вебхуки, боты и Slash-команды
Time поддерживает насколько механизмов интеграции с внешними сервисами. Здесь мы рассмотрим основные способы автоматизации взаимодействия с Time: входящие вебхуки, боты и Slash-команды. Также затронем тему работы с API и получения токенов.
Входящие вебхуки (Incoming Webhooks)
Входящие вебхуки позволяют внешним сервисам отправлять сообщения в каналы Time. Это идеальный способ для настройки оповещений, отчётов и системных уведомлений.
Пример:
{
"text": "Резервное копирование завершено успешно."
}
Как настроить
- Откройте настройки интеграций в Time.
- Создайте входящий вебхук.
- Укажите канал, в который бот будет писать по умолчанию.
- Скопируйте сгенерированный URL и используйте его в вашем сервисе.
Исходящие вебхуки (Outgoing Webhooks)
Исходящие вебхуки ранее использовались для отправки запросов из Time на сторонние сервисы при вводе определённых сообщений. Однако они отключены по требованиям службы информационной безопасности.
Рекомендуется использовать slash-команды или ботов вместо исходящих вебхуков для реализации динамического взаимодействия.
Боты
Боты — это специальные пользователи, управляемые через API. Они отлично подходят для:
- взаимодействия с внешними системами,
- автоматизации бизнес-процессов,
- создания чат-ботов и помощников.
Как создать и использовать бота
- Перейдите в «Интеграции» → «Учетные записи ботов».
- Создайте нового бота, задайте имя и описание.
- После создания скопируйте токен доступа — он потребуется для работы с API.
- Используйте токен в HTTP-запросах к API Time с заголовком:
Authorization: Bearer <bot_token>
Работа с API Time
Для доступа к API Time от определенного пользователя необходимо использовать токен доступа. Его можно получить одним из следующих способов:
Сессионный токен
Если вам нужно временно потестировать API или сделать один-два запроса от имени пользователя — можно извлечь сессионный токен MMAUTHTOKEN из cookies браузера при открытом интерфейсе Time. Это позволит выполнить авторизованные запросы к API вручную. Однако этот метод не рекомендуется для использования в продакшене — токен может истечь или быть отозван.
Персональный токен доступа
При наличии роли system_user_access_token
пользователь может самостоятельно создать персональный токен доступа для API.
Для этого необходимо:
- Перейти в профиле пользователя в раздел «Безопасность»
- В подразделе «Персональные токены доступа» создать новый токен.
Роль system_user_access_token
пользователю может быть назначена администратором через системную консоль. По умолчанию у обычных пользователей роль system_user_access_token
отсутсвует.
Для того чтобы пользователю назначить роль system_user_access_token
необходимо:
- В системной консоли в разеделе «Управление интеграцией» убедиться, что включена опция «Включить Персональные токены доступа»
- В системной консоли перейти в раздел «Пользователи»
- Выбрать нужного пользователя
- Нажать в профиле пользователя «Управление ролями» и выбрать опцию «Создавать токены личного доступа»
Slash-команды
Slash-команды (/command
) — мощный инструмент, позволяющий пользователям вызывать внешние действия прямо из интерфейса Time.
Пример:
/deploy staging
Команду можно ввести в поле отправки сообщения. Команда отправляет запрос на ваш сервер, который может запускать деплой на нужной среде и возвращает результат в чат.
Как настроить
- Зайдите в «Интеграции» → «Slash-команды».
- Укажите имя команды, URL сервера-обработчика и параметры безопасности.
- Убедитесь, что сервер возвращает корректный JSON с ответом, который увидит пользователь.