Skip to main content

WSReverseGeocoding

Reverse geocoding: convierte coordenadas (latitud/longitud) en una dirección legible, reenviando la consulta a Nominatim /reverse y devolviendo su respuesta cruda.


Reverse Geocoding​

POST/apidev/legacy/WSReverseGeocoding
AuthWSAutorizacion (body)
FormatoJSON
RespuestaHTTP 200 + Error
EstadoAvailable

La autenticación viaja en el cuerpo del request dentro del objeto WSAutorizacion. No se usan cabeceras Authorization, X-API-Key ni tenant. El servicio siempre responde HTTP 200; cualquier fallo de negocio llega en el campo Error del envelope, nunca como código 4xx.

Requiere parámetro habilitado

El servicio solo opera cuando el parámetro general REVERSE_GEOCODING de la compañía vale "SI". Consume la misma cuota de geocodificación (getciageocoding) que el resto de los servicios de direcciones.

Request Body​

FieldTypeRequiredDescription
WSAutorizacionobjectYesBloque de autenticación.
WSAutorizacion.GuidstringYesGUID de la compañía (API key). Se resuelve a CiaId; si es 0 → Error = "GUID Inválido".
WSAutorizacion.UsuariostringYesEmail del usuario. Se valida en minúsculas y sin espacios.
WSAutorizacion.PasswordstringYesContraseña del usuario de web service.
WSSDTFiltroReverseGeocodingobjectYesFiltro de la consulta.
WSSDTFiltroReverseGeocoding.latitudestringYesLatitud. Mapeada a &lat= de Nominatim. Vacía → Error = "Debe ingresar latitud y longitud".
WSSDTFiltroReverseGeocoding.longitudestringYesLongitud. Mapeada a &lon=. Vacía → mismo error.
WSSDTFiltroReverseGeocoding.formatstringNo"xml" o "json"; cualquier otro valor (o vacío) se fuerza a "json". Mapeado a ?format=.
WSSDTFiltroReverseGeocoding.accept_languagestringNoIdioma preferido del resultado. Mapeado a &accept_language= solo si no está vacío.
WSSDTFiltroReverseGeocoding.zoomnumberNoNivel de detalle. Mapeado a &zoom= solo si es distinto de 0.
WSSDTFiltroReverseGeocoding.addressdetailsnumberNo0 / 1. Valores > 1 se fuerzan a 0. Mapeado a &addressdetails= solo si es distinto de 0.
WSSDTFiltroReverseGeocoding.extratagsnumberNo0 / 1. Valores > 1 se fuerzan a 0. Mapeado a &extratags= solo si es distinto de 0.
WSSDTFiltroReverseGeocoding.namedetailsnumberNo0 / 1. Valores > 1 se fuerzan a 0. Mapeado a &namedetails= solo si es distinto de 0.

Response​

El envelope de salida tiene como raíz WSSDTDatosGeocodingV2.

FieldTypeDescription
ErrorstringMensaje de error; vacío cuando la operación es exitosa.
SalidastringCuerpo crudo de la respuesta de Nominatim (/reverse), sin modificar. El formato depende del format solicitado (json/xml).

Code Examples​

curl -s -X POST "https://$TENANT/apidev/legacy/WSReverseGeocoding" \
-H "Content-Type: application/json" \
-d '{
"WSAutorizacion": {
"Guid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"Usuario": "usuario@empresa.com",
"Password": "contraseña"
},
"WSSDTFiltroReverseGeocoding": {
"latitude": "-34.9058",
"longitude": "-56.1882",
"format": "json",
"addressdetails": 1
}
}'

Example Response​

{
"WSSDTDatosGeocodingV2": {
"Error": "",
"Salida": "{\"place_id\":123456,\"licence\":\"Data © OpenStreetMap contributors\",\"lat\":\"-34.9058\",\"lon\":\"-56.1882\",\"display_name\":\"18 de Julio, Centro, Montevideo, Uruguay\",\"address\":{\"road\":\"18 de Julio\",\"suburb\":\"Centro\",\"city\":\"Montevideo\",\"country\":\"Uruguay\",\"country_code\":\"uy\"}}"
}
}

Errors​

Todos los errores se devuelven con HTTP 200 y el texto en el campo Error del envelope (WSSDTDatosGeocodingV2.Error), nunca como código 4xx.

Error (campo Error)Causa
GUID InválidoEl Guid no resuelve a una compañía válida (CiaId = 0).
Compañía inválida.Compañía no encontrada / inactiva.
URL InválidaLa URL de la API no es válida para la compañía (salvo el usuario admincloud@logicsat.com, que omite este chequeo).
Debe ingresar latitud y longitudlatitude o longitude vacíos.
Servicio no contratado.La compañía no tiene contratado el servicio de geocoding.
Sin Saldo. Servicio no disponible. Servicio contratado [N] - Cantidad de solicitudes [N] - Saldo [N]Sin saldo de geocoding disponible.
Feature flag

Si el parámetro general REVERSE_GEOCODING de la compañía no vale "SI", la autenticación se invalida y la consulta no se ejecuta (Salida vacía). En caso de excepción contra Nominatim, Salida también queda vacía sin poblar Error.