npm package: @remborba/n8n-gohighlevel-simple
Description: n8n node simples para GoHighLevel com API Key (sem OAuth)
Author: Remborba
Latest version: 1.0.0

# n8n-nodes-gohighlevel

Este é um pacote de nós customizados para n8n que permite integração com a API do GoHighLevel.

## Funcionalidades

### Recursos Suportados:
- **Contacts**: Criar, ler, atualizar e deletar contatos
- **Opportunities**: Gerenciar oportunidades de negócio
- **Campaigns**: Consultar campanhas
- **Locations**: Obter informações de localização
- **Calendar**: Funcionalidades de calendário (futuro)

### Operações por Recurso:

#### Contacts
- `Create`: Criar novo contato
- `Get`: Obter contato por ID
- `Get All`: Listar todos os contatos
- `Update`: Atualizar contato existente
- `Delete`: Deletar contato

#### Opportunities
- `Create`: Criar nova oportunidade
- `Get`: Obter oportunidade por ID
- `Get All`: Listar todas as oportunidades

#### Campaigns
- `Get`: Obter campanha por ID
- `Get All`: Listar todas as campanhas

#### Locations
- `Get`: Obter informações da localização

## Instalação

### 1. Via n8n Community Nodes (Recomendado)

1. Acesse seu painel n8n
2. Vá para **Settings** > **Community Nodes**
3. Clique em **Install a community node**
4. Digite: `n8n-nodes-gohighlevel`
5. Clique em **Install**

### 2. Via npm (Para desenvolvimento)

```bash
# Clone o repositório
git clone https://github.com/seu-usuario/n8n-nodes-gohighlevel.git
cd n8n-nodes-gohighlevel

# Instale as dependências
npm install

# Compile o projeto
npm run build

# Link o pacote (para desenvolvimento local)
npm link
```

## Configuração

### 1. Obtendo as Credenciais GoHighLevel

1. Faça login no seu painel GoHighLevel
2. Vá para **Settings** > **API Key**
3. Copie sua **API Key**
4. Anote o **Location ID** da sua localização

### 2. Configurando no n8n

1. No n8n, crie um novo workflow
2. Adicione o nó **GoHighLevel**
3. Clique em **Create New Credential**
4. Preencha os campos:
   - **API Key**: Sua chave da API GoHighLevel
   - **Location ID**: ID da sua localização
   - **Environment**: Selecione Production ou Sandbox

### 3. Testando a Conexão

Após configurar as credenciais, o n8n testará automaticamente a conexão com a API do GoHighLevel.

## Uso

### Exemplo 1: Criar um Contato

```json
{
  "resource": "contact",
  "operation": "create",
  "firstName": "João",
  "lastName": "Silva",
  "email": "joao@exemplo.com",
  "phone": "+5511999999999"
}
```

### Exemplo 2: Listar Todos os Contatos

```json
{
  "resource": "contact",
  "operation": "getAll",
  "returnAll": false,
  "limit": 50
}
```

### Exemplo 3: Criar uma Oportunidade

```json
{
  "resource": "opportunity",
  "operation": "create",
  "opportunityName": "Nova Venda",
  "pipelineId": "pipeline_id_aqui",
  "stageId": "stage_id_aqui",
  "contactId": "contact_id_aqui"
}
```

## Workflows de Exemplo

### Workflow 1: Sincronização de Contatos
1. **Trigger**: Webhook recebendo dados de formulário
2. **GoHighLevel**: Criar contato com os dados recebidos
3. **Email**: Enviar confirmação

### Workflow 2: Automação de Oportunidades
1. **Schedule Trigger**: Executar diariamente
2. **GoHighLevel**: Listar contatos
3. **IF**: Verificar se contato atende critérios
4. **GoHighLevel**: Criar oportunidade para contatos qualificados

## Compartilhamento de Workflows

### Para Compartilhar seu Workflow:

1. **Exporte o Workflow**:
   - No n8n, abra seu workflow
   - Clique em **Download** no menu
   - Salve o arquivo `.json`

2. **Prepare as Instruções**:
   - Crie um documento com as credenciais necessárias
   - Liste os IDs específicos (Pipeline ID, Stage ID, etc.)
   - Inclua instruções de configuração

3. **Compartilhe**:
   - Envie o arquivo `.json` do workflow
   - Inclua as instruções de configuração
   - Forneça o template de credenciais

### Para Importar um Workflow Compartilhado:

1. **Instale o Node**:
   - Certifique-se de ter o `n8n-nodes-gohighlevel` instalado

2. **Importe o Workflow**:
   - No n8n, clique em **Import from File**
   - Selecione o arquivo `.json` recebido

3. **Configure as Credenciais**:
   - Configure suas próprias credenciais GoHighLevel
   - Atualize os IDs específicos conforme necessário

## Variáveis de Ambiente

Para melhor segurança, você pode usar variáveis de ambiente:

```bash
# .env
GOHIGHLEVEL_API_KEY=sua_api_key_aqui
GOHIGHLEVEL_LOCATION_ID=seu_location_id_aqui
```

## Troubleshooting

### Problemas Comuns:

1. **Erro de Autenticação**:
   - Verifique se a API Key está correta
   - Confirme se o Location ID está correto
   - Verifique se você tem permissões adequadas

2. **Limite de Rate**:
   - A API do GoHighLevel tem limites de taxa
   - Adicione delays entre requisições se necessário

3. **IDs Inválidos**:
   - Certifique-se de usar IDs válidos para Pipeline, Stage, Contact, etc.
   - Use a operação "Get All" para encontrar IDs válidos

### Logs de Debug:

Para ativar logs detalhados no n8n:
```bash
N8N_LOG_LEVEL=debug npm start
```

## Contribuição

Contribuições são bem-vindas! Para contribuir:

1. Fork o repositório
2. Crie uma branch para sua feature
3. Faça commit das suas mudanças
4. Abra um Pull Request

## Licença

MIT

## Suporte

- **Issues**: [GitHub Issues](https://github.com/seu-usuario/n8n-nodes-gohighlevel/issues)
- **Documentação GoHighLevel**: [API Docs](https://marketplace.gohighlevel.com/docs/)
- **Comunidade n8n**: [n8n Community](https://community.n8n.io/)

## Roadmap

- [ ] Suporte para Webhooks
- [ ] Integração com Calendar
- [ ] Suporte para Custom Fields
- [ ] Bulk operations
- [ ] Suporte para Files/Documents
- [ ] Integração com SMS/Email campaigns