Webhook 接收
Webhook 签名采用对称密钥加密策略,即 QI CTVM 与集成合作方共享同一密钥。在配置 Webhook 时,我们将生成并提供一个 Signature Key。每个来自 QI 系统的请求都会携带一个 SIGNATURE 请求头,该请求头为使用该密钥签名的 JWT。编码算法为 HS256。
以下是使用 Python 进行签名解码的示例:
from jose import jwt
signature_key = "CHAVE UNICA DISPONIBILIZADA PELO TIME QI"
signature_token = headers["SIGNATURE"]
decoded_token = jwt.decode(signature_token, key=signature_key, algorithms=["HS256"])
print(decoded_token)
除了验证签名外,我们还建议集成合作方验证我们的 IP,因为我们所有的请求都来自同一个 IP,具体如下:
| 环境 | IP |
|---|---|
| 生产环境 | 54.205.166.229 |
| Sandbox | 52.72.221.4 |
注意!
QI CTVM 的 Webhook 不应以严格方式进行映射。 我们的 API 返回的 Webhook payload 中可能会包含额外字段。