跳到主要内容

Webhook

欺诈状态的更新(针对被转交人工分析或以"待处理"状态响应的注册)将通过 Webhook 进行通知。为此,需通过支持团队配置一个端点地址,用于接收我们发送的状态更新通知,以及一个 secret_token,用于对请求进行签名。

客户也可以使用轮询技术(虽然不建议这样做)。在这种情况下,无需配置 webhook 端点,直接使用注册查询端点进行轮询即可。

签名

Python 签名计算示例

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

为确保 webhook 端点收到的请求来自我们的服务器,在 Header Signature 中会发送 HMAC 签名,与认证流程类似。

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

请求

curl --location 'YOUR-ENDPOINT-HERE' \
--header 'Signature: CALCULATED-HASH-HMAC' \
--data '{"natural_person_id": "538509", "analysis_status": "manually_approved", "event_date": "2024-11-13T17:52:50Z", "reason": "manually_approved"}'

请求格式如上所示,用于通知欺诈状态的变更。需要注意的是,请求使用 HTTP POST 方法,请求正文以 UTF-8 编码的文本形式发送。

重试机制

当收到 HTTP Status 200 的响应时,通知视为已成功送达。如果通知失败,将进行最多 5 次重试,重试间隔如下,直到收到 200 响应或重试次数用尽:

  • 30 秒
  • 60 秒
  • 120 秒
  • 240 秒
  • 360 秒