Saltar al contenido

Errores

Cada fallo es un documento de problema RFC 7807 con un código estable legible por máquina.

  1. Detalles del problema
  2. Códigos que encontrará
  3. Reintentar de forma segura

Detalles del problema

Las respuestas que no son 2xx llevan application/problem+json con status, title, detail, un code estable (snake_case), un field opcional que indica la propiedad de la solicitud causante y un traceId que debe citar cuando contacte con soporte.

Ejemplo
{
  "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 encontrará

401 api_key_invalid, api_signature_invalid, api_timestamp_skew, api_nonce_reused, api_token_invalid: problemas de autenticación. 403 api_scope_missing (a su clave le falta el ámbito), api_ip_not_allowed, api_partner_suspended. 429 api_rate_limited, api_quota_exceeded. 400 validation_failed (con field). 404 search_session_not_found, order_not_found, booking_not_found. 409 offer_expired, rate_expired, price_changed. 402 insufficient_credit (solo en producción: recargue su depósito). 502 supplier_error: ha fallado el proveedor aéreo u hotelero; repita la búsqueda.

Reintentar de forma segura

Reintente los 429 después de Retry-After, y los 502/503/504 con retroceso exponencial. No reintente nunca un 4xx distinto de 429. Reintente las operaciones que comprometen (pedidos, reservas, emisión, cancelación) solo con la misma Idempotency-Key. Si una sesión de búsqueda caduca (404), inicie una búsqueda nueva: los ID de oferta y las claves de tarifa no son válidos entre sesiones.