跳到主要内容

Webhook

欺诈状态的更新(对于被转入人工分析或响应为待处理的订单)以及被阻止的卖家,通过 Webhook 进行通知。为此,需要通过支持团队配置一个端点地址以接收更新通知,以及一个用于签署请求的 signature_key。值得注意的是,所有 webhook 发送都将发送到单一端点。

对于订单状态更新,客户也可以使用轮询技术。在这种情况下,只需不配置 webhook 端点,并使用订单检索端点来进行轮询。

注意

出于安全考虑,所有 Webhook 请求只会在通过 HTTPS 服务的端点上执行。

签名

Python 签名计算示例

    hmac_obj = hmac.new(signature_key.encode('utf-8'), (url + method + payload).encode('utf-8'), hashlib.sha1)
return hmac_obj.hexdigest()

为确保 webhook 端点收到的请求来自我们的服务器,HMAC 签名以类似于认证过程的方式在 Signature 头部中发送。

在服务器端计算预期签名值后,需要将计算出的签名与发送的签名进行比较。如果签名匹配,则表明请求来自我们的服务器且是可信任的。

事件更新 Webhook

Request Body
    {
"id": "123456",
"analysis_status": "automatically_approved",
"event_date": "2019-10-01T10:37:25-03:00"
}

事件分析状态更新请求具有上述格式,通知欺诈状态的变化。使用的方法是 PUT,端点地址也可以根据客户需求包含事件 ID。重要的是要注意,请求正文以 UTF-8 编码的文本发送。

重试

当收到 HTTP Status 200 作为响应时,通知被认为已完成。如果通知失败,将以以下间隔进行 7 次重试,直到返回 200 或尝试结束:

  • 10 秒
  • 40 秒
  • 160 秒
  • 640 秒
  • 2560 秒
  • 10240 秒
  • 40960 秒