API v1

接收回调

登记回调地址后,任务结束和费用结算时我们向它发送签名的通知。

查看 Markdown
本页内容

回调让你不用一直轮询:任务结束时我们向你登记的 HTTPS 地址发送 POST 请求。

登记地址

  1. 在控制台的「回调」页添加 HTTPS 地址并完成验证,保存登记时显示的签名密钥 signing_secret。
  2. 创建任务时在请求体里写 callback_url,值必须与本团队已验证、未撤销且未过期的地址逐字节相同,否则返回 400 callback_target_not_verified。
  3. 收到通知时先验证签名,再处理正文。

两种事件

事件什么时候发送
task.completed任务成功、失败或取消之后;成功的任务要先完成交付处理。
task.billing_settledtask.completed 已送达或放弃、且费用结算确定之后。完成后三十天仍未结算的任务不发送。

两个事件的正文都是任务快照,不含结果下载地址;需要下载时再查询任务。

响应与重试

只有 2xx 响应表示已收到。其他状态或超时会重试:第一次失败后依次等待 10 秒、1 分钟、5 分钟,之后每小时一次,每个事件最长 7 天。task.billing_settled 的 7 天从它自己开始投递时算起。

去重

每个事件至少送达一次,可能重复。验证签名后,按正文里的 event_id 去重;请求头 Chenvoya-Event-Id 没有被签名,只是方便查看的副本。处理过的事件 ID 至少保存 7 天零 5 分钟。重试时事件 ID 和正文的原始字节都不变。

撤销地址

在控制台撤销地址后不再开始新的投递,但已经开始发送的那一次仍可能到达。控制台可以查看通知记录;任务的当前状态和下载结果始终以查询任务为准。

下一步