Autenticación

Para utilizar nuestros servicios de geocodificación solo debes registrarte, obtener un api key y un api secret y hacer los siguientes llamados a nuestra API vía http(s).

Recuerda que todos los llamados deben hacer uso de la autenticación básica por http.

Hemos agregado la opción de crear un web token para llamados que se hagan directamente desde un navegador vía javascript. Este token lo puedes generar desde tu dashboard en tu cuenta.


Gecodificación (Versión 2)

Créditos

Cada dirección encontrada equivale a un (1) crédito. Para el caso de la gecodificación reversa todas las peticiones equivalen a un (1) crédito.

Gecodificación de direcciones

GET http(s)://api.lupap.co/v2/{country}/{city}?a={address}[&key={WEB_TOKEN}]

Parámetro Descripción
country (Obligatorio) Código de dos letras que representa el país de la dirección a buscar.

city (Obligatorio) Representa la ciudad del país de la dirección a buscar.

  • selecciona un país
address (Obligatorio) Representa la dirección a buscar.
Importante: La dirección debe ser codificada.

key (Opcional) Representa un token de acceso para applicaciones (preferiblemente) web. Por ejemplo para hacer llamados desde javascript (jquery, angular, etc) directamente a nuestro API se puede incluir este parámetro. Los web tokens estan asociados a un API KEY y API SECRET y se pueden crear en el dashboard de administración de tu cuenta.

Gecodificación Reversa

GET http(s)://api.lupap.co/v2/reverse?lon={lon}&lat={lat}[&key={WEB_TOKEN}]

Parámetro Descripción
lon (Obligatorio) Representa la longitud del punto (coordenada) a buscar.
lat (Obligatorio) Representa la latitud del punto (coordenada) a buscar.
key (Opcional) Representa un token de acceso para applicaciones (preferiblemente) web. Por ejemplo para hacer llamados desde javascript (jquery, angular, etc) directamente a nuestro API se puede incluir este parámetro. Los web tokens estan asociados a un API KEY y API SECRET y se pueden crear en el dashboard de administración de tu cuenta.

Respuesta

La respuesta tiene un formato GeoJSON y pueden ser de dos tipos: Las respuestas de un solo resultado seran representadas por un objeto GeoJSON de tipo Feature. Las respuestas de multiples resultados seran representadas por un objeto GeoJSON de tipo FeatureCollection. Cada Feature se define de la siguiente forma:

// respuesta simple:
{
    "response": {
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [
                -74.04659813699993,
                4.720145423000076
            ]
        },
        "properties": {
            "accuracy": "rooftop",
            "country": "co",
            "city": "bogota",
            "attribution": "geoapps",
            "commonName": "AVENIDA SANTA BARBARA",
            "address": "AK 19 # 135 - 30",
            "postcode": "110121",
            "admin1": "Colombia",
            "admin2": "Bogotá D.C.",
            "admin3": "Bogotá D.C.",
            "admin4": "Usaquen",
            "admin5": "El Contador"
        }
    } 
}

// respuesta múltiple:
{
   "response" : {
      "type" : "FeatureCollection",
      "features" : [ // arreglo de objetos de tipo Feature
          {
              "type" : "Feature",
              "geometry" : {
                  "type" : "Point",
                  "coordinates": [
                      -74.04659813699993,
                      4.720145423000076
                  ]
              },
              "properties" : {
                 "accuracy": "rooftop",
                 "country": "co",
                 "city": "bogota",
                 "attribution": "geoapps",
                 "commonName": "AVENIDA SANTA BARBARA",
                 "address": "AK 19 # 135 - 30",
                 "postcode": "110121",
                 "admin1": "Colombia",
                 "admin2": "Bogotá D.C.",
                 "admin3": "Bogotá D.C.",
                 "admin4": "Usaquen",
                 "admin5": "El Contador"
             }
          }
	 
      ... // mas objetos de tipo Feature

      ]
   }
}
		
Atributo Descripción
geometry.type Point define el tipo de geometría, para nuestro caso siempre será un punto
geometry.coordinates Una arreglo de dos posiciones con la longitud y la latitud de la dirección [longitud, latitud]
properties.accuracy Representa la exactitud de la ubicación de la dirección. rooftop indica que el punto es ubicado a nivel de la casa, edificio o lote. line_interpolation indica que el punto es una aproximación a nivel de la calle o del frente de manzana
properties.country Representa el código del país
properties.city Representa el código de la ciudad
properties.attribution Representa el tipo de atribución de los datos, puede ser lupap|geoapps|osm
properties.commonName Representa el nombre de la dirección, por ejemplo AVENIDA BOYACA para la AK 72 en Bogotá, Colombia
properties.address Representa la dirección estandarizada.
properties.postcode Representa el código postal, este valor puede ser null
properties.admin1 Representa el nombre del país
properties.admin2 Representa el nombre del departamento
properties.admin3 Representa el nombre del municipio o ciudad
properties.admin4 Representa el nombre de la comuna o localidad. este valor puede ser null
properties.admin5 Representa el nombre del barrio. este valor puede ser null

