Errors, Retries & Idempotency
Diagnose platform authentication failures and handle business outcomes safely.
Read the business result, not only HTTP status
Open Platform can return HTTP 200 after a request is forwarded while the supplier business result is unsuccessful. Treat code=SUCCESS as the success condition and retain request_id, trace_id, and downstream_request_id for support.
Authentication and access failures
| Code | Action |
|---|---|
APP_KEY_INVALID / 001–008 | Confirm environment, application key, permission and outbound-IP whitelist. |
SIGN_ERROR / HUB_SIGNATURE_INVALID | Rebuild the canonical string from the raw path, sorted query, body hash, timestamp, nonce and App Key. |
TIMESTAMP_EXPIRED / TIMESTAMP_EXPIRATION | Synchronize server time and create a new request. |
NONCE_REPLAY | Generate a new nonce; never repeat an old request verbatim. |
ACCESS_OVERCLOCKED | Reduce concurrency and retry later with backoff. |
Booking and order outcomes
| Code family | Meaning and handling |
|---|---|
CENTER_FULL_ROOM, DISSATISFY_QUOTA | No inventory; show the customer that the rate is unavailable and refresh products. |
PRICE_NEED_QUERY, HUB_CHARGE_PRICE | Price changed or must be refreshed; rerun real-time product query and trial booking. |
DISSATISFY_*CLAUSE | Guest, occupancy, room, booking or cancellation conditions are not met; correct the request rather than blindly retrying. |
HUB_ORDER_HAVE_EXISTED, CENTER_EXIST_ORDER | Possible duplicate order; reconcile using your coOrderCode and query order details. |
CENTER_INSUFFICIENT_AMOUNT | Insufficient credit balance; do not retry payment until balance is resolved. |
ORDER_CONFIRMING_CANNOT_CANCEL | Order is being confirmed; wait for webhook/order result rather than issuing repeated cancels. |
Retry decision
- May retry safely: network failures,
CONNECT_TIME_OUT,HUB_INTERNAL_TIMEOUT, and temporary downstream timeouts — only with a stable idempotency key for writes. - Do not blind-retry: validation, authentication, inventory, price, policy and duplicate-order errors. Correct or reconcile first.
- For create, pay, cancel and checkout: persist your own request ID and idempotency key before sending, then reconcile before any retry.
For the full official code list, including invoice and checkout validation codes, see the G-Link Error Code reference.
Updated about 4 hours ago
Did this page help you?