Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linkize Backend

Linkize é uma plataforma SaaS para comércio conversacional via WhatsApp, desenvolvida em Laravel 11 com arquitetura multi-tenant e integração com Supabase.

🚀 Características

  • 99% Conversacional: Interação completa via WhatsApp
  • Multi-tenant: Suporte a múltiplos clientes na mesma infraestrutura
  • Supabase Integration: Database, Auth e Storage
  • Comandos WhatsApp: Sistema de comandos intuitivo (/novo, /estoque, /vendas, /promo)
  • Pagamentos: Integração com PIX e Mercado Pago
  • API RESTful: CRUD completo para produtos e pedidos
  • Relatórios: Analytics de vendas e produtos

📋 Comandos WhatsApp Disponíveis

Comando Descrição Exemplo
/cardapio Visualizar produtos disponíveis /cardapio
/novo Criar novo pedido /novo pizza 2
/estoque Verificar estoque /estoque ou /estoque pizza
/vendas Relatório de vendas /vendas
/promo Ver promoções ativas /promo
/status Status do último pedido /status
/ajuda Lista de comandos /ajuda

🛠️ Tecnologias

  • Backend: Laravel 11
  • Database: PostgreSQL (Supabase)
  • Authentication: Laravel Sanctum
  • Queue: Database
  • Storage: Supabase Storage
  • Payments: Mercado Pago, PIX
  • WhatsApp: WhatsApp Business API

📚 API Endpoints

Webhooks

  • POST /api/webhooks/whatsapp - Receber mensagens do WhatsApp
  • GET /api/webhooks/whatsapp - Verificação do webhook
  • POST /api/webhooks/payments - Notificações de pagamento

Produtos

  • GET /api/products - Listar produtos
  • POST /api/products - Criar produto
  • GET /api/products/{id} - Visualizar produto
  • PUT /api/products/{id} - Atualizar produto
  • DELETE /api/products/{id} - Excluir produto

Pedidos

  • GET /api/orders - Listar pedidos
  • POST /api/orders - Criar pedido
  • GET /api/orders/{id} - Visualizar pedido
  • PUT /api/orders/{id} - Atualizar pedido
  • DELETE /api/orders/{id} - Cancelar pedido
  • POST /api/orders/{id}/payment-link - Gerar link de pagamento

Relatórios

  • GET /api/reports/sales - Relatório de vendas
  • GET /api/reports/products - Relatório de produtos
  • GET /api/reports/orders - Relatório de pedidos
  • GET /api/reports/revenue - Relatório de faturamento

⚙️ Configuração

Variáveis de Ambiente

# App
APP_NAME="Linkize Backend"
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost

# Database (Supabase)
DB_CONNECTION=pgsql
DB_HOST=db.supabase.com
DB_PORT=5432
DB_DATABASE=postgres
DB_USERNAME=postgres
DB_PASSWORD=your_password

# WhatsApp
WHATSAPP_API_URL=https://graph.facebook.com/v18.0
WHATSAPP_API_TOKEN=your_token
WHATSAPP_WEBHOOK_VERIFY_TOKEN=your_verify_token

# Payments
MERCADOPAGO_ACCESS_TOKEN=your_token
MERCADOPAGO_PUBLIC_KEY=your_key
PIX_KEY=your_pix_key

# Supabase
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_key

Instalação

  1. Clone o repositório
git clone https://github.com/linkize/linkize-backend.git
cd linkize-backend
  1. Instale as dependências
composer install
  1. Configure o ambiente
cp .env.example .env
# Edite o arquivo .env com suas configurações
  1. Gere a chave da aplicação
php artisan key:generate
  1. Execute as migrações
php artisan migrate
  1. Inicie o servidor
php artisan serve

🏗️ Arquitetura

Multi-tenancy

O sistema utiliza multi-tenancy baseado em domínio/subdomínio, onde cada tenant possui:

  • Configurações isoladas
  • Tokens WhatsApp próprios
  • Configurações de pagamento independentes
  • Base de dados compartilhada com isolamento por tenant_id

Fluxo de Mensagens WhatsApp

  1. WhatsApp Business API → Webhook /api/webhooks/whatsapp
  2. WhatsAppCommandParser analisa e executa comandos
  3. WhatsAppResponseFormatter formata resposta
  4. Resposta enviada de volta via WhatsApp API

Fluxo de Pagamentos

  1. Pedido criado → Link de pagamento gerado
  2. Cliente paga → Webhook /api/webhooks/payments
  3. PaymentService processa notificação
  4. Status do pedido atualizado

🧪 Testes

Execute os testes:

php artisan test

Testes incluem:

  • Webhooks WhatsApp e Pagamentos
  • Parsing de comandos
  • API endpoints
  • Serviços de pagamento

📄 Licença

Este projeto está licenciado sob a Licença Apache 2.0 - veja o arquivo LICENSE para detalhes.

🤝 Contribuição

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📞 Suporte

Para suporte ou dúvidas, abra uma issue no GitHub ou entre em contato através do nosso WhatsApp.


Desenvolvido com ❤️ para revolucionar o comércio conversacional no Brasil.

About

Linkize Conversational Backend

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages