datacrazy

n8n community node para o Datacrazy CRM - Growsales IA

Documentation

@growsalesai/n8n-nodes-datacrazy

npm version
License: MIT

Nó da comunidade N8N para integração completa com a plataforma Datacrazy CRM, oferecendo acesso a todas as funcionalidades de CRM, automações de messaging, gestão de pipelines, leads, negócios e muito mais.

📋 Índice

🚀 Instalação

Via n8n Community Nodes

  1. Acesse as configurações do n8n
  2. Vá para Community Nodes
  3. Instale o pacote: @growsalesai/n8n-nodes-datacrazy

Via npm

npm install @growsalesai/n8n-nodes-datacrazy

⚙️ Configuração

  1. Crie uma nova credencial do tipo Datacrazy API
  2. Configure os seguintes campos:
Campo Padrão Descrição
URL CRM https://crm.g1.datacrazy.io URL base para rotas /api/crm/
URL API v1 https://api.g1.datacrazy.io URL base para rotas /api/v1/ — deixe em branco para usar a URL CRM
URL Messaging https://messaging.g1.datacrazy.io URL base para rotas /api/messaging/ (templates, mensagens agendadas)
Fuso Horário America/Sao_Paulo Fuso horário usado nas operações de agendamento
Token da API — Token JWT de acesso (sem o prefixo Bearer)

🧩 Nós Disponíveis

Este pacote instala três nós no seu n8n:

Nó Descrição
Datacrazy CRM Acesso completo a todos os recursos da API: leads, negócios, conversas, pipelines e mais
Datacrazy Automações Utilitários de automação: parser de webhook, switch, roteamento IA e muito mais
Datacrazy Trigger Recebe eventos (webhooks) em tempo real do Datacrazy

📦 Módulos do CRM

🎯 Leads

resources/leads/

Gerenciamento completo de leads no Datacrazy CRM.

Operações e rotas:

Operação Método Rota
Listar Leads GET /api/v1/leads
Buscar por ID GET /api/v1/leads/:id
Criar Lead POST /api/v1/leads
Criar com Campos Personalizados POST /api/v1/leads/additional-fields
Atualizar Lead PATCH /api/v1/leads/:id
Excluir Lead DELETE /api/v1/leads/:id

Recursos: paginação (skip/take), busca por texto, suporte a tags, cidade, estado, endereço, empresa e CPF/CNPJ.


📁 Sub-recursos do Lead

resources/leads/

Recursos associados diretamente a um lead:

Negócios do Lead

Operação Método Rota
Listar Negócios GET /api/v1/leads/:leadId/businesses

Anexos do Lead

Operação Método Rota
Listar Anexos GET /api/v1/leads/:leadId/attachments
Criar Anexo POST /api/v1/leads/:leadId/attachments
Excluir Anexo DELETE /api/v1/leads/:leadId/attachments/:attachmentId

Anotações do Lead

Operação Método Rota
Listar Anotações GET /api/v1/leads/:leadId/notes
Criar Anotação POST /api/v1/leads/:leadId/notes
Atualizar Anotação PUT /api/v1/leads/:leadId/notes/:noteId
Excluir Anotação DELETE /api/v1/leads/:leadId/notes/:noteId

Histórico do Lead

Operação Método Rota
Listar Histórico GET /api/v1/leads/:leadId/history

Atividades do Lead

Operação Método Rota
Listar Atividades GET /api/v1/leads/:leadId/activities

💼 Negócios

resources/businesses/

Gestão completa do pipeline de vendas.

Operação Método Rota
Listar Negócios GET /api/v1/businesses
Buscar por ID GET /api/v1/businesses/:id
Criar Negócio POST /api/v1/businesses
Atualizar Negócio PATCH /api/v1/businesses/:id
Excluir Negócio DELETE /api/v1/businesses/:id
Adicionar Produto PATCH /api/v1/businesses/:id

🎬 Ações de Negócio

resources/businessActions/

Operações de transição de estado para negócios.

Operação Método Rota
Mover POST /api/v1/businesses/actions/move
Ganhar POST /api/v1/businesses/actions/win
Perder POST /api/v1/businesses/actions/lose
Restaurar POST /api/v1/businesses/actions/restore

❌ Motivos de Perda

resources/businessLossReasons/

Gerenciamento dos motivos de perda de negócios.

Operação Método Rota
Listar GET /api/v1/business-loss-reasons
Buscar por ID GET /api/v1/business-loss-reasons/:id
Criar POST /api/v1/business-loss-reasons
Atualizar PUT /api/v1/business-loss-reasons/:id
Excluir DELETE /api/v1/business-loss-reasons/:id

🏷️ Tags

resources/tags/

Sistema de etiquetas para categorização de leads.

Operação Método Rota
Listar Todas GET /api/v1/tags
Buscar por ID GET /api/v1/tags/:id
Criar POST /api/v1/tags
Atualizar PUT /api/v1/tags/:id
Excluir DELETE /api/v1/tags/:id
Adicionar ao Lead PATCH /api/v1/leads/:leadId
Remover do Lead PATCH /api/v1/leads/:leadId

📋 Listas

resources/lists/

Gerenciamento de listas de segmentação.

Operação Método Rota
Listar Todas GET /api/v1/lists
Buscar por ID GET /api/v1/lists/:id
Criar POST /api/v1/lists
Atualizar PUT /api/v1/lists/:id
Excluir DELETE /api/v1/lists/:id

📦 Produtos

resources/products/

Catálogo de produtos do CRM.

Operação Método Rota
Listar Todos GET /api/v1/products
Buscar por ID GET /api/v1/products/:id
Criar POST /api/v1/products
Atualizar PUT /api/v1/products/:id
Excluir DELETE /api/v1/products/:id

📅 Atividades

resources/activities/

Gerenciamento de atividades e tarefas do CRM.

Operação Método Rota
Listar Todas GET /api/v1/activities
Buscar por ID GET /api/v1/activities/:id
Criar POST /api/v1/activities
Atualizar PATCH /api/v1/activities/:id
Excluir DELETE /api/v1/activities/:id

💬 Conversas

resources/conversations/

Sistema de messaging e atendimento ao cliente.

Operação Método Rota
Listar Conversas GET /api/v1/conversations
Buscar Mensagens GET /api/v1/conversations/:id/messages
Enviar Mensagem POST /api/v1/conversations/:id/messages
Cancelar Mensagem Agendada DELETE /api/messaging/conversations/:id/scheduled-message/:msgId
Finalizar Conversa POST /api/v1/conversations/:id/finish

Tipos de mensagem suportados: Texto · Imagem · Vídeo · Áudio · Arquivo / Documento

Opções avançadas: mensagem interna (nota para equipe) · responder mensagem (reply por ID) · agendamento de envio (data/hora futura)

Cancelar agendamento: selecione a conversa e informe o ID da mensagem agendada (retornado no output do Enviar Mensagem).


🖥️ Instâncias

resources/instances/

Gerenciamento de instâncias de mensageria.

Operação Método Rota
Listar Todas GET /api/v1/instances
Buscar por ID GET /api/v1/instances/:id

👥 Atendentes

resources/attendants/

Gerenciamento de atendentes do CRM e do multiatendimento.

Operação Método Rota
Listar Todos GET /api/v1/attendants/crm ou /api/v1/attendants/multi
Buscar por ID GET /api/v1/attendants/crm/:id ou /api/v1/attendants/multi/:id

🔧 Pipelines

resources/pipelines/

Gerenciamento de pipelines de vendas e seus estágios.

Operação Método Rota
Listar Todas GET /api/v1/pipelines
Buscar por ID GET /api/v1/pipelines/:id
Listar Estágios GET /api/v1/pipelines/:id/stages

➕ Campos Personalizados

resources/additionalFields/

Sistema flexível de campos customizados para leads.

Operação Método Rota
Listar Todos GET /api/crm/additionalFields
Criar POST /api/crm/additionalFields
Atualizar PUT /api/crm/additionalFields/:id
Excluir DELETE /api/crm/additionalFields/:id
Definir Valor no Lead POST /api/crm/additional-fields/lead/:leadId/:fieldId

📊 Métricas de Negócios

resources/businessMetrics/

Relatórios e métricas do CRM.

Operação Método Rota
Funil GET /api/crm/businesses/metrics/funnel
Resumo de Atendentes GET /api/crm/businesses/metrics/summary/attendants
Resumo Geral GET /api/crm/businesses/metrics/summary
Listar Negócios GET /api/v1/businesses
Resumo Diário GET /api/crm/businesses/metrics/summary/daily
Resumo de Produtos GET /api/crm/businesses/metrics/summary/products

⚡ Flows

resources/flows/

