Consultor WordPress resolve logística em oficina mecânica na zona sul

Como um consultor WordPress automatizou a gestão de agendamentos e estoque em uma oficina mecânica na Americanópolis, eliminando planilhas manuais.

Como transformar o caos de planilhas, WhatsApp e cadernos de anotações em um fluxo digital rastreável sem contratar uma fábrica de software?

Essa era a dor real de uma oficina mecânica na Americanópolis, zona sul de São Paulo: veículos parados aguardando peças que ninguém sabia se estavam em estoque, clientes ligando para saber o status do carro e a equipe perdendo horas preenchendo a mesma informação em três lugares diferentes. O dono do negócio precisava de visibilidade, não de mais complexidade técnica.

A solução nasceu da combinação entre WordPress, WooCommerce e uma camada de API REST customizada — tudo hospedado na própria infraestrutura da oficina, sem depender de SaaS externo. O resultado: agendamentos online, estoque sincronizado em tempo real e um painel kanban que a equipe realmente usa.

Mapeamento do fluxo real antes de escrever uma linha de código

A primeira etapa não foi técnica, foi conversa. Sentamos com recepção, mestres de oficina, estoquista e proprietário para desenhar o fluxo real — não o idealizado. Descobrimos que o “agendamento” começava no WhatsApp, migrava para papel, virava ordem de serviço no sistema antigo (que não falava com o site), e o estoque era conferido visualmente na prateleira.

Mapeamos cada ponto de atrito: retrabalho de digitação, perda de histórico do veículo, ausência de alerta de peça crítica e zero visibilidade para o cliente. Esse levantamento virou o backlog de requisitos para a arquitetura WordPress.

Arquitetura: Custom Post Types + API REST versionada

Criamos quatro Custom Post Types (CPTs) registrados via plugin mu-plugin para isolamento de core: os_servico (ordem de serviço), veiculo_cliente, peca_estoque e tecnico_responsavel. Cada CPT carrega meta fields tipados (ACF Pro para UI, mas salvos em postmeta com register_meta para performance).

A API REST expõe endpoints sob namespace versionado: /wp-json/oficina/v1/os, /wp-json/oficina/v1/estoque, /wp-json/oficina/v1/tecnicos. Usamos register_rest_route com permission_callback checando current_user_can('gerenciar_oficina') e autenticação via Application Passwords — veja detalhes em autenticação via Application Passwords na REST API.

// Exemplo de registro de rota para criar OS via API
add_action('rest_api_init', function () {
  register_rest_route('oficina/v1', '/os', [
    'methods' => 'POST',
    'callback' => 'oficina_criar_os_via_api',
    'permission_callback' => function () {
      return current_user_can('gerenciar_oficina');
    },
    'args' => [
      'placa' => ['required' => true, 'type' => 'string'],
      'cliente_id' => ['required' => true, 'type' => 'integer'],
      'servicos' => ['required' => true, 'type' => 'array'],
      'pecas' => ['required' => false, 'type' => 'array'],
    ],
  ]);
});

Sincronização de estoque bidirecional com WooCommerce

O estoque de peças vive no WooCommerce (produtos do tipo “Simple” com SKU = código da peça). O CPT peca_estoque espelha wc_product via save_post hook: quando o estoquista dá baixa na peça no painel kanban, o update_post_meta no _stock do produto WC dispara o webhook nativo do WooCommerce para o ERP externo.

Na direção inversa, quando uma compra de reposição chega no ERP, ele POSTa na nossa API /oficina/v1/estoque/sync que executa wc_update_product_stock. Isso elimina a planilha paralela e garante que o site de agendamento mostre disponibilidade real — estratégia semelhante à usada em eliminando recursos bloqueantes de renderização no WordPress para performance de front-end.

Painel Kanban no Admin: React + Gutenberg Sidebar

