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
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.