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 0Error = "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.