Package Information
Available Nodes
Documentation
n8n-nodes-hundredbug
Pacote de community node para integrar o n8n com a API do CRM 100Bug.
Este pacote foi construído a partir do comportamento observado da API e
documenta apenas formatos genéricos de endpoints. Ele não inclui
credenciais reais, tokens, e-mails, telefones, nomes de leads, nomes de
imóveis ou IDs específicos de conta.
Instalação
Siga o guia oficial do n8n para community nodes:
https://docs.n8n.io/integrations/community-nodes/installation/
Para desenvolvimento local:
npm install
npm run build
Credenciais
Crie uma credencial 100Bug API no n8n com:
- Email: seu e-mail de login do 100Bug
- Password: sua senha do 100Bug
- API Base URL:
https://api.100bug.app
O node faz login via POST /session na execução e usa o JWT retornado
apenas em memória. O token não é retornado no output do node.
Recursos e operações
A UI do node está totalmente em português. Os value internos das
operações são preservados em inglês para não quebrar workflows
existentes.
Contato
- Listar (
GET /contatos) — filtro de servidor apenas por nome
(telefone / e-mail são ignorados pela API) - Obter (
GET /contatos/:id) - Buscar Por Nome (
POST /busca-contatos) - Criar (
POST /contatos)
DELETE
/contatos/:idretorna 500 — endpoint não implementado.
Negociação
- Listar — A API NÃO tem endpoint global. O node itera as fases do
funil informado (1 chamada por fase) e concatena os resultados. Use
com cuidado para funis com muitas fases. - Listar Por Fase (
GET /negocios/:funilId/:faseId) - Obter (
GET /negocios/:id) - Criar (
POST /negocios) - Atualizar (
PUT /negocios/:id)
Campos individuais expostos em Criar/Atualizar: Nome, Valor, Status,
Funil ID, Fase ID, Contatos, Responsáveis, Imóveis Revenda, Imóveis
Lançamento, Tags, Produtos, Origem de Cliente ID, Canal de Cliente ID,
Motivo de Perda ID (update), Tipo de Marcação (update) e um campoCampos Adicionais (JSON) para extensões.
Importante: SEMPRE preencha
Responsáveisao criar. Sem
responsáveis a API cria um registro órfão que não aceita mais PUT
(bug404 E_ROW_NOT_FOUND).
DELETE
/negocios/:idnão existe. Para "excluir" use Atualizar
definindoFase IDpara a fase "Perdeu" +Motivo de Perda ID+Tipo de Marcação = Perdido.
Nota Da Negociação
- Listar (
GET /negocios/notas/:negocio_id) - Criar Nota De Texto (
POST /negocios/notas) - Criar Nota De Imagem (
POST /negocios/notas, multipart) - Atualizar Texto (
PUT /negocios/notas/:id) - Excluir (
DELETE /negocios/notas/:id)
Atividade
- Listar (
GET /atividades) — Filtros locais por ID de negócio e
status (a API ignora todos os filtros de servidor) - Obter (
GET /atividades/:id) - Criar (
POST /atividades) - Atualizar / Vincular (
PUT /atividades/:id) - Excluir (
DELETE /atividades/:id)
Criar/Atualizar expõem campos individuais: Título, Descrição, Status,
Data de Início, Data de Fim, ID do Responsável, Negócios IDs, Contatos
IDs e Campos Adicionais.
POST ignora vínculos (
negocios/contatos). O node faz um PUT
automático em seguida quando esses campos são informados na criação.
GET por ID não traz vínculos — use Listar para verificar.
Arquivo Da Negociação
- Listar (
GET /negocios/:id/arquivos) - Enviar Arquivo (
POST /negocios/:id/arquivos, multipart) - Excluir (
DELETE /negocios/:id/arquivos/:fileId)
O upload lê uma propriedade binária do item de entrada (default data).
Imóvel
- Listar Lançamentos (
GET /imoveis-lancamento) — filtros
individuais validados: Nome, ID do Incorporador, Tipo, Status, Preço
Mínimo/Máximo, Quartos Mínimo/Máximo, Área Mínima/Máxima, Região,
Busca de Endereço, Cidade, Áreas/Bairros (JSON array), Datas de
Abertura e de Lançamento. - Obter Lançamento (
GET /imoveis-lancamento/:id) - Autocompletar Lançamento (
GET /imoveis-lancamento/autocomplete) - Listar Revenda / Aluguel (
GET /imoveis-revenda) — Tipo de
Transação (Aluguel/Revenda), Tipo, Finalidade, Cidade, Nome, Preço
Mín/Máx, Quartos Mín/Máx, Área Mín/Máx, Bairro. - Obter Revenda / Aluguel (
GET /imoveis-revenda/:id) - Autocompletar Revenda / Aluguel (
GET /imoveis-revenda/autocomplete) - Listar Bairros / Áreas (
GET /imoveis-endereco-areas) - Listar Incorporadores (
GET /imoveis-incorporador)
Funil
- Listar (
GET /funis) - Obter (
GET /funis/:id) - Listar Motivos De Perda (
GET /motivos-perda-funis/:funilId)
Catálogo
- Usuário Atual / Preferências do Usuário
- Canais de Cliente / Origens de Cliente / Etiquetas
- Painel / Saúde da API / Notificações / Notificações Não Lidas
- Categorias de Campos Personalizados / Campos Personalizados
- Integrações de Portais / Assinatura de Cobrança
Requisição Customizada
Para endpoints recém descobertos. O node continua tratando login e
Authorization automaticamente. Forneça:
- Método
- Caminho começando com
/ - Parâmetros de Query (JSON)
- Body (JSON) para POST/PUT/PATCH
Observações de segurança
- Não armazene credenciais em JSON de workflow, documentação, mensagens
de commit ou parâmetros do node. Use apenas as credenciais do n8n. - O node redige tokens Bearer das mensagens de erro capturadas antes de
retornar viacontinueOnFail. - O README intencionalmente usa IDs e exemplos genéricos.
Quirks conhecidos da API 100Bug
POST /sessionretorna status201e o token emtoken.token.POST /negociosexige apenasfunis_idefases_id; todos os outros
campos são opcionais. Sempre envieresponsaveispara evitar criar
registros órfãos.POST /negociosaceita silenciosamenteprevisao_fechamento,data_fechamento,motivo_perda_id,origem_leadmas não os
persiste.imoveisLancamentoetagsfuncionam tanto emPOSTquanto emPUT /negocios.- Arrays de vínculo precisam ser
array<number>. Enviar[{ id: 123 }]causa500com vazamento de stack trace. - Filtro
?negocios_id=em/atividadesé ignorado pela API. Use o
filtro local "ID do Negócio" do node. POST /atividadesignoranegocios/contatos. O node faz o PUT de
vínculo automaticamente quando esses campos estão preenchidos.GET /atividades/:idNÃO incluinegocios/contatosvinculados.
Use Listar para inspecionar vínculos.POST /negocios/notasexigenegocio_id(singular). Não envienegocios_id.DELETE /negocios/notas/:idretorna 200 com mensagem (em vez de 204).DELETE /negocios/:idretorna 404 (endpoint não existe). Para
"excluir" use PUT para a fase "Perdeu" commotivo_perda_idetipo_marcacao: "perdido".DELETE /contatos/:idretorna 500 (endpoint não existe).
Compatibilidade
Construído com o n8n node starter usando @n8n/node-cli.
Licença
MIT