Gerenciamento de automações e fluxos do Datacrazy.

Operação Método Rota
Listar Todos GET /api/crm/flows
Buscar por ID GET /api/crm/flows/:id
Listar Grupos GET /api/crm/flows/groups
Executar Automação para Lead POST /api/crm/flows/triggers/leads/execute-lead
Atualizar PATCH /api/crm/flows/:id
Excluir DELETE /api/crm/flows/:id
Ativar PATCH /api/crm/flows/:id
Desativar PATCH /api/crm/flows/:id
Métricas de Versão GET /api/crm/flows/:id/versions/:versionId/metrics

Executar Automação para Lead: selecione a automação (dropdown com filtro por tipo manual) e o lead. Dispara a automação manualmente para o lead escolhido sem precisar aguardar um trigger automático.


📲 Templates WhatsApp

resources/whatsappTemplates/

Gerenciamento e envio de templates aprovados do WhatsApp Cloud API.

Operação Método Rota
Listar Templates GET /api/messaging/whatsapp-cloud/templates/:channelId
Enviar Template POST /api/messaging/whatsapp-cloud/templates/send

Listar Templates: retorna todos os templates aprovados do canal com id, name, language, status, category, templateId e variáveis/botões.

Enviar Template:

  • Selecione o Canal (instância WhatsApp) → o dropdown de templates é carregado automaticamente
  • O dropdown exibe cada template com a contagem de variáveis: ex. id002 (pt_BR) — 2 variáveis — APPROVED
  • Preencha as Variáveis do Template em ordem (1º item = {{1}}, 2º = {{2}}, etc.)
  • Botões e parameter_format são incluídos automaticamente a partir dos metadados do template

🤖 Nó de Automações

O nó Datacrazy Automações oferece 17 utilitários inteligentes para construir fluxos com webhooks e lógica de CRM sem precisar escrever código.

Webhook & Mensagens

⚡ Analisar Webhook Datacrazy

automations/webhookParser/

Normaliza o payload recebido de um webhook do Datacrazy e extrai os campos principais: provedor, tipo de mensagem, texto, mídia, lead, token, conversa e muito mais.

  • Detecção automática de provedor (WhatsApp Cloud API, Instagram API, UAZAP)
  • Extração de leadId, token_datacrazy, conversationId, contactPhone
  • Suporte a detecção de anúncios (referral/CTWA)

⚡ Switch Tipo de Mensagem

automations/messageTypeSwitch/

Roteia o item para a saída correta com base no tipo da mensagem recebida.

Saídas: Texto · Imagem · Vídeo · Áudio · Arquivo · Outro


⚡ É Mensagem Referenciada?

automations/replyChecker/

Verifica se a mensagem recebida é uma resposta (reply) a outra mensagem.

Saídas: Sim · Não


⚡ Detectar Provedor do Webhook

automations/providerDetector/

Identifica o provedor de origem do webhook.

Provedores suportados: WhatsApp Cloud API · Instagram API · UAZAP · Desconhecido


⚡ Extrair Info do Webhook

automations/webhookExtractor/

Estrutura todos os campos do payload em objetos aninhados e organizados: contact, message, attachment, referral, instance, conversation.


⚡ Contexto de Mensagem Referenciada

automations/messageContext/

Verifica se a mensagem é um reply e, se for, busca o conteúdo da mensagem original na conversa do Datacrazy.

Rota usada Método Descrição
/api/v1/conversations/:id/messages GET Busca mensagens da conversa para encontrar o contexto

⚡ Buscar Mensagens (Avançado)

automations/advancedMessageFetcher/

Busca o histórico de mensagens de uma conversa aplicando filtros avançados nativamente. Muito superior à busca padrão, ideal para fluxos de IA (ChatGPT, Agentes AI) e economia de processamento.

  • Filtros Globais: Direção (Enviadas/Recebidas), Tipo (Texto, Imagem, Link, etc), Palavras-chave, Limite (últimas N mensagens).
  • Módulo WhatsApp API: Filtre mensagens encaminhadas, status (Lida/Recebida/Falhou), e tags ou estágios do contato remetente.
  • Módulo Instagram API: Filtre por conta conectada, posts/stories compartilhados (EXTERNAL_LINK) e tags do contato.
  • Módulo UAZAPI: Filtre por mensagens internas (equipe), editadas, primeira do ticket e assinatura do atendente.
  • Modo IA: Formata nativamente todas as mensagens extraídas em texto corrido (incluindo tratamento dinâmico de vcard e arquivos de mídia), estruturando o contexto da conversa e devolvendo em aiContext.

⚡ Roteador por Palavra-chave

automations/keywordRouter/

Verifica o texto da mensagem contra até 4 grupos de palavras-chave configuráveis e roteia para a saída correspondente.

Saídas: Grupo 1 · Grupo 2 · Grupo 3 · Grupo 4 · Nenhuma

  • Palavras-chave separadas por vírgula em cada grupo
  • Opção de diferenciação de maiúsculas/minúsculas
  • Retorna matchedGroup e matchedGroupIndex no output
  • Operação puramente local — sem chamadas de API

Lead & Pipeline

⚡ Verificar se Lead Existe

automations/leadExistsChecker/

Busca um lead e roteia para Sim (encontrado) ou Não.

Métodos de busca: WhatsApp · E-mail · Nome · CPF/CNPJ · Instagram · Campo Personalizado

Rota usada Método Descrição
/api/v1/leads GET Busca com text search e varredura paginada
/api/v1/conversations GET Fallback para busca via conversas (WhatsApp)
/api/crm/additional-fields/lead/:leadId/:fieldId GET Verifica valor de campo personalizado

⚡ Upsert de Lead

automations/leadUpsert/

Busca o lead pelo identificador informado; se não encontrar, cria automaticamente.

Saídas: Criado · Já Existia

Métodos de busca/criação: WhatsApp · E-mail · CPF/CNPJ

  • O valor de busca é automaticamente usado como phone, email ou document na criação
  • Campo JSON opcional para incluir campos extras na criação
  • Retorna os dados completos do lead em ambas as saídas

⚡ Verificar Duplicatas de Lead

automations/leadDuplicateChecker/

Varre toda a base de leads e encontra todos que possuem o mesmo identificador.

Saídas: Com Duplicatas (≥2 leads) · Único (0 ou 1 lead)

Métodos de busca: WhatsApp · E-mail · CPF/CNPJ

  • Retorna duplicateCount e a lista completa de leads duplicados
  • Varredura paginada de até 2.000 leads

⚡ Mover Lead na Pipeline

automations/leadMover/

Busca os negócios do lead, filtra pela pipeline desejada e move para a etapa destino.

Rota usada Método Descrição
/api/v1/leads/:leadId/businesses GET Lista negócios do lead
/api/v1/businesses/:id PATCH Move o negócio para o novo estágio
/api/v1/leads/:leadId/notes POST Cria anotação opcional ao mover

Recursos: seleção do negócio mais recente ou todos, dropdowns dinâmicos de pipelines e etapas.


⚡ Criar Negócio Condicional

automations/businessCreator/

Verifica se o lead já possui um negócio aberto na pipeline; se não tiver, cria automaticamente.

Saídas: Criado · Já Existe

Rota usada Método Descrição
/api/v1/leads/:leadId/businesses GET Verifica negócios existentes
/api/v1/businesses POST Cria o negócio se não houver um aberto
  • Dropdowns dinâmicos para pipeline e etapa inicial
  • Retorna dados completos do negócio em ambas as saídas

⚡ If Condicional do Lead

automations/leadIfCondition/

Verifica uma condição no lead e roteia para Sim ou Não.

Rota usada Método Descrição
/api/v1/leads/:leadId GET Lê dados do lead
/api/crm/additionalFields GET Busca definições de campos (cache por execução)
/api/crm/additional-fields/lead/:leadId/:fieldId GET Lê valor do campo no lead
/api/v1/leads/:leadId/businesses GET Verifica pipeline/estágio

Condições suportadas: possui/não possui tag · campo personalizado igual/contém valor · está em pipeline · está em estágio · está em pipeline e estágio.


⚡ Tracker do Lead

automations/leadTracker/

Define múltiplos campos personalizados em um lead de uma só vez, com controle de erro por campo.

Rota usada Método Descrição
/api/crm/additional-fields/lead/:leadId/:fieldId POST Define valor de cada campo

⚡ Detector de Primeira Mensagem

automations/firstMessageDetector/

Verifica se é o primeiro contato do lead com base no tempo de criação.

Saídas: Sim (primeira vez) · Não (recorrente)

Rota usada Método Descrição
/api/v1/leads/:leadId GET Lê createdAt do lead
  • Configura um limiar em minutos (padrão: 5 min)
  • Retorna isFirstMessage e leadAgeMinutes no output

Integrações Externas & IA

⚡ Transcritor de Áudio (IA)

automations/audioTranscriber/

Transcreve áudios enviados por leads (como mensagens de voz do WhatsApp) usando as melhores inteligências artificiais do mercado.

Provedores Suportados:

  • OpenAI Whisper: via arquivo binário (rápido, usando credencial nativa do n8n).

  • AssemblyAI: via URL pública do áudio, com polling adaptativo progressivo (extremamente rápido para áudios curtos e seguro contra timeouts para áudios de até 15 minutos).

  • Opção de postar a transcrição automaticamente como uma Mensagem Interna no chat do Datacrazy.

  • Seleção de modelo inteligente e detecção de idioma.


⚡ Meta Conversions API (Facebook Pixel)

automations/metaConversionsApi/

Dispara eventos de conversão offline (ex: Purchase, Lead) diretamente para o Pixel do Facebook/Meta de forma 100% server-side, driblando bloqueadores de anúncios (AdBlock) e restrições do iOS 14.

  • Identificação rica do lead enviando e-mail, telefone (hashed automaticamente no nó), nome, cidade, estado, IP e User Agent.
  • Suporte a dados de conversão como valor (value) e moeda (currency).
  • Ideal para alimentar as campanhas de tráfego pago baseadas em leads ganhos no CRM.

⚡ Sincronização Google Calendar

automations/activityGoogleSync/

Sincroniza automaticamente as atividades/tarefas (ex: reuniões, visitas, calls) criadas no CRM diretamente com o Google Agenda (Google Calendar).

  • Usa a credencial OAuth2 nativa do Google Calendar no n8n.
  • Permite mapeamento detalhado: Título, Descrição, Data/Hora de Início e Fim.
  • Adiciona e-mails de convidados automaticamente ao evento.

⚡ Roteador de Etapa por IA (AI Stage Router)

automations/leadAiStageRouter/

Facilita o roteamento de leads no funil usando Inteligência Artificial. Após um assistente LLM analisar a intenção do cliente (ex: "Quente", "Frio", "Agendou Reunião"), este nó direciona o fluxo para caminhos diferentes com base na análise.


Utilitários Locais

Estas automações operam sem chamadas de API — sem necessidade de credencial.

⚡ Verificar Horário de Atendimento

automations/businessHoursChecker/

Verifica se o momento atual está dentro do horário de atendimento configurado.

Saídas: Dentro do Horário · Fora do Horário

  • Configuração independente para dias úteis, sábado e domingo
  • Suporte a qualquer fuso horário (ex: America/Sao_Paulo, America/New_York)
  • Retorna withinBusinessHours, dayOfWeek e currentTimeMinutes

⚡ Formatar Número de WhatsApp

automations/phoneFormatter/

Normaliza números de telefone para o formato padrão (somente dígitos, com DDI).

  • Adiciona DDI automaticamente se ausente (padrão: 55 para Brasil)
  • Opção para remover o 9º dígito de celulares brasileiros
  • Retorna phoneFormatted, phoneOriginal e phoneDDI

🛠️ Desenvolvimento

Pré-requisitos

  • Node.js >= 18.10
  • npm >= 9

Configuração do Ambiente

# Clone o repositório
git clone https://github.com/growsalesai/n8n-nodes-datacrazy.git

# Instale as dependências
npm install

# Build para produção
npm run build

# Execute em modo de desenvolvimento (watch)
npm run dev

# Lint
npm run lint

Estrutura do Projeto

nodes/Datacrazy/
├── Datacrazy.node.ts              # Nó principal CRM
├── DatacrazyUtils.node.ts         # Nó de automações utilitárias
├── DatacrazyMsgSwitch.node.ts     # Switch de tipo de mensagem (standalone)
├── DatacrazyReplyCheck.node.ts    # Verificador de reply (standalone)
│
├── resources/                     # Recursos da API CRM (cada um com description + handler)
│   ├── leads/
│   │   ├── lead.description.ts
│   │   ├── lead.handler.ts
│   │   ├── leadSubResource.description.ts
│   │   └── leadSubResources.handler.ts
│   ├── businesses/
│   │   ├── business.description.ts
│   │   └── business.handler.ts
│   ├── businessActions/
│   │   ├── businessAction.description.ts
│   │   └── businessAction.handler.ts
│   ├── businessLossReasons/
│   │   ├── businessLossReason.description.ts
│   │   └── businessLossReason.handler.ts
│   ├── businessMetrics/
│   │   ├── businessMetrics.description.ts
│   │   └── businessMetrics.handler.ts
│   ├── tags/
│   │   ├── tag.description.ts
│   │   └── tag.handler.ts
│   ├── lists/
│   │   ├── list.description.ts
│   │   └── list.handler.ts
│   ├── products/
│   │   ├── product.description.ts
│   │   └── product.handler.ts
│   ├── activities/
│   │   ├── activity.description.ts
│   │   └── activity.handler.ts
│   ├── conversations/
│   │   ├── conversation.description.ts
│   │   └── conversation.handler.ts
│   ├── instances/
│   │   ├── instance.description.ts
│   │   └── instance.handler.ts
│   ├── attendants/
│   │   ├── attendant.description.ts
│   │   └── attendant.handler.ts
│   ├── pipelines/
│   │   ├── pipeline.description.ts
│   │   └── pipeline.handler.ts
│   ├── additionalFields/
│   │   ├── additionalField.description.ts
│   │   └── additionalField.handler.ts
│   ├── flows/
│   │   ├── flow.description.ts
│   │   └── flow.handler.ts
│   └── whatsappTemplates/
│       ├── whatsappTemplate.description.ts
│       └── whatsappTemplate.handler.ts
│
├── automations/                   # Nós utilitários de automação (cada um com description + handler)
│   ├── webhookParser/
│   ├── webhookExtractor/
│   ├── providerDetector/
│   ├── messageContext/
│   ├── messageTypeSwitch/
│   ├── replyChecker/
│   ├── keywordRouter/
│   ├── leadMover/
│   ├── leadIfCondition/
│   ├── leadTracker/
│   ├── leadExistsChecker/
│   ├── leadUpsert/
│   ├── leadDuplicateChecker/
│   ├── businessCreator/
│   ├── firstMessageDetector/
│   ├── businessHoursChecker/
│   └── phoneFormatter/
│
├── methods/
│   └── loadOptions.ts             # Carregamento dinâmico de dropdowns
└── utils/
    └── request.ts                 # Camada de requisições HTTP autenticadas
credentials/
└── DatacrazyApi.credentials.ts    # Definição da credencial

🐛 Reportar Issues

Encontrou um bug ou tem uma sugestão? Abra uma issue no repositório!

Como Reportar

  1. Verifique Issues Existentes: Antes de criar uma nova, veja se o problema já foi reportado em Issues.
  2. Crie uma Nova Issue: Se não encontrar, crie uma nova.

Informações Necessárias

Para Bugs:

  • Descrição: Descreva o problema claramente
  • Passos para Reproduzir: Liste os passos exatos
  • Comportamento Esperado: O que deveria acontecer
  • Comportamento Atual: O que está acontecendo
  • Ambiente:
    • Versão do n8n
    • Versão do @growsalesai/n8n-nodes-datacrazy
    • Sistema operacional
  • Logs de Erro: Inclua mensagens de erro completas

Para Solicitações de Recursos:

  • Descrição: Descreva o recurso desejado
  • Justificativa: Por que seria útil
  • Casos de Uso: Exemplos práticos de uso

Template de Issue

## Tipo
- [ ] Bug
- [ ] Solicitação de Recurso
- [ ] Melhoria
- [ ] Documentação

## Descrição
[Descreva o problema ou recurso]

## Ambiente (para bugs)
- Versão do n8n:
- Versão do @growsalesai/n8n-nodes-datacrazy:
- Sistema Operacional:
- Node.js:

## Passos para Reproduzir (para bugs)
1.
2.
3.

## Comportamento Esperado
[O que deveria acontecer]

## Comportamento Atual
[O que está acontecendo]

## Logs de Erro
[Cole os logs aqui]

## Informações Adicionais

🤝 Contribuição

Contribuições são bem-vindas!

  1. Faça um fork do repositório
  2. Crie uma branch para sua feature: git checkout -b feature/minha-feature
  3. Faça commit das suas alterações: git commit -m 'Adiciona minha feature'
  4. Envie para a branch: git push origin feature/minha-feature
  5. Abra um Pull Request

👨‍💻 Desenvolvedor

Desenvolvido por Vitor Maciel

📄 Licença

Este projeto está licenciado sob a MIT License.

Discussion