> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://agentinbox.space/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://agentinbox.space/_mcp/server.

## Кратко

**Вебхуки и события** — получайте события почты и доменов по 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
* синхронизируют состояние с БД или очередью
* запускают сценарии при верификации домена
* проверяют подпись вебхука для безопасности

**`Python`**

```python title="Python"
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
```

**`TypeScript`**

```typescript title="TypeScript"
import { Agentinbox } from "agentinbox";

const client = new Agentinbox({ apiKey: "your-api-key" });

// in your webhook handler: verify signature and handle event
// (use Svix or the raw headers for verification)
function handleWebhook(request: Request) {
  const eventId = request.headers.get("svix-id");
  const signature = request.headers.get("svix-signature");
  const payload = request.json();
  if (payload.event_type === "message.received") {
    const message = payload.message;
    // process new email
  } else if (payload.event_type === "domain.verified") {
    const domain = payload.domain;
    // domain is verified
  }
}
```

> **Note**
>
> Настройка и проверка вебхуков — в [документации по вебхукам](https://agentinbox.space/overview).