Disparado quando o motorista inicia a rota no aplicativo.
Traz apenas o bloco route; route.outcome ainda não existe neste momento.
Assine o grupo
routes— plural, literalmente"routes"emevent_types. É um
grupo de composição fechada: entrega exatamenteroute_startederoute_finished,
e um tipo novo do catálogo não passa a ser entregue sem que você atualize a
assinatura.
deviceIdevehicleIdpodem não vir. O contrato os declara opcionais e eles
são omitidos doeventDataquando não há dispositivo ou veículo associado. O
envelope interno ainda carregadeviceIdcomo string vazia — é uma restrição do
nosso armazenamento, não um identificador válido. Use oeventData.
Trate o webhook como sinal, não como fonte da verdade. O evento é publicado
dentro da transação do domínio, então numa falha rara você pode receber um evento
cujo estado não persistiu. Em caso de divergência, reconcilie por
GET /public/v2/routes.
eventDataé aninhado. Um handler que espera o formato plano dos demais tipos
não encontra nenhum campo — eles vivem emeventData.route.
Entregue pela assinatura do tipo routes.
A Cobli envia este evento como POST application/json para a URL cadastrada na
assinatura, assinado em X-Cobli-Signature. Responda 2xx em até 5 segundos e
deduplique por eventId.
200Evento aceito. Responda 2xx em até 5 segundos — enfileire e processe de forma assíncrona se o seu processamento for demorado. Nenhuma retentativa é feita.
400Evento rejeitado de forma permanente — use para assinatura HMAC inválida ou payload malformado. A Cobli trata 4xx como falha definitiva e não retenta, com duas exceções: 429 (ver abaixo) e 401 em assinaturas com Bearer auth habilitado, em que a Cobli renova o token e retenta. Não devolva 4xx para um eventType que você não espera: ignore-o e responda 2xx.
500Falha temporária no seu lado. A Cobli faz até 5 tentativas no total, com backoff exponencial entre elas — 2 s → 4 s → 8 s → 15 s —, jitter de ±20 % e teto de 15 s por intervalo. O mesmo vale para timeout: sem resposta em 5 segundos.