← voltar ao portfólio

// estudo de caso

Plataforma B2B

Plataforma de pedidos para clientes de uma indústria de embalagens, ligando o catálogo digital ao ERP. O objetivo: o cliente faz o pedido sozinho, e ele chega no sistema sem ninguém redigitar.

Papel: desenvolvedor full stack Stack: Node.js · React · Tiny ERP API · Docker Status: em produção Código: 🔒 privado

O problema

Pedido B2B costuma chegar por onde der: WhatsApp, e-mail, telefone, PDF. Alguém do time interno lê, interpreta e digita no ERP. Esse passo humano é onde mora o erro — item trocado, quantidade errada, pedido que ficou esquecido numa conversa.

E não é um problema de preguiça: é de interface. Enquanto o caminho mais fácil pro cliente for mandar mensagem, ele vai mandar mensagem. A plataforma só funciona se for mais conveniente que o WhatsApp.

O que foi construído

Empacotado em Docker, como o resto do ecossistema, para que subir versão não dependa de configuração manual de servidor.

A parte difícil: integrar com sistema que você não controla

Integrar com uma API de terceiro é diferente de escrever o próprio backend. Você herda decisões que não tomou: o formato dos dados, os limites de requisição, o vocabulário do domínio, e o comportamento em caso de erro — que raramente está documentado tão bem quanto o caminho feliz.

Duas coisas que aprendi a tratar como obrigatórias:

Essa segunda lição, aliás, eu reaprendi construindo este próprio site: o formulário de contato desta página exibia "mensagem enviada com sucesso" sem enviar nada. Seis semanas. O mesmo erro, em escala menor.

O que eu precisei saber para construir isso

consumo de API REST de terceiro Autenticação, paginação, limite de requisições, e o que fazer quando a resposta não é a que a documentação prometeu.
idempotência Se a mesma chamada sair duas vezes por causa de um retry, o cliente não pode receber dois pedidos. Isso precisa ser desenhado, não torcido.
tratamento de erro como funcionalidade O caminho de falha é parte do produto, não um detalhe. Quem descobre o erro, como descobre, e o que consegue fazer a respeito.
adoção é requisito, não consequência Um sistema B2B que o cliente não usa é código morto. A conveniência percebida é tão parte da entrega quanto o backend.

Onde estou hoje

Falar sobre uma integração