El problema de las claves de API que nunca caducan
Una clave emitida hace años, que nunca se ha rotado y que hoy sigue siendo válida, no es una comodidad. Es un riesgo que nadie ha revisado de verdad en años.
Es tentador pensar en un endpoint por lotes como una oportunidad de descuento por volumen, el mismo instinto que hace que comprar un paquete grande de algo parezca más barato por unidad que comprar las piezas por separado. Ese instinto no se aplica realmente a las solicitudes de API como se aplica a los bienes físicos. Un lote de mil búsquedas de direcciones requiere las mismas mil búsquedas individuales tanto si llegan en una sola conexión como en mil conexiones separadas. No hay ninguna economía de escala escondida en el hecho de que llegaran juntas, porque la parte cara, resolver cada búsqueda, es idéntica en ambos casos.
Cobramos las solicitudes por lotes y masivas exactamente igual, por elemento, que las solicitudes individuales. Una llamada por lotes de mil elementos cuenta como mil solicitudes contra tu cuota gratuita o tu crédito prepago, al mismo precio de 0,0001 € por solicitud que si llamaras al endpoint mil veces por separado, o queda cubierta de la misma forma con una clave Unlimited. No hay una tarifa por lotes aparte y más barata, porque no hay una cantidad aparte y menor de trabajo subyacente.
Algunos proveedores sí ofrecen un descuento por volumen, y el atractivo para el cliente es evidente: envía más y paga menos por unidad. Vale la pena cuestionar el razonamiento detrás de ese descuento en lugar de limitarse a celebrarlo. Si el coste marginal de atender una búsqueda es realmente casi constante, como ocurre con la mayoría de las búsquedas de geocodificación, IP y zona horaria, un descuento por volumen no está trasladando una ganancia de eficiencia real. Es una decisión de precios para cobrar más a los clientes pequeños y subvencionar una tarifa más baja para los grandes, disfrazada de recompensa por volumen en lugar de lo que realmente es, una subvención cruzada.
Un precio plano por elemento evita por completo esa subvención cruzada. Un cliente que envía cien solicitudes al día y otro que envía cien mil pagan exactamente la misma tarifa por solicitud, una vez que ambos superan la cuota gratuita. Ninguno subvenciona el uso del otro. Esto también mantiene justa la propia cuota gratuita: una llamada por lotes sigue consumiendo la misma cuota diaria de 2.500 solicitudes a razón de una solicitud por elemento, así que los lotes no se pueden usar para estirar discretamente el uso gratuito más allá de lo que permitiría un número equivalente de llamadas individuales.
Reconocemos que los lotes son realmente útiles por razones que no tienen nada que ver con el precio: menos viajes de ida y vuelta, menos sobrecarga de conexión, código más simple para procesar de una vez un conjunto grande y conocido de búsquedas. Son ventajas de ingeniería reales y merece la pena usar los endpoints por lotes por sus propios méritos. Lo que los lotes no deberían convertirse es en un mecanismo para que la misma cantidad total de trabajo parezca más barata en una factura de lo que realmente es. Mil búsquedas cuestan lo que cuestan mil búsquedas, y el precio debería decirlo con claridad, sin importar cómo se hayan empaquetado en solicitudes.