Códigos de erro

API de Revenda

Todos os erros seguem a RFC 7807. O corpo é application/problem+json com os campos type, title, status, detail, request_id e, opcionalmente, reason ou errors[].

{
  "type": "https://www.kernelhost.com/en/reseller-api/errors/payment_required",
  "title": "Payment required",
  "status": 402,
  "detail": "The order could not be paid.",
  "request_id": "01HX7Z3K8Q...",
  "reason": "insufficient_credit_and_no_card"
}
HTTPtypeSignificado
400validation_failedValidação de entrada falhou. Consulte errors[] para o detalhe por campo.
401auth_failedAutenticação falhou. reason indica o motivo: missing_headers, bad_key, bad_timestamp, timestamp_out_of_window, bad_nonce, bad_signature, signature_mismatch, replay_detected, unknown_or_locked_key, ip_not_allowed.
402payment_requiredPagamento exigido. reason: veja abaixo.
403forbidden_scopePermissão ausente. reason: missing_scope.
404not_foundO recurso não existe ou não é visível para esta chave API (impede enumeração de tenants).
409idempotency_conflictIdempotency-Key já utilizado com um corpo diferente.
429rate_limitedLimite de taxa excedido. Respeite o cabeçalho Retry-After.
500internal_errorErro interno do servidor. Forneça request_id para correlação com o log de auditoria ao entrar em contato com o suporte.

Motivos de pagamento exigido (HTTP 402)

Quando o pedido não pode ser pago, a API retorna HTTP 402 com um reason legível por máquina no corpo JSON.

  • insufficient_credit_and_no_card (Crédito insuficiente e sem cartão cadastrado. Solução: recarregar crédito ou adicionar um cartão no portal do cliente.)
  • card_declined (O cartão foi recusado pelo banco ou gateway. Solução: usar outro cartão ou contatar seu banco.)
  • card_expired (Cartão expirado. Solução: adicionar um novo cartão no portal do cliente.)
  • client_not_found (ID da conta não encontrado (praticamente nunca deve ocorrer, contate o suporte).)