Ir para o conteúdo
Produto · 6 min de leitura

WITHMIA v1.0.5 — Segurança, qualidade e faturamento

Rate limiting em toda a API, pipeline de CI/CD com GitHub Actions, suíte de testes automatizados, sistema de indicações completo e geração de faturas em PDF com a identidade da WITHMIA.

E

Equipe WITHMIA

WITHMIA

Nota (julho de 2026): os planos Business e Enterprise hoje se chamam Team e Max. Os preços continuam os mesmos.

A v1.0.4 construiu o modelo financeiro sustentável. A v1.0.5 reforça os alicerces: proteção da API, qualidade de código automatizada e faturamento profissional. Esta atualização transforma a WITHMIA em uma plataforma pronta para escalar com confiança.

Rate limiting: proteção em cada rota

Todas as rotas da API agora estão protegidas com rate limiting granular. Seis limitadores diferentes, conforme o tipo de operação:

LimitadorRotas protegidasLimite
apiPerfil, tickets, canais, base de conhecimento, configurações60 req/min
chatwoot-proxyProxy de conversas e mensagens em tempo real120 req/min
evolutionInstâncias do WhatsApp (Evolution API)60 req/min
integrationsCalendário, produtos, vendas, integrações externas60 req/min
billingAssinaturas, checkout, excedente, faturas20 req/min
adminPainel de administração30 req/min

Por que isso importa?

Sem rate limiting, um único ator mal-intencionado (ou um bug em um cliente) pode saturar toda a API. Com essa proteção:

  • Prevenção de abuso — bots e scrapers não conseguem bombardear os endpoints
  • Estabilidade sob carga — a API responde de forma previsível mesmo com picos de tráfego
  • Proteção financeira — o endpoint de billing tem guarda extra, em 20 req/min
  • Chatwoot otimizado — o proxy de chat tem o limite mais alto (120 req/min) porque é tempo real

Cada limitador é aplicado por usuário autenticado ou por IP no caso de requisições públicas. As respostas incluem os headers padrão X-RateLimit-Limit, X-RateLimit-Remaining e Retry-After.

CI/CD: deploy automatizado com GitHub Actions

A WITHMIA agora tem um pipeline completo de integração e entrega contínua. Cada push na main dispara automaticamente:

Backend (PHP)

  • PostgreSQL 16 + Redis 7 como serviços no pipeline
  • Instalação de dependências com Composer
  • Execução de toda a suíte de testes com Pest
  • Variáveis de ambiente de teste isoladas

Frontend (TypeScript/React)

  • Instalação de dependências com npm
  • ESLint — validação de estilo e erros
  • TypeScript — verificação de tipos em todo o projeto
  • Build — compilação completa para garantir que tudo resolve

Deploy

  • Deploy automático para o Railway, apenas a partir da branch main
  • Protegido com o segredo RAILWAY_TOKEN
  • Só roda se os testes e o build passarem

Se um teste falha ou o TypeScript encontra um erro de tipos, o deploy é bloqueado automaticamente. Zero chance de subir código quebrado para produção.

Testes automatizados com Pest

A primeira suíte de testes automatizados da WITHMIA, cobrindo as partes mais críticas do negócio:

Testes unitários

  • CurrencyService — detecção de moeda por país, roteamento de gateway (Flow para CLP, dLocal para o resto), preço local correto
  • BillingConfig — estrutura dos planos (Free, Pro, Business, Enterprise), preço do excedente, configuração de Flow e dLocal, validação do desconto anual
  • OverageService — preço por pacote, cálculo de custos conforme a quantidade de mensagens excedidas

Testes de feature

  • Endpoints da API — health check, guards de autenticação, throttling funcionando, tratamento de 404
  • Models — criação de User, Company e Subscription com factory patterns

Cada teste roda em um banco PostgreSQL limpo graças ao RefreshDatabase, garantindo que as provas sejam independentes e reproduzíveis.

Sistema de indicações completo

O sistema de indicações sai de um stub vazio para uma implementação completa:

