Para operadoras de seguros

Transporte cooperativo organizado, rastreável e com histórico

A RotaCerta Brasil nasceu dentro do cooperativismo de transporte: o condutor é verificado, o veículo é cadastrado e cada viagem deixa registro. Não somos corretora e não entramos no contrato — abrimos a porta para que a seguradora negocie diretamente com cooperativas, frotistas e motoristas autônomos.

A filosofia da plataforma

Condutor verificado

Biometria facial, checagem de idoneidade e habilitação conferida antes de qualquer viagem. Ninguém opera fora desse crivo.

Veículo identificado

Placa única por itinerário, com bloqueio automático de duplicidade de horário e vínculo obrigatório a uma cooperativa parceira.

Viagem rastreada

Origem, paradas, destino e posições registradas. Cada chamado de pane nasce com local, horário e contexto da viagem.

Prestação de contas aberta

Repasses, taxas, faturas e notas fiscais registrados e auditáveis pela cooperativa e pelo condutor.

Por que isso interessa à seguradora

  • Risco selecionado: frota conhecida, motorista identificado e histórico de operação.
  • Sinistro com contexto: viagem, GPS, tipo de pane e providências registradas.
  • Volume agregado por cooperativa e por frota, em vez de venda pulverizada.
  • Canal de distribuição sem custo de aquisição e sem intermediação financeira.

Três formatos de parceria

  • Cooperativa — apólice coletiva para os associados
  • Frotista — apólice de frota
  • Motorista autônomo — apólice individual

O RotaCerta Brasil não é corretora de seguros e não participa do contrato. A apólice é firmada diretamente entre você e a seguradora parceira, sem custo ou intermediação financeira da plataforma.

Quero propor uma parceria

A proposta é analisada pela administração e, aprovada, passa a ser exibida na área de Assistência para as cooperativas, frotistas e motoristas do perfil e das UFs indicadas — que falam com você diretamente.

Públicos atendidos

Integração por API

A seguradora pode enviar e acompanhar propostas direto do próprio sistema e receber avisos automáticos a cada mudança. Peça a credencial pelo formulário acima informando, nas condições, o endereço do seu webhook.

Endpoints

  • POST /api/public/seguradoras/propostas — envia uma proposta
  • GET /api/public/seguradoras/propostas — lista as suas propostas
  • GET /api/public/seguradoras/propostas/{id} — detalhe
  • PATCH /api/public/seguradoras/propostas/{id} — atualiza a própria oferta (volta para análise)

Exemplo de envio

curl -X POST https://rotacertabrasil.com.br/api/public/seguradoras/propostas \
  -H "Authorization: Bearer rcb_..." \
  -H "Content-Type: application/json" \
  -d '{
    "nome": "Seguradora Exemplo",
    "contato_nome": "Comercial",
    "contato_email": "comercial@exemplo.com.br",
    "publicos": ["cooperativa", "frotista", "autonomo"],
    "ufs": ["AP"],
    "coberturas": ["Assistência 24h", "Reboque"],
    "resumo": "Condições da parceria oferecida às cooperativas e motoristas."
  }'

Avisos que você recebe

Enviamos um POST ao seu webhook nos eventos proposta.recebida, proposta.aprovada, proposta.recusada, proposta.pausada e interesse.criado. O corpo é assinado com HMAC-SHA256 no cabeçalho x-rotacerta-assinatura, usando o segredo entregue junto com a credencial — confira a assinatura antes de processar. Falhas são reenviadas automaticamente por algumas horas.

Os avisos nunca contêm dados de passageiros, motoristas ou corridas: apenas a sua proposta e o contato comercial de quem manifestou interesse.

Formato do corpo recebido

POST https://seu-sistema.com.br/rotacerta
x-rotacerta-assinatura: <hmac-sha256 do corpo, em hexadecimal>
x-rotacerta-timestamp: 1756400000000
content-type: application/json

{
  "evento": "proposta.aprovada",
  "enviado_em": "2026-08-28T20:00:00.000Z",
  "dados": {
    "proposta_id": "0b1e...",
    "nome": "Seguradora Exemplo",
    "situacao": "aprovada"
  }
}

Como conferir a assinatura

Calcule o HMAC-SHA256 do corpo bruto (exatamente como recebido, sem reserializar o JSON) usando o segredo entregue com a credencial e compare, em tempo constante, com o cabeçalho x-rotacerta-assinatura. Recuse eventos com assinatura diferente ou com x-rotacerta-timestamp muito antigo (sugerimos 5 minutos de tolerância). Responda 2xx: qualquer outra resposta é tratada como falha e reenviada automaticamente até 5 vezes, com intervalos crescentes.

// Node.js
import { createHmac, timingSafeEqual } from "node:crypto";

app.post("/rotacerta", express.raw({ type: "application/json" }), (req, res) => {
  const esperado = createHmac("sha256", process.env.ROTACERTA_SEGREDO)
    .update(req.body)          // Buffer com o corpo bruto
    .digest("hex");
  const recebido = req.header("x-rotacerta-assinatura") ?? "";
  const ok =
    recebido.length === esperado.length &&
    timingSafeEqual(Buffer.from(recebido), Buffer.from(esperado));
  if (!ok) return res.status(401).end();

  const evento = JSON.parse(req.body.toString());
  // processe evento.evento / evento.dados (idempotente: o mesmo evento pode chegar de novo)
  res.status(200).json({ recebido: true });
});

Testar a integração

Depois de publicar o seu endpoint, dispare um evento webhook.teste com a sua própria credencial. A resposta informa se a entrega foi confirmada, o código HTTP devolvido e o corpo exato que enviamos — ideal para validar a assinatura antes de entrar em produção.

curl -X POST https://rotacertabrasil.com.br/api/public/seguradoras/webhook-teste \
  -H "Authorization: Bearer rcb_..."

{
  "envio_id": "6d0a...",
  "entregue": true,
  "status": "entregue",
  "http_status": 200,
  "tentativas": 1,
  "webhook_url": "https://seu-sistema.com.br/rotacerta",
  "payload_enviado": { "evento": "webhook.teste", "enviado_em": "...", "dados": { } }
}