Исходящий Webhook
Исходящие вебхуки позволяют вам получать информацию о событиях в вашем пространстве в реальном времени. Это могут быть новые сообщения, реакции, чаты, участники и тд.
Вебхук представляет собой JSON объект, отправляемый в момент наступления события на указанный в настройках бота URL, содержащий небольшое количество информации, которой достаточно для написания автоматизаций. Если требуется получить больше информации об объектах, указанных в JSON - вы можете воспользоваться API и получить полную информацию.
Каждый исходящий вебхук защищён с помощью подписи, основанной на хешировании содержимого. Подробнее об этом, а также о других методах проверки подлинности исходящего вебхука, вы можете прочитать в блоке Безопасность.
Как получать Webhook
Все настройки исходящих вебхуков находятся в чат-ботах. Создавая нового бота, вы получаете возможность указать Webhook URL и выбрать те события, которые вы хотите получать.
Большинство типов событий потребуют добавления бота в чаты. Именно по этим чатам и по отправленным ботом сообщениям вы будете получать события. Есть глобальные события (например, Изменение состава участников пространства), которые не требуют добавления бота в чат.
О том, как создать бота и добавить его в чаты, вы можете прочитать в статье https://www.pachca.com/articles/webhook
Новые сообщения
Данный вебхук отправляется при появлении нового сообщения в чате, где участвует бот.
Вы можете получать как все новые сообщения в чате, так и только те, которые начинаются с указанных команд. Это будет полезно, если вы не хотите получать поток событий, а вам нужно только по требованию пользователя вызвать какой-то сценарий.
Добавление и удаление реакций
Данный вебхук отправляется при добавлении или удалении реакции на сообщение в чате, где участвует бот.
Нажатие кнопок
Данный вебхук отправляется при нажатии Data-кнопки в сообщении от бота. После получения этого вебхука вы можете воспользоваться методом Редактирование сообщения и изменить/удалить кнопки у сообщения или отправить Новое сообщение как реакцию пользователю.
Подробнее о работе с кнопками в ботах вы можете прочитать в статье https://www.pachca.com/articles/knopki-v-chat-botah
Изменение состава участников чатов
Данный вебхук отправляется при изменении состава участников чатов, где состоит бот, и в тредах этих чатов.
Изменение состава участников пространства
Данный вебхук отправляется при изменении состава участников пространства, включая изменение состояния участников (смотреть на значение поля event).
Безопасность
Каждый исходящий вебхук защищён с помощью подписи, основанной на хешировании содержимого. Подпись HMAC с использованием алгоритма SHA256 вычисляется из тела запроса и передаётся в заголовке Pachca-Signature.
В теле вебхука также содержится поле webhook_timestamp — метка времени в формате UNIX, указывающая момент отправки вебхука. Рекомендуется проверять, что это значение находится в пределах одной минуты от времени получения запроса, чтобы предотвратить атаки повторной отправки (replay attacks).
Для проверки подписи необходимо вычислить её самостоятельно, используя секрет вебхука Signing secret, который доступен в настройках бота во вкладке «Исходящий webhook». Рекомендуется использовать сырой (raw) контент тела запроса для вычисления хеша, так как при JSON-парсинге содержимое может быть изменено.
Кроме проверки подписи, также рекомендуется валидировать IP-адреса отправителя.
IP-адрес Пачки: 37.200.70.177