Pular para o conteúdo principal
Módulos

Viagens

Uma viagem vincula um condutor a um veículo durante um intervalo de datas. A partir desse vínculo, todas as multas e notificações do veículo no período — e que ainda não têm condutor indicado — são associadas automaticamente ao condutor da viagem.

É a forma mais eficiente de responsabilizar condutores: em vez de indicar cada infração manualmente, você registra a jornada e a plataforma cuida do resto.

3 min de leituraVale para v1

O que dá para fazer

AçãoEndpointQuando usar
Criar viagemPOST /key/tripsRegistrar uma jornada com condutor e veículo
Listar viagensGET /key/tripsSincronizar ou consultar viagens existentes
Buscar por IDGET /key/trips/{id}Consultar uma viagem específica
Atualizar viagemPUT /key/trips/{id}Fechar uma viagem aberta ou ajustar dados
Excluir viagemDELETE /key/trips/{id}Remover o vínculo e desvincular infrações
Antes de começar

Todas as chamadas usam os três headers de autenticação: Authorization, Key e cache-control. Ainda não tem as credenciais? Veja os Primeiros passos.


Como funciona

Quando você cria uma viagem:

  1. O sistema busca todas as multas e notificações do veículo no intervalo startDateendDate
  2. As que ainda não têm condutor indicado são vinculadas ao condutor da viagem
  3. Se endDate não for definido, o vínculo permanece ativo para eventos futuros
Regras importantes
  • O veículo principal (vehicleId) não pode ter o campo type (tipo de veículo) igual a REBOQUE ou SEMIRREBOQUE
  • Veículos adicionais com type REBOQUE ou SEMIRREBOQUE só são permitidos se o veículo principal for CAMINHÃO ou TRATOR
  • É possível vincular até 3 veículos adicionais por viagem
  • Se houver duas viagens para o mesmo dia e a multa não tiver hora definida, será vinculada à primeira viagem criada

Criar viagem

POST/key/trips

Registra o vínculo entre um condutor e um veículo em um intervalo de datas. Apenas vehicleId, driverId e startDate são obrigatórios.

Quanto mais campos enviar, mais rico fica o histórico da jornada: quilometragem, observações, descrição e metadados customizados ajudam a rastrear cada viagem no seu sistema.

curl -X POST \
https://apidev.v1.frota162.com.br/key/trips \
-H 'Authorization: Basic SEU_ACCESS_TOKEN' \
-H 'Key: SUA_ASSINATURA_HMAC' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"vehicleId": "123456",
"driverId": "15",
"startDate": "2024-08-01T13:20:07.046Z",
"endDate": "2024-08-02T13:20:07.046Z"
}'

Campos

CampoTipoObrigatórioDescrição
vehicleIdstringSimID do veículo principal
driverIdstringSimID do condutor
startDatestring (ISO 8601)SimData/hora de início
endDatestring (ISO 8601)NãoData/hora de fim (omitir para viagem sem fim)
kmStartstringNãoQuilometragem inicial
kmEndstringNãoQuilometragem final
notesstringNãoObservações da viagem
descriptionstringNãoDescrição geral
metadataarrayNãoCampos customizados [{ key, value }]
additionalVehicleIdsarrayNãoIDs de até 3 veículos adicionais

Exemplo com todos os campos

{
"vehicleId": "123456",
"driverId": "654321",
"startDate": "2024-08-01T13:20:07.046Z",
"endDate": "2024-08-02T13:20:07.046Z",
"kmStart": "1055",
"kmEnd": "2600",
"notes": "Pneu furou no km 200",
"description": "Entrega São Paulo → Campinas",
"metadata": [
{ "key": "internalTripId", "value": "TRIP-2024-001" }
],
"additionalVehicleIds": ["789012", "345678"]
}

Resposta

{
"message": { "id": "7434" },
"error": false,
"code": "fbk_200"
}

Viagem sem data de fim

Omita endDate para criar uma viagem aberta. O condutor continuará sendo vinculado a novas multas e notificações do veículo até que endDate seja definido via atualização.

{
"vehicleId": "123456",
"driverId": "15",
"startDate": "2024-08-01T00:00:00.000Z"
}

Listar viagens

GET/key/trips

