WooContaAzul - Integração WooCommerce com Conta Azul
Integração WooCommerce com Conta Azul - Plugin WordPress gratuito para sincronização automática de pedidos com o ERP Conta Azul via OAuth 2.0
by Daniel Paz · github.com/weboptionwp/woocontaazul · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/weboptionwp/woocontaazul/archive/refs/heads/main.zipPlugin WordPress/WooCommerce para integração automática com a API do Conta Azul. Envia automaticamente pedidos pagos para o sistema ERP Conta Azul.
Desenvolvido por: Daniel Paz | WebOption
📋 Funcionalidades
- ✅ Autenticação OAuth 2.0 com Conta Azul
- ✅ Envio automático de pedidos pagos para o Conta Azul
- ✅ Envio manual de pedidos via admin
- ✅ Renovação automática de access tokens
- ✅ Mapeamento completo de clientes, produtos e vendas
- ✅ Suporte a diferentes métodos de pagamento
- ✅ Log de erros e debug
- ✅ Painel administrativo completo
- ✅ Visualização de status de envio na lista de pedidos
📦 Requisitos
- WordPress 5.8 ou superior
- WooCommerce 5.0 ou superior
- PHP 7.4 ou superior
- Conta no Conta Azul
- Credenciais de API (Client ID e Client Secret)
🚀 Instalação
- Faça upload da pasta
woocontaazulpara o diretório/wp-content/plugins/ - Ative o plugin através do menu 'Plugins' no WordPress
- Acesse Conta Azul no menu do WordPress
- Configure suas credenciais da API
⚙️ Configuração
1. Obter Credenciais da API
- Acesse o Portal de Desenvolvedores do Conta Azul
- Crie uma nova aplicação
- Anote o Client ID e Client Secret
2. Configurar o Plugin
- No WordPress, vá em Conta Azul > Configurações
- Insira o Client ID e Client Secret
- Salve as configurações
- Clique em "Conectar com Conta Azul"
- Faça login na sua conta do Conta Azul
- Autorize a aplicação
- Você será redirecionado de volta ao WordPress
📖 Como Usar
Envio Automático
- Ative a opção "Envio Automático" nas configurações
- Quando um pedido for marcado como "Processando" ou "Concluído" e estiver pago, será automaticamente enviado para o Conta Azul
Envio Manual
- Abra um pedido no WooCommerce
- Procure pelo box "Conta Azul" na lateral direita
- Clique em "Enviar para Conta Azul"
Visualizar Status de Envio
-
Lista de Pedidos: Uma coluna "Conta Azul" mostra o status com ícones
- ✓ Verde = Enviado com sucesso
- ⚠ Vermelho = Erro no envio
- ● Laranja = Processando
- — Cinza = Não enviado
-
Detalhes do Pedido: O box "Conta Azul" mostra informações detalhadas incluindo:
- Status do envio
- ID da venda no Conta Azul
- Data e hora do envio
- Mensagens de erro (se houver)
Visualizar Logs
- Vá em Conta Azul > Logs
- Visualize todos os pedidos enviados e seus status
🔧 Configurações Avançadas
Modo Debug
Ative o Modo Debug nas configurações para registrar logs detalhados no arquivo wp-content/debug.log:
- Ative o modo debug nas configurações do plugin
- Certifique-se de que o
WP_DEBUG_LOGestá ativado nowp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
🗺️ Mapeamento de Dados
Cliente (Customer)
O plugin mapeia automaticamente os dados do cliente do WooCommerce para o Conta Azul:
- Nome completo
- Telefone
- CPF/CNPJ (se disponível via plugins de campos extras)
- Endereço completo
Produtos (Products)
Cada item do pedido é enviado com:
- Descrição (nome do produto)
- Quantidade
- Preço unitário
- Valor total
Pagamento (Payment)
O plugin mapeia métodos de pagamento comuns:
- Transferência bancária → BANK_CHECK
- Cheque → CHECK
- Dinheiro na entrega → CASH
- PayPal → CASH
- Stripe → CREDIT_CARD
Descontos e Frete
- Descontos de cupons são enviados automaticamente
- Valor do frete é incluído quando aplicável
🔄 Fluxo de Autenticação OAuth 2.0
O plugin implementa o fluxo completo de OAuth 2.0:
- Autorização: Usuário faz login no Conta Azul e autoriza a aplicação
- Exchange: O código de autorização é trocado por access_token e refresh_token
- Uso: O access_token é usado em todas as requisições à API
- Renovação: Quando o access_token expira, o refresh_token é usado automaticamente para obter um novo
🐛 Solução de Problemas
Erro: "Client ID e Client Secret são obrigatórios"
- Certifique-se de ter inserido as credenciais corretas nas configurações
- Salve as configurações antes de tentar conectar
Erro: "Refresh token não encontrado"
- Faça a autorização novamente clicando em "Conectar com Conta Azul"
- Verifique se suas credenciais estão corretas
Pedidos não estão sendo enviados automaticamente
- Verifique se a opção "Envio Automático" está ativada
- Certifique-se de que o pedido está marcado como pago
- Verifique se você está conectado ao Conta Azul
- Ative o modo debug e verifique os logs
Erro na API
- Teste a conexão clicando em "Testar Conexão" nas configurações
- Verifique se suas credenciais estão corretas e ativas
- Certifique-se de que sua conta no Conta Azul está ativa
📝 Estrutura de Arquivos
woocontaazul/
├── woocontaazul.php # Arquivo principal do plugin
├── README.md # Este arquivo
├── .htaccess # Proteção de arquivos
├── includes/
│ ├── class-wca-oauth.php # Gerencia autenticação OAuth 2.0
│ ├── class-wca-api.php # Comunicação com API do Conta Azul
│ ├── class-wca-woocommerce.php # Integração com WooCommerce
│ ├── class-wca-admin.php # Interface administrativa
│ └── index.php # Proteção de diretório
└── assets/
├── css/
│ ├── admin.css # Estilos do admin
│ └── index.php # Proteção de diretório
└── js/
├── admin.js # JavaScript do admin
└── index.php # Proteção de diretório
🔗 Links Úteis
📄 Licença
Este plugin é software livre licenciado sob GPL v2 ou posterior.
🤝 Contribuindo
Contribuições são bem-vindas! Por favor:
- Faça um Fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
🔒 Segurança
Práticas de Segurança Implementadas
- ✅ Verificação de nonces em todos os formulários e requisições AJAX
- ✅ Sanitização de todos os inputs do usuário
- ✅ Escapamento de todos os outputs
- ✅ Verificação de capacidades/permissões de usuário
- ✅ Proteção contra acesso direto aos arquivos
- ✅ Proteção de diretórios com index.php
- ✅ .htaccess para proteção adicional
- ✅ Validação rigorosa de dados antes de salvar
- ✅ Tokens OAuth armazenados com segurança
- ✅ Logs sensíveis apenas em modo debug
Reportar Vulnerabilidades
Se você descobrir uma vulnerabilidade de segurança, por favor envie um email para suporte@weboption.com.br ao invés de abrir uma issue pública.
🆘 Suporte
- Website: WebOption
- Email: contato@weboption.com.br
- Desenvolvedor: Daniel Paz
📋 Changelog
1.0.0 - 2026-01-25
- ✨ Versão inicial
- ✅ Implementação completa de OAuth 2.0
- ✅ Envio automático de pedidos pagos
- ✅ Interface administrativa completa
- ✅ Sistema de logs
- ✅ Suporte a renovação automática de tokens
- ✅ Ambientes separados (Homologação e Produção)
- ✅ Melhorias de segurança
- ✅ Plugin renomeado para WooContaAzul
Desenvolvido com ❤️ por Daniel Paz - WebOption
Para a comunidade WordPress/WooCommerce
Hooks Disponíveis
Actions
wcca_before_send_order- Disparado antes de enviar um pedidowcca_after_send_order- Disparado após enviar um pedido com sucessowcca_send_order_error- Disparado quando há erro ao enviar um pedido
Filters
wcca_sale_data- Permite modificar os dados da venda antes de enviarwcca_customer_data- Permite modificar os dados do cliente antes de enviarwcca_payment_type- Permite personalizar o tipo de pagamento
Exemplo de Uso de Hooks
// Modificar dados da venda antes de enviar
add_filter('wcca_sale_data', function($sale_data, $order) {
// Adicionar campo personalizado
$sale_data['custom_field'] = 'valor';
return $sale_data;
}, 10, 2);
// Executar ação após envio bem-sucedido
add_action('wcca_after_send_order', function($order_id, $result) {
// Seu código aqui
error_log('Pedido ' . $order_id . ' enviado com sucesso!');
}, 10, 2);
📋 Changelog
1.0.0 - 2026-01-25
- Versão inicial
- Implementação completa de OAuth 2.0
- Envio automático de pedidos pagos
- Interface administrativa
- Sistema de logs
- Suporte a renovação automática de tokens