Como funciona?

  1. Sua empresa gera um código — no formato WM-XXXXXX (6 caracteres alfanuméricos)
  2. Você compartilha o código com outra empresa
  3. A outra empresa aplica o código ao assinar e ganha 10% de desconto por 3 meses
  4. Você acumula indicações — o sistema registra quantas vezes seu código foi usado

Regras de negócio

  • Você não pode usar o próprio código (prevenção de autoindicação)
  • Um código não pode ser aplicado duas vezes pela mesma empresa
  • O desconto é configurável: porcentagem, quantidade de meses, máximo de usos
  • Os códigos podem ter data de expiração
  • Só empresas com plano ativo podem gerar códigos

Novos endpoints

  • GET /api/subscription/referral-code — obter ou gerar o código da sua empresa
  • POST /api/subscription/apply-referral — aplicar um código de indicação (já existia como stub, agora é funcional)

Faturas em PDF com cara de gente grande

Novo sistema de geração de faturas com a identidade da WITHMIA:

Modelo Invoice

  • Numeração automática — formato WM-YYYY-XXXXX (ex.: WM-2026-00001)
  • Cálculo de imposto — 19% automático para pagamentos em CLP
  • Itens detalhados — descrição, plano, ciclo de faturamento
  • Relações — vinculada a Company e Subscription

Geração automática de faturas

As faturas são criadas automaticamente quando um pagamento é confirmado, sem intervenção do usuário:

  • Flow.cl — ao confirmar o pagamento no webhook (status === 2)
  • dLocal — ao confirmar o pagamento no webhook do dLocal
  • Flow Subscription — a cada renovação recorrente (marcando se é a primeira fatura ou uma renovação)

Cada fatura registra o meio de pagamento, a referência da transação, o valor, a moeda e o detalhamento dos impostos.

Download em PDF

O serviço InvoiceService gera um documento HTML caprichado com:

  • Logo e identidade WITHMIA com acentos dourados (#FFD700)
  • Dados da empresa emissora e da destinatária
  • Tabela de itens com subtotal, imposto e total
  • Informações do pagamento: meio, referência, data
  • Design responsivo, otimizado para impressão

Se o dompdf estiver instalado, gera um PDF de verdade. Se não, entrega uma versão HTML pronta para impressão, com window.print() integrado.

Novos endpoints

  • GET /api/subscription/invoices — lista das últimas 50 faturas da empresa
  • GET /api/subscription/invoices/{id}/pdf — baixar a fatura como PDF/HTML

Resumo técnico

MudançaArquivosImpacto
Rate limitingAppServiceProvider + routes/api.php6 limitadores, 18+ grupos de rotas
CI/CD.github/workflows/ci.yml + .env.ci3 jobs (backend, frontend, deploy)
Testes5 arquivos em tests/23+ casos de teste (unit + feature)
Indicações2 models + migração + controllerSistema completo
FaturasModel Invoice + InvoiceService + migraçãoCriação automática nos webhooks

O que vem por aí

Com a infraestrutura de qualidade garantida, o roadmap do Q2 2026 se concentra em recursos de alto impacto:

  • PWA / app móvel — a prioridade para uma América Latina mobile-first
  • Pesquisas CSAT — recurso que todos os concorrentes já têm
  • AI resolution analytics — métricas de resolução por IA
  • Broadcasting no WhatsApp — campanhas em massa

A WITHMIA v1.0.5 não é a atualização mais chamativa — mas é a que deixa você dormir tranquilo. Código testado, API protegida, faturas automáticas.

Abrir a WITHMIA → Experimente grátis em app.withmia.com →

Etiquetas

atualização v1.0.5 produto segurança testes CI/CD indicações faturamento PDF

Compartilhar

Comentários

Seja respeitoso. Seu e-mail não será publicado.

Artigos relacionados

Quer colocar isso para funcionar no seu negócio?

Teste grátis por 14 dias. Sem cartão de crédito.

Testar grátis por 14 dias