Skip to main content
Как упоминалось в обзоре, веб-хуки позволяют нам создавать управляемые событиями приложения. AgentInbox поддерживает несколько типов событий, которые позволяют вам создавать комплексные, управляемые событиями рабочие процессы для ваших email-агентов. Все полезные нагрузки веб-хуков следуют одной и той же базовой структуре:
{
  "type": "event",
  "event_type": "event.name",
  "event_id": "evt_123abc..."
  // ... объект данных, специфичный для события
}

События сообщений

message.received

  • Описание: запускается всякий раз, когда новое письмо успешно получено и обработано в одном из ваших входящих ящиков. Это наиболее распространенный триггер для запуска рабочих процессов агентов.
  • Пример варианта использования: запустить внутренний рабочий процесс, когда письмо с жалобой клиента попадает во входящий ящик поддержки
Важно заметить, что message.received — это единственное событие веб-хука, которое включает метаданные как цепи, так и сообщения в полезной нагрузке. Другие типы событий отправляют только метаданные о событии. Дайте нам знать, если вам нужны метаданные для других типов событий, отправив письмо на support@agentmail.cc
  {
    "type": "event",
    "event_type": "message.received",
    "event_id": "evt_123abc",
    "message": {
      "inbox_id": "inbox_456def",
      "thread_id": "thd_789ghi",
      "message_id": "msg_123abc",
      "labels": ["received"],
      "timestamp": "2023-10-27T10:00:00Z",
      "from": [
        {
          "name": "Jane Doe",
          "email": "jane@example.com"
        }
      ],
      "to": [
        {
          "name": "Support Agent",
          "email": "support@agentmail.to"
        }
      ],
      "subject": "Question about my account",
      "preview": "A short preview of the email text...",
      "text": "The full text body of the email.",
      "html": "<html>...</html>",
      "created_at": "2023-10-27T10:00:00Z"
    },
    "thread": {
      // ... свойства цепи
    }
  }

message.sent

  • Описание: запускается, когда сообщение успешно отправлено из одного из ваших входящих ящиков.
  • Вариант использования: отслеживайте исходящие сообщения, обновляйте вашу базу данных или запускайте рабочие процессы следующих действий после отправки.
  {
    "type": "event",
    "event_type": "message.sent",
    "event_id": "evt_456def",
    "send": {
      "inbox_id": "inbox_456def",
      "thread_id": "thd_789ghi",
      "message_id": "msg_123abc",
      "timestamp": "2023-10-27T10:05:00Z",
      "recipients": [
        "recipient@example.com"
      ]
    }
  }

message.delivered

  • Описание: запускается, когда отправленное сообщение успешно доставлено на почтовый сервер получателя.
  • Вариант использования: подтвердите успешную доставку, обновите статус сообщения или запустите рабочие процессы подтверждения доставки.
  {
    "type": "event",
    "event_type": "message.delivered",
    "event_id": "evt_789ghi",
    "delivery": {
      "inbox_id": "inbox_456def",
      "thread_id": "thd_789ghi",
      "message_id": "msg_123abc",
      "timestamp": "2023-10-27T10:06:00Z",
      "recipients": [
        "recipient@example.com"
      ]
    }
  }

В чем разница между `message.sent` и `message.delivered?`

message.sent означает, что сообщение успешно покинуло наши серверы и находится в пути по сети. Это обычно происходит раньше message.delivered, где message.delivered означает, что сервер получающей электронной почты (будь то Gmail или Outlook) дает нам 200 OK, говоря, что электронное письмо было получено. Что они делают с письмом после этого, неизвестно.
Нет. Как упоминалось, message.delivered означает, что сервер получающей электронной почты, будь то Gmail или Outlook, говорит нам “Эй, AgentInbox, мы получили ваше письмо, мы возьмем это отсюда!”. Обычно у них есть свои собственные проприетарные алгоритмы для определения того, попадет ли письмо во входящий ящик или спам, но будьте уверены, мы обрабатываем все необходимое, чтобы поставщики, такие как Gmail, сочли письма достойными первичного входящего ящика

