# Insertar datos de dispositivo - insertPositionData ##### POST https://api.service24gps.com/api/v1/insertPositionData Basado en el documento de protocolo de comunicación service24gps. Para ingresar información en los reportes del equipo GPS y se muestre en la plataforma, tanto en el detalle nuevo del activo como en los eventos y/o alertas.
Ver parámetros de solicitud:
ParámetrosDescripciónEjemplo
apikey**(Requerido)** Llave de autorización para uso de los Servicios Web.25sdsd234234aa93sdsdsd37c70118e72
token**(Requerido)** Token devuelto por el método getToken.
SJXC7PtRJwHcSY8O8DYjpH+c7mMBd0uXmRkw+8DE9TS09wi0Mzw==
imei**(Requerido)** Identificador único / imei del dispositivo gps. 6d7b91026765abcd
checksum**(Requerido)** Primeros 4 caracteres del md5 de reports. e71a
reports **(Requerido)** String en formato json de ubicaciones \[ { "stamp": "20220502184600", "latlng": "4.6892583,-74.1159799", "direction": 0, "speed": 0, "sig": 10, "satellites": 15, "event": 1, "battery": 40, "bat": 100, "odm": 500, "bato": 50, "acc": 1, "alt": "10", } \]

Nota: **reports** es un array de objetos, así sea un solo reporte debe estar dentro de un array.

Ver tabla de parámetros reports:
ParámetrosDescripciónEjemplo
stamp**(Requerido)** Fecha y hora en GMT 0."stamp": "20230510235500"
latlng**(Requerido)** Latitud y longitud."latlng": "4.6892583,-74.1159799"
direction**(Requerido)** Dirección. "direction": 0
speed**(Requerido)** Velocidad del dispositivo. "speed": 0
sig(Opcional) Señal GSM. Entre 0-10 "sig": 10
satellites**(Requerido)** Satélite."satellites": 15
event**(Requerido)** Tipo de evento. Ejemplo: 1: Ubicación 2: Botón SigMen Obtener listado de eventos en [**getEventTypes**](https://docs.redgps.com/books/webservice/page/lista-de-eventos-geteventtypes) "event": 1
battery**(Requerido)** Batería del dispositivo. Entre 0 - 100 % "battery": 40
bato(Opcional) Batería Vehículo. Entre 0 - 100 volts "bato": 100
acc(Opcional) Estado de ignición. Ejemplo: 1: Encendido 0: Apagado "acc": 1
odm(Opcional) Odómetro. "odm": 500
alt(Opcional) Altitud. "alt": "10"
ad(Opcional) Información adicional para el envió de información de sensores en formato JSON.
"ad": {
"t1": 25.5,
"h1": 10,
"h2": 1
}
infoextra(Opcional) Información extra para el dispositivo en formato JSON.
"infoextra": {
"qr\_buffer": "0",
"qr\_idProceso": "2971599",
"qr\_uid": "MiLugar1"
}
##### Solicitud de ejemplo: ```JSON curl --location --request POST 'https://api.service24gps.com/api/v1/insertPositionData' \ --form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \ --form 'token="SJXC7PtRJwHcSY8O8DYjpH+c7mMBd0uXmRkw+8DE9TS09wi0Mzw=="' \ --form 'imei="6d7b91026765abcd"' \ --form 'checksum="e71a"' \ --form 'reports="[ { \"stamp\":\"20220119235500\", \"latlng\":\"4.6892583,-74.1159799\", \"direction\":0, \"speed\":0, \"sig\":10, \"satellites\":15, \"event\":501, \"battery\":40, \"bat\":100, \"odm\":500, \"bato\":50, \"acc\":1, \"alt\":\"10\", \"ad\": {           \"t1\":  25.5,           \"h1\":  10,           \"h2\":  1 } } ]"' ``` ##### Respuesta de ejemplo: ```JSON { "status": 200, "data": { "checksum": "e71a", "match_checksum": 1, "received": 1, "processed": 1, "errors": [] } } ```

**Nota:** 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ó.

##### Respuesta de ejemplo si el checksum no coincide: ```JSON { "status": 200, "data": { "checksum": "3824", "match_checksum": 0 } } ``` ##### Tipos de formato en infoextra
Ver formatos:
FormatoDescripción Nombre de la propiedadValor de la propiedadEjemplo
**Tipo llave valor**Este formato solo se completa el nombre y el valor a mostrar, es un modo simple de agregar información. Tiene la limitante que no se puede dar formato o interacción a esta información dentro de la plataforma. "lampara 1" "encendido"
"infoextra":{
"lampara 1": "encendido",
"lampara 2": "apagado",
"lampara 3": "encendido"
}
**Tipo llave valor extendido** Este formato tiene mas opciones, donde podremos definir las acciones sobre los elementos que vera el cliente dentro del detalle del activo. **Llave:** - **(Requerido)** label - **(Requerido)** value - (Opcional) unit - (Opcional) color - (Opcional) icon - (Opcional) href - (Opcional) onclick "label""Litros"
"infoextra":{
"0":{
"label": "Litros",
"value": "11.12",
"unit": "litros",
"icon": "i-lock-2",
"color": "#987456",
"href": "https://example.com",
"onclick": "function\_litro(\_litro\_)"
},
"1":{
"label": "Litros 2",
"value": "114.2",
"unit": "litros",
"icon": "i-lock-2",
"color": "#158456"
}
}
**Tipo llave texto** Este formato sirve para mostrar un mensaje de tipo texto dentro de la plataforma. **Llave:** - **(Requerido)** text - (Opcional) color - (Opcional) bgcolor - (Opcional) href - (Opcional) onclick "text" "Mensaje de prueba"
"infoextra":{
"0":{
"text": "Mensaje de prueba",
"color": "#987456",
"bcolor": "#284650",
"href": "https://example.com",
"onclick": "function\_msg(\_msg\_)"
},
"1":{
"text": "Mensaje a plataforma",
"color": "#458756",
}
}
##### Solicitud de ejemplo con infoextra: ```JSON curl --location --request POST 'https://api.service24gps.com/api/v1/insertPositionData' \ --form 'apikey="25sdsd234234aa93sdsdsd37c70118e72"' \ --form 'token="SJXC7PtRJwHcSY8O8DYjpH+c7mMBd0uXmRkw+8DE9TS09wi0Mzw=="' \ --form 'imei="6d7b91026765abcd"' \ --form 'checksum="e71a"' \ --form 'reports="[ { \"stamp\": \"20220502184600\", \"latlng\": \"4.6892583,-74.1159799\", \"direction\": 0, \"speed\": 0, \"satellites\": 15, \"event\": 501, \"battery\": 4.013, \"infoextra\":{ \"lampara 1\": \"encendido\", \"lampara 2\": \"apagado\", \"lampara 3\": \"encendido\" }, } ]"' ```