A equipe não queria outro sistema para logar. Então construímos um painel Kanban (Colunas: Agendado → Em Diagnóstico → Aguardando Peça → Em Execução → Pronto → Entregue) como um plugin de bloco Gutenberg (<ServerSideRender>) que consome a API REST via apiFetch.

O bloco registra select('oficina').getOrdens() e dispatch('oficina').moverOs(osId, novaColuna). O estado global usa @wordpress/data com controls assíncronas — padrão documentado em como criar blocos Gutenberg dinâmicos com React.

Cada card mostra: placa, cliente, serviço principal, técnico responsável, tempo na coluna atual (color coding: verde < 2h, amarelo 2-6h, vermelho > 6h). Clique expande modal com checklist de etapas, fotos do veículo e botão “Solicitar Peça” que já pré-preenche a OS e notifica o estoquista.

Notificações e rastreabilidade para o cliente final

O cliente recebe link público (token JWT de 24h) para acompanhar a OS: https://oficina.exemplo.com/rastrear?token=eyJ.... A página é um template block-based que consome /oficina/v1/os/{id}/publico — apenas campos seguros: status, previsão, itens aprovados, fotos anexadas pelo técnico.

Webhooks disparam WhatsApp Business API (via provedor homologado) nas transições críticas: “Seu veículo entrou em execução”, “Peça chegou, previsão de entrega amanhã 14h”. O log de notificações fica salvo em postmeta da OS para auditoria.

Segurança, observabilidade e manutenção contínua

Além da autenticação já citada, aplicamos: rate limiting via rest_pre_dispatch (máx 60 req/min por IP), sanitização estrita em sanitize_callback de cada arg, e logs estruturados (JSON) em arquivo rotativo fora do wp-content — facilitando SIEM.

O monitoramento usa Health Check API customizada: endpoint /oficina/v1/health checa conexão DB, latência média da API WC, espaço em disco e fila de webhooks pendentes. Alertas vão para o Slack da equipe técnica. Para deploys seguros, seguimos rotina de manutenção preventiva em Ipiranga evita falhas em deploy WordPress.

A oficina mecânica em Americanópolis hoje opera com visibilidade total: o dono vê no celular quantas OS estão no vermelho, o estoquista sabe o que comprar antes de acabar, e o cliente para de ligar perguntando “já ficou pronto?”.

A lição: WordPress bem arquitetado resolve logística real de negócio físico — não é só site institucional. O segredo está em modelar o domínio nos CPTs certos, expor API versionada com autenticação forte e construir a interface que a equipe quer usar, não a que o desenvolvedor acha bonita.

oficina mecânica em Americanópolis

Checklist prático

0 de 9 concluídos

Perguntas frequentes

Por que usar WordPress para gerenciar a logística de uma oficina mecânica?

O WordPress, combinado com WooCommerce e plugins de agendamento, oferece uma base flexível e de baixo custo para centralizar pedidos, controle de estoque e comunicação com clientes via API REST.

Qual a vantagem de integrar o sistema da oficina com a API REST do WordPress?

A integração via API REST permite que o ERP ou sistema de gestão da oficina converse em tempo real com o site, sincronizando agendamentos, peças e status de serviços sem intervenção manual.

É seguro expor endpoints da API REST para uma oficina mecânica?

Sim, desde que implementada autenticação via Application Passwords ou JWT, além de limitar permissões (scopes) e aplicar rate limiting, garantindo que apenas sistemas autorizados acessem os dados sensíveis.

Como o consultor evita conflitos entre plugins de agendamento e WooCommerce?

O uso de hooks nativos (actions/filters) e namespaces PHP isolados previne conflitos; testes em ambiente de staging com réplica do banco de produção validam a compatibilidade antes do deploy.

O que muda na rotina da equipe após a automação via WordPress?

A equipe deixa de preencher planilhas e passa a receber ordens de serviço já priorizadas no painel, com alertas de peças em falta e histórico do cliente acessível em um clique.