Mã lỗi #
Mọi error.code server có thể trả, kèm status và tham số trong details
(kiểu: ErrorParams trong sdk/api.ts). Rẽ nhánh theo code, hiện
message (server đã dịch). Câu mặc định từng mã: ERROR_CODES trong SDK.
| Mã | Status | Tham số (details) |
|---|---|---|
account_disabled | 403 | |
account_limits_unsupported | 409 | |
account_locked | 429 | retryAfter |
account_not_found | 404 | |
account_required | 400 | |
account_scope_required | 403 | |
account_suspended | 403 | |
api_key_forbidden | 403 | |
api_key_ip_denied | 403 | |
api_key_ips_unsupported | 409 | |
api_key_limit | 409 | |
api_key_not_found | 404 | |
api_key_superuser | 403 | |
api_keys_unsupported | 409 | |
attributes_unsupported | 409 | |
audit_resource_not_found | 404 | |
branch_across_accounts | 400 | |
brand_code_exists | 409 | |
brand_not_found | 404 | |
brand_slug_exists | 409 | |
brand_translation_lang_exists | 409 | |
brand_translation_not_found | 404 | |
cart_code_rejected | 409 | code |
cart_empty | 409 | |
cart_full | 409 | |
cart_guest_limit | 429 | retryAfter |
cart_item_not_found | 404 | |
cart_sign_in_required | 401 | |
checkout_cart_empty | 409 | |
checkout_cod_disabled | 409 | |
checkout_cod_over_limit | 409 | max |
condition_not_met | 403 | |
condition_without_permission | 400 | |
conditions_unsupported | 409 | |
config_not_found | 404 | |
config_scope_not_allowed | 400 | allowed |
conflict | 409 | |
coupon_code_exists | 409 | |
coupon_not_applicable | 409 | code, reason |
coupon_not_found | 404 | |
coupon_only_one | 409 | code |
coupon_product_not_found | 409 | |
customer_auth_required | 401 | |
customer_not_found | 404 | |
customer_shared | 409 | |
customer_type_code_exists | 409 | |
customer_type_customer_not_found | 404 | |
customer_type_inactive | 409 | |
customer_type_not_found | 404 | |
customer_type_price_rule_exists | 409 | |
customer_type_price_rule_not_found | 404 | |
customer_type_price_rule_ref_not_found | 404 | |
customers_unsupported | 409 | |
data_exports_unsupported | 409 | |
data_imports_unsupported | 409 | |
data_transfer_busy | 503 | |
database_busy | 503 | |
database_maintenance | 503 | retryAfter |
database_not_found | 404 | |
database_required | 400 | |
database_scope_required | 403 | |
database_upgrade_required | 409 | |
dataset_not_found | 404 | |
dedicated_single_account | 409 | |
default_lang_not_in_languages | 400 | |
delete_token_invalid | 401 | |
duplicate_value | 409 | resource, fields |
email_already_verified | 409 | |
email_missing | 409 | |
email_not_verified | 403 | |
email_taken | 409 | |
email_unsupported | 503 | |
email_verification_disabled | 403, 503 | |
empty_file | 400 | |
erase_confirm_mismatch | 400 | |
export_not_found | 404 | |
export_not_ready | 409 | |
export_too_large | 400 | |
feature_not_in_plan | 403 | feature |
feature_not_ready | 409 | |
field_write_forbidden | 403 | fields |
file_content_missing | 404 | |
file_not_attachable | 400 | fileIds |
file_not_found | 404 | |
file_required | 400 | |
file_too_large | 413 | maxBytes |
forbidden | 403 | missing |
gift_card_code_exists | 409 | |
gift_card_in_use | 409 | |
gift_card_insufficient_balance | 409 | balance |
gift_card_not_applicable | 409 | code, reason |
gift_card_not_found | 404 | |
gift_card_order_not_found | 404 | |
gift_card_refund_exceeds | 409 | amount, available |
gift_card_refund_order_not_paid | 409 | paymentStatus |
idempotency_in_progress | 409 | |
idempotency_key_reused | 422 | |
idempotency_response_withheld | 409 | |
idempotency_unsupported | 400 | |
impersonation_forbidden | 403 | |
import_file_invalid | 400 | |
import_file_missing | 404 | |
import_not_found | 404 | |
import_too_large | 413 | |
import_too_many_rows | 400 | |
import_upload_timeout | 408 | |
internal_error | 500 | |
invalid_api_key | 401 | |
invalid_api_key_expiry | 400 | maxDays |
invalid_api_key_scope | 400 | scopes |
invalid_ca_cert | 400 | |
invalid_condition | 400 | |
invalid_credentials | 401 | |
invalid_currency | 400 | |
invalid_cursor | 400 | |
invalid_idempotency_key | 400 | |
invalid_json | 400 | |
invalid_mfa_code | 401 | |
invalid_multipart | 400 | |
invalid_part_number | 400 | max |
invalid_reference | 409 | resource, field |
invalid_refresh_token | 401 | |
invalid_rule | 400 | |
invalid_rule_column | 400 | |
invalid_rule_table | 400 | |
invalid_step_up | 400 | |
invalid_store_code | 400 | |
invalid_store_relation | 400 | |
invalid_timezone | 400 | |
invalid_token | 401 | |
invalid_transition | 409 | machine, status, action |
job_not_deletable | 409 | |
job_not_found | 404 | |
job_not_retryable | 409 | |
last_factor | 409 | |
last_superuser | 409 | |
login_taken | 409 | |
managed_by_platform | 403 | |
menu_entry_not_found | 404 | |
menu_screen_not_declared | 404 | |
mfa_code_required | 400 | methods |
mfa_enrollment_required | 403 | |
mfa_not_configured | 503 | |
mfa_not_enabled | 409 | |
mfa_proof_required | 400 | methods |
mfa_sms_needs_factor | 409 | |
mfa_sms_not_enrolled | 404, 409 | |
mfa_ticket_invalid | 401 | |
module_dependency_missing | 503 | module, missing |
module_error | 400 | |
module_in_use | 409 | |
module_not_enabled | 404 | |
module_not_installed | 404 | |
module_required | 400 | |
modules_not_installed | 400 | modules |
momo_amount_out_of_range | 400 | min, max, amount |
momo_currency_unsupported | 400 | currency |
momo_rejected | 502 | resultCode, message |
momo_unavailable | 503 | resultCode, message |
no_store_access | 403 | |
not_found | 404 | |
notification_not_found | 404 | |
order_cod_unavailable | 409 | |
order_contact_required | 400 | |
order_customer_not_found | 404 | |
order_empty | 400 | |
order_in_use | 409 | |
order_invalid_transition | 409 | from, to |
order_no_warehouse | 409 | |
order_not_found | 404 | |
order_paid_cancel | 409 | |
order_payment_amount_mismatch | 409 | amount, total |
order_payment_not_recordable | 409 | status, paymentStatus, paymentMethod |
otp_invalid | 401 | |
outside_store_scope | 403 | |
part_size_mismatch | 400 | expected, received |
part_too_large | 413 | maxBytes |
passkey_invalid | 401 | reason |
passkey_not_found | 404 | |
passkeys_not_configured | 503 | |
password_change_required | 403 | |
password_change_unsupported | 409 | |
password_hashing_busy | 503 | retryAfter |
password_reset_disabled | 403, 503 | |
password_unchanged | 400 | |
payment_amount_invalid | 400 | amount, currency |
payment_callback_url_missing | 503 | |
payment_currency_mismatch | 409 | intent, transaction |
payment_einvoice_not_retryable | 409 | |
payment_intent_not_found | 404 | |
payment_intent_not_payable | 409 | status |
payment_intents_pending | 409 | count |
payment_momo_order_missing | 409 | |
payment_provider_not_configured | 409 | provider |
payment_signature_invalid | 400 | |
payment_transaction_not_found | 404 | |
payment_transaction_not_unmatched | 409 | status |
payment_webhook_invalid | 400 | |
payment_webhook_unauthorized | 401 | |
pdf_render_failed | 502 | |
pdf_unavailable | 409 | |
permission_not_conditional | 400 | |
permission_overrides_unsupported | 409 | |
phone_invalid | 400 | |
phone_login_disabled | 403 | |
phone_signup_details_required | 400 | |
phone_taken | 409 | |
plan_modules_unsupported | 409 | |
pre_order_setting_not_found | 404 | |
pre_order_setting_variant_exists | 409 | |
pre_order_setting_variant_not_found | 404 | |
price_code_not_recognized | 400 | code |
price_currency_mismatch | 409 | |
price_list_code_exists | 409 | |
price_list_currency_mismatch | 400 | code, currency |
price_list_customer_not_found | 409 | |
price_list_item_duplicate | 409 | |
price_list_not_found | 404 | |
price_list_price_format | 400 | currency, digits |
price_list_too_many_items | 409 | max |
price_list_uom_not_found | 409 | |
price_list_variant_not_found | 409 | |
price_qty_not_exact | 400 | qty, factor |
price_uom_invalid | 400 | uomId |
price_variant_unavailable | 409 | variantId |
print_email_repeat | 429 | |
print_email_unavailable | 409 | |
print_recipient_missing | 409 | |
print_record_not_found | 404 | |
print_too_large | 413 | |
printable_not_found | 404 | |
privilege_escalation | 403 | |
product_attribute_code_exists | 409 | |
product_attribute_not_found | 404 | |
product_attribute_value_code_exists | 409 | |
product_attribute_value_not_found | 404 | |
product_barcode_exists | 409 | |
product_brand_in_use | 409 | |
product_brand_invalid | 400 | |
product_category_code_exists | 409 | |
product_category_cycle | 409 | |
product_category_has_children | 409 | |
product_category_in_use | 409 | |
product_category_invalid | 400 | |
product_category_not_found | 404 | |
product_category_parent_not_found | 400 | |
product_category_slug_exists | 409 | |
product_category_too_deep | 409 | maxDepth |
product_code_exists | 409 | |
product_compare_at_price_too_low | 400 | |
product_extra_uoms_invalid | 400 | |
product_image_not_found | 404 | |
product_import_currency_change | 409 | sku, currency |
product_import_missing_fields | 400 | productCode, fields |
product_import_price_format | 400 | currency, digits |
product_import_row_conflict | 409 | productCode, column |
product_import_sku_duplicate | 409 | sku |
product_import_sku_other_product | 409 | sku, productCode |
product_last_variant | 409 | |
product_not_found | 404 | |
product_not_publishable | 409 | reasons |
product_sku_exists | 409 | |
product_slug_exists | 409 | |
product_too_many_variants | 409 | max |
product_uom_in_use | 409 | |
product_uom_invalid | 400 | ids |
product_variant_attributes_mismatch | 409 | |
product_variant_combination_exists | 409 | |
product_variant_not_found | 404 | |
product_variant_options_invalid | 400 | ids |
product_variant_price_uom_invalid | 400 | ids |
purchase_order_in_use | 409 | |
purchase_order_invalid_status | 409 | status, action |
purchase_order_item_not_found | 404 | itemId |
purchase_order_not_found | 404 | |
purchase_order_qty_not_exact | 400 | qty, factor |
purchase_order_receive_exceeds_ordered | 409 | itemId, remaining |
purchase_order_return_exceeds_received | 409 | itemId, received |
purchase_order_supplier_invalid | 400 | |
purchase_order_uom_invalid | 400 | uomId |
purchase_order_variant_invalid | 400 | variantId |
purchase_order_warehouse_invalid | 400 | |
push_disabled | 409 | |
push_subscription_not_found | 404 | |
quota_exceeded | 403 | quota, limit, scope |
quota_not_account_level | 400 | quotas |
rate_limited | 429 | retryAfter, scope |
realtime_unavailable | 503 | |
record_rule_violation | 403 | |
refresh_token_expired | 401 | |
refresh_token_reused | 401 | |
refresh_token_superseded | 401 | |
refund_amount_exceeds | 409 | amount, available |
refund_gateway_check_required | 409 | |
refund_gateway_paid | 409 | |
refund_momo_unavailable | 409 | |
refund_not_found | 404 | |
refund_not_gateway | 409 | |
refund_not_pending | 409 | status |
refund_order_not_found | 404 | |
refund_order_not_paid | 409 | paymentStatus |
refund_shipping_exceeds | 409 | shippingAmount, available |
refund_shipping_over_amount | 400 | |
report_email_required | 409 | |
report_not_found | 404 | |
report_params_invalid | 400 | |
report_schedule_not_found | 404 | |
report_schedules_unsupported | 409 | |
report_too_large | 400 | |
reset_token_invalid | 401 | |
resource_in_use | 409 | resource, referencedBy |
response_shape_mismatch | 500 | |
return_request_detail_invalid | 409 | reason |
return_request_invalid_status | 409 | status, action |
return_request_item_not_found | 404 | |
return_request_not_found | 404 | |
return_request_order_not_found | 404 | |
return_request_order_not_returnable | 409 | status |
return_request_qty_exceeded | 409 | available |
return_request_qty_not_exact | 400 | qty |
return_request_refund_invalid | 409 | reason, max |
role_exists | 409 | |
role_not_found | 404 | |
role_read_only | 403 | |
rule_not_found | 404 | |
rule_scope_unsupported | 409 | |
secrets_not_configured | 503 | |
self_attributes_forbidden | 403 | |
sequences_unsupported | 409 | |
session_limit_reached | 409 | maxSessions |
session_not_found | 404 | |
shipment_closed | 409 | status |
shipment_cod_not_collected | 409 | status |
shipment_invalid_transition | 409 | from, to |
shipment_limit_reached | 409 | max |
shipment_not_found | 404 | |
shipment_on_the_way | 409 | |
shipment_order_not_found | 404 | |
shipment_order_not_fulfilled | 409 | |
shipment_order_not_shippable | 409 | status |
signup_disabled | 403 | |
sms_otp_unavailable | 503 | |
sms_unavailable | 503 | |
social_email_required | 409 | ticket, expiresIn |
social_identity_not_found | 404 | |
social_identity_taken | 409 | |
social_last_login_method | 409 | |
social_link_required | 409 | |
social_login_unsupported | 409 | |
social_nonce_invalid | 401 | |
social_nonce_unsupported | 400 | |
social_phone_token_invalid | 401 | |
social_provider_disabled | 403 | |
social_provider_unavailable | 502 | |
social_redirect_not_allowed | 400 | |
social_redirect_unavailable | 403 | |
social_state_invalid | 401 | |
social_ticket_invalid | 401 | |
social_token_invalid | 401 | |
stock_batch_currency_mismatch | 409 | lotNumber, currency |
stock_batch_not_found | 404 | |
stock_batch_or_serial_required | 400 | |
stock_count_already_open | 409 | number |
stock_count_batch_not_found | 404 | batchId |
stock_count_batch_required | 400 | variantId |
stock_count_duplicate_line | 400 | |
stock_count_in_use | 409 | |
stock_count_invalid_status | 409 | status, action |
stock_count_not_found | 404 | |
stock_count_qty_not_exact | 400 | qty, factor |
stock_count_ref_not_allowed | 400 | variantId |
stock_count_serial_not_countable | 409 | serialId, status |
stock_count_serial_qty_unit | 400 | |
stock_count_serial_required | 400 | variantId |
stock_count_uom_invalid | 400 | uomId |
stock_count_variant_invalid | 400 | variantId |
stock_count_warehouse_invalid | 400 | |
stock_exceeds_reserved | 409 | |
stock_insufficient_available | 409 | available |
stock_insufficient_batch_available | 409 | available |
stock_insufficient_on_hand | 409 | onHand |
stock_level_not_found | 404 | |
stock_location_not_found | 404 | |
stock_lot_number_required | 400 | |
stock_not_tracked | 400 | |
stock_opening_balance_cost_forbidden | 403 | |
stock_opening_balance_duplicate | 400 | sku |
stock_opening_balance_has_stock | 409 | sku, onHand |
stock_opening_balance_too_many_rows | 400 | max |
stock_opening_balance_tracked | 400 | sku, mode |
stock_operation_in_progress | 409 | |
stock_product_in_use | 409 | |
stock_qty_must_be_positive | 400 | |
stock_serial_adjust_unit | 400 | |
stock_serial_exists | 409 | serialNo |
stock_serial_not_found | 404 | serialNo |
stock_serial_numbers_required | 400 | |
stock_serial_record_not_found | 404 | |
stock_tracking_locked | 409 | |
stock_transfer_in_use | 409 | |
stock_transfer_invalid_status | 409 | status, action |
stock_transfer_not_found | 404 | |
stock_transfer_qty_not_exact | 400 | qty, factor |
stock_transfer_same_warehouse | 400 | |
stock_transfer_uom_invalid | 400 | uomId |
stock_transfer_variant_invalid | 400 | variantId |
stock_transfer_warehouse_invalid | 400 | warehouseId |
stock_variant_in_use | 409 | |
stock_variant_not_found | 404 | |
stock_voucher_not_found | 404 | |
stock_warehouse_in_use | 409 | |
stock_warehouse_not_found | 404 | |
store_access_denied | 403 | |
store_code_taken | 409 | |
store_has_parent | 409 | |
store_inactive | 403 | |
store_languages_unsupported | 409 | |
store_module_in_use | 409 | modules, dependents |
store_module_unavailable | 409 | module, reason |
store_modules_unsupported | 409 | |
store_not_found | 404 | |
store_relation_cycle | 400 | |
store_relation_exists | 409 | |
store_relation_not_found | 404 | |
store_required | 400 | stores |
store_role_without_membership | 400 | |
subscription_expired | 403 | expiredAt |
superuser_job_forbidden | 403 | |
superuser_no_account | 400 | |
superuser_required | 403 | |
supplier_code_exists | 409 | |
supplier_not_found | 404 | |
tax_code_exists | 409 | |
tax_default_exists | 409 | |
tax_not_found | 404 | |
tax_product_invalid | 400 | |
tax_rate_not_found | 404 | |
tax_rate_overlaps | 409 | rateId |
tax_rate_period_invalid | 400 | |
tenancy_locked | 409 | |
token_database_mismatch | 401 | |
token_revoked | 401 | |
token_store_mismatch | 401 | |
too_many_attempts | 429 | retryAfter |
too_many_exports | 429 | |
too_many_imports | 429 | |
too_many_parts | 400 | maxParts |
too_many_report_schedules | 409 | |
too_many_streams | 429 | |
too_many_webhooks | 409 | |
totp_already_enabled | 409 | |
totp_not_enabled | 404 | |
totp_not_setup | 400 | |
trusted_device_not_found | 404 | |
unauthorized | 401 | |
unknown_modules | 400 | modules |
unknown_permission | 400 | |
unknown_plan_item | 400 | |
unknown_role | 400 | |
unknown_store | 400 | |
unknown_webhook_event | 400 | event |
unsupported_language | 400 | languages, allowed |
uom_code_exists | 409 | |
uom_not_found | 404 | |
upload_expired | 410 | |
upload_incomplete | 409 | missing |
upload_not_active | 409 | status |
upload_not_found | 404 | |
user_not_found | 404 | |
validation_failed | 400 | |
value_invalid | 400 | resource, field |
value_required | 400 | resource, field |
verify_token_invalid | 401 | |
version_conflict | 409 | currentVersion, version |
warehouse_code_exists | 409 | |
warehouse_location_code_exists | 409 | |
warehouse_location_has_children | 409 | |
warehouse_location_invalid_parent | 422 | |
warehouse_location_not_found | 404 | |
warehouse_location_too_deep | 422 | |
warehouse_not_found | 404 | |
webhook_backlog | 429 | |
webhook_delivery_not_found | 404 | |
webhook_inactive | 409 | |
webhook_not_found | 404 | |
webhooks_need_egress_proxy | 503 | |
webhooks_unsupported | 409 | |
wishlist_full | 409 | max |
wishlist_item_not_found | 404 | |
wishlist_variant_unavailable | 409 |