O SimpliRoute 🚀 permite integrar dados de posicionamento GPS dos seus veículos diretamente na plataforma para ter rastreabilidade em tempo real. Esta integração é voltada para desenvolvedores ou provedores de GPS e requer conhecimentos técnicos.
Endpoint e autenticação 🔑
Para enviar dados GPS ao SimpliRoute, você deve realizar uma chamada com método POST para o seguinte endpoint:
Você deve incluir os seguintes parâmetros no Header da solicitação:
Content-Type: application/json
Authorization: ApiKey <<token>>
Notas: Você pode obter seu token de API em Ajustes / Perfil / Meu API Token na plataforma.
Integração básica de dados GPS 🔗
O Payload da solicitação deve ser enviado em formato JSON com os seguintes campos:
latitude: número decimal com até 6 casas decimais.
longitude: número decimal com até 6 casas decimais.
timestamp: data e hora em UTC no formato YYYY-MM-DD HH:II:SS-00. Exemplo: 2019-02-20 10:35:00-00
vehicleId: ID do veículo no sistema SimpliRoute.
providerName: nome do provedor de informação GPS dos veículos.
Exemplo de objeto JSON:
JSON
{
"latitude": -33.4311548,
"longitude": -70.5701852,
"timestamp": "2019-02-20 10:35:00-00",
"vehicleId": "<<vehicle_id>>",
"providerName": "<<proveedor>>"
}
Integração com variáveis adicionais 🔗
Se você precisar enviar variáveis adicionais como temperatura, umidade ou outras alertas, pode incluir os seguintes campos opcionais no Payload:
temperature: dados de temperatura (ver objeto temperature abaixo). (Retrocompatível, mas depreciado; recomenda-se usar o objeto alert.)
alert: dados de alerta (ver objeto alert abaixo).
alerts: array de objetos de alerta para enviar múltiplas alertas simultaneamente.
Objeto temperature:
value: número decimal com a temperatura em graus Celsius.
alert_type: tipo de alerta: min quando a temperatura está abaixo do limite estabelecido, ou max quando está acima.
alert_message: mensagem para o supervisor responsável.
Objeto alert:
name: identificador do tipo de alerta.
type: tipo de alerta.
value: valor da alerta.
message: mensagem para o supervisor responsável.
Alertas disponíveis 💥
Você pode enviar os seguintes tipos de alerta através do campo alerts:
temperature — Temperatura
geofence — Geofence
speed — Velocidade
humidity — Umidade
door — Portas
brake — Frenagem
temperature_2 — Temperatura 2
temperature_3 — Temperatura 3
jamming — Bloqueio de sinal GPS
tiredness — Sensor de fadiga
fuel_cap — Abertura da tampa do combustível
fuel_variation — Variação brusca de combustível
driver_door_open — Abertura da porta do condutor
speeding — Excesso de velocidade
loss_of_load — Desacoplamento de carga
no_smoking / smoking — Alerta de não fumar
Demurrage — Sobreestadia
Exemplo de payload completo com alertas:
JSON
{
"latitude": -33.4311548,
"longitude": -70.5701852,
"timestamp": "2017-10-19 09:12:02-00",
"vehicleId": "<<vehicle_id>>",
"temperature": {
"value": 2.4,
"alert_type": null,
"alert_message": null
},
"alert": {
"name": "door",
"type": "open",
"value": true,
"message": "open door alert"
},
"alerts": [
{
"name": "general",
"type": "ºC",
"value": 4,
"message": "temperature is lower than 5 degrees"
}
],
"providerName": "<<provider>>"
}Resposta de sucesso:
JSON
{
"status": "Tracked",
"id": "2408269119724499",
"daily_status": "Updated"
}Resposta com alertas inválidas:
JSON
{
"status": "Tracked",
"id": "2408269119724499",
"daily_status": "Updated",
"invalid_alerts": ["invalid_alert"]
}
Frequência de envio de dados ⏱️
Para um traçado correto das rotas no mapa, recomenda-se a seguinte frequência de envio:
Frotas de até 20 veículos: máximo 1 dado por veículo a cada 20 segundos.
Frotas de mais de 20 veículos: 1 dado por veículo por minuto.
Perda de sinal e envio de dados locais 🛰️
Se um ou mais veículos circularem por zonas sem cobertura ou sofrerem perda de sinal, recomenda-se utilizar filas (queues) para armazenar os dados que não puderam ser enviados e enviá-los posteriormente quando o sinal for restabelecido.
Ao restabelecer o sinal, o sistema pode enviar os dados acumulados com um intervalo máximo de 10 segundos entre cada envio, até completar todos os objetos na fila.
Notas: O intervalo de 10 segundos se aplica apenas a dados armazenados localmente por perda de sinal. Os veículos com cobertura ativa devem manter a frequência recomendada indicada anteriormente. Os dados devem ser enviados de forma independente — um array com todos os objetos pode provocar erros na comunicação.
