Buenas prácticas
Reintenta con Retry-After, nunca con un bucle fijo
Sección titulada «Reintenta con Retry-After, nunca con un bucle fijo»Un 503 (overloaded) y un 429 rate_limited traen Retry-After en
segundos. Espera exactamente eso antes de reintentar — no es un número
decorativo, es lo que el servidor sabe que necesita para dejar de estar
saturado. 429 quota_exceeded es distinto: no trae Retry-After porque
reintentar en segundos no cambia nada; la cuota se resetea mensualmente.
max_age y caché
Sección titulada «max_age y caché»Por defecto, GET /v1/quotes puede responder con una cotización cacheada de
hasta 300 segundos. Si tu caso de uso tolera precios de hace unos minutos,
no toques max_age — es más rápido y no le pide nada nuevo a ningún canal.
Si necesitas el precio en vivo en este instante exacto (por ejemplo, justo
antes de mostrarle el total final a un usuario que va a pagar), pasa
max_age=0.
Identifica por hotel_id, no por name
Sección titulada «Identifica por hotel_id, no por name»Una vez que tengas el hotel_id de un hotel (lo obtienes la primera vez que
lo resuelves por name), guárdalo y úsalo en adelante. Resolver por nombre
hace un emparejamiento por distancia GPS que es confiable pero no gratis —
saltarlo cuando ya conoces el id es más rápido y más predecible.
Agrupa en lotes, pero no más allá de lo necesario
Sección titulada «Agrupa en lotes, pero no más allá de lo necesario»POST /v1/quotes acepta hasta 200 hoteles por llamada (el
techo físico; tu plan puede limitarte por debajo de eso). El beneficio de
agrupar es la latencia (un viaje de red en vez de muchos), no el precio: se
cobra por hotel-quote igual. Agrupa cuando de verdad vas a mostrar varios
hoteles a la vez; pedir 200 para usar solo 3 no ahorra nada, y
el rango práctico recomendado para un cliente con timeout de 60 segundos
es de 25 a 50 por llamada — ver
cotización múltiple.
price_per_night ya incluye impuestos
Sección titulada «price_per_night ya incluye impuestos»Es el único campo pensado para comparar entre canales: siempre incluye impuestos. No necesitas (ni debes) agregarle nada antes de mostrarlo o compararlo entre ofertas.