WebService API
WebService API
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 http://api.service24gps.com/api/v1/ 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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Método de autenticación
getToken
http://api.service24gps.com/api/vl/gettoken
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 'http://api .servi ce24gps.com/ 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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
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 'http://api .servi ce24gps.com/ 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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
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": "[email protected]"
}
]
}
6 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.htm
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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
"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-
ST4340-TCP.php\",\"ip\":\"107.170.254.11\",\"kp\":\"6088b73e3a7f5\"}"
}
}
10 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.htm
[{
"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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
13 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.html
Geocercas
Métodos relacionados con las geocercas.
14 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Geocercas
Lista de geocercas
getGeofences
http://api.service24gps.com/api/vl/getGeofences
Obtiene el listado de geocercas de tipo poligonal (dibujo), lineal (ruta) o circular.
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/getGeofences' \
--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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
},
{
"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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Geocercas
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/createGeofence' \
--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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Geocercas
Actualizar geocerca
updateGeofence
http://api.service24gps.com/api/vl/updateGeofence
Este método permite actualizar cualquier valor de una geocerca.
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/createGeofence' \
--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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Geocercas
Eliminar geocerca
deleteGeofence
http://api.service24gps.com/api/vl/deleteGeofence
Este método permite eliminar una geocerca especifica.
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/deleteGeofence' \
--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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
Lugares
Métodos relacionados con los lugares.
20 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Lugares
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/getPlaces' \
--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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/updatePlace' \
--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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
SMS
Administrar los mensajes de texto.
23 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.htm
SMS
Obtener mensajes
getMessages
http://api.service24gps.com/api/vl/getMessages
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/getMessages' \
--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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
SMS
Solicitud de ejemplo:
curl --location --request POST 'http://api .servi ce24gps.com/ 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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
SMS
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/insertMessage' \
--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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
SMS
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/insertMessageoevice' \
--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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
Plataformas
Administra plataformas
28 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Plataformas
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/setPlatform' \
--header 'cookie: PHPSESSID=Oab8djc97ouk13tev2t9epfll2' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="' \
--form 'nombre="My platform"' \
--form 'url="https://sitio.com/my_platform"' \
--form 'icono="https://sitio.com/my_icon.svg"' \
--form 'estado="l"' \
--form 'id="ll"'
Respuesta de ejemplo:
{
"status": 200,
"data": {
"id": "11",
}
}
29 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Plataformas
Obtener plataformas
getPlatforms
http://api.service24gps.com/api/vl/getPlatforms
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 'http://api.service24gps.com/api/vl/getPlatforms' \
--header 'cookie: PHPSESSID=Oab8djc97ouk13tev2t9epfll2' \
--form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \
--form 'token="wfszR/oPIQKjt5HT5NgjDnZ2SAZQ=="'
Respuesta de ejemplo:
{
"status": 200,
"data": [
{
"estado": "1",
"icono": "https://si tio.com/my_i con.svg",
"id": "11",
"nombre": "My plataform",
"u rl": "https://si tio.com/my_pl atform"
}
]
}
30 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.html
31 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/getsensors' \
--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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Solicitud de ejemplo:
curl --location --request POST 'http://api.service24gps.com/api/vl/getEventTypes' \
--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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Solicitud de ejemplo:
curl --location --request POST 'http://api .servi ce24gps.com/ 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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
"duracion_evento": "3211",
"distancia": "30980",
"configuracion": {
"velocidad": "70",
"activo": "1",
"importancia": "1.1110888888888888"
},
"eventos": []
}
]
}
]
}
35 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Lista de conductores
driverGetAI 1
http://api.service24gps.com/api/vl/driverGetAll
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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
"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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
"status":30700,
"data":""
}
{
"status":40100,
"data":""
}
{
"status":60500,
"data":""
}
{
"status":99500,
"data":""
}
39 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.html
Activos
Métodos relacionados a los activos
40 de 59 10/1/2022 13:33
WebService file:///C:/Users/User/AppData/Local/Temp/webservice.htm
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": "107.170.254.11",
"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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
Activos
Odómetro de activo(s)
getOdometer
http://api.service24gps.com/api/vl/getodometer
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 'http://api .servi ce24gps.com/ 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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
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 file:///C:/Users/User/AppData/Local/Temp/webservice.htm
https://api .service24gps.com/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 'https://api .service24gps.com/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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
"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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
{
"stamp": "20211117215015","latlng": "19.0185679,-98.2660656",
"infoextra": {
"0":{
"label":"lampara 1",
"value": "345.56",
"unit":"litros",
"icon":"i-lock-2",
"color":"#700000",
"href":"http://www.urldestino.com?_PLATE_",
"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 file:///C:/Users/User/AppData/Local/Temp/webservice.html
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":"http://www.urldestino.com?_PLATE_",
"onclick":"funcion_javascript(_IMEI_)",
},
"1":{
"text":"Otro texto que podemos mostrar",
"color":"#005582”,
"bgcolor":"#0034”,
}
}
}
48 de 59 10/1/2022 13:33