Saltar a contenido

API: POI

M: Listar geocercas

HTTP GET:
https://<hostname>/api/pois
URL PARAMETERS:
Nombre Tipo Requerido Descripción
page_size Tamaño de Página Numérico no (opcional, default: 5000, max: 5000) Cantidad de elementos que se quiere obtener en la respuesta.
page_num Número de Página Numérico no (opcional, default: 0) Si la cantidad global de elementos es mayor al tamaño de página utilizado, se utiliza este parámetro para obtener una página específica.
sort_by Ordernar por string no Nombre del campo del POI Data Object que se utilizará para ordenar la respuesta. Si el campo es de tipo texto, el orden es alfabético.
sort_dir Dirección de ordenamiento string no Dirección del orden de la respuesta, ascendente (asc) o descendente (desc).
fields Campos string no Nombres de los campos que se quiere obtener del POI Data Object. Deben estar separados por ,.
location Ubicación string no Filtra las geocercas que contengan la ubicación dada latitude,longitude

Este método soporta el uso de filtros.

OUTPUT:

Json con los campos:

EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
     -X GET
     https://<hostname>/api/pois?page_size=2
RESPUESTA:
{
    "success": true,
    "data": [
        {
            "id": "1",
            "client_id": "67",
            "name": "San Francisco Restaurant",
            "use_as_address": "1",
            "y": "28.733676131611",
            "x": "-110.9776747226",
            "corners": "",
            "radius": "64",
            "geom": "01030000...2BB3C40",
            "area": "12868",
            "type": "0",
            "checkpoint_id": "0",
            "created_by": "134",
            "custom_map_id": "",
            "contact": "",
            "url": "",
            "is_round": "1",
            "creation_date": "2014-12-14 05:36:29+00",
            "changed_date": "2015-02-13 14:26:58+00",
            "deactivated": "0",
            "group_id":"1547",
            "custom_fields": {
                "owner": "Mario Batali",
                "max_capacity": 260
            },
            "user_ids": null,
            "photo_id": null,
            "remote_id":"SFRBATALI28110"
        },
        {
            "id": "51",
            "client_id": "5",
            "name": "Raquel Garcia",
            "use_as_address": "1",
            "y": "25.8365",
            "x": "-97.47022222220",
            "corners": "",
            "radius": "150",
            "geom": "01030000...663940",
            "area": "70.6858",
            "type": "2",
            "checkpoint_id": "0",
            "created_by": "",
            "custom_map_id": "",
            "contact": "",
            "url": "",
            "is_round": "1",
            "creation_date": "2015-02-15 02:16:48+00",
            "changed_date": "2016-03-20 22:35:02+00",
            "deactivated": "0",
            "group_id":"1547",
            "custom_fields": null,
            "user_ids": null,
            "photo_id": null,
            "remote_id": null
        }
    ]
}

Buscar por ubicación

Filtrar geocercas que contienen una coordenada específica usando el parámetro location.

Petición HTTP GET:

$ curl -u <api_key>:<password> \
     -X GET \
     "https://<hostname>/api/pois?location=14.622391,-90.5145019"

RESPUESTA:

