开发者文档

实现幂等、重试和事件顺序

让 API 集成在超时、重复投递和并发事件下保持一致。

更新于 2026-07-24适合: 后端开发者 · 架构师

网络超时不能说明请求失败。客户端和 Callback 接收方都必须按 ID 实现幂等。

入站消息

  • 为每条业务消息生成稳定 messageId,重试时保持不变。
  • 超时或 5xx 使用带抖动的指数退避;不要为同一业务消息生成新 ID。
  • duplicate: true 表示系统返回了第一次处理结果。

Callback

  • 在持久化存储中记录事件 id,同一 ID 只产生一次业务效果。
  • 先落库或入队,再返回 2xx。
  • conversationId + sequence 处理同一会话内的相对顺序。
  • 不同会话可以并行处理。
  • 处理失败时返回可重试状态,不要返回 2xx 后丢弃事件。

关闭和重开

同一个 threadId 对应的会话关闭后收到新客户消息时会重新打开。你的系统应把 conversation.reopened 作为生命周期变化,而不是创建新线程。

相关指南