Versionização de contratos

Quando a API está em desenvolvimento, é importante manter a compatibilidade entre as versões e evitar que uma única mudança rompa dezenas de integrações de clientes. Implementamos uma versão completa dos contratos que permite controlar as alterações e atualizar a API de forma suave, sem risco para os usuários.

Isso é crucial na arquitetura de microsserviço, integração B2B e produtos API abertos, onde diferentes clientes usam diferentes versões de interfaces.


O que estamos a versionizar

ObjetoDescrição
OpenAPI especificaçõesArmazenando cada versão da documentação e do contrato
Endpoint'ыAdicionando versões ao URL ('/v1/', '/v2/'), salvando backward compatibilidade
Contratos (Pact, Dredd)Fixar condições de interação entre o cliente e o servidor
Modelos de dadosControlar alterações na estrutura de consulta e resposta

Como implementamos

Suporte a várias APIs paralelas
  • Especificação explícita de versão em URL, cabeçalhos ou parâmetros
  • Autodeclaração de cada versão dos contratos (Pact, Postman, Jest, Dredd)
  • Versionização de especificações em Git ou via CI/CD
  • Documentação e changelog para clientes a cada mudança

Vantagens

Estabilidade garantida das integrações
  • Capacidade de produzir novos fichas sem risco de «quebrar» clientes
  • Simplificar migração entre versões
  • Histórico claro de mudanças e controle de contratos
  • Transparência para comandos de desenvolvimento externos e internos

Onde é particularmente importante

Arquitetura de microsserviço com múltiplas dependências
  • Plataformas com API pública ou B2B
  • Sistemas financeiros e de pagamento com contratos de longo prazo
  • Aplicativos móveis dependentes de API estável

A versionização dos contratos é uma base de previsibilidade e confiança na API. Introduzimos processos que permitem alterar e desenvolver API sem dor, mantendo compatibilidade e transparência para todas as partes.

Contactar-nos

Preencha o formulário abaixo e responderemos o mais rapidamente possível.