{
    "success": true,
    "data": [
        {
            "id": "162490",
            "client_id": "22",
            "name": "Ciudad de guatemala",
            "use_as_address": "1",
            "y": "14.5702208",
            "x": "-90.5517654",
            "corners": "-90.53558349609376 14.665057916011058,-90.56304931640626 14.645779763318703,-90.63858032226562 14.576630392373726,-90.64338684082033 14.472865661075666,-90.53489685058595 14.475526902765075,-90.43395996093751 14.667716838398723",
            "radius": "0",
            "geom": "0103000020E610000001000000070000000100000047A256C0446D9E7882542D400100000009A456C0B2BE27A5A34A2D4000000080DEA856C0E63F4A193C272D40010000402DA956C05C71AB721BF22C40010000C03BA256C0047D1F4378F32C4001000000C69B56C073D23FFBDE552D400100000047A256C0446D9E7882542D40",
            "area": "3.0149485e+08",
            "type": "0",
            "checkpoint_id": "0",
            "created_by": "88",
            "custom_map_id": null,
            "contact": "",
            "url": null,
            "is_round": "0",
            "address": "?",
            "creation_date": "2023-07-24 15:43:14+00",
            "changed_date": "2023-07-24 15:43:26+00",
            "deactivated": "0",
            "group_id": "423",
            "custom_fields": {
                "Frecuencia": "5 veces"
            },
            "user_ids": null,
            "photo_id": null,
            "remote_id": null,
            "speed_limit_kmph": "40",
            "search_by": "Ciudad de guatemala",
            "visit_recurrence_frequency": null,
            "visit_recurrence_days_of_week": null,
            "visit_recurrence_every": null,
            "visit_recurrence_each": null,
            "poi_group_name": "Y"
        },
    ]
}

M: Insertar geocerca

HTTP POST:
https://<hostname>/api/poi
BODY PARAMETERS:
OUTPUT:

Json con los campos:

  • success: boolean
  • id: string id de la geocerca creada.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
     -X POST
     --data "name=ejemplo&use_as_address=1&radius=15&y=28.7&x=-100.1&type=0&group_id=1546"
     https://<hostname>/api/poi
RESPUESTA:
{
 "success": true,
 "id": "15398"
}

M: Actualizar geocerca

HTTP PUT:
https://<hostname>/api/poi/<id>
BODY PARAMETERS:
OUTPUT:

Json con los campos:

EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
     -X PUT
     --data "name=ejemplo"
     https://<hostname>/api/poi/15398

curl -u <api_key>:<password>
     -X PUT
     --data 'custom_fields={"Ruta":"Distribución","Telefono":"1234567890","Cantidad en bodega":23}'
     https://<hostname>/api/poi/15398
RESPUESTA:
{
    "success": true,
    "data": {
        "id": "15398",
        "client_id": "158",
        "name": "ejemplo",
        "use_as_address": "1",
        "y": "28.7",
        "x": "-100.1",
        "corners": "",
        "radius": "15",
        "geom": "POLYGON((-100.1 28.7, -100.1 28.7, -100.1 28.7, -100.1 28.7))",
        "area": "70685.83470577",
        "type": "0",
        "checkpoint_id": "0",
        "created_by": "703",
        "custom_map_id": "",
        "contact": "",
        "url": "",
        "is_round": "1",
        "creation_date": "2016-03-14 21:12:43+00",
        "changed_date": "2016-03-14 21:12:43+00",
        "deactivated": "0",
        "group_id":"1547",
        "custom_fields": {
            "Ruta": "Distribución",
            "Telefono": "1234567890",
            "Cantidad en bodega": 23
        },
        "user_ids": "",
        "photo_id": "",
        "remote_id": ""
    }
}

O: POI Data Object

Cada objeto de geocerca tiene estos campos:

Campo Read-only Requerido Tipo de dato
id no texto
client_id no numérico
name no texto longitud máxima 200
use_as_address no no texto
x no texto coordenadas en grados
y no texto coordenadas en grados
corners no no texto
radius no numérico radio en metros
geom no texto
area no texto
type no numérico siempre enviar "0"
checkpoint_id no numérico
created_by no numérico
custom_map_id no numérico
contact no no texto longitud máxima 255
url no no texto longitud máxima 255
is_round no numérico
creation_date no fecha
changed_date no fecha
deactivated no no numérico
group_id no numérico id del grupo de geocercas
custom_fields no no texto JSON Schema, debe de cumplir con las especificaciones de campos personalizados
user_ids no no lista
photo_id no no numérico
remote_id no no texto Identificador editable por el usuario. Debe ser único por Cliente. Longitud máxima 55