跳转到内容
simail文档v0

参考

事件类型

每一种 simail 事件、轮询与 webhook 和 WebSocket 共用的薄载荷,以及哪些事件会唤醒 agent。

docs.simail.ai/zh/event-types

载荷是薄的,每个通道都一样(轮询、webhook、WebSocket)。它们从不包含主题、正文或附件名;需要内容时用你的 key 去取那封信(扣留的信仍然只有元数据)。

{
"event_id": "evt_…",
"event_type": "message.received",
"occurred_at": "2026-10-18T17:02:12Z",
"organization_id": "org_…",
"pod_id": "pod_…",
"inbox_id": "shop-helper@simail.email",
"thread_id": "thr_…",
"message_id": "msg_…",
"data": { "from": "ada@example.com", "labels": ["received", "unread"], "held": false, "classification": "normal", "wake": true }
}
字段说明
event_id唯一;用它去重(webhook 把它放在 webhook-id)
occurred_atISO 8601,UTC
pod_id、inbox_id、thread_id、message_id事件关于该对象时才出现
data小的、随类型变化的字段(见下)
类型何时data
message.received一封信已存入from、labels、held、classification、wake
message.received.spam被标成垃圾的信已存入同上
message.received.blocked带 blocked 标签的信已存入同上
message.held一封信被扣留给人审(只有元数据)from、hold_reasons
message.released人放行了一封扣留的信from、wake
message.sent外发信已交给邮件网络send_id
message.delivered收件人的服务器接受了它recipient
message.bounced退信recipient、bounce_type(hard 或 soft)
message.complained收件人把它标成垃圾recipient
message.rejected发信网络拒绝了它recipient
draft.submitted草稿已提交发送draft_id、send_id
approval.requested一次发送在等审批approval_id、send_id、flags
approval.decided审批人批准或拒绝,或已过期approval_id、send_id、decision
send.blocked一次发送被拦住send_id、reasons
send.cancelled定时或待发的发送被取消send_id
send.deferred发送在等待(暂停、锁定或每日上限)并会重试send_id、reason
thread.locked人接管了一个线程
thread.unlocked人交还了它
label.added加了一个标签label
label.removed去掉了一个标签label
inbox.digest没有唤醒 agent 的事件的每日计数counts
inbox.created建了一个邮箱
inbox.deleted删了一个邮箱
org.suspended该组织的发送被暂停reason
org.resumed发送恢复

每个 message.received(以及 message.released)事件都有 data.wake。邮件属于你参与的线程、来自该邮箱的联系人、或命中收信允许名单时,它为 true。陌生人的信唤醒 agent 有预算:每个邮箱每天(inbound.wake.stranger_daily,默认 50)以及每个发件人每小时(inbound.wake.per_sender_hourly,默认 5)。超过之后,事件仍会存下并由 GET /v0/events 返回,但 webhook 和 WebSocket 会跳过,除非订阅设置了 include_non_wake: true。每天一条 inbox.digest 报告被跳过的数量。扣留的信从不唤醒。

这样,一波邮件不会变成一波模型调用。