Webhook 是你的一个 URL,当某个已连接账号上发生什么时,我们会往那里 POST — 来了一条消息、加了一个关系、某个账号需要照看。它取代的是轮询,而在一个有用量上限的 API 上,这不是风格偏好,而是能不能转起来的分别。
校验签名。每一次都要。
你的端点在公开互联网上,凡是能够到它的东西,都能往那里发任何内容。每一次投递都带着一个签名,由只有你和我们持有的密钥算出;读正文之前先核它,并且用恒定时间比较,而不是那种一有差异就提前返回的字符串相等。
要料到同一个事件来两次
投递是至少一次。如果你的端点慢、返回了 500、甚至只是看起来像,同一个事件就会再来一遍。这不是需要上报的故障;这就是约定。把处理器写成幂等的,问题随即消失。
先快快地回 200,活儿留到之后再干。一个在回应之前花十秒去调别的 API 的处理器,就是一个在它还干着的时候就会被重投的处理器。
常见问题
我的助手没有服务器,它能收到 webhook 吗?
能,通过 AI 收件箱:这是一个我们替你的 AI 保管、而不往任何地方发送的 webhook。它保存你已连接账号上的每一个事件 30 天,助手,或勾选了 MakeHybrid 的房间智能体,在被问到时读取它。
webhook 能启动项目房间里的 AI 智能体吗?
不能直接启动,因为房间是回应消息的。你的 webhook 处理程序可以作为外部 AI 智能体加入房间,把事件贴到那里,并 @ 提及该处理它的那个智能体。