Engenharia · APIs & Integrações

APIs e integrações que aguentam produção — contrato, não endpoint.

REST com OpenAPI versionado, webhooks assinados com HMAC, idempotência em escrita, sandbox isolado e observabilidade full-stack. Integrações com TOTVS, HubSpot, Salesforce, Stripe e sistemas legados.

Padrões de engenharia

REST
OpenAPI 3.1 com sandbox e SDK gerado
Webhook
Assinado (HMAC), com replay e retry idempotente
SLO
Latência p95 e disponibilidade monitoradas
SemVer
Versionamento com deprecação controlada
Por que sob medida

Cada sistema isolado é meia arquitetura. Quando ERP não conversa com CRM, quando marketplace não sincroniza estoque, quando pagamento não atualiza pedido, o trabalho manual reaparece disfarçado de conciliação. Integração real é o que faz o stack existir como um só.

Problemas que resolvemos

Sintomas recorrentes que aparecem quando a operação cresce mais rápido que o software que a sustenta.

Sistemas que não conversam — dado duplicado em cada lugar
Integração manual por CSV exportado toda semana
Retry de pagamento duplicando cobrança
Webhook do parceiro que sumiu sem aviso
Chave de API estática compartilhada por Slack
Sem sandbox — todo teste é feito em produção

Para quem é

Perfis operacionais onde este tipo de projeto costuma gerar impacto direto no processo.

Empresas com sistemas isolados

ERP, CRM, e-commerce, financeiro e marketing que não conversam — dado duplicado e sync manual.

Produtos que dependem de terceiros críticos

Integração com Stripe, TOTVS, HubSpot, Salesforce, Meta, Google Ads — onde falha vira perda de receita.

Times de dado com fontes heterogêneas

ETL/ELT entre bancos, planilhas, APIs e arquivos para consolidar dado no warehouse.

Operações com legado que ninguém quer tocar

Sistema em Delphi/Access/COBOL que precisa expor dado sem reescrever tudo.

Marketplaces e plataformas de dois lados

Integrar catálogo, estoque, pedido e financeiro de vendedores externos com processo próprio.

Por que sistemas prontos falham

O comparativo abaixo mostra onde plataformas genéricas quebram e onde a Tavares Design entrega diferente.

Contrato de API
Documento em Word desatualizado
OpenAPI/AsyncAPI versionado, com sandbox
Autenticação
Chave estática compartilhada
OAuth 2.0, JWT com rotação, HMAC em webhook
Idempotência
Retry duplica pedido
Chave de idempotência em toda escrita crítica
Observabilidade
Log em arquivo, ninguém olha
Tracing distribuído, métricas e alerta ativo
Deprecação
Quebra o cliente sem aviso
Versão paralela, aviso e sunset controlado
Ambiente de teste
Só produção, todo teste é risco
Sandbox isolado com dado fake e reset diário

Módulos típicos deste tipo de projeto

Escopo variável, mas o núcleo abaixo aparece na maioria das entregas.

Design de contrato

OpenAPI 3.1 versionado, com schema de request/response validado por CI e SDK gerado automaticamente.

Autenticação e autorização

OAuth 2.0, JWT com rotação, HMAC em webhook e escopo por client — nada de chave estática compartilhada.

Idempotência em escrita crítica

Chave de idempotência em endpoints de escrita, retry sem duplicar pedido, cobrança ou envio.

Webhooks assinados com HMAC

Entrega com retry exponencial, replay em caso de falha e dead-letter para investigação.

Sandbox isolado

Ambiente com dado fake resetado diariamente para integradores testarem sem tocar em produção.

Observabilidade full-stack

Tracing distribuído, métrica p95/p99, taxa de erro e alerta ativo sobre golden signals.

Adapter para terceiros

Camada de proteção sobre parceiro externo, com circuit breaker, timeout curto e log completo.

Wrapper de legado

Sistema em Delphi, Access ou COBOL exposto via REST sem reescrever a aplicação original.

ETL/ELT para volume

Airbyte, Airflow ou pipeline custom quando integração é dado em massa, não requisição síncrona.

Ensaio técnico

Como pensamos APIs que aguentam produção

API não é endpoint — é contrato. Toda vez que um sistema depende de outro, a fronteira entre eles é a superfície mais crítica da arquitetura. Se a API muda sem aviso, quem consome quebra em produção; se o contrato é ambíguo, cada integrador implementa diferente; se não tem sandbox, todo teste é feito em produção. Custo de manutenção explode.

Nossa abordagem trata API como produto interno: contrato em OpenAPI 3.1 versionado, sandbox isolado com dado fake, SDK gerado automaticamente, log estruturado por chamada, alerta ativo sobre latência e taxa de erro. Consumidor interno ou externo entra confiando — e continua confiando após a próxima release.

Idempotência em toda escrita crítica

Toda requisição de escrita aceita chave de idempotência. Retry por falha de rede não duplica pedido, cobrança ou envio. Sem isso, integração não é confiável.

Webhooks como contrato bidirecional

Webhook é uma API reversa. Assinamos com HMAC, replayamos em caso de falha, entregamos com retry exponencial e log de tentativa. Consumidor tem sandbox para receber e testar.

Ensaio técnico

Integração com terceiros e sistemas legados

A parte visível da integração é a documentação do parceiro. A parte invisível é o que quebra: rate limit não documentado, campo que sumiu sem aviso, endpoint que retorna 200 com erro no body, autenticação que expira em janela sem refresh. Trabalhar com terceiro exige camada de proteção — não confiança cega.

Nossa arquitetura padrão para integração com terceiro passa por adapter isolado (nunca chama direto da app), fila com retry e dead-letter, timeout curto, circuit breaker e log completo da chamada. Se o parceiro cai, a operação degrada com dignidade — não trava.

Legado sem reescrita

Sistemas em Delphi, Access, PHP legado e COBOL viram API via wrapper — banco lido diretamente ou via arquivo, exposto por REST versionado. Modernização sem reescrever tudo.

ETL/ELT quando o volume pede

Quando integração é dado em massa, saímos de API síncrona para pipeline batch (Airbyte, Airflow, DBT). Modelagem no warehouse fica separada da app operacional.

Stack tipicamente utilizada
  • Node.js
  • TypeScript
  • OpenAPI 3.1
  • PostgreSQL
  • Redis
  • BullMQ
  • Playwright
  • Airbyte
  • Prometheus
  • OpenTelemetry

Integrações comuns

  • TOTVS Protheus e RM
  • SAP (BAPI, OData, REST)
  • HubSpot e Salesforce
  • Pipedrive e RD Station
  • Stripe / Pagar.me / Mercado Pago
  • Meta Ads e Google Ads
  • Correios e Melhor Envio
  • NFe / NFSe / NFCe
  • Bancos e PIX (Sicoob, Itaú, Bradesco)
  • Marketplaces (Mercado Livre, Amazon, Shopee)

Como um projeto acontece

01

Diagnóstico

Sistemas envolvidos, contratos existentes, volume, latência e criticidade.

02

Arquitetura

Design da API (REST/GraphQL/gRPC), autenticação, versionamento e observabilidade.

03

Desenvolvimento

Implementação com sandbox, SDK gerado, testes de contrato e integração.

04

Implantação

Deploy com feature flag, monitoração ativa e rollout controlado por consumidor.

05

Evolução contínua

Novas versões com deprecação controlada, otimização de performance e novos endpoints por demanda.

Cases relacionados

Projetos que a Tavares Design entregou dentro dessa mesma linha de trabalho.

Integração · ERP

Integração TOTVS ↔ e-commerce

Sync de produto, estoque, pedido e cliente entre ERP TOTVS e loja Shopify em tempo real.

API · Marketplace

API pública de marketplace

API REST versionada para parceiros consumirem catálogo, pedido e webhook de status.

Integração · Legado

Wrapper de legado em Access

Sistema em Access exposto por API REST via wrapper, sem reescrever o legado.

Diferenciais Tavares Design

Como entregamos software de nível enterprise sem virar refém de plataforma fechada.

Contrato OpenAPI versionado — SDK gerado automaticamente
Arquitetura escalável (adapter, fila, circuit breaker)
Performance medida com p95/p99 e SLO documentado
Segurança: OAuth 2.0, JWT com rotação, HMAC em webhook
APIs abertas — sem lock-in em plataforma proprietária
Suporte multi-tenant no design da API
Documentação SEO-friendly com Swagger/Redoc indexável
UX de developer (DX) tratada como produto
LGPD compatível — mascaramento de PII no log
Sustentação com SLA e deprecação controlada

Perguntas frequentes

Qual padrão de API vocês usam?+

REST com OpenAPI 3.1 como padrão. GraphQL quando o consumidor precisa flexibilidade (múltiplos apps, granularidade fina). gRPC para comunicação entre serviços internos com alto volume. Webhooks para eventos assíncronos com HMAC e replay.

Como funciona a idempotência?+

Toda requisição de escrita crítica aceita chave de idempotência (header Idempotency-Key). Retry por falha de rede ou timeout não duplica pedido, cobrança ou envio. Sem isso, integração não é confiável em produção.

Vocês integram com sistema legado sem API?+

Sim. Wrapper sobre banco (leitura direta em Access, Delphi, SQL Server), scraping estruturado com Playwright quando não há alternativa, ou serviço intermediário que expõe REST. Modernização sem reescrever o legado.

E se o parceiro terceiro tem rate limit ou instabilidade?+

Arquitetura padrão inclui adapter isolado (nunca chamado direto da app), fila com retry exponencial e dead-letter, timeout curto, circuit breaker e log completo. Se o parceiro cai, a operação degrada com dignidade — não trava.

Vocês entregam SDK ou documentação?+

Ambos. OpenAPI gera SDK automaticamente para principais linguagens (TypeScript, Python, PHP). Documentação interativa (Swagger UI ou Redoc) com sandbox isolado e dado fake resetado diariamente.

Como funciona o versionamento?+

SemVer. Breaking change abre versão nova (v1, v2), versão anterior fica ativa em paralelo com aviso de deprecação e sunset em prazo definido. Consumidor tem tempo de migrar sem quebrar em produção.

Do CSV manual à integração real, em semanas.

Mapeamos seus sistemas, sua superfície de integração e desenhamos a arquitetura de APIs que substitui o sync manual. Diagnóstico técnico gratuito em 5 dias úteis.