Saltar para o conteúdo

Erros

Cada falha é um documento de problema RFC 7807 com um código estável legível por máquina.

  1. Detalhes do problema
  2. Códigos que vai encontrar
  3. Repetir com segurança

Detalhes do problema

As respostas que não são 2xx trazem application/problem+json com status, title, detail, um code estável (snake_case), um field opcional que indica a propriedade do pedido em causa, e um traceId a indicar quando contactar o apoio.

Exemplo
{
  "type": "https://dubaitrip.com/docs/api/errors#price_changed",
  "title": "Price changed",
  "status": 409,
  "detail": "The fare is now 412.50 USD (was 398.00 USD). Re-price and confirm.",
  "code": "price_changed",
  "traceId": "00-3f2a…"
}

Códigos que vai encontrar

401 api_key_invalid, api_signature_invalid, api_timestamp_skew, api_nonce_reused, api_token_invalid — problemas de autenticação. 403 api_scope_missing (a sua chave não tem o âmbito), api_ip_not_allowed, api_partner_suspended. 429 api_rate_limited, api_quota_exceeded. 400 validation_failed (com field). 404 search_session_not_found, order_not_found, booking_not_found. 409 offer_expired, rate_expired, price_changed. 402 insufficient_credit (apenas em produção — carregue o seu depósito). 502 supplier_error — o fornecedor aéreo ou hoteleiro falhou; repita a pesquisa.

Repetir com segurança

Repita um 429 depois do Retry-After, e 502/503/504 com recuo exponencial. Nunca repita um 4xx que não seja 429. Repita operações de compromisso (encomendas, reservas, emissão, cancelamento) apenas com a mesma Idempotency-Key. Se uma sessão de pesquisa expirar (404), inicie uma nova pesquisa — os IDs de oferta e as chaves de tarifa não são válidos entre sessões.