Sự kiện webhook
TPA hỗ trợ các sự kiện webhook để gửi dữ liệu hoặc trạng thái xử lý hồ sơ. Mỗi request webhook đều kèm chữ ký ở header để xác thực nguồn gửi.
Danh sách sự kiện
| Loại sự kiện | Mục đích |
|---|---|
send_data | Gửi dữ liệu bộ hồ sơ sau khi OCR thành công |
verified_request | Gửi thông báo sau khi bộ hồ sơ được xác nhận GYC |
verified_cost | Gửi thông báo sau khi bộ hồ sơ được xác nhận chi phí |
synchronized | Gửi dữ liệu đồng bộ |
cost_analysis_completed | Gửi thông báo hoàn thành tính toán chi phí cho bộ hồ sơ |
Xác thực chữ ký
Toàn bộ dữ liệu ứng với mỗi sự kiện sẽ được gửi qua URL webhook, kèm theo CVS-DocBase-Signature ở headers. Giá trị chữ ký được mã hóa từ Secret key của webhook.
Mẫu code Python xác thực chữ ký:
import hmac
from hashlib import sha256
docbase_signature = request.headers["CVS-DocBase-Signature"]
body = request.body
expected = hmac.new(
key=client_secret.encode("utf-8"),
msg=body,
digestmod=sha256,
).hexdigest()
if expected != docbase_signature:
raise UnauthorizedError()