Skip to main content

WSGeocoding

Geocodificación interna LogicSat. Resuelve tres modalidades: calle+esquina, calle+número, y ruta+km.

Target route

POST /apidev/legacy/WSGeocoding

Status

Reusable with adapter — El motor de geocoding ya existe en GeoTareas. Falta construir el adapter legacy que preserve el contrato de request/response de GeneXus Despacho.


Authentication

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

Request body — Modalidades

El campo Modalidad determina qué parámetros son requeridos:

Modalidad A: Calle + Esquina

CampoTipoDescripción
Modalidadstring"CalleEsquina"
CallestringNombre de la calle principal
EsquinastringNombre de la calle que intersecta
DepartamentostringDepartamento / estado
{
"WSAutorizacion": { "Guid": "...", "Usuario": "...", "Password": "..." },
"Modalidad": "CalleEsquina",
"Calle": "18 de Julio",
"Esquina": "Ejido",
"Departamento": "Montevideo"
}

Modalidad B: Calle + Número

CampoTipoDescripción
Modalidadstring"CalleNumero"
CallestringNombre de la calle
NumerostringNúmero de puerta
DepartamentostringDepartamento / estado

Modalidad C: Ruta + Km

CampoTipoDescripción
Modalidadstring"RutaKm"
RutastringNúmero o nombre de ruta
KmnumberKilómetro en la ruta

Response body (WSSDTDatosGeocoding)

CampoTipoDescripción
Resultadostring"OK" o código de error
MensajestringDescripción del resultado
DatosarrayResultados de geocodificación
Datos[].DireccionstringDirección normalizada
Datos[].LatitudnumberLatitud
Datos[].LongitudnumberLongitud
Datos[].PrecisionstringNivel de precisión del resultado
{
"Resultado": "OK",
"Mensaje": "",
"Datos": [
{
"Direccion": "18 de Julio esquina Ejido, Montevideo",
"Latitud": -34.9058,
"Longitud": -56.1882,
"Precision": "EXACT"
}
]
}

Backend services reutilizables

ModalidadEndpoint internoFunción BD
Calle + EsquinaPOST /api/geocoding/internal/calleesquinals_buscarinterseccion(...)
Calle + NúmeroPOST /api/geocoding/internal/callenumerols_buscarcallenumero(...)
Ruta + KmPOST /api/geocoding/internal/rutals_rutasuruguay(...)

El adapter legacy recibe WSAutorizacion, resuelve la modalidad y delega al servicio interno correspondiente.


Migration note

Pendiente de implementación. El motor existe; falta el adapter que:

  1. Reciba WSAutorizacion y valide el Guid
  2. Detecte la modalidad del request
  3. Delegue al servicio interno correspondiente
  4. Adapte la salida al formato WSSDTDatosGeocoding