Ir para o conteúdo principal
SyncVeloSyncVelo

Developer Ecosystem

Construa o futuro da mobilidade com a SyncVelo

Interfaces abertas, seguras e versionadas para dispositivos, posições, viagens, alertas, relatórios e motoristas da sua frota, com webhooks assinados, um SDK TypeScript e um sandbox.

  • REST e OpenAPI
  • Webhooks assinados
  • SDK TypeScript
  • Sandbox de veículos simulados
api.syncvelo.com
1const api = 'https://api.syncvelo.com';2const { SYNCVELO_CLIENT_ID: id, SYNCVELO_CLIENT_SECRET: secret, SYNCVELO_ORG: org } = process.env;3 4const { access_token } = await fetch(`${api}/oauth/token`, {5  method: 'POST',6  headers: { Authorization: `Basic ${btoa(`${id}:${secret}`)}` },7  body: new URLSearchParams({ grant_type: 'client_credentials' }),8}).then((r) => r.json());9 10// Cursor pagination: follow next_cursor until it is null11let cursor: string | null = null;12do {13  const url = new URL(`${api}/v1/tenants/${org}/devices?limit=100`);14  if (cursor) url.searchParams.set('cursor', cursor);15  const page = await fetch(url, { headers: { Authorization: `Bearer ${access_token}` } }).then((r) => r.json());16  for (const d of page.items) console.log(d.id, d.status, d.latitude, d.longitude, d.speed_kph);17  cursor = page.next_cursor;18} while (cursor);

Interfaces

Todas as formas de conexão, com controles integrados

Cada interface é projetada com autorização, multi-tenancy e auditabilidade desde o primeiro dia.

  • REST público e OpenAPI

    Dispositivos, posições, viagens, cercas virtuais, regras, alertas, relatórios e motoristas, com paginação por cursor e versões explícitas.

    Controles: Credenciais de cliente OAuth2, escopos, limites de taxa e cotas diárias.

  • Webhooks de eventos

    Alertas, entradas e saídas de cercas virtuais e viagens concluídas, assinados, reenviados com espera progressiva e reenviáveis.

    Controles: Rotação de segredos sem perder eventos; uma organização por cliente.

  • SDK TypeScript

    Um cliente tipado gerado a partir do documento OpenAPI; segue os cursores e só repete quando é seguro.

    Controles: Versionamento semântico e testes de compatibilidade.

  • Sandbox

    Uma organização à parte com veículos simulados, viagens de exemplo e webhooks de teste, reiniciada quando você quiser.

    Controles: Isolada na raiz: sem organização-mãe e sem acesso a dados reais.

  • Página de desenvolvedores no console

    Clientes de API, escopos e endpoints de webhooks, gerenciados pelo dono da organização, com a referência da API.

    Controles: Os segredos aparecem uma vez e são guardados só como impressões digitais.

  • Encaminhamento e MQTT

    Encaminhamento para outras plataformas e servidores do governo, e MQTT para integradores. Planejado (X5).

    Controles: Não disponível hoje.

REST e OpenAPI

APIs previsíveis que respeitam os seus tenants

Endpoints orientados a recursos, com paginação por cursor, filtros, chaves de idempotência e versões explícitas. Cada requisição carrega a política completa do tenant.

  • Credenciais de cliente OAuth2 com escopos granulares
  • IDs canônicos da SyncVelo, nunca chaves internas do motor
  • Chaves de idempotência e novas tentativas seguras em gravações
  • Limites de taxa e cotas diárias por cliente
devices.list
1const api = 'https://api.syncvelo.com';2const { SYNCVELO_CLIENT_ID: id, SYNCVELO_CLIENT_SECRET: secret, SYNCVELO_ORG: org } = process.env;3 4const { access_token } = await fetch(`${api}/oauth/token`, {5  method: 'POST',6  headers: { Authorization: `Basic ${btoa(`${id}:${secret}`)}` },7  body: new URLSearchParams({ grant_type: 'client_credentials' }),8}).then((r) => r.json());9 10// Cursor pagination: follow next_cursor until it is null11let cursor: string | null = null;12do {13  const url = new URL(`${api}/v1/tenants/${org}/devices?limit=100`);14  if (cursor) url.searchParams.set('cursor', cursor);15  const page = await fetch(url, { headers: { Authorization: `Bearer ${access_token}` } }).then((r) => r.json());16  for (const d of page.items) console.log(d.id, d.status, d.latitude, d.longitude, d.speed_kph);17  cursor = page.next_cursor;18} while (cursor);

Webhooks

Eventos em tempo real, entregues com confiabilidade

Assine alertas (abertos, encerrados, reconhecidos, fechados), entradas e saídas de cercas virtuais e viagens concluídas. Cada entrega é assinada, repetida com espera progressiva e pode ser reenviada por 30 dias.

  • Payloads assinados com HMAC e tolerância de timestamp
  • Novas tentativas automáticas, fila de dead-letter e replay
  • Um catálogo de eventos versionado no documento OpenAPI
  • Logs de entrega no console e pela API
webhooks
1POST /your/webhook2webhook-id: 6f0c2d2e-1b55-8a4e-9c3f-8f9a2b7d1e403webhook-timestamp: 17923164674webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4=5 6{7  "id": "6f0c2d2e-1b55-8a4e-9c3f-8f9a2b7d1e40",8  "type": "geofence.exited",9  "schema_version": "1.0",10  "organization_id": "1f7c…",11  "occurred_at": "2026-10-19T09:41:07.000Z",12  "created_at": "2026-10-19T09:41:08.214Z",13  "data": { "device_id": "8d2a…", "geofence_id": "c41e…" }14}

SDK

Um cliente TypeScript tipado, e REST simples para todo o resto

O SDK TypeScript é gerado a partir do documento OpenAPI e compartilhado com o acesso ao sandbox; ainda não está em um registro público. Outras linguagens chamam a API REST diretamente.

  • TypeScript

    Para servidores: Node.js 20+, Deno, Bun e runtimes de edge. Métodos tipados, cursores seguidos, novas tentativas seguras e verificação de webhooks.

    import { SyncVelo } from '@syncvelo/sdk'
  • Qualquer outra linguagem

    Python, Java, Go ou o que falar HTTPS: use a API REST e o documento OpenAPI, como nos exemplos acima.

    GET https://api.syncvelo.com/openapi.json

Ciclo de vida da integração

Da primeira chave de API à produção, com governança de ponta a ponta

  1. 01

    Registrar

    Um dono cria um cliente de API na página de desenvolvedores do console, só com os escopos de que ele precisa.

  2. 02

    Autorizar

    O cliente troca seu ID e segredo por um token de acesso de curta duração (credenciais de cliente OAuth2).

  3. 03

    Assinar

    Registre endpoints de webhooks, envie eventos de teste e experimente tudo antes no sandbox.

  4. 04

    Operar

    Cotas, idempotência, novas tentativas e política completa do tenant em cada requisição.

  5. 05

    Observar

    Logs de entrega, reenvio de entregas com falha, rotação e revogação de segredos.

Sandbox para desenvolvedores

Comece a desenvolver hoje

Receba um tenant sandbox com dispositivos simulados, viagens de exemplo e webhooks de teste. No momento, o acesso para desenvolvedores está disponível para parceiros piloto e integradores.

Os exemplos de código nesta página são ilustrativos. A referência completa da API é compartilhada junto com o acesso ao sandbox.

Comece agora

Pronto para mover o seu mundo de forma mais inteligente?

Veja como a SyncVelo pode impulsionar sua frota, seu negócio como parceiro ou sua próxima integração. Apresentação personalizada, dispositivos reais, o seu caso de uso.