Skip to main content

WSSearchGeocoding

Búsqueda de dirección por texto libre o por campos estructurados. Retorna una lista de resultados con coordenadas.

Target route

POST /apidev/legacy/WSSearchGeocoding

Status

Reusable with adapter — GeoTareas ya expone dos caminos de búsqueda geocoding. Falta el adapter legacy. Hay una decisión de diseño pendiente sobre qué backend usar.


Authentication

{
"WSAutorizacion": {
"Guid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"Usuario": "usuario@empresa.com",
"Password": "contraseña"
}
}

Request body

CampoTipoObligatorioDescripción
WSAutorizacionobjectCredenciales de autenticación legacy
QuerystringCondicionalBúsqueda libre (ej: "18 de Julio 1234 Montevideo")
CallestringCondicionalNombre de calle (búsqueda estructurada)
NumerostringNoNúmero de puerta
CiudadstringNoCiudad
DepartamentostringNoDepartamento
PaisstringNoPaís (default: Uruguay)
LimitintegerNoMáximo de resultados (default: 5)

Al menos Query o Calle debe estar presente.

{
"WSAutorizacion": {
"Guid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"Usuario": "usuario@empresa.com",
"Password": "contraseña"
},
"Query": "18 de Julio 1234 Montevideo"
}

Response body

CampoTipoDescripción
Resultadostring"OK" o código de error
MensajestringDescripción del resultado
SalidastringRespuesta cruda del proveedor (JSON string)
ResultadosarrayLista de coincidencias
Resultados[].DireccionstringDirección formateada
Resultados[].LatitudnumberLatitud
Resultados[].LongitudnumberLongitud
Resultados[].ImportancianumberScore de relevancia (0-1)
{
"Resultado": "OK",
"Mensaje": "",
"Salida": "[{\"place_id\":123...}]",
"Resultados": [
{
"Direccion": "18 de Julio 1234, Montevideo, Uruguay",
"Latitud": -34.9058,
"Longitud": -56.1882,
"Importancia": 0.85
}
]
}

Backend services disponibles

OpciónEndpointProviderCuándo usar
Camino APOST /api/geocoding/nominatim/geocodeNominatimComportamiento strict Nominatim (máxima paridad legacy)
Camino BPOST /api/geocoding/searchHíbridoMejor calidad con fallback multi-proveedor (logicsat, nominatim, google, mapbox)
Decisión de diseño pendiente

Si se requiere máxima compatibilidad con el contrato legacy original, usar Camino A (Nominatim puro).
Si se tolera mejora de calidad manteniendo el mismo formato de respuesta, usar Camino B.


Migration note

Pendiente de implementación. Pasos:

  1. Definir qué camino usar (Nominatim strict vs híbrido)
  2. Construir el adapter legacy con validación WSAutorizacion
  3. Preservar validación de saldo/habilitación de geocoding por compañía
  4. Adaptar la salida al formato Resultados[]