Кратко

Вебхуки и события — получайте события почты и доменов по HTTP. Подписка на жизненный цикл сообщений (получено, отправлено, доставлено, отскок, жалоба, отклонение) и на верификацию домена. Проверка подписи через заголовки Svix, фильтрация по ящику или pod. Удобно для агентов, которым нужны надёжные асинхронные уведомления без постоянного WebSocket.

Что нового

События вебхуков:

  • message.received — новое входящее письмо
  • message.sent — исходящее отправлено
  • message.delivered — доставка подтверждена
  • message.bounced — отскок (тип и получатели)
  • message.complained — жалоба на спам
  • message.rejected — отклонение (например валидация)
  • domain.verified — домен успешно верифицирован

Доставка и проверка:

  • Заголовки в стиле Svix: svix-id, svix-signature, svix-timestamp
  • Фильтр по inbox или pod (до 10 на вебхук)
  • В полезной нагрузке: inbox_id, thread_id, message_id, метки времени и данные по типу события

Сценарии

Собирайте агентов, которые:

  • реагируют на новые письма, отскоки и жалобы по HTTP
  • синхронизируют состояние с БД или очередью
  • запускают сценарии при верификации домена
  • проверяют подпись вебхука для безопасности
from agentinbox import Agentinbox
client = Agentinbox(api_key="your-api-key")
# in your webhook handler: verify signature and handle event
# (use Svix or the raw headers for verification)
def handle_webhook(request):
event_id = request.headers.get("svix-id")
signature = request.headers.get("svix-signature")
payload = request.json()
if payload.get("event_type") == "message.received":
message = payload.get("message")
# process new email
elif payload.get("event_type") == "domain.verified":
domain = payload.get("domain")
# domain is verified

Настройка и проверка вебхуков — в документации по вебхукам.