n8n-nodes-zdg
v1.0.16
Published
n8n community node para integração com a API do ZDG (Comunidade ZDG)
Maintainers
Readme
n8n-nodes-zdg
Community node para n8n que permite integrar automações com a plataforma Z-PRO / ZDG diretamente nos seus workflows.
Desenvolvido pela Comunidade ZDG.
Instalação
Via n8n Community Nodes (Recomendado)
- Acesse Settings > Community Nodes
- Clique em Install a community node
- Digite
n8n-nodes-zdge clique em Install
Via npm
npm install n8n-nodes-zdgVia Docker
Se você usa o n8n via Docker, adicione ao seu Dockerfile:
RUN cd /usr/local/lib/node_modules/n8n && npm install n8n-nodes-zdgOu via variável de ambiente:
N8N_CUSTOM_EXTENSIONS=n8n-nodes-zdgConfiguração das Credenciais
Antes de usar o node, configure suas credenciais ZDG:
- No n8n, vá em Credentials > Add Credential
- Busque por ZDG API
- Preencha os campos:
| Campo | Descrição | Exemplo |
|-------|-----------|---------|
| URL do Backend | Domínio base do seu backend Z-PRO (sem /v2/api/external/...) | https://backend.seudominio.com.br |
| API ID | UUID da API fornecido pela plataforma | a1b2c3d4-e5f6-7890-abcd-ef1234567890 |
| Token de Acesso | Bearer Token para autenticação | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... |
Importante: No campo URL do Backend, coloque apenas o domínio (ex:
https://backend.seudominio.com.br). O node monta automaticamente o caminho/v2/api/external/{ApiID}/....
Recursos e Operações
O node ZDG Chat oferece 10 recursos com mais de 60 operações para gerenciar toda a sua plataforma Z-PRO.
1. Mensagem
Envio de mensagens individuais via WhatsApp.
| Operação | Descrição | |----------|-----------| | Enviar Texto | Envia uma mensagem de texto simples | | Enviar Arquivo por URL | Envia um arquivo a partir de uma URL pública | | Enviar Áudio | Envia uma mensagem de voz a partir de URL | | Enviar Arquivo Binário | Envia arquivo binário recebido de outro node (imagem, PDF, áudio, etc.) | | Enviar Base64 | Envia conteúdo codificado em Base64 | | Obter Parâmetros | Obtém parâmetros de mensagem via GET |
Campos comuns:
Número do Destinatário- Número do WhatsApp com DDI+DDD (ex:5511900000000)Chave Externa- Identificador externo para rastreamentoFechar Ticket Após Envio- Opção para fechar o ticket automaticamente
Exemplo - Enviar Texto:
- Número:
5511900000000 - Mensagem:
Olá! Esta é uma mensagem automática. - Chave Externa:
pedido-12345
Exemplo - Enviar Base64:
- Número:
5511900000000 - Base64: conteúdo puro em base64 (sem prefixo
data:) - Nome do Arquivo:
documento.pdf - Tipo MIME:
application/pdf - Legenda:
Segue o documento solicitado
Dica: O node aceita tanto base64 puro quanto data URLs (
data:image/png;base64,...). O prefixo é removido automaticamente antes do envio.
2. Mensagem em Grupo
Envio de mensagens para grupos do WhatsApp.
| Operação | Descrição | |----------|-----------| | Enviar Texto | Envia texto para um grupo | | Enviar Mídia por URL | Envia mídia para um grupo via URL |
Campos:
ID do Grupo- Identificador do grupo no WhatsApp (ex:[email protected])Mensagem/URL- Conteúdo a ser enviadoLegenda- Legenda da mídia (opcional)
3. Template WABA
Envio de templates aprovados pela API Oficial do WhatsApp Business (WABA).
| Operação | Descrição | |----------|-----------| | Enviar Template | Envia template simples (sem variáveis no body) | | Enviar Template com Body | Envia template com variáveis no corpo | | Enviar Template Marketing | Envia template de marketing com variáveis |
Campos:
Número- Número do destinatárioNome do Template- Nome do template aprovado (ex:boas_vindas)Idioma- Código do idioma (ex:pt_BR)Parâmetros do Body- JSON com variáveis (ex:["João", "Pedido #1234"])
Opções adicionais:
URL do Header- URL de mídia para o header do templateParâmetros do Header- JSON com variáveis do header
4. WABA Interativo
Mensagens interativas da API Oficial do WhatsApp Business.
| Operação | Descrição | |----------|-----------| | Enviar Botões | Envia mensagem com botões de resposta rápida | | Enviar Lista | Envia mensagem com lista de opções |
Exemplo - Enviar Botões:
- Número:
5511900000000 - Mensagem:
Escolha uma opção: - Botões (JSON):
[
{ "id": "btn_1", "title": "Opção 1" },
{ "id": "btn_2", "title": "Opção 2" },
{ "id": "btn_3", "title": "Opção 3" }
]Exemplo - Enviar Lista:
- Número:
5511900000000 - Mensagem:
Veja nossos produtos: - Texto do Botão:
Ver Produtos - Seções (JSON):
[
{
"title": "Categoria A",
"rows": [
{ "id": "prod_1", "title": "Produto 1", "description": "Descrição do produto 1" },
{ "id": "prod_2", "title": "Produto 2", "description": "Descrição do produto 2" }
]
}
]Opções adicionais:
Header- Texto do cabeçalhoFooter- Texto do rodapé
5. Contato
Gerenciamento completo de contatos na plataforma.
| Operação | Descrição | |----------|-----------| | Criar Contato | Cria um novo contato | | Buscar Contato | Busca contato por número | | Atualizar Contato | Atualiza dados de um contato | | Bloquear Contato | Bloqueia um contato | | Pesquisar Contato | Pesquisa avançada de contatos | | Atualizar Kanban | Atualiza status do contato no Kanban | | Atualizar Carteira | Atualiza a carteira (wallet) do contato | | Obter Info Extra | Obtém campos extras do contato | | Atualizar Info Extra | Atualiza campos extras do contato |
Campos para criar contato:
Nome- Nome do contatoNúmero- Número do WhatsApp (ex:5511900000000)Email- Email do contato (opcional)
Exemplo - Atualizar Info Extra:
- ID do Contato:
42 - Info Extra (JSON):
[
{ "name": "cpf", "value": "000.000.000-00" },
{ "name": "empresa", "value": "Empresa Exemplo LTDA" }
]6. Ticket
Gerenciamento de tickets/atendimentos.
| Operação | Descrição | |----------|-----------| | Criar Ticket | Cria um novo ticket para um contato | | Buscar Ticket | Busca ticket por ID | | Buscar Ticket (Chatbot) | Busca ticket com dados do chatbot | | Buscar Ticket (Completo) | Busca ticket com todas as informações | | Listar Mensagens | Lista todas as mensagens de um ticket | | Definir Fila | Define a fila de um ticket | | Definir Tag | Define (substitui) a tag de um ticket | | Adicionar Tag | Adiciona uma tag ao ticket | | Remover Tag | Remove uma tag do ticket | | Atualizar Info | Atualiza status do ticket | | Atualizar Canal | Muda o canal/WhatsApp do ticket | | Criar Nota | Cria uma nota interna no ticket | | Atualizar Nota | Atualiza uma nota existente | | Listar Notas | Lista notas de um ticket | | Enviar Presença | Envia indicador de presença (digitando) |
Campos:
ID do Ticket- ID numérico do ticketNúmero do Contato- Para criação de ticketID da Fila/ID da Tag- Para atribuiçãoStatus- Status do ticket (ex:open,closed,pending)
7. Oportunidade
Gerenciamento de oportunidades (CRM/Pipeline).
| Operação | Descrição | |----------|-----------| | Criar Oportunidade | Cria uma nova oportunidade | | Atualizar Oportunidade | Atualiza uma oportunidade existente | | Excluir Oportunidade | Remove uma oportunidade |
Campos:
Nome- Nome da oportunidadeID do Contato- Contato vinculadoID da Oportunidade- Para atualização/exclusão
Campos adicionais: value (valor), pipelineId, stageId, description, dueDate
8. Usuário
Gerenciamento de usuários/atendentes do sistema.
| Operação | Descrição | |----------|-----------| | Criar Usuário | Cria um novo usuário | | Atualizar Usuário | Atualiza dados de um usuário | | Listar Usuários | Lista todos os usuários | | Obter Status | Obtém status online/offline do usuário |
Campos para criar:
Nome- Nome do usuárioEmail- Email do usuárioSenha- Senha de acesso
9. Listagens
Consultas gerais para obter dados da plataforma.
| Operação | Descrição | |----------|-----------| | Listar Canais | Lista todos os canais/WhatsApp conectados | | Listar Sessões | Lista todas as sessões ativas | | Listar Filas | Lista todas as filas de atendimento | | Listar Tags | Lista todas as tags/etiquetas | | Listar Contatos | Lista contatos com paginação e filtros | | Listar Tickets | Lista tickets com filtros | | Listar Oportunidades | Lista oportunidades com filtros |
Filtros disponíveis (Listar Contatos):
Página- Número da páginaBusca- Texto para buscarID da Carteira/ID da Tag- Filtros específicos
Filtros disponíveis (Listar Tickets):
Status-open,closed,pendingBusca- Texto para buscarIDs das Filas/IDs dos WhatsApp- Filtros por fila/canal
10. Canal e Sessão
Gerenciamento de canais WhatsApp e sessões de conexão.
| Operação | Descrição | |----------|-----------| | Buscar Canal por Nome | Busca um canal pelo nome | | Buscar Canal por ID | Busca um canal pelo ID | | Listar Grupos | Lista grupos de WhatsApp de um canal | | Criar Sessão | Cria uma nova sessão de WhatsApp | | Excluir Sessão | Remove uma sessão | | Iniciar Sessão | Inicia uma sessão existente | | QR Code | Obtém QR Code para conectar um WhatsApp |
Endpoints da API
Referência dos endpoints utilizados pelo node:
| Recurso | Endpoint | Método |
|---------|----------|--------|
| Enviar Texto | /v2/api/external/{ApiID} | POST |
| Enviar Arquivo URL | /v2/api/external/{ApiID}/url | POST |
| Enviar Áudio | /v2/api/external/{ApiID}/voice | POST |
| Enviar Base64 | /v2/api/external/{ApiID}/base64 | POST |
| Obter Parâmetros | /v2/api/external/{ApiID}/params/ | GET |
| Mensagem Grupo | /v2/api/external/{ApiID}/group | POST |
| Mídia Grupo URL | /v2/api/external/{ApiID}/groupMediaUrl | POST |
| Template | /v2/api/external/{ApiID}/template | POST |
| Template Body | /v2/api/external/{ApiID}/templateBody | POST |
| Template Marketing | /v2/api/external/{ApiID}/templateMarketingBody | POST |
| Botões WABA | /v2/api/external/{ApiID}/sendButtonWABA | POST |
| Lista WABA | /v2/api/external/{ApiID}/sendListWABA | POST |
| Criar Contato | /v2/api/external/{ApiID}/createContact | POST |
| Buscar Contato | /v2/api/external/{ApiID}/showcontact | POST |
| Atualizar Contato | /v2/api/external/{ApiID}/updateContact | POST |
| Bloquear Contato | /v2/api/external/{ApiID}/blockContact | POST |
| Pesquisar Contato | /v2/api/external/{ApiID}/contacts/search | POST |
| Kanban Contato | /v2/api/external/{ApiID}/updateContactKanban | POST |
| Carteira Contato | /v2/api/external/{ApiID}/updateContactWallet | POST |
| Info Extra (GET) | /v2/api/external/{ApiID}/getContactExtraInfo | GET |
| Info Extra (POST) | /v2/api/external/{ApiID}/updateContactExtraInfo | POST |
| Criar Ticket | /v2/api/external/{ApiID}/createTicket | POST |
| Buscar Ticket | /v2/api/external/{ApiID}/showticket | POST |
| Ticket Chatbot | /v2/api/external/{ApiID}/showticketchatbot | POST |
| Ticket Completo | /v2/api/external/{ApiID}/showallticket | POST |
| Mensagens Ticket | /v2/api/external/{ApiID}/showAllMessages | POST |
| Definir Fila | /v2/api/external/{ApiID}/updatequeue | POST |
| Definir Tag | /v2/api/external/{ApiID}/updatetag | POST |
| Adicionar Tag | /v2/api/external/{ApiID}/addTag | POST |
| Remover Tag | /v2/api/external/{ApiID}/removeTag | POST |
| Atualizar Info Ticket | /v2/api/external/{ApiID}/updateticketinfo | POST |
| Atualizar Canal Ticket | /v2/api/external/{ApiID}/updateTicketChannel | POST |
| Criar Nota | /v2/api/external/{ApiID}/createNotes | POST |
| Atualizar Nota | /v2/api/external/{ApiID}/updateNote | POST |
| Listar Notas | /v2/api/external/{ApiID}/listNotes | GET |
| Enviar Presença | /v2/api/external/{ApiID}/sendPresence | POST |
| Criar Oportunidade | /v2/api/external/{ApiID}/createOpportunity | POST |
| Atualizar Oportunidade | /v2/api/external/{ApiID}/updateOpportunity | POST |
| Excluir Oportunidade | /v2/api/external/{ApiID}/deleteOpportunity | POST |
| Criar Usuário | /v2/api/external/{ApiID}/createUser | POST |
| Atualizar Usuário | /v2/api/external/{ApiID}/updateUser | POST |
| Listar Usuários | /v2/api/external/{ApiID}/listUsers | GET |
| Status Usuário | /v2/api/external/{ApiID}/getUserStatus | GET |
| Listar Canais | /v2/api/external/{ApiID}/listChannels | GET |
| Listar Sessões | /v2/api/external/{ApiID}/listSessions | GET |
| Listar Filas | /v2/api/external/{ApiID}/listQueues | GET |
| Listar Tags | /v2/api/external/{ApiID}/listTags | GET |
| Listar Contatos | /v2/api/external/{ApiID}/listContacts | GET |
| Listar Tickets | /v2/api/external/{ApiID}/listTickets | GET |
| Listar Oportunidades | /v2/api/external/{ApiID}/listOpportunities | GET |
| Buscar Canal (Nome) | /v2/api/external/{ApiID}/showChannel | POST |
| Buscar Canal (ID) | /v2/api/external/{ApiID}/showChannelById | POST |
| Listar Grupos | /v2/api/external/{ApiID}/listGroupInfo | POST |
| Criar Sessão | /v2/api/external/{ApiID}/createtSession | POST |
| Excluir Sessão | /v2/api/external/{ApiID}/deleteSession | POST |
| Iniciar Sessão | /v2/api/external/{ApiID}/startSession | POST |
| QR Code | /v2/api/external/{ApiID}/qrCodeSession | POST |
Compatibilidade
- n8n: >= 1.0.0
- Node.js: >= 18.0.0
