跳转到内容

问题排查

发送结果与预期不符时,请查看本页面。先按症状查看需要确认的事项,再到下方了解背后的运作方式。如果原因在 API 一侧,请与开发团队一起查看 API 对接指南。

请依次对照保存被拒绝的情况表格进行确认。


  • 消息中写的字段名是否与响应完全一致(包括大小写)
  • 如果是通过 POST 接收 JSON 的 API,是否写了 :content_type application/json
  • 地址中填入的值是否因特殊字符而被破坏(url_encode)
  • 复制粘贴地址时是否混入了看不见的空格
  • 当时是否处于熔断状态
  • API 是否满足 JSON 响应头、2xx 响应、2 秒、1MB 的条件(请开发团队确认)

  • 认证信息的名称、方式、允许的域名是否与调用地址匹配
  • 是否执行了 {% abort_message %}(失败原因为”个性化语法中止”)
  • 发送时是否出现了 Liquid 渲染错误

  • 当时是否处于熔断状态
  • 地址是否可以从外部访问,是否使用标准端口(80 · 443)
  • :headers 是否为 JSON 对象格式
  • 消息是否真的已发送(不是保存被拒绝或发送失败)

  • 是否已将 FlareLane 的发出 IP 加入允许列表
  • 是否拦截了 User-Agent: FlareLane-ConnectedContent/1.0 的请求

  • 有多少个指令就调用多少次,每个字段分别计算。
  • 处理过程中因错误重新处理时,可能会对同一收件人再次调用。
  • 响应复用(缓存)可能会减少调用次数。复用标准请查看设置响应复用。

大多数情况下会以空白发送,但也有完全不向该收件人发送的情况。

情况结果
API 调用失败
(超过 2 秒、非 2xx 响应、超过 1MB、JSON 格式错误、无法访问的地址、处于熔断状态)
留空白发送
没有认证信息,或方式、允许的域名不匹配该收件人发送失败
SMS · Kakao 失败原因:“连接内容认证信息错误”
执行了 {% abort_message %}不向该收件人发送 · 计为发送失败,不收费
SMS · Kakao 失败原因:“个性化语法中止”
发送时出现 Liquid 渲染错误该收件人发送失败

如果 API 持续失败,FlareLane 会暂时停止调用该 API 服务器,并以空白发送。这样做是为了帮助故障中的服务器恢复,同时避免每次调用都让发送延迟 2 秒。提前用 default: 写好替代文案即可应对这种情况。

区分内容
判断单位按项目和 API 服务器(域名)分别判断
熔断条件1 分钟内失败超过 100 次,且失败率超过 90% 时
计为失败的情况超过 2 秒或连接失败,以及 408 · 429 · 502 · 503 · 504 · 529 响应
404 · 500 等其他错误说明服务器仍在运行,因此不计入
熔断时间1 分钟
恢复1 分钟后进行 3 次试探调用,全部成功则恢复,失败则再熔断 1 分钟