跳到主要内容

确认与回执

确认一条提醒,就是告诉发送方以及其他收到它的人:已经有人接手了。适合需要有人负责的提醒,比如服务中断、支付批处理失败、门没关。

满足以下任一条件时,提醒需要确认:

  • 请求中设置了 "require_ack": true。
  • 级别是 urgent。
  • 频道所有者在提醒级别中为这个级别开启了需要确认。
终端窗口
curl -X POST "$SEND_URL" \
-H 'Content-Type: application/json' \
-d '{"alert": {"title": "支付批处理失败"}, "level": "high", "require_ack": true}'

确认之前,提醒在收件箱中显示为未确认,紧急提醒会持续重复提醒接收者。

打开提醒,选择确认。确认一次就够了:这条提醒会在所有收到它的设备上变为已确认,重复提醒也随之停止。

如果设备离线,应用会先保存确认,并显示确认待发送,联网后立即发送。

如果提醒请求了回调,应用会先询问是否由服务器发送回调:仅确认,或确认并发送回调。

提醒需要确认,或请求中设置了 "receipt": true 时,响应中会包含 message.receipt_id。用同一个发送链接的 token(/v1/send/ 之后的部分)查询它的状态:

终端窗口
curl -H "Authorization: Bearer $SEND_TOKEN" "https://<api-host>/v1/receipts/$RECEIPT_ID"
{
"receipt": {
"id": "rcp_9a02…",
"message_id": "msg_4f1c…",
"status": "acked",
"acknowledged": true,
"acknowledged_at": "2026-10-27T08:15:30Z",
"emergency": true,
"retry_seconds": 60,
"emergency_expires_at": "2026-10-27T09:14:02Z",
"expired": false
}
}
字段 说明
status open、read、acked 或 resolved。
acknowledged、acknowledged_at 是否已确认,以及确认时间。
emergency、retry_seconds、emergency_expires_at 紧急提醒的重复提醒设置。
expired 紧急重复提醒已结束但仍无人确认时为 true。可以据此改用其他方式升级处理。
callback 请求了回调时出现:包含 status、attempt_count 和 delivered_at。

只有发送这条提醒的发送链接能读取它的回执;其他发送链接的 token 会得到 404 not_found,不是发送链接的 token 会得到 401 unauthorized。

短时间等待结果的脚本可以轮询。如果希望被主动通知,请使用确认回调。