Errores
Cada fallo es un documento de problema RFC 7807 con un código estable legible por máquina.
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.
{
"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.