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-nuvemshop

v1.1.3

Published

Complete n8n community node for the Nuvemshop API, with AI Agent tool support, all documented resources, pagination, partner actions, custom API calls and webhook triggers.

Readme

n8n-nodes-nuvemshop

Node comunitário do n8n para integrar Nuvemshop e Tiendanube. Inclui um node de ações com campos guiados, uso como Tool de Agente de IA e um Trigger real para webhooks da API oficial.

npm version npm downloads CI license

🧭 Navegação

✨ Funcionalidades

  • 198 operações explícitas organizadas em 36 recursos.
  • Campos guiados e tipados para payloads e filtros comuns.
  • Campos obrigatórios visíveis nas operações principais.
  • JSON avançado opcional para contratos completos e recursos novos.
  • Dropdowns dinâmicos para produtos, variantes, categorias, clientes, cupons, pedidos, locais e webhooks.
  • Defaults seguros: operações de leitura são selecionadas antes de mutações.
  • API estável 2025-03, rotas legadas v1 e operações unstable documentadas.
  • Regiões Brasil/Nuvemshop e internacional/Tiendanube.
  • OAuth, Store API, Partner Actions, paginação, multipart e respostas binárias.
  • Compatibilidade com AI Agent por usableAsTool: true.
  • Registro e remoção automática de webhooks com validação HMAC SHA-256.
  • Sem dependências de runtime.

📦 Instalação

Pela interface do n8n

  1. Abra Settings → Community Nodes.
  2. Clique em Install a community node.
  3. Informe n8n-nodes-nuvemshop.
  4. Confirme a instalação e reinicie o n8n quando solicitado.

Instalação npm self-hosted

cd ~/.n8n
npm install n8n-nodes-nuvemshop

Reinicie o processo ou container do n8n após instalar.

🔐 Credenciais

Crie uma credencial Nuvem Shop API e escolha o tipo conforme o fluxo:

| Tipo | Quando usar | | ------------------------------------ | -------------------------------------------------------------------------------------- | | Store API | Produtos, pedidos, clientes e demais operações de uma loja já autorizada | | App OAuth and Partner Actions | Trocar o authorization code ou executar Partner Actions antes de existir token da loja | | Store and App (Full Integration) | Store API, Partner Actions e Trigger com HMAC na mesma integração |

Configuração passo a passo

  1. No Portal de Parceiros da Nuvemshop, crie ou abra seu aplicativo.
  2. Configure uma URL de redirecionamento HTTPS para receber o code do OAuth.
  3. Copie App ID e Client Secret para uma credencial do tipo App ou Full Integration.
  4. Envie o lojista para a URL de autorização do aplicativo.
  5. Capture o code retornado. Ele expira em cinco minutos.
  6. No node, use Authorization → Exchange Authorization Code.
  7. Copie access_token e user_id da resposta.
  8. Salve access_token como Access Token e user_id como Store ID.
  9. Escolha a região correta e mantenha 2025-03 para operações atuais.
  10. Informe um User-Agent com nome e URL de contato do aplicativo.
  11. Teste a credencial no editor do n8n.

| Campo | Obrigatório | Como preencher | | --------------- | ----------- | ------------------------------------------------------------------ | | Credential Type | Sim | Store, App ou Full Integration | | Access Token | Store/Full | Token OAuth permanente da loja | | Store ID | Store/Full | Valor user_id retornado pelo OAuth | | Region | Sim | Brazil para Nuvemshop; International para Tiendanube | | API Version | Sim | 2025-03 recomendado; v1 ou unstable quando a operação exigir | | User Agent | Sim | Nome do app e e-mail ou URL pública de contato | | App ID | App/Full | ID do aplicativo no Portal de Parceiros | | Client Secret | App/Full | Segredo OAuth, Partner Actions e assinatura do Trigger |

Solicite apenas os escopos usados pelo workflow. Tokens, IDs da loja e segredos ficam na credencial criptografada e nunca devem ser colocados em Body, Query ou $fromAI().

🧩 Nós e operações

O pacote instala:

  • Nuvem Shop — ações da API, paginação, upload e uso como Tool.
  • Nuvem Shop Trigger — recebimento de eventos via webhook.

Cobertura de recursos

| Domínio | Recursos e operações | | ---------- | ---------------------------------------------------------------------------- | | Catálogo | Category, Product, Product Variant, Product Image, custom fields e Metafield | | Comércio | Customer, Coupon, Cart, Abandoned Checkout, Order e Draft Order | | Pagamentos | Transaction, Dispute, Payment Option, Payment Provider e Billing | | Logística | Location, Fulfillment Order, Fulfillment Event, Shipping Carrier e opções | | Conteúdo | Blog, Page, Email Template e Script | | Plataforma | Store, Webhook, Discount, Business Rule, Kit e Authorization | | Avançado | Custom API Call com GET, POST, PUT, PATCH, DELETE e HEAD |

Cada recurso mostra somente operações compatíveis. Operações de leitura são o default sempre que existem. Use Get Many para localizar IDs antes de Update/Delete; não invente ou reutilize IDs de outro tipo de recurso.

📝 Preenchimento guiado

Operações com Body ou filtros apresentam três níveis:

  1. Campos obrigatórios — aparecem diretamente e precisam ser preenchidos.
  2. Additional Fields / Update Fields / Filters — clique em Add Field e escolha somente os dados necessários.
  3. Advanced Body (JSON) / Additional Query Parameters (JSON) — fallback opcional para campos raros ou recém-publicados pela API.

Campos guiados são convertidos automaticamente para os nomes snake_case exigidos pela API. Quando o mesmo campo existir no JSON avançado e na interface guiada, o valor guiado vence.

Valores multilíngues simples usam o idioma escolhido em Content Language (pt, pt_BR, es, es_AR ou en). Para enviar vários idiomas no mesmo campo, use o JSON avançado:

{
	"name": {
		"pt": "Camiseta",
		"es": "Remera",
		"en": "T-Shirt"
	}
}

Arrays simples, como IDs de categorias, podem ser informados separados por vírgula. Objetos complexos, variantes, imagens e produtos de um pedido usam um campo JSON dedicado com exemplo visível.

🚀 Exemplos

Criar um produto

  1. Selecione Product → Create.
  2. Preencha Name.
  3. Em Additional Fields, adicione Published, Brand, Categories, Variants ou Images.
  4. Use Category → Get Many para obter IDs de categorias.
  5. Execute e guarde o ID do produto retornado.

Exemplo do campo Variants:

[
	{
		"values": [{ "pt": "M" }],
		"price": "79.90",
		"stock_management": true,
		"stock": 25,
		"sku": "CAM-M"
	}
]

Criar e confirmar um pedido rascunho

  1. Use Product → Get by SKU ou Get Many para localizar a variante.
  2. Use Draft Order → Create e preencha contato, pagamento e Products.
  3. Revise totais e itens com Draft Order → Get.
  4. Confirme somente após revisão humana com Draft Order → Confirm.

Atualizar pedido com segurança

  1. Use Order → Get Many com filtros de status/data.
  2. Escolha o pedido pelo dropdown ou passe o ID retornado por expressão.
  3. Consulte Order → Get antes da alteração.
  4. Use Update, Cancel, Close ou Edit somente com validação do estado atual.

🤖 Tool de IA

O node de ações define usableAsTool: true. Não existe um node Tool separado.

Habilitar community nodes como tools

Em instalações self-hosted, defina:

N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true

| Instalação | Onde definir | | ----------------------- | --------------------------------------------------------- | | Docker / docker-compose | Em environment: ou no .env; depois recrie o container | | npm / npx | Exporte a variável antes de executar n8n start | | n8n Cloud | Disponível nos planos que suportam community nodes |

Sem essa variável, o Nuvem Shop pode não aparecer no conector Tool do AI Agent.

Configuração recomendada

  1. Adicione um AI Agent e conecte um Chat Model.
  2. No conector Tool, adicione Nuvem Shop.
  3. Escolha um único Resource e Operation por node.
  4. Dê um nome estreito, como NuvemShop_Get_Product.
  5. Fixe campos de segurança e deixe para a IA apenas parâmetros operacionais.

Use o botão Let the model define this ou uma expressão $fromAI():

{{ $fromAI('sku', 'SKU exato da variante, por exemplo CAM-M', 'string') }}

Assinatura: $fromAI(key, description?, type?, defaultValue?). Tipos aceitos: string, number, boolean e json.

Boas práticas:

  • Exponha somente operações necessárias ao agente.
  • Use credencial dedicada com menor privilégio.
  • Nunca permita que o modelo invente IDs.
  • Este node não impõe aprovação automaticamente. Adicione uma etapa externa de revisão humana antes de Delete, Cancel, pagamentos, disputas, estoque, preço, fulfillment e publicação.
  • O Nuvem Shop Trigger não é uma Tool; triggers não podem ser conectados ao AI Agent.

🪝 Webhook Trigger

O Nuvem Shop Trigger registra webhooks ao ativar o workflow e remove os registros ao desativá-lo.

  1. Crie uma credencial Full Integration com Client Secret.
  2. Adicione o Trigger e selecione os eventos.
  3. Ative Verify HMAC Signature.
  4. Use uma URL de produção HTTPS; localhost não é aceito.
  5. Ative o workflow para registrar os webhooks.

Famílias suportadas: app, category, customer, order, product, product variant, custom field, domain, subscription, fulfillment, fulfillment order, label, tracking event e location.

Eventos de privacidade são configurados no Portal de Parceiros:

  • store/redact
  • customers/redact
  • customers/data_request

Copie a Production URL do Trigger para o evento correspondente. A assinatura usa o header x-linkedstore-hmac-sha256 e o Client Secret. Eventos podem chegar repetidos ou fora de ordem; faça workflows idempotentes.

📚 Paginação e limites

  • Return All percorre as páginas automaticamente.
  • Limit restringe o total de itens retornados.
  • O node usa páginas de até 200 itens e intervalo de 500 ms.
  • Consultas de pedidos podem ser limitadas a 10.000 resultados; use datas incrementais.
  • Para 429, respeite o tempo de retry e evite repetir escritas não idempotentes.

🔧 Custom API Call

Use quando a Nuvemshop publicar uma rota antes da atualização deste pacote ou quando uma API restrita for liberada para seu aplicativo.

  • Endpoint sempre relativo, por exemplo /products.
  • Domínios externos, traversal, barras invertidas e caracteres de controle são bloqueados.
  • Store scope usa Store ID e Access Token.
  • Partner App scope usa App ID e Client Secret.
  • Suporta JSON, multipart e arquivo binário.

🧯 Solução de problemas

| Sintoma | Verificação | | ---------------------------------- | ------------------------------------------------------------------------- | | Node não aparece como Tool | Configure N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true e reinicie o n8n | | 401 Unauthorized | Confira Access Token, região e tipo da credencial | | 403 Forbidden | Confirme os escopos concedidos ao aplicativo | | 400 Bad Request | Revise campos obrigatórios, User-Agent e formato do Body | | 404 Not Found | Confira Store ID, versão da API e ID do recurso | | 429 Too Many Requests | Aguarde o retry e reduza concorrência/paginação | | Dropdown vazio | Preencha primeiro o recurso pai ou use uma expressão com ID confiável | | Trigger não ativa | Use URL HTTPS pública e credencial Full Integration | | Assinatura HMAC falha | Confira Client Secret e se o proxy preserva body/header originais | | Evento de privacidade não registra | Configure o evento diretamente no Portal de Parceiros |

🛠️ Desenvolvimento

Requer Node.js 24 para o toolchain do repositório.

npm ci
npm run lint
npm test
npm run build
npm pack --dry-run

Use npm run dev para carregar o node em uma instância local do n8n.

✅ Compatibilidade

  • n8nNodesApiVersion 1.
  • Node.js 24 no desenvolvimento e publicação.
  • API 2025-03 como padrão.
  • Rotas v1 e unstable selecionadas por operação quando necessário.
  • Nuvemshop Brasil e Tiendanube internacional.

📚 Recursos

📈 Versões

  • 1.1.0 — campos guiados, filtros, dropdowns ampliados, defaults seguros e documentação pt-BR otimizada para AI Tools.
  • 1.0.0 — primeira versão pública com 198 operações, paginação, Partner Actions, Custom API Call e Trigger HMAC.

Consulte o CHANGELOG para detalhes técnicos.

🆘 Suporte

  1. Confira credencial, região, API Version e escopos.
  2. Execute a operação Get antes de mutações para validar IDs e estado.
  3. Consulte os logs do n8n e a mensagem retornada pela API.
  4. Abra uma issue no GitHub com versão do n8n, operação e erro sem incluir tokens.

📄 Licença

MIT

Nuvemshop e sua marca pertencem aos respectivos titulares. Este pacote comunitário não é um produto oficial da Nuvemshop.