Partner API

Mã lỗi

Lỗi trả về một envelope thống nhất với code đọc được bằng máy. Branch theo code, không theo message.

Error envelope

{
  "success": false,
  "message": "Invalid webhook url",
  "code": "invalid_webhook_url",
  "httpCode": 400
}
  • success luôn là false.
  • code là định danh lỗi ổn định, viết thường — field để branch.
  • httpCode phản ánh HTTP status; transport status cùng giá trị.
  • message là context cho người đọc, có thể đổi giữa các release.

Lỗi xác thực và scope

HTTPcodeÝ nghĩa
401unauthorizedSai hoặc thiếu header access-key.
401unauthorized ("missing access keys")Thiếu một trong hai header.
401unauthorized ("missing user id")Endpoint theo user được gọi thiếu userId.
401unauthorized ("Partner user not found")userId chưa đăng ký dưới partner của bạn.
401unauthorized ("partner api key is disabled")API key tồn tại nhưng đang bị tắt — liên hệ Zenith.
403"partner type not allowed to call this API"Loại partner của bạn không được dùng endpoint này.
403"missing required api scope: <scope>"Endpoint cần scope mà key không có.
403KYC gateEndpoint virtual-account: KYC của user chưa approved.
429too_many_requests>10 lần auth sai trong 60s, hoặc chạm rate limit của endpoint.

Các domain code thường gặp

codeỞ đâuÝ nghĩa
invalid_webhook_urlupdate-webhookURL không phải HTTPS hoặc không thuộc domain đã đăng ký.
invalid_email_formatcreate userEmail không hợp lệ.
amount_to_low / amount_to_hightransfersSố tiền ngoài dải cho phép.
concurrency_issue_detectednhiều nơiGhi đồng thời xung đột — retry với backoff.
internal_server_errorbất kỳLỗi bất ngờ — retry; liên hệ Zenith nếu lặp lại.

Hướng xử lý

  • Retry idempotent với 5xx và concurrency_issue_detected, backoff lũy tiến.
  • Không retry 4xx nếu không sửa request.
  • Log cả code + message — message mang context Zenith cần khi bạn escalate.