Integración de Servicios Web GPS
Integración de Servicios Web GPS
Especificación técnica para la integración de los Servicios Web. Versión Documento 2.3 30 Abril de 2021.
Introducción
Método de autenticación - getToken
Obtener token con información extra - gettoken
Datos del cliente - getClientData
Datos de unidades - getData
Datos históricos equipo - historyGet
Insertar datos de dispositivo - insertPositionData
Geocercas
Lista de geocercas - getGeofences
Crear geocerca - createGeofence
Actualizar geocerca - updateGeofence
Eliminar geocerca - deleteGeofence
Lugares
Lista de lugares - getPlaces
Actualizar lugar - updatePlace
.SMS
Obtener mensajes - getMessages
Obtener el mensaje por su identificador único - getMessage
Insertar o encolar un mensaje - insertMessage
Inserta o encola un mensaje por dispositivo - insertMessageDevice
Plataformas
Crear / actualizar una plataforma - setPlatform
Obtener plataformas - getPlatforms
Lista de sensores - GetSensors
Lista de eventos - getEventTypes
Lista de viajes calculados - getOnDrivingInfo
Lista de conductores - driverGetAll
Códigos de respuesta
Activos
Lista de vehículos - vehicleGetAll
Odómetro de activo(s) - getOdometer
1 de 59
Agregar información extra en los detalles de activos. insertPositionData + infoextra
2 de 59
Introducción
El objetivo del presente documento es explicar brevemente la interface de integración con los diferentesservicios
que ofrece la Plataforma de Monitoreo, por parte de sus clientes o empresas externas autorizadas.
Tecnología de integración
Para la integración de los Servicios Web de la Plataforma de Monitoreo, se ha diseñado una arquitectura abierta,
segura y compatible con las tecnologías más utilizadas en la industria actualmente, es por ello que la interface que
ofrecemos se encuentra desarrollada bajo los estándares de RESTful Web Services según se describe en el presente
documento.
Observaciones
Se deja expresa constancia que la arquitectura e interface que aquí se documenta pertenece a nuestras soluciones,
y nos reservamos el derecho de modificar o ajustar la misma en forma total o parcial a nuestro solo criterio, en la
medida que lo consideremos necesario. Quienes utilizan esta interface reconocen que ante cualquier cambio
deberán ajustar sus productos o herramientas según lo requiera sin ningún tipo de reclamo o perjuicio para
nosotros.
Especificaciones de uso
Todas las peticiones al servicio serán realizadas utilizando el método web POST a través de la dirección
URL [Link] seguido de la acción a realizar descritas en el presente
documento.
Entre cada petición debe existir una diferencia mínima de treinta segundos.
En todas las peticiones se deben enviar las llaves de autenticación y a través de
parámetros.
La respuesta siempre es devuelta en formato json e incluye los campos status y data.
3 de 59
WebService [Link]
Método de autenticación
getToken
[Link]
Para obtener acceso las aplicaciones y herramientas de los clientes deben solicitar a través del servicio una llave
(Token) de autenticación que le permitirá hacer uso de los servicios durante seis horas continuas, una vez transcurrido
este periodo de tiempo, se debe volver a solicitar otro Token de autenticación .
Solicitud de ejemplo:
curl --location --request POST '[Link] .servi [Link]/ api/ vl/gettoken' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token=""' \
--form 'username="usuario"' \
--form 'password="contraseña"'
Respuesta de ejemplo:
{
"status": 200,
"data": "wfszR/oPIQKjt5HT5Ngj DnZ2SAZQ=="
}
4 de 59 10/1/2022 13:33
WebService [Link]
Para obtener acceso las aplicaciones y herramientas de los clientes deben solicitar a través del servicio una llave
(Token) de autenticación que le permitirá hacer uso de los servicios durante seis horas continuas, una vez transcurrido
este periodo de tiempo, se debe volver a solicitar otro Token de autenticación .
Solicitud de ejemplo:
curl --location --request POST '[Link] .servi [Link]/ api/ vl/gettoken' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token=""' \
--form 'username="usuario"' \
--form 'password="contraseña"' \
--form 'get_info="l"' \
Respuesta de ejemplo:
{
"status": 200,
"data": {
"i d_user": "11",
"i d_cl i " : "12",
"name_user": "prueba_user",
"name_cl i": "FA SA cv",
"token": "wfszR/oPIQKjt5HT5Ngj DnZ2SAZQ==",
"time_left": 190
}
}
5 de 59 10/1/2022 13:33
WebService [Link]
Este método devuelve la información del cliente que esta ocupando el apikey.
Solicitud de ejemplo:
curl --location --request POST ' ht t p : / / a pi . s e r vi ce 24g ps . com/ a pi / vl / ge t c l i e nt oa t a ' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form ' t oke n=" wf s z R/ o PI QKj t 5HT5 Ng j DnZ 2SAZQ ==" '
Respuesta de ejemplo:
{
"status" : 200,
"data": [
{
"id": "1923322",
"nombre": "salvador",
"razon_soci al": "Rastreo SA",
"cuit_rfc": "MAKA901104",
"ciudad": "CDMX",
"domicilio": "Moneda 43",
"codpostal": 08109,
"contactos": "Jose",
"telefonos": "5512345678",
"skype": "l ive:. cid. 5970721b7712717127",
"email": "correo@[Link]"
}
]
}
6 de 59 10/1/2022 13:33
WebService [Link]
Este método devuelve un array de datos con la última información o reporte enviado por las unidades de rastreo
asignadas al usuario autentificado.
Solicitud de ejemplo:
curl --location --request POST ' ht t p : / / a pi . s e r vi ce 24g ps . com/ a pi / vl / ge t da t a ' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form ' t oke n=" wf s z R/ o PI QKj t 5HT5 Ng j DnZ 2SAZQ ==" '
--form 'useUTCDate="O"' \
--form 'sensores="l"'
Respuesta de ejemplo:
{
"status": 200,
"data": [
{
"unitid": "Jeep Patriot",
"unitPlate": "NTX9553",
"Gpsidenti f": "0580012342332337",
"ReportDate": "2021-04-26 16:42:43",
"Latitude": "+19. 528530",
"Longitude": "-99.171165",
"Altitude": O,
"GpsSpeed": "O",
"Direction": "N",
"satellites": "22",
"Ignition": "O",
"odometer": O,
"IdEvento": "1",
"Domicilio": "camino a san Juan Ixtacala 479, san Juan, Gustavo A. Madero,
Mexico city, Mexico",
"Puerto": "",
"IpOrigen": "",
"BateriaGps": "-1",
"Bateriaveh": "-1",
"Grupo": nul l,
"conductor": "salvador Lopez",
"Inputs": "O I O I O I O I O I O I O I O I O I O I O I O I O I O I O",
"sensores": ""
}
]
7 de 59 10/1/2022 13:33
WebService [Link]
Nota: los campos con valor -1 refieren que no se han enviado por el dispositivo de rastreo.
8 de 59 10/1/2022 13:33
WebService [Link]
Este método permite consultar los datos históricos de un equipo para un rango de fechas y horas especificados.
Solicitud de ejemplo:
curl --location --request POST ' ht t p : / / a pi . s e r vi ce 24g ps . com/ a pi / vl / ge t ' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form ' t oke n=" wf s z R/ o PI QKj t 5HT5 Ng j DnZ 2SAZQ ==" ' \
--form 'equipo="0580012342332337"' \
--form 'fechaini="2021-04-27 00:00:00"' \
--form 'fechaFin="2021-04-27 23:59:59"' \
--form 'format="DateTime"' \
--form 'limite="l"'
Respuesta de ejemplo:
{
"status": 200,
"data": {
"equipo": "0580012342332337",
"latitud": "+19. 528530",
"longitud": "-99.171165",
"iporigen": "",
"puerto": "",
"idstatus": "1",
"gmt": "-5",
"fecha_reporte": "20210427201540",
"i devento": "1",
"velocidad": "O",
"ori entaci on": "O",
"senal": "65",
"satelites": "20",
"i nputs": "O I O I O I O I O I O I O I O I O I O I O I O I O I O I O",
"combustible": "-1",
"consumocomb": "-1",
"litroscomb": "-1",
"combustible2": "-1",
"consumocomb2": "-1",
"l itroscomb2": "-1",
"voltagecomb": "-1",
"caudalimetro": "-1",
9 de 59 10/1/2022 13:33
WebService [Link]
"odometro": "-1",
"odometro_veh": "0",
"bateria_gps": "-1",
"bateria_veh": "-1",
"temperatura": "-1",
"temperatura2": "-1",
"ignicion": "0",
"idconductor": "34110",
"domicilio": "Camino a San Juan Ixtacala 479, San Juan, Gustavo A. Madero,
Mexico City, Mexico",
"de_buffer": "0",
"contador_pasajeros": "-1",
"obd_rpm_motor": "-1",
"obd_carga_motor": "-1",
"obd_temperatura_anticong": "-1",
"obd_posicion_acelerador": "-1",
"datos_extras": "{\"parameters\":{\"out_1\":\"0\",\"out_2\":\"0\",\"out_3
\":\"0\",\"out_4\":\"0\",\"out_5\":\"0\",\"out_6\":\"0\",\"out_7\":\"0\",\"out_8\":\"0
\"},\"outputs\":\"0|0|0|0|0|0|0|0\",\"Time_stamp_insert\":\"20210427201542\",\"tipo_dato
\":{\"1\":\"2021-04-28 01:15:42\",\"13\":\"2021-04-27 21:04:29\",\"55\":\"2021-04-27
21:04:30\",\"14\":\"2021-04-27 21:05:42\",\"3\":\"2021-04-27 21:03:42\"},\"gw\":\"Escuchar-
[Link]\",\"ip\":\"[Link]\",\"kp\":\"6088b73e3a7f5\"}"
}
}
10 de 59 10/1/2022 13:33
WebService [Link]
[{
"stamp":"20211108163547",
"latln g":"-98.2318825,18.96
"direction":202,
string en formato json de ubicaciones
reports "speed":O,
"satellites":5,
"event":17,
"battery":O
}]
reports es un array de objetos, así sea un solo reporte debe estar dentro de un
array; ejemplo básico:
[{
"stamp":"20211108163547",
"latlng":"-98.2318825,18.9692315",
"di recti on":202,
"speed":0,
"satellites":5,
"event":17,
"battery" :O
}]
11 de 59 10/1/2022 13:33
WebService [Link]
Solicitud de ejemplo:
La key "errors" es un array con todos los errores encontrados al procesar las
tramas
En los errores se usa el mismo índice que en las tramas para relacionar en que
reporte se originó
12 de 59 10/1/2022 13:33
WebService [Link]
13 de 59 10/1/2022 13:33
WebService [Link]
Geocercas
Métodos relacionados con las geocercas.
14 de 59 10/1/2022 13:33
WebService [Link]
Geocercas
Lista de geocercas
getGeofences
[Link]
Obtiene el listado de geocercas de tipo poligonal (dibujo), lineal (ruta) o circular.
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="'
Respuesta de ejemplo:
{
"status": 200,
"data": [
{
"idcerca": "137825",
"ti po_cerca": "2",
"nombre": "zolotepec",
"color": "#880028",
"puntos": [
{
"lat": "19. 41478309989753",
"l ng": "-99. 49314098413086"
}
]'
"radio": "447",
"limite_velocidad": "O",
"solo_mi_usuario": O,
"vi si ble": "1"
},
{
"idcerca": "138225",
"ti po_cerca": "1",
"nombre": "GeoHome",
"color": "#223344",
"puntos": [
{
"lat": "-12.087574155453",
"lng": "-77 .083960622549"
15 de 59 10/1/2022 13:33
WebService [Link]
},
{
"lat": "-12.087672508219",
"lng": "-77.084015607834"
},
{
"lat": "-12.087707915205",
"lng": "-77.083946540952"
},
{
"lat": "-12.087658083149",
"lng": "-77.08388954401"
},
{
"lat": "-12.08761808636",
"lng": "-77.083898931742"
},
{
"lat": "-12.087589891898",
"lng": "-77.08392508328"
},
{
"lat": "-12.087575466824",
"lng": "-77.083957269788"
}
],
"radio": "0",
"limite_velocidad": "50",
"solo_mi_usuario": 1,
"visible": "1"
}
]
}
16 de 59 10/1/2022 13:33
WebService [Link]
Geocercas
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="' \
--form 'nombre="GeoHome"' \
--form 'puntos="[{\"lat\":-12.087574155453476,\"lng\":-77.08396062254906},{\"lat
\":-12.087672508218587,\"lng\":-77.08401560783386},{\"lat\":-12.087707915205174,\"lng\":-
77.08394654095173},{\"lat\":-12.087658083148632,\"lng\":-77.08388954401016},{\"lat
\":-12.087618086359699,\"lng\":-77.08389893174171},{\"lat\":-12.08758989189834,\"lng\":-
77.08392508327961},{\"lat\":-12.08757546682392,\"lng\":-77.08395726978779}]"' \
--form 'tipo_cerca="l"' \
--form 'color="#223344"' \
--form 'radio="O"' \
--form 'limite_velocidad="SO"' \
--form 'solo_mi_usuario="l"'
Respuesta de ejemplo:
{
"status": 200,
"data": ""
}
17 de 59 10/1/2022 13:33
WebService [Link]
Geocercas
Actualizar geocerca
updateGeofence
[Link]
Este método permite actualizar cualquier valor de una geocerca.
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="' \
--form 'idcerca="138225"' \
--form 'nombre="GeoHome"' \
--form 'puntos="[{\"lat\":-12.087574155453476,\"lng\":-77.08396062254906},{\"lat
\":-12.087672508218587,\"lng\":-77.08401560783386},{\"lat\":-12.087707915205174,\"lng\":-
77.08394654095173},{\"lat\":-12.087658083148632,\"lng\":-77.08388954401016},{\"lat
\":-12.087618086359699,\"lng\":-77.08389893174171},{\"lat\":-12.08758989189834,\"lng\":-
77.08392508327961},{\"lat\":-12.08757546682392,\"lng\":-77.08395726978779}]"' \
--form 'tipo_cerca="l"' \
--form 'color="#223344"' \
--form 'radio="O"' \
--form 'limite_velocidad="SO"' \
--form 'solo_mi_usuario="O"' \
--form 'vi si bl e="l"'
Respuesta de ejemplo:
{
"status": 200,
"data": ""
}
18 de 59 10/1/2022 13:33
WebService [Link]
Geocercas
Eliminar geocerca
deleteGeofence
[Link]
Este método permite eliminar una geocerca especifica.
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="' \
--form 'idcerca="138225"'
Respuesta de ejemplo:
{
"status": 200,
"data": ""
}
19 de 59 10/1/2022 13:33
WebService [Link]
Lugares
Métodos relacionados con los lugares.
20 de 59 10/1/2022 13:33
WebService [Link]
Lugares
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="'
Respuesta de ejemplo:
{
"status": 200,
"data": [
{
"idLugar": "556987",
"nombre": "colegio",
"direccion": "Aztecas 158, Habla Romana, 54030 Tlalnepantla de Baz, Méx.",
"latitud": "19. 550788",
"longitud": "-99.191248",
"descripcion": "Primaria y secundaria",
"telefono": "55 5390 2698",
"ema i l " : "" ,
"grupoLugar": "11",
"grupo": "principal",
"solo_mi_usuario": "48016",
"icono": "/images/Lugares/new_596_retai l_shop_bui ldi ng. png",
"vi si ble": 1
}
]
}
21 de 59 10/1/2022 13:33
WebService [Link]
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="' \
--form 'idLugar="556987"' \
--form 'nombre="Colegio 1"' \
--form 'direccion="Aztecas 158, Habla Romana, 54030 Tlalnepantla de Baz, Méx."' \
--form 'latitud="19.550788"' \
--form 'longitud="-99.191248"' \
--form 'descripcion="Primaria y secundaria"' \
--form 'telefono="55 5390 2698"' \
--form 'emai l =""' \
--form 'solo_mi_usuario="O"' \
--form 'icono="/images/Lugares/new_596_retail_shop_building.png"'
Respuesta de ejemplo:
{
"status": 200,
"data": ""
}
22 de 59 10/1/2022 13:33
WebService [Link]
SMS
Administrar los mensajes de texto.
23 de 59 10/1/2022 13:33
WebService [Link]
SMS
Obtener mensajes
getMessages
[Link]
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="' \
--form 'fecha_inicio="2021-11-01"' \
--form 'fecha_fi n="2021-11-02"'
Respuesta de ejemplo:
{
"status": 200,
"data": [
{
"id": "11",
"fecha_hora": "2021-11-01 14: 23:18",
"desti natari o": "2226308920",
"mensaje": "Mensaje 01",
"enviado": "1",
"devi ce": "1740301338",
"gateway": "My SMS Gateway"
},
{
"id": "12",
"fecha_hora": "2021-11-02 14: 23:10",
"destinatario": "2226489019",
"mensaje": "Mensaje 02",
"enviado": "1",
"device": "323701090018785",
"gateway": "My SMS Gateway"
}
]
}
24 de 59 10/1/2022 13:33
WebService [Link]
SMS
Solicitud de ejemplo:
curl --location --request POST '[Link] .servi [Link]/ api/ vl/getMessage' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/ oPIQKjt5HT5Ngj DnZ2SAZQ=="' \
--form 'id="ll"'
Respuesta de ejemplo:
{
"status": 200,
"data": {
"id": "11",
"fecha_hora": "2021-11-01 14:23:18",
"destinatario": "2226308920",
"mensaje": "Mensaje 01",
"enviado": "1",
"devi ce": "1740301338",
"gateway": "My SMS Gateway"
}
}
25 de 59 10/1/2022 13:33
WebService [Link]
SMS
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="' \
--form 'to="2226308920"' \
--form 'message="Hola mundo!"'
Respuesta de ejemplo:
{
"status": 200,
"data": {
"id": "11"
}
}
26 de 59 10/1/2022 13:33
WebService [Link]
SMS
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="' \
--form 'device="1743201963"' \
--form 'message="Hola mundo!"'
Respuesta de ejemplo:
{
"status": 200,
"data": {
"id": "11"
}
}
27 de 59 10/1/2022 13:33
WebService [Link]
Plataformas
Administra plataformas
28 de 59 10/1/2022 13:33
WebService [Link]
Plataformas
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--header 'cookie: PHPSESSID=Oab8djc97ouk13tev2t9epfll2' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="' \
--form 'nombre="My platform"' \
--form 'url="[Link] \
--form 'icono="[Link] \
--form 'estado="l"' \
--form 'id="ll"'
Respuesta de ejemplo:
{
"status": 200,
"data": {
"id": "11",
}
}
29 de 59 10/1/2022 13:33
WebService [Link]
Plataformas
Obtener plataformas
getPlatforms
[Link]
Obtiene el listado de plataformas disponibles que se hayan dado de alta anteriormente. NOTA: Una vez que se crea
o actualiza, para verse reflejados los cambios se tiene que esperar alrededor de 5 minutos, ya que se maneja
una cache.
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--header 'cookie: PHPSESSID=Oab8djc97ouk13tev2t9epfll2' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="'
Respuesta de ejemplo:
{
"status": 200,
"data": [
{
"estado": "1",
"icono": "[Link] [Link]/my_i [Link]",
"id": "11",
"nombre": "My plataform",
"u rl": "[Link] [Link]/my_pl atform"
}
]
}
30 de 59 10/1/2022 13:33
WebService [Link]
31 de 59 10/1/2022 13:33
WebService [Link]
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--header 'cookie: PHPSESSID=Oab8djc97ouk13tev2t9epfll2' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="'
Respuesta de ejemplo:
{
"status": 200,
"data": {
"1": "Ignición ON / OFF",
"2": "Desconexión de Batería Principal",
"3": "Botón de Pánico",
"4": "corte Remoto de combustible",
"5": "Apertura / cierre de puertas",
}
}
32 de 59 10/1/2022 13:33
WebService [Link]
Solicitud de ejemplo:
curl --location --request POST '[Link] \
--header 'cookie: PHPSESSID=Oab8djc97ouk13tev2t9epfll2' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="'
Respuesta de ejemplo:
{
"status": 200,
"data": {
"1": "ubicación",
"2": "Botón sigMen",
"3": "Activo Detenido",
"4": "Botón de Pánico ON",
"5": "Puerta conductor",
}
}
33 de 59 10/1/2022 13:33
WebService [Link]
Solicitud de ejemplo:
curl --location --request POST '[Link] .servi [Link]/ api/ vl/getonorivin ginfo' \
--header 'content-Type: appli cati on/ x-www-form-url encoded' \
--header 'cookie: PHPSESSID=Oab8djc97ouk13tev2t9epfll2' \
--data-urlencode 'apikey=f77c31ce81907cc5f0ecffeda60fb4f6' \
--data-urlencode 'token=SJ x5eXC7PtRJ wHcSY808Da3WZTlOUZ CHrOsfmvYFMU/ MckoIQjPytg=='\
--data-urlencode 'idvehiculo=53008' \
--data-urlencode 'equipo=354148072188807' \
--data-urlencode 'fecha_ini=2021-05-05' \
--data-urlencode 'fecha_fin=2021-05-05'
Respuesta de ejemplo:
{
"status": 200,
"data": [
{
"inicio_viaje": {
"fecha_hora": "2021-05-05 12:21:53",
"domicilio": "Boulevard Esteban de Antuñano 112, Luz obrera, 72110
Puebla, Pue., México"
},
"final_viaje": {
"fecha_hora": "2021-05-05 14:51:39",
"domicilio": "Boulevard Esteban de Antuñano, Reforma, 72160 Puebla,
Puebla"
},
"duracion_viaje": "8986",
"di stanci a_vi aje": "30980" ,
"cal ifi caci on_vi aje": "O.7",
"categorías": [
{
"categoría": "velocidades",
"calificacion": 0.7,
"cal i fi caci on_categori a": 6.28,
34 de 59 10/1/2022 13:33
WebService [Link]
"duracion_evento": "3211",
"distancia": "30980",
"configuracion": {
"velocidad": "70",
"activo": "1",
"importancia": "1.1110888888888888"
},
"eventos": []
}
]
}
]
}
35 de 59 10/1/2022 13:33
WebService [Link]
Lista de conductores
driverGetAI 1
[Link]
Lista los conductores asignados al usuario autentificado en la API.
Solicitud de ejemplo:
curl --location --request POST ' ht t p : / / a pi . s e r vi ce 24g ps . com/ a pi / vl / d r i ve r Get Al l ' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form ' t oke n=" wf s z R/ o PI QKj t 5HT5 Ng j DnZ 2SAZQ ==" '
Respuesta de ejemplo:
{
"status": 200,
"data": [
{
"id": "2811",
"numero": "11",
"alias": "",
"nombre": "ROBERT"'
"apellido": "TRUJILLO NAJERA",
"identificador": "45287366",
"fecha_alta": "2021-11-06",
"tel efono": "2251878990",
"cedula": "",
"licencia": "RTN891029",
"vigencia": "0000-00-00",
"direccion": "Av. Principal",
"ema i l " : " rtn@gma i l . com" ,
"idvehiculo": "8877",
"idgrupo": "1",
"nombregrupo": "conductores centro",
"observaciones": "",
"usuario": "principal",
"password": "123456"
},
{
"id": "3766",
"numero": "12",
"alias": "",
"nombre": "Brayan",
"apellido": "Acosta Montero",
36 de 59 10/1/2022 13:33
WebService [Link]
"identificador": "76333000",
"fecha_alta": "2021-11-09",
"telefono": "2251878978",
"cedula": "",
"licencia": "B-76322011",
"vigencia": "0000-00-00",
"direccion": "Boulevard principal",
"email": "",
"idvehiculo": "1744",
"idgrupo": "0",
"nombregrupo": "",
"observaciones": "",
"usuario": "",
"password": ""
},
]
}
37 de 59 10/1/2022 13:33
WebService [Link]
Códigos de respuesta
La respuesta de los servicios es devuelta en formato JSON e incluyen los campos y , las
aplicaciones de los clientes siempre deben verificar los códigos de error HTTP que se pueden producir en la
petición, la tabla que anexamos a continuación son códigos de error específicos de los Servicios Web.
Tipos de respuestas:
Respuesta correcta OK.
{
"status":200,
"data":""
}
Solicitud incorrecta.
{
"status":30300,
"data":""
}
{
"status":30400,
"data":""
}
Credenciales no válidas.
{
"status":30500,
"data":""
}
{
"status":30600,
"data":""
}
38 de 59 10/1/2022 13:33
WebService [Link]
"status":30700,
"data":""
}
{
"status":40100,
"data":""
}
{
"status":60500,
"data":""
}
{
"status":99500,
"data":""
}
39 de 59 10/1/2022 13:33
WebService [Link]
Activos
Métodos relacionados a los activos
40 de 59 10/1/2022 13:33
WebService [Link]
Activos
Solicitud de ejemplo:
curl --location --request POST ' ht t p : / / a pi . s e r vi ce 24g ps . com/ a pi / vl / ve hi c l e Ge t Al l ' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form ' t oke n=" wf s z R/ o PI QKj t 5HT5 Ng j DnZ 2SAZQ ==" '
Respuesta de ejemplo:
{
"status" : 200,
"data": [
{
"id": "1980",
"nombre": "Jeep Patriot",
"patente": "NTX9553",
"idgps": "0580012342332337",
"gatewayip": "[Link]",
"conductor": "salvador Lopez",
"grupo": null,
"marca": "Jeep",
"modelo": "",
"color": "",
"anio": "O",
"numero_seri e": "N",
"ti po_vehi culo": "camioneta"
}
]
}
41 de 59 10/1/2022 13:33
WebService [Link]
Activos
Odómetro de activo(s)
getOdometer
[Link]
Este método permíte consultar el odómetro de uno o varios activos en una fecha específica.
Solicitud de ejemplo:
curl --location --request POST '[Link] .servi [Link]/ api/ vl/getodometer ' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/ oPIQKjt5HT5Ngj DnZ2SAZQ=="' \
--form 'equipo="0580012342332337"' \
--form 'fecha="2021-04-27 23:59:59"' \
--form 'odometro_gps="l"'
Respuesta de ejemplo:
{
"status": 200,
"data": [
{
"0580012342332337": {
"Fecha": "2021-04-27 23:59:59",
"Kilometros": O,
"odometro": "0.00",
"Horas": O
}
}
]
}
42 de 59 10/1/2022 13:33
WebService [Link]
Activos
A continuación se muestra dónde se visualiza esta información personalizada, es importante agregar un título
llamado información extra sobre las filas que se agregan.
43 de 59 10/1/2022 13:33
WebService [Link]
[Link] .[Link]/api/vl
/insertPositionoata
Recibe en el body de la petición los siguientes campos: apikey, token, imei, checksum, reports.
Solicitud de ejemplo:
curl --location --request POST '[Link] .[Link]/api/vl/insertPositionData'\
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="' \
--form 'imei="1234567890"' \
--form 'reports="[{\"stamp\":\"20211207230535\",\"latlng\":\"-98.2318825,18.9692315
\",\"direction\":62,\"speed\":124,\"satellites\":2,\"event\":42,\"battery\":20,\"infoextra
\":{\"qr_buffer\":O,\"qr_id\":\"uid9320824\",\"qr_idProceso\":\"1000\"}}]"' \
--form 'checksum="f118"'
Respuesta de ejemplo:
[{
"stamp":"20211108163547",
"l atl ng":"-98.2318825,18.9692315",
"direction":202,
"speed":0,
"satellites":5,
"event":17,
"battery":0,
"infoextra": {
"qr_buffer": "O",
"qr_idProceso": "2971599",
"qr_ui d": "Mi Lugarl"
}
}]
La información se enviará en los reportes utilizando la llave existente infoextra con el método del webservice
api/v1/onapp/insertPositionData
Límites: el largo total de "infoextra" + "sensor" y "ad" no debe superar los 5 kb.
Ejemplo Sensores:
Formato json.
Sensor => arreglo de objetos
Ejemplo de envio
44 de 59 10/1/2022 13:33
WebService [Link]
Este formado solo se completa el nombre y el valor a mostrar, es un modo simple de agregar información. Pero
tiene la limitante que no se puede dar formato o interacción a esta información dentro de la plataforma.
Ejemplo de código:
[
{
"stamp": "20211117215015","latlng": "19.0185679,-98.2660656",
45 de 59 10/1/2022 13:33
WebService [Link]
"infoextra": {
"lámpara 1": "encendida",
"lámpara 2": "apagada",
"0": "prueba"
}
}
lámpara 1 en-
cendida
lámpara 2
apagada
0
prueba
Este formado tiene más opciones que el anterior, donde podremos definir unidad, color icono y más acciones
sobre los elementos que verá el cliente dentro del detalle del activo.
Las llaves requeridas son label y value, para el uso de este, las demás llaves son opcionales.
Se puede definir un icono a mostrar antes del valor, los iconos so-
icon No icon-string portados, son los utilizados en la librería de desarrollo de la plata-
forma.
Se utiliza para agregar una url y con ello la fila agregada en la pla-
href No varchar taforma tenga el link a la url especificada.
Soporta variables como _IMEI_, _PLATE_, _ASSET_
Ejemplo de código:
46 de 59 10/1/2022 13:33
WebService [Link]
{
"stamp": "20211117215015","latlng": "19.0185679,-98.2660656",
"infoextra": {
"0":{
"label":"lampara 1",
"value": "345.56",
"unit":"litros",
"icon":"i-lock-2",
"color":"#700000",
"href":"[Link]
"onclick":"funcionjavascript(_IMEI_)",
},
"1":{
"label":"lampara 1",
"value": "4478",
"unit":"grados",
"icon":"i-gps",
"color":"#005582”
}
}
}
Este formato, sirve para mostrar un mensaje tipo texto dentro de la plataforma. El mismo soporta opciones para
personalizar el mismo y/o generar acciones. Las llave requerida es text, las demás llaves son opcionales.
Tipo de va-
Llave Requerida Descripción
lor
47 de 59 10/1/2022 13:33
WebService [Link]
bgco-
No hexa Define el color de fondo de la caja que contiene el texto a mostrar.
lor
Se utiliza para agregar una url y con ello la fila agregada en la platafor-
href No varchar ma tenga el link a la url especificada.
Soporta variables como _IMEI_, _PLATE_, _ASSET_
Ejemplo de código:
{
"stamp": "20211117215015","latlng": "19.0185679,-98.2660656",
"infoextra": {
"0":{
"text":"aquí debemos agregar el texto que se desea mostrar dentro de la plataforma",
"color":"#700000",
"href":"[Link]
"onclick":"funcion_javascript(_IMEI_)",
},
"1":{
"text":"Otro texto que podemos mostrar",
"color":"#005582”,
"bgcolor":"#0034”,
}
}
}
48 de 59 10/1/2022 13:33