Skip to main content

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ệnMục đích
send_dataGửi dữ liệu bộ hồ sơ sau khi OCR thành công
verified_requestGửi thông báo sau khi bộ hồ sơ được xác nhận GYC
verified_costGửi thông báo sau khi bộ hồ sơ được xác nhận chi phí
synchronizedGửi dữ liệu đồng bộ
cost_analysis_completedGử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()