Autocompletado de direcciones

Créditos

Cada petición realizada equivale a 0.1 créditos, sin embargo si el resultado es vacio entonces no se consumiran créditos.

End Point

GET
http(s)://api.lupap.co/v2/suggestions?q={query}&searchType={searchType}&city={city}[&key={WEB_TOKEN}]

Parámetro Descripción
q (obligatorio) Representa el parámetro de búsqueda
searchType (obligatorio) Representa el tipo de elementos a buscar y puede tomar los siguientes valores:

addressesIndica que se van a sugerir solamente direcciones

city (opcional) Representa la ciudad donde se va a realizar la búsqueda y puede tomar los siguientes valores:

  • bogota
  • all: retorna todas las direcciones que coinciden con q en todas las ciudades
Nota: inicialmente este servicio se ofrece para la ciudad de Bogotá, Colombia. Pronto estaremos agregando direcciones de otras ciudades y municipios de Colombia.
key (Opcional) Representa un token de acceso para applicaciones (preferiblemente) web. Por ejemplo para hacer llamados desde javascript (jquery, angular, etc) directamente a nuestro API se puede incluir este parámetro. Los web tokens estan asociados a un API KEY y API SECRET y se pueden crear en el dashboard de administración de tu cuenta.

Respuesta

Importante: Ninguno objeto retorna las coordenadas, para esto se debe hacer un llamado al end point de geocodificación en el caso que los objetos retornados sean direcciones.

Se retorna un arreglo de objetos json con el siguiente esquema:

[
// para direcciones:
  {
    "city": "Bogotá D.C.",
    "cityCode": "bogota",
    "countryCode": "co",
    "name": "Avenida Carrera 0 # 83A - 0",
    "id": "4f7cbbc08ae84511e59bde440e7c174d8725f755",
    "type": "address"
  },
  {
    "city": "Bogotá D.C.",
    "cityCode": "bogota",
    "countryCode": "co",
    "name": "Avenida Carrera 1 # 22 - 80",
    "id": "4c0525d4d8d1eb0639e225eaf53ff173532eb24c",
    "type": "address"
  },
  {
    "city": "Bogotá D.C.",
    "cityCode": "bogota",
    "countryCode": "co",
    "name": "Avenida Carrera 1 # 36 - 9",
    "id": "99eff0ae2de80c8f68e1a15e5396eaa7de2c1476",
    "type": "address"
  },
  {
    "city": "Bogotá D.C.",
    "cityCode": "bogota",
    "countryCode": "co",
    "name": "Avenida Carrera 1 # 39 - 20",
    "id": "b41ffac98a4a606e83b9fc414a9261d740d11f29",
    "type": "address"
  },
  {
    "city": "Bogotá D.C.",
    "cityCode": "bogota",
    "countryCode": "co",
    "name": "Avenida Carrera 1 # 40 - 22",
    "id": "797de61fc6ab1d5a091abb97e2098ef1470d99a6",
    "type": "address"
  }
]

		
Atributo Descripción
city Nombre de la ciudad
cityCode Código de la ciudad para la geocodificación de la dirección
countryCode Código del país para la geocodificación de la dirección
name Nombre a mostrar, en el caso de ser tipo address este campo puede ser usado para geocodificar la dirección
id Identificador del objeto retornado
type address cuando representa una dirección

Estados de respuesta

Código Mensaje Descripción
200
La consulta fue satisfactoria y se retornaron los resultados
401
Need authentication Se requiere el tokenKey y el tokenSecret para autenticar la consulta
400
Verify the parameters Algunos de los paráametros obligatorios no fueron definidos
404
Application not found El tokenKey no corresponde a una aplicación valida
401
Not authorized application El tokenKey y/o el tokenSecret no son validos para hacer la consulta
400
Transactions out of date Las transacciones asignadas a un periodo de tiempo se han vencido.
400
Not available transactions No hay transacciones disponibles para hacer consultas
404
Result not found El resultado consultado no se ha encontrado
500
Hubo un error interno del sistema. En caso de presentarse por favor reportarlo a info@lupap.com

Licencia de datos

  • Para todos los datos aplican, y por tanto se deben leer y aceptar, los términos y condiciones de uso de nuestra API
  • Los datos de la Ciudad de Bogotá se rigen por la licencia de datos abiertos del IDECA
  • Los datos de la Ciudad de Medellín se rigen por la licencia de datos abiertos del municipio de Medellín
  • Códigos Postales Fuente:MINTIC-Servicios Postales Nacionales 4-72 (Unidad Código Postal Colombia) ver licencia
  • Para datos de OSM © OpenStreetMap