Casos de uso

Crear un buscador de tiendas que ordene por distancia

La mayoría de los buscadores de tiendas son listas disfrazadas de mapas. Un comprador elige un estado, luego una ciudad, y después recorre una lista alfabética que no tiene nada que ver con qué ubicación está realmente más cerca. Una cadena de artículos para el hogar con varias decenas de tiendas decidió que eso era al revés y reconstruyó la herramienta en torno a la distancia.

La reconstrucción empezó por la entrada de datos. En lugar de pedir al comprador que eligiera en menús desplegables, el nuevo buscador le permitía empezar a escribir una dirección o un barrio y le ofrecía sugerencias sobre la marcha, usando /v1/autocomplete. Ese endpoint recibe una dirección parcial y devuelve coincidencias candidatas pensadas exactamente para este tipo de cuadro de búsqueda en vivo, de modo que un comprador que escribe "Oak" obtiene una lista corta de nombres reales de calles y lugares entre los que elegir, en lugar de escribir una dirección completa y esperar que coincida con algo de la base de datos de la tienda.

Una vez que el comprador elegía una sugerencia o permitía que la página usara su ubicación aproximada, la cadena necesitaba una cosa más: un punto de partida en coordenadas. Para los compradores que escribían una dirección, se obtenía geocodificando la sugerencia elegida mediante /v1/forward, que devuelve una coincidencia de ubicación con campos de latitud y longitud para una dirección dada. Para los compradores que no escribían nada, el sitio recurría a /v1/ip, que lee la dirección IP del visitante y devuelve coordenadas junto con la ciudad y la región, lo que daba al buscador un punto de partida razonable sin pedir nada.

La lista de tiendas se geocodificó una sola vez, en un único lote, ya que una solicitud masiva cuenta cada dirección de tienda como un elemento facturado. Con las coordenadas de cada tienda registradas, ordenar se convirtió en aritmética: calcular la distancia desde el punto del comprador hasta cada tienda, ordenar y mostrar las cinco más cercanas. Sin menús desplegables, sin recorrer listas alfabéticas, sin adivinar bajo qué localidad cercana podría figurar una tienda.

La cadena mantuvo la herramienta honesta respecto a lo que podía prometer. Como la geocodificación directa devuelve una coincidencia para lo que se escribió y no una garantía de que la dirección exista exactamente tal como se introdujo, el buscador siempre acompañaba la lista ordenada de un paso de confirmación que permitía al comprador ajustar su punto de partida si la ubicación sugerida no era del todo correcta. Esa pequeña comprobación importaba más que cualquier parte de la lógica de ordenación, ya que un punto de partida erróneo hace inútil incluso un cálculo de distancia perfecto.

El tráfico del buscador era modesto, unos pocos miles de consultas al mes entre autocompletado y geocodificación, lo que quedaba holgadamente dentro de la cuota diaria gratuita que viene con una clave de My Geocode. La cadena nunca tuvo que pensar en el modelo de precios en el día a día, ya que el tráfico minorista normal de un buscador de tiendas rara vez se acerca al punto en que el crédito prepago o una clave Unlimited se convierten en la mejor opción, pero saber que ese margen existe a 0,0001 € por solicitud significaba que una campaña de marketing o el anuncio de la apertura de una tienda no iban a romper nada.

Un buscador de tiendas es una función pequeña, pero a menudo es el último paso de un comprador antes de decidir desplazarse a algún sitio, y acertar con la ordenación cambia qué tienda recibe la visita. Los detalles de ambos endpoints, incluidas la estructura de los campos y los límites de frecuencia, están en /docs/address-autocomplete/, /docs/forward-geocoding/ y /docs/rate-limits/.