Ir al contenido

Qué se cobra

La unidad de cobro es el hotel-quote, no el request. Un lote de 20 hoteles (POST /v1/quotes) cuesta 20 veces lo que cuesta cotizar uno solo (GET /v1/quotes) — el beneficio de agrupar es la latencia, no el precio.

Toda respuesta exitosa trae estos headers — son parte del contrato, a diferencia de otros headers de infraestructura (Via, ETag, X-Powered-By) que también vienen en la respuesta pero no documentamos porque pueden cambiar sin aviso:

Header Qué informa
X-HotelQuotes-Charged Cuántos hotel-quotes cobró ESTA llamada (en un lote, la suma de los que sí se cotizaron).
X-Quota-Limit Tu cuota mensual total.
X-Quota-Used Cuánto llevas usado este mes, incluyendo esta llamada.
X-Quota-Remaining Lo que te queda.
X-Request-Id Identificador de esta llamada específica, útil para soporte.

Ejemplo real (captura get-ok): X-HotelQuotes-Charged: 1, X-Quota-Limit: 25000, X-Quota-Used: 19, X-Quota-Remaining: 24981.

La misma captura trae también ratelimit-limit: 10 y ratelimit-remaining: 119 — remaining mayor que limit, no es un error de esta página: ratelimit-limit es tu tasa por segundo y ratelimit-remaining cuenta un burst (una capacidad acumulada, independiente y mayor que la tasa por segundo). Ver errores y límites para el detalle de esas cabeceras — no son de cobro, son de límite de tasa.

No se cobra cuando la llamada no entregó valor:

  • overloaded (503): nuestra propia cola rechazó la llamada antes de pedirle nada a ningún canal.
  • hotel_not_found, not_quotable, not_supported (422): no se llegó a cotizar nada.
  • upstream_error (502): falló un canal externo, no nosotros.
  • 400 y 401: el request ni siquiera llegó a construirse como una cotización.

no_availability (200) sí se cobra: consultamos a los canales y la respuesta — ningún canal con tarifa — es tan válida como un ok.