Saltar al contenido principal

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
EstadoDisponible

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.

Cuerpo de la solicitud

CampoTipoRequeridoDescripción
WSAutorizacionobjectBloque de autenticación.
WSAutorizacion.GuidstringGUID de la compañía (API key). Se resuelve a CiaId; si es 0Error = "GUID Inválido".
WSAutorizacion.UsuariostringEmail del usuario. Se valida en minúsculas y sin espacios.
WSAutorizacion.PasswordstringContraseña del usuario de web service.
WSSDTFiltroReverseGeocodingobjectFiltro de la consulta.
WSSDTFiltroReverseGeocoding.latitudestringLatitud. Mapeada a &lat= de Nominatim. Vacía → Error = "Debe ingresar latitud y longitud".
WSSDTFiltroReverseGeocoding.longitudestringLongitud. 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.

Respuesta

El envelope de salida tiene como raíz WSSDTDatosGeocodingV2.

CampoTipoDescripción
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).

Ejemplos de código

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
}
}'

Ejemplo de respuesta

{
"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\"}}"
}
}

Errores

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.