message.bounced

  • Описание: запускается, когда отправленное сообщение не может быть доставлено и отскочит. Включает информацию о типе и подтипе отскока.
  • Вариант использования: обрабатывайте отскочившие письма, обновляйте статус получателя или запускайте рабочие процессы обработки отскока.
  {
    "type": "event",
    "event_type": "message.bounced",
    "event_id": "evt_012jkl",
    "bounce": {
      "inbox_id": "inbox_456def",
      "thread_id": "thd_789ghi",
      "message_id": "msg_123abc",
      "timestamp": "2023-10-27T10:07:00Z",
      "type": "Permanent",
      "sub_type": "General",
      "recipients": [
        {
          "address": "invalid@example.com",
          "status": "bounced"
        }
      ]
    }
  }

message.complained

  • Описание: запускается, когда получатель помечает ваше сообщение как спам или подает жалобу.
  • Вариант использования: обрабатывайте жалобы на спам, обновляйте репутацию отправителя или запускайте рабочие процессы обработки жалоб.
  {
    "type": "event",
    "event_type": "message.complained",
    "event_id": "evt_345mno",
    "complaint": {
      "inbox_id": "inbox_456def",
      "thread_id": "thd_789ghi",
      "message_id": "msg_123abc",
      "timestamp": "2023-10-27T10:08:00Z",
      "type": "abuse",
      "sub_type": "spam",
      "recipients": [
        "complainer@example.com"
      ]
    }
  }

message.rejected

  • Описание: запускается, когда сообщение отклоняется перед отправкой, обычно из-за ошибок валидации или нарушений политики.
  • Вариант использования: обрабатывайте отклоненные сообщения, регистрируйте причины отклонения или запускайте рабочие процессы валидации.
  {
    "type": "event",
    "event_type": "message.rejected",
    "event_id": "evt_678pqr",
    "reject": {
      "inbox_id": "inbox_456def",
      "thread_id": "thd_789ghi",
      "message_id": "msg_123abc",
      "timestamp": "2023-10-27T10:09:00Z",
      "reason": "Invalid recipient address"
    }
  }
Если вы отправляете письмо на адрес bounced, rejected или complained, мы предотвращаем отправку на этот адрес электронной почты снова, чтобы сохранить низкий уровень отскока. Убедитесь, что вы сохраняете уровень отскока вашей учетной записи ниже 4%, иначе мы проведем проверку вашей учетной записи.

События домена

domain.verified

  • Описание: запускается, когда домен успешно проверен и готов к использованию для отправки писем.
  • Вариант использования: автоматически включайте функции, специфичные для домена, обновляйте статус домена или запускайте рабочие процессы после проверки.
  {
    "type": "event",
    "event_type": "domain.verified",
    "event_id": "evt_901stu",
    "domain": {
      "domain_id": "dom_123abc",
      "status": "verified",
      "feedback_enabled": true,
      "records": [
        // ... записи проверки DNS
      ],
      "created_at": "2023-10-27T09:00:00Z",
      "updated_at": "2023-10-27T10:00:00Z"
    }
  }

Фильтрация событий

При создании веб-хука вы можете указать, на какие события подписаться. Это позволяет вам:
  • Сократить трафик веб-хука, подписываясь только на нужные события
  • Создать специализированные веб-хуки для конкретных рабочих процессов
Например, если вам нужно запускать рабочие процессы только для входящих сообщений, вы можете подписаться только на message.received. Если вы создаете систему отслеживания доставки, вы можете подписаться на message.sent, message.delivered и message.bounced. Если у вас есть какие-либо конкретные уведомления веб-хуков, которые вы хотели бы, пожалуйста, напишите нам в тех.поддержку.