如何检查通知投递并重新发送

在“投递”中找到通知,检查发送结果,并在需要时将同一事件的另一次投递加入队列。

更新日期:

如果事件已经出现在 Cryptanio 中,但消息没有送达,请打开“投递”:其中可以查看渠道、尝试次数和发送结果。已结束的投递可以重新发送。这会为同一事件创建新的投递记录,原记录仍保留在历史中,不会创建新的转账或区块链事件。

下面以商店服务器曾暂时无法接收 webhook、随后恢复正常为例。此时需要找到失败的发送记录,再次投递通知。相同检查步骤也适用于聊天工具消息,但发送成功并不证明有人已经阅读消息。

需要准备什么

您需要相应账户和项目的访问权限。具有读取权限的成员可以查看历史,重新发送则需要修改数据的权限。请准备事件时间、项目和渠道。对于 webhook,应用日志中的 event_id 很有用。它标识的是事件,而不是转账 TXID。

如果尚未连接渠道,请先按照相应指南操作:Telegram、Discord 或 Slack。本文检查的是已经配置好的投递。

1. 先找到事件

打开“事件”,确认目标转账已记录在预期项目中。核对网络、地址、资产、方向和交易标识。已发现的转入与已确认的转入是不同状态,可能分别对应不同通知。

如果没有事件,重新发送投递并不能从区块链恢复该事件。请检查监控规则及启用状态、服务状态和所选项目。如何接入地址,请参阅多钱包监控指南。

2. 在“投递”中找到相应记录

打开“投递”。在“频道”和“项目”中选择渠道与项目,必要时使用“从日期起”设置起始日期。如果知道准确的 event_id,将其填入“事件编号”,然后点击“应用过滤器”。在单个项目视图中,项目范围已经确定。

查看记录状态:“在飞行中”表示发送仍在进行,“失败”表示失败,“交付”表示投递完成。点击“打开”,在投递详情窗口“送货详情”查看尝试次数、“最后一个回应”、加入队列时间和结束时间。发生错误时还可以查看错误说明。同一个事件 ID 可以有多条发往不同渠道的投递。

不要仅因缺少 HTTP 状态码就认定发送失败,结果取决于具体渠道。对于 webhook,请将响应与自己的服务器日志核对。目标字段可能受到保护,不会显示包含秘密值的完整地址。

3. 重新发送前先解决原因

检查处理器是否可用、应用权限以及目标渠道的访问权限。对于聊天工具,还应检查连接和路由是否暂停。如果授权已被撤销,请在提供该按钮的位置使用“重连”。连接测试会发送一条独立的服务消息,不会重放所选付款。

对于 webhook,请确认处理器验证签名,并正确保存已接受的事件。详见自动确认订单付款指南。重新发送不能修复接收端代码的错误。

4. 将另一次投递加入队列

在已结束的记录旁点击“重新发送”。在“重新发送通知?”对话框中,点击用于将另一次投递加入队列的“问再送”按钮确认。记录处于“在飞行中”,即仍在处理中时,不能重新发送。请等待当前投递结束,而不是创建相互竞争的发送。

Cryptanio 会创建新的投递 ID,同时保留原事件 ID 及其已保存内容。原记录及结果不会被覆盖。已成功的投递也可以重发,因此接收方可能收到重复消息。包含访问链接的一次性邮件不能通过这种方式重新发送。

这只是重复一条旧通知,不会获取账单最新状态,也不会自动把消息转移到另一渠道。修改路由不会重新生成旧事件的内容。

5. 检查新记录

刷新列表,找到同一事件的新投递。请等待结果,加入队列并不代表成功。如果再次失败,请阅读新的原因并检查接收方,而不是连续点击同一操作。

商店处理器应保存 event_id,防止重复发放商品。即使投递成功,是否履行订单仍须依据账单当前状态。“交付”确认的是通知发送结果,并不能证明订单已付款、有人读过消息,或您的应用已完成相应操作。