npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-tcplus

v0.6.0

Published

Nodes nativos n8n para a 3C Plus (telefonia do Grupo 3C): agent/dial/qualify, mailing, campaigns, calls e trigger de webhook call-history.

Downloads

896

Readme

n8n-nodes-tcplus

Nodes nativos n8n para a 3C Plus (plataforma de telefonia do Grupo 3C). Substitui o copia-cola de nós Code/HTTP entre os clientes — os gotchas validados em produção (CLAUDE.md) já vêm embutidos.

O que vem

  • Credencial 3C Plus APIapi_token (não expira) ou Bearer (12h); injeção automática na query ou no header (gotcha #2). Teste via GET /me.
  • Node 3C Plus (Resource + Operation) — pensado como integração CRM: tudo apontável, nada de caçar ID.
    • Mailing (núcleo): Subir Mailing (mailing_sync.json, single ou lote com chunk + relatório imported/filtered[].motive, gotcha #17) — campanha e lista por dropdown, com opção de criar lista nova na hora / Criar Lista / Remover do Mailing
    • Chamada: Classificar (call-history → bucket canônico, transformação pura) / Buscar por SID (poll de qualificação pré-ACW)
    • Agente: Listar Agentes (id/nome/email/ramal, sem api_token — gotcha #11) / Casar de-para com CRM (mapa agent_id 3C → ID do CRM por e-mail, fim do SDR_MAP na mão; reporta não-casados)
    • Campanha (setup): Screen-Pop URL / Peso da Lista (gotcha #20) — roda 1x por campanha

Dropdowns dinâmicos. Campanha, lista (encadeada à campanha) e qualificação são carregadas da API (GET /campaigns, /campaigns/{id}/lists, /lists/qualifications) — você escolhe pelo nome, o node resolve o ID.

Sem Resource Agent (desde v0.4). Login/dial/hangup/qualify são operação de softphone em tempo real, não integração CRM — discagem/eventos vivem no Socket.IO / extensão click2call.

Sem Trigger por design. Eventos via Socket.IO (relay → Webhook node nativo do n8n).

Gotchas embutidos

| # | Onde | |---|---| | #2 auth dupla (query / Bearer) | credencial | | #6 erros em 2 formatos | shared/errors.ts | | #17 mailing_sync.json (array, phone 11 díg) + chunk + parse de filtered[].motive | Mailing > Upload | | #18 204 ≠ concluído | avisos nas ações de Agent | | #20 peso da lista > 0 | Campaign > Set List Weight | | #9/#22/#24 classificação por qualification > status_id > hangup_cause | shared/classify.ts (reaproveitável em Code nodes) |

Não resolvido por design: listener Socket.IO 24/7 (n8n não mantém conexão persistente). Use /webhook_events apontando para o Trigger, ou um relay Socket.IO → URL do Trigger.

204 ≠ concluído (gotcha #18): as ações de Agent retornam 204 (aceito, assíncrono). Confirme o efeito real pelo evento correspondente no Trigger antes de seguir.

Build & instalação (n8n auto-hospedado)

npm install
npm run build        # compila TS -> dist/ e copia ícones

Instalar no nosso n8n:

  • Via UI: Settings → Community Nodes → Install → n8n-nodes-tcplus (após publicar/empacotar).
  • Via volume (Docker): montar o dist/ em ~/.n8n/custom/n8n-nodes-tcplus e reiniciar.
  • Via npm link (dev local):
    npm link
    cd ~/.n8n/custom && npm link n8n-nodes-tcplus

Não precisa publicar no NPM — tudo roda no n8n-produto.3c.plus. Versionar o repo Git interno basta.

Status

0.1.0 — v1 com Agent/Call/Campaign/Mailing/Trigger. Não testado em runtime n8n ainda (faltam: instalar deps, npm run build, smoke test num workflow real).