Pular para o Conteúdo

Guia de Provedores de Dados de Dispositivos GPS

Dispositivos GPS são essenciais para rastrear dados de localização em tempo real. Eles fornecem informações geográficas precisas que podem ser usadas em diversas aplicações, como logística, gestão de frotas e navegação pessoal.

Este guia fornece uma visão geral sobre como integrar dispositivos GPS como provedores de dados em seu sistema.

Campos da API

CampoTipoDescrição
device.id obrigatórioStringIMEI do dispositivo
device.status obrigatórioStringENUM de status de comando
device.gsm_signalNumberValor do sinal GSM RSSI Descrição
device.gsm_signal_levelStringNível do sinal GSM RSSI Descrição
device.gps_satellitesNumberTotal de satélites GPS disponíveis
vehicle.vin obrigatórioStringVIN do veículo Descrição
vehicle.license_plateStringPlaca do veículo
vehicle.engine_status obrigatórioStringStatus do motor (LIGADO/DESLIGADO)
vehicle.speed obrigatórioNumberVelocidade em Km/h
vehicle.odometer obrigatórioNumberHodômetro do veículo em Km
vehicle.battery.system obrigatórioNumberVoltagem da bateria do veículo
vehicle.battery.deviceNumberVoltagem da bateria do dispositivo
vehicle.battery.device_percentageNumberPorcentagem da bateria do dispositivo
vehicle.location.elevationNumberElevação do veículo em metros
vehicle.location.headingNumberDireção do veículo em graus
vehicle.location.location obrigatórioArray[longitude, latitude]
vehicle.behaviorStringUm dos comportamentos disponíveis
received_atStringData do evento recebida pela plataforma em UTC ISO
created_at obrigatórioStringData do evento em UTC ISO

O que é o VIN?

O VIN - Número de Identificação do Veículo (ou NIV), é o sistema universal de registro para veículos automotivos produzidos.

Nível do Sinal GSM RSSI
Nível RSSIForça do sinalDescrição
EXCELENTEExcelenteSinal forte com interferências mínimas, velocidades de dados excelentes
BOMBomSinal forte com boas velocidades de dados
REGULARRegularÚtil, velocidades rápidas e confiáveis podem ser atingidas, mas quedas de conexão são possíveis
FRACOFracoO desempenho cairá drasticamente
SEM_SINALSem sinalDesconexão

Esses enums são usados para determinar a força do sinal do dispositivo. Os valores são baseados no RSSI (Indicador de Força do Sinal Recebido), que mede o nível de potência que um dispositivo recebe de uma torre celular.

RSSIForça do sinalDescrição
> -70 dBmExcelenteSinal forte com interferências mínimas, velocidades de dados excelentes
-70 dBm a -85 dBmBomSinal forte com boas velocidades de dados
-86 dBm a -100 dBmRegularÚtil, velocidades rápidas e confiáveis podem ser atingidas, mas quedas de conexão são possíveis
< -100 dBmFracoO desempenho cairá drasticamente
-110 dBmSem sinalDesconexão
Status do Veículo
StatusDescrição
LOCKEDVeículo está trancado
OPERATIONALVeículo está destrancado e funcionando bem
SETUPDispositivo não instalado
SOFT_LOCK_RECEIVEDComando de bloqueio suave recebido
SOFT_LOCK_APPLYINGAplicando comando de bloqueio suave
SOFT_LOCK_CONFIRMEDComando de bloqueio suave concluído
HARD_LOCK_RECEIVEDComando de bloqueio rígido recebido
HARD_LOCK_APPLYINGAplicando comando de bloqueio rígido
HARD_LOCK_CONFIRMEDComando de bloqueio rígido concluído
UNLOCK_RECEIVEDComando de destravamento recebido
UNLOCK_APPLYINGAplicando comando de destravamento
UNLOCK_CONFIRMEDComando de destravamento concluído
Comportamento do Veículo
StatusDescrição
DEVICE_POWER_ONRetorno de energia ao dispositivo
DEVICE_VOIDEDDispositivo violado, sensor de luz ativado ou movimento detectado
DEVICE_VIOLATED_ENERGYDispositivo violado, leituras de voltagem da bateria do veículo ou dispositivo alteradas
ENGINE_ONIgnição ligada
ENGINE_OFFIgnição desligada
SOFT_ACCELERATIONAceleração leve
HARD_ACCELERATIONAceleração brusca
SOFT_BREAKFrenagem leve
HARD_BREAKFrenagem brusca
SOFT_TURNCurva leve
HARD_TURNCurva brusca
TOKEN_EXPIREDToken do motorista expirado
TRIP_STARTInício da rota
TRIP_ENDFim da rota

Exemplo de Payload

json
{
  "device": {
  "id": "AABBBBBBCCCCCCD",
  "status": "OPERATIONAL",
  "gsm_signal": -72,
  "gps_satellites": 8
  },
  "vehicle": {
  "vin": "4Y1SL65848Z411430",
  "license_plate": "ZRV2A23",
  "behavior": "ENGINE_ON",
  "engine_status": "ON",
  "speed": 12,
  "odometer": 124,
  "battery": {
    "system": 12.707,
    "device": 4.166,
    "device_percentage": 100
  },
  "location": {
    "elevation": 143,
    "heading": 24,
    "location": [-27.607124, -48.5752832]
  }
  },
  "received_at": "2023-01-02T12:23:02Z",
  "created_at": "2023-01-02T12:23:02Z"
}

Informações importantes sobre datas

As datas no payload estão no formato UTC ISO. O formato da data é YYYY-MM-DDTHH:mm:ssZ, onde T separa a data e a hora, e Z indica que o horário está em UTC.

Respostas para requisições bem-sucedidas

Código de status: 202

json
{
  "status": "success",
  "stage": "prod"
}

Respostas para requisições não bem-sucedidas

Código de status: 400

ex.

json
{
  "contract": "gps",
  "validations": [
  {
    "instancePath": "/vehicle",
    "schemaPath": "#/properties/vehicle/required",
    "keyword": "required",
    "params": {
    "missingProperty": "X"
    },
    "message": "deve ter a propriedade obrigatória X"
  }
  ]
}