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:
success
:boolean
data
:json
Contiene una lista de POI Data Objects.
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:
- POI Data Object. Todos los campos requeridos
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:
- POI Data Object. Sólo los campos que se quiere modificar.
OUTPUT:
Json con los campos:
success
:boolean
data
:json
POI Data Object con los campos modificados.
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 |
sí | no | texto | |
client_id |
sí | no | numérico | |
name |
no | sí | texto | longitud máxima 200 |
use_as_address |
no | no | texto | |
x |
no | sí | texto | coordenadas en grados |
y |
no | sí | texto | coordenadas en grados |
corners |
no | no | texto | |
radius |
no | sí | numérico | radio en metros |
geom |
sí | no | texto | |
area |
sí | no | texto | |
type |
no | sí | numérico | siempre enviar "0" |
checkpoint_id |
sí | no | numérico | |
created_by |
sí | no | numérico | |
custom_map_id |
sí | no | numérico | |
contact |
no | no | texto | longitud máxima 255 |
url |
no | no | texto | longitud máxima 255 |
is_round |
sí | no | numérico | |
creation_date |
sí | no | fecha | |
changed_date |
sí | no | fecha | |
deactivated |
no | no | numérico | |
group_id |
no | sí | 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 |