POST с деталями, как только произойдет событие.
Этот управляемый событиями подход более эффективен и позволяет вам создавать быстрые, отзывчивые агенты, которые могут мгновенно реагировать на входящие сообщения.
Зачем использовать веб-хуки?
- Скорость в реальном времени: создавайте агентов-переговорщиков, которые могут отвечать на входящие письма за секунды.
- Эффективность: устраняет необходимость в постоянном опросе, что экономит ваши вычислительные ресурсы и упрощает логику вашего приложения.
Рабочий процесс веб-хука
Процесс простой:1. Создайте конечную точку веб-хука
Это открытый URL на вашем сервере, который может принимать запросы
POST. Для локальной разработки инструмент, подобный ngrok, идеально подходит для создания защищенного открытого URL, который туннелирует на вашу локальную машину. Ваша конечная точка должна немедленно вернуть ответ 200 OK, чтобы подтвердить получение и обработать полезную нагрузку в фоновом режиме, чтобы избежать тайм-аутов.2. Зарегистрируйте конечную точку с помощью AgentInbox
Вы можете зарегистрировать свой URL, используя API AgentInbox. Когда вы создаете веб-хук, вы указываете URL вашей конечной точки, а также типы событий, которые вы хотите получать.
client.webhooks.create( url="https://<your-ngrok-url>.ngrok-free.app/webhooks")Структура полезной нагрузки
Когда AgentInbox отправляет веб-хук, полезная нагрузка будет иметь следующую структуру.Полезная нагрузка веб-хука
Описания полей
event_type(string): имя события. В настоящее время это всегда будетmessage.received.event_id(string): уникальный идентификатор для этой конкретной доставки события.message(object): словарь, содержащий полные детали полученного письма.from_(array<string>): адрес электронной почты отправителя. Обратите внимание на завершающий символ подчеркивания, чтобы избежать конфликта с ключевым словом Python.organization_id(string): ID вашей организации.inbox_id(string): ID входящего ящика, который получил сообщение.thread_id(string): ID цепи беседы.message_id(string): уникальный ID этого конкретного сообщения.labels(array<string>): метки, связанные с сообщением (например,received,sent).subject(string): строка темы письма.preview(string): короткое простой текст предпросмотр тела письма.text(string): полное простой текст тела письма.html(string): полное HTML тело письма, если оно присутствует.attachments(array<object>): список вложений, каждое с его собственнымattachment_id,filename,content_type,sizeи статусомinline.in_reply_to(string):message_idписьма, на которое это сообщение является ответом, если применимо.
Дальнейшие шаги
События веб-хуков
Изучите полный список доступных типов событий и их полезные нагрузки данных.
Проверка веб-хуков
Узнайте, как проверить подписи веб-хуков для защиты ваших конечных точек.
Пример: управляемый событиями агент
Создайте полностью развертываемого управляемого событиями агента, который может отвечать на письма в реальном времени.
