Команда Пачки
Демонстрация Пачки
Живой разговор с нашим экспертом,
не больше получаса
Узнаете, как быстро перейти в Пачку из Slack, Telegram или другого мессенджера
Сориентируетесь по ценам и скидкам
Посмотрите, как работает Пачка: основные функции и интеграции
Передовые компании выбирают Пачку
Логотип МФТИЛоготип SkillfactoryЛоготип Lamoda
Демонстрация Пачки
Мы свяжемся с вами в течение дня и договоримся о времени.
Спасибо! Ваша заявка была получена!
Запись в данный момент недоступна. Попробуйте ещё раз позднее.

Исходящие Webhook

Исходящие Webhook в Пачке — это инструмент для создания интеграций, который позволяет получать уведомления в формате JSON о различных событиях в реальном времени на ваш URL. В этой статье мы разберем настройку, типы событий и особенности использования вебхуков.

Как настроить отправку исходящих Webhook

1. Перейдите в раздел «‎Автоматизации»

2. В настройках бота выберите вкладку «‎Исходящий Webhook»

3. Введите полный URL вашего сервера, на который будут отправляться уведомления

4. У каждого исходящего вебхука автоматически генерируется уникальный токен — Signing secret, который вы не можете изменить. Такая авторизация позволяет серверу проверять и принимать запросы только от доверенного источника. Подробнее здесь.

О каких событиях можно получать Webhook

  • Новые сообщения: отправка уведомлений о появлении новых сообщений в чатах, где есть бот (в т.ч. о сообщениях в тредах)
  • Редактирование и удаление сообщений: уведомления при редактировании или удалении существующих сообщений в чатах, где есть бот
  • Добавление и удаление реакций: уведомления при добавлении или удалении эмодзи-реакций на сообщения от бота
  • Нажатие кнопок: уведомления при нажатии пользователями на интерактивные кнопки в сообщениях бота
  • Изменение состава участников чатов: уведомления при добавлении или удалении участников в чатах, где есть бот
  • Изменение состава участников пространства: уведомления при приглашении, подтверждении, приостановке или удалении участников пространства

Исходящие Webhook о новых сообщениях

Если вы выбрали событие «‎Новые сообщения», то у вас есть возможность выбрать, о каких именно новых сообщениях получать уведомления. Доступно два варианта:

  • Любые сообщения: получать уведомления о всех новых сообщениях в чатах с ботом
  • Начинающиеся с команд: получать уведомления только о сообщениях, которые начинаются с команд, указанных в поле «‎Команды». Команды должны начинаться с символа /, быть на английском языке и перечисляться через запятую. Например: /start, /hello, /task

Типы событий исходящих Webhook

Пачка поддерживает 5 основных типов событий. Они отправляются в формате JSON.

1. Сообщение

Отправляется при создании нового сообщения в чате.

{
  "type": "message", //тип объекта
  "id": 4062313533, //идентификатор объекта
  "event": "new", //тип события (new,update или delete)
  "entity_type": "thread", //тип сущности, к которой относится объект (discussion, thread или user)
  "entity_id": 14904221, //идентификатор сущности, к которой относится объект
  "content": "/new разработка чата", //текст сообщения
  "user_id": 18531312, //идентификатор отправителя
  "created_at": "2023-01-26T15:25:16.000Z", //время создания сообщения
  "url": "https://app.pachca.com/chats/34876123?message=4062313533", //прямая ссылка на сообщение
  "chat_id": 34876123, //идентификатор чата, в котором находится сообщение
  "parent_message_id": 4062313532, //идентификатор сообщения, к которому написан ответ (или null, если сообщение не является ответом)
  "thread": { //объект с параметрами треда (или null, если это сообщение не относится к треду)
    "message_id": 5631128658, //идентификатор сообщения, к которому был создан тред
    "message_chat_id": 38926752 //идентификатор чата сообщения, к которому был создан тред
    }
}

2. Реакция

{
  "type": "reaction", //тип объекта
  "event": "new", //тип события (new или delete)
  "message_id": 21344124, //идентификатор сообщения, к которому относится реакция
  "code": "👍", //emoji символ реакции
  "user_id": 18531312, //идентификатор пользователя, который добавил или удалил реакцию
  "created_at": "2023-01-26T15:25:16.000Z" //время создания сообщения
}

3. Кнопка

{
  "type": "button", //тип объекта
  "message_id": 21344124, //идентификатор сообщения, к которому относится кнопка
  "data": "vote_yes", //данные нажатой кнопки
  "user_id": 18531312 //идентификатор пользователя, который нажал кнопку
}

4. Участник чата

{
  "type": "chat_member", //тип объекта
  "event": "add", //тип события (add или remove)
  "chat_id": 34876123, //идентификатор чата, в котором произошло событие
  "thread_id": 1243243, //идентификатор треда (или null, если это событие не относится к треду)
  "user_ids": [13,321], //идентификаторы пользователей
  "created_at": "2023-01-26T15:25:16.000Z" //время события
}

5. Участник пространства

{
  "type": "company_member", //тип объекта
  "event": "invite", //тип события (invite, confirm, suspend, activate, delete)
  "user_ids": [13,321], //идентификаторы пользователей
  "created_at": "2023-01-26T15:25:16.000Z" //время события
}

Облегчённый формат Webhook

‍Поскольку исходящие вебхуки позволяют быстро и в реальном времени получать уведомления на URL, в них содержится только базовая информация о событии. Если вам нужна полная информация, то можно сделать запрос через API.

  • Так, для полной информации по событиям «‎Сообщения» и «‎Кнопка», нужно использовать API-метод «‎Информация о сообщении». Информация о кнопках будет возвращаться как параметр сообщения.
  • Для полной информации по событию «‎Реакция» — API-метод «Список реакций» для конкретного сообщения.
  • Для полной информации по событию «‎Участник чата» — API-метод «Информация о беседе или канале». Будет отдаваться вся информация о чате, в т.ч. об участниках чата.
  • Для полной информации по событию «‎Участник пространства» — API-метод «Список сотрудников»

Пример

‍Вебхук о новом сообщении:

{
  "type": "message", 
  "id": 4062313533, 
  "event": "new", 
  "entity_type": "thread", 
  "entity_id": 14904221, 
  "content": "/new разработка чата", 
  "user_id": 18531312, 
  "created_at": "2023-01-26T15:25:16.000Z", 
  "url": "https://app.pachca.com/chats/34876123?message=4062313533", 
  "chat_id": 34876123, 
  "parent_message_id": 4062313532, 
  "thread": { 
    "message_id": 5631128658, 
    "message_chat_id": 38926752 
  }
}

API-ответ с расширенной информацией о новом сообщении:

{
  "id": 4062313533,
  "entity_type": "thread",
  "entity_id": 14904221,
  "chat_id": 34876123,
  "content": "/new разработка чата",
  "user_id": 18531312,
  "created_at": "2023-01-26T15:25:16.000Z",
  "url": "https://app.pachca.com/chats/34876123?message=4062313533",
  "files": [
    {
      "id": 123456,
      "key": "path/to/file.pdf",
      "name": "document.pdf",
      "file_type": "file",
      "url": "https://app.pachca.com/files/download/123456"
    },
    {
      "id": 789012,
      "key": "path/to/image.jpg",
      "name": "screenshot.jpg",
      "file_type": "image",
      "url": "https://app.pachca.com/files/download/789012",
      "width": 1920,
      "height": 1080
    }
  ],
  "buttons": [
    [
      {
        "text": "Принять",
        "url": "https://example.com/accept",
        "data": "accept_task"
      },
      {
        "text": "Отклонить",
        "url": "",
        "data": "decline_task"
      }
    ]
  ],
  "thread": {
    "id": 12345,
    "chat_id": 67890
  },
  "forwarding": {
    "original_message_id": 123456789,
    "original_chat_id": 987654321,
    "author_id": 18531312,
    "original_created_at": "2023-01-25T12:30:15.000Z",
    "original_thread_id": 55555,
    "original_thread_message_id": 44444,
    "original_thread_parent_chat_id": 33333
  },
  "parent_message_id": 4062313532,
  "display_avatar_url": "https://app.pachca.com/custom_avatars/bot.png",
  "display_name": "Бот помощник"
}
Обновлено 
14.4.2025