@gbastian/n8n-nodes-knack
v0.8.1
Published
n8n node for Knack API integration
Readme
n8n-nodes-knack
Este é um node customizado para o n8n que permite integração com a API do Knack.
Recursos Implementados
Credenciais
- Application ID: ID da aplicação Knack
- API Key: Chave de API do Knack
- API URL: URL base da API (padrão: https://api.knack.com/v1)
Operações Disponíveis
Create Record
Cria um novo registro em um objeto Knack.
Parâmetros:
- Object: Seleção do objeto Knack
- Fields: Campos e valores para o novo registro
- Seleção dinâmica de campos disponíveis
- Conversão automática de nomes para chaves de campo
Delete Record
Exclui um registro específico.
Parâmetros:
- Object: Seleção do objeto Knack
- Record ID: ID do registro a ser excluído
Get Record
Busca um registro específico por ID.
Parâmetros:
- Object: Seleção do objeto Knack
- Record ID: ID do registro a ser recuperado
Search Records
Busca registros em um objeto do Knack com suporte a filtros avançados.
Parâmetros:
- Object: Seleção do objeto Knack
- Filters: Sistema de filtros com suporte a múltiplas condições
- Match: AND (todas as condições) ou OR (qualquer condição)
- Conditions: Lista de condições de filtro
- Field: Seleção dinâmica do campo baseado no objeto escolhido
- Operator: Operador de comparação (muda dinamicamente baseado no tipo do campo)
- Value: Valor para comparação
Novidades na v0.3.0:
- Adicionada operação GET para buscar registro por ID
- Implementado ícone oficial do Knack
- Mapeamento de campos também na operação GET
Novidades na v0.2.4:
- Correção do ícone do node (agora usa Font Awesome)
- Simplificação da lógica de operadores dinâmicos
- Adição de suporte para mais tipos de campo (auto_increment, image, file, date)
- Melhor tratamento de erros
Novidades na v0.2.3:
- Correção dos operadores dinâmicos baseados no tipo de campo selecionado
- Tipo do campo agora é incluído no valor do dropdown para garantir operadores corretos
- Melhor mapeamento dos tipos de campo do Knack para operadores
Novidades na v0.2.2:
- Correção na exibição dos nomes dos campos (agora usa field.label)
- Correção dos operadores dinâmicos nos filtros
- Melhor tratamento da resposta da API do Knack
Novidades na v0.2.1:
- Seleção dinâmica de objetos (dropdown com todos os objetos do app)
- Campos no output agora mostram nomes legíveis ao invés de field keys
- Seleção dinâmica de campos nos filtros
- Operadores de filtro ajustam-se automaticamente ao tipo do campo selecionado
- Opção para incluir field keys originais no output (includeFieldKeys)
Update Record
Atualiza um registro existente.
Parâmetros:
- Object: Seleção do objeto Knack
- Record ID: ID do registro a ser atualizado
- Fields: Campos e valores para atualizar
- Seleção dinâmica de campos disponíveis
- Conversão automática de nomes para chaves de campo
Funcionalidades Adicionais
Opções para Search:
- Page: Número da página para paginação
- Rows Per Page: Número de registros por página (máximo 1000)
- Sort Field: Campo para ordenação
- Sort Order: Ordem de classificação (asc/desc)
Tipos de Campos Suportados
O node suporta filtros inteligentes baseados no tipo de campo:
- Texto: short_text, paragraph_text, rich_text
- Números: number, currency
- Data/Hora: date_time
- Booleano: boolean
- Escolha: multiple_choice
- Email: email
- Conexão: connection
- Endereço: address
- Nome: name
- Telefone: phone
Cada tipo de campo tem operadores específicos disponíveis. Por exemplo:
- Campos de texto: is, is not, contains, starts with, ends with, etc.
- Campos numéricos: is, is not, greater than, less than, etc.
- Campos de data: is, before, after, during current/previous/next period, etc.
Instalação
- Clone este repositório na pasta de nodes customizados do n8n
- Execute
npm installpara instalar dependências - Execute
npm run buildpara compilar o TypeScript - Reinicie o n8n
Uso
- Configure as credenciais do Knack no n8n
- Adicione o node Knack ao seu workflow
- Selecione a operação "Search Records"
- Configure os filtros conforme necessário
- Execute o workflow
Exemplo de Filtro
Para buscar registros onde:
- O campo "status" é "active" E
- O campo "created_date" está nos últimos 30 dias:
- Set Match to "AND"
- Add first condition:
- Field: field_1 (status)
- Field Type: short_text
- Operator: is
- Value: active
- Add second condition:
- Field: field_2 (created_date)
- Field Type: date_time
- Operator: is during the previous
- Date Range: Days = 30