Retorna as viagens da conta em páginas. É o endpoint de sincronização: use na primeira carga e nas conferências periódicas para manter sua base alinhada com a da Frota162.

curl -X GET \
'https://apidev.v1.frota162.com.br/key/trips?pagination[page]=1&pagination[perpage]=10' \
-H 'Authorization: Basic SEU_ACCESS_TOKEN' \
-H 'Key: SUA_ASSINATURA_HMAC' \
-H 'cache-control: no-cache'

Resposta

{
"message": {
"pagination": {
"currentPage": 1,
"pageSize": 10,
"totalItems": 2,
"totalPages": 1
},
"data": [
{
"id": "7434",
"accountId": "24",
"driverId": "15",
"vehicleId": "123456",
"startDate": "2024-08-01T13:20:07.000Z",
"endDate": "2024-08-02T13:20:07.000Z",
"kmStart": "1055",
"kmEnd": "2600",
"notes": "Observações",
"description": "Descrição",
"metadata": [{ "key": "internalTripId", "value": "TRIP-2024-001" }],
"additionalVehicleIds": ["789012"],
"createdAt": "2024-08-02T09:29:08.000Z"
}
]
},
"error": false,
"code": "fbk_200"
}
Guarde o id

O id de cada item é a chave que os demais endpoints usam. Guarde-o no seu sistema. Para percorrer as demais páginas, veja Paginação.


Buscar viagem por ID

GET/key/trips/{id}

Use quando você já tem o id e não quer listar todas as viagens.

Retorna o estado atual de uma única viagem.

curl -X GET \
https://apidev.v1.frota162.com.br/key/trips/7434 \
-H 'Authorization: Basic SEU_ACCESS_TOKEN' \
-H 'Key: SUA_ASSINATURA_HMAC' \
-H 'cache-control: no-cache'

Resposta

{
"message": {
"id": "7434",
"accountId": "24",
"driverId": "15",
"vehicleId": "123456",
"startDate": "2024-08-01T13:20:07.000Z",
"endDate": "2024-08-02T13:20:07.000Z",
"kmStart": "1055",
"kmEnd": "2600",
"notes": "Observações",
"description": "Descrição",
"metadata": [{ "key": "internalTripId", "value": "TRIP-2024-001" }],
"additionalVehicleIds": ["789012"],
"createdAt": "2024-08-02T09:29:08.000Z"
},
"error": false,
"code": "fbk_200"
}

Atualizar viagem

PUT/key/trips/{id}

Use para fechar uma viagem aberta (adicionar endDate), ajustar quilometragem ou atualizar o veículo.

cuidado

Não é possível alterar o condutor via atualização. Para isso, exclua a viagem e crie uma nova no mesmo intervalo.

curl -X PUT \
https://apidev.v1.frota162.com.br/key/trips/7434 \
-H 'Authorization: Basic SEU_ACCESS_TOKEN' \
-H 'Key: SUA_ASSINATURA_HMAC' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"endDate": "2024-08-03T18:00:00.000Z",
"kmEnd": "2600"
}'

Para definir endDate como null (viagem sem fim):

{ "endDate": null }

Excluir viagem

DELETE/key/trips/{id}

Ao excluir uma viagem, todas as multas e notificações dentro do intervalo são desvinculadas do condutor.

curl -X DELETE \
https://apidev.v1.frota162.com.br/key/trips/7434 \
-H 'Authorization: Basic SEU_ACCESS_TOKEN' \
-H 'Key: SUA_ASSINATURA_HMAC' \
-H 'cache-control: no-cache'

Resposta

{
"message": { "id": "7434" },
"error": false,
"code": "fbk_200"
}

Casos de uso comuns

Registrar uma entrega

{
"vehicleId": "123",
"driverId": "15",
"startDate": "2024-08-01T07:00:00.000Z",
"endDate": "2024-08-01T18:00:00.000Z",
"description": "Rota de entrega — zona leste",
"metadata": [
{ "key": "routeId", "value": "ROTA-042" },
{ "key": "orderId", "value": "PED-00123" }
]
}

Escala contínua (motorista fixo)

{
"vehicleId": "456",
"driverId": "20",
"startDate": "2024-01-01T00:00:00.000Z",
"description": "Motorista fixo — sem data de fim"
}

Para encerrar a escala futuramente, atualize adicionando endDate.


Próximos passos