@wondai/n8n-nodes-nucleo 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -214,7 +214,7 @@ class Nucleo {
214
214
  name: "Alterar",
215
215
  value: "alterar",
216
216
  action: "Alterar pedido",
217
- description: "Altera data/observações/itens (adicionar, remover, mudar quantidade)",
217
+ description: "Altera data/observações/itens. Itens por PRODUTO (adicionar soma, ajustar +/-, definir, remover produto) ou por id de item (compat).",
218
218
  },
219
219
  {
220
220
  name: "Cancelar",
@@ -404,6 +404,30 @@ class Nucleo {
404
404
  description: 'Muda a quantidade de itens já existentes: [{"item_id":"...","quantidade":4}]. Os IDs vêm do Detalhar. Trocar item = remover + adicionar. Vazio = não altera.',
405
405
  displayOptions: { show: { resource: ["pedido"], operation: ["alterar"] } },
406
406
  },
407
+ {
408
+ displayName: "Ajustar Itens por Produto (JSON)",
409
+ name: "ajustarItens",
410
+ type: "json",
411
+ default: "[]",
412
+ description: 'Ajuste relativo POR PRODUTO (o cliente não sabe id de item): [{"produto_id":"...","quantidade_delta":7}] soma; -5 subtrai; resultado ≤ 0 remove a linha. produto_id vem do Catálogo Resolver. Vazio = não ajusta.',
413
+ displayOptions: { show: { resource: ["pedido"], operation: ["alterar"] } },
414
+ },
415
+ {
416
+ displayName: "Definir Itens por Produto (JSON)",
417
+ name: "definirItens",
418
+ type: "json",
419
+ default: "[]",
420
+ description: 'Quantidade absoluta POR PRODUTO: [{"produto_id":"...","quantidade":5}] deixa a linha com 5; 0 remove. produto_id vem do Catálogo Resolver. Vazio = não define.',
421
+ displayOptions: { show: { resource: ["pedido"], operation: ["alterar"] } },
422
+ },
423
+ {
424
+ displayName: "Remover Produtos (produto_ids)",
425
+ name: "removerProdutoIds",
426
+ type: "string",
427
+ default: "",
428
+ description: "produto_ids a remover do pedido (todas as linhas do produto), separados por vírgula ou JSON array. Use para 'tirar os X' e para a troca. produto_id vem do Catálogo Resolver.",
429
+ displayOptions: { show: { resource: ["pedido"], operation: ["alterar"] } },
430
+ },
407
431
  {
408
432
  displayName: "Motivo",
409
433
  name: "motivo",
@@ -523,6 +547,9 @@ class Nucleo {
523
547
  const adicionar = asArray(this.getNodeParameter("adicionarItens", i, "[]"));
524
548
  const remover = parseIds(this.getNodeParameter("removerItemIds", i, ""));
525
549
  const alterar = asArray(this.getNodeParameter("alterarItens", i, "[]"));
550
+ const ajustar = asArray(this.getNodeParameter("ajustarItens", i, "[]"));
551
+ const definir = asArray(this.getNodeParameter("definirItens", i, "[]"));
552
+ const removerProdutos = parseIds(this.getNodeParameter("removerProdutoIds", i, ""));
526
553
  const b = {};
527
554
  if (observacoes.trim())
528
555
  b.observacoes = observacoes.trim();
@@ -534,6 +561,12 @@ class Nucleo {
534
561
  b.remover_item_ids = remover;
535
562
  if (alterar.length)
536
563
  b.alterar_itens = alterar;
564
+ if (ajustar.length)
565
+ b.ajustar_itens = ajustar;
566
+ if (definir.length)
567
+ b.definir_itens = definir;
568
+ if (removerProdutos.length)
569
+ b.remover_produto_ids = removerProdutos;
537
570
  method = "PATCH";
538
571
  path = `/api/v1/agent/pedido/${encodeURIComponent(pedidoId)}`;
539
572
  bodyObj = b;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wondai/n8n-nodes-nucleo",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Node n8n para o Núcleo Wondai — atendimento de IA (cliente, catálogo fuzzy, pedidos) com assinatura HMAC v1. Tenant vem do token (a parede, ADR-013).",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",