n8n-nodes-digisac 1.0.0 → 1.0.2

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.
package/README.md CHANGED
@@ -2,145 +2,322 @@
2
2
 
3
3
  [![CI](https://github.com/PedroHSGuimaraes/n8n-nodes-digisac/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/PedroHSGuimaraes/n8n-nodes-digisac/actions/workflows/ci.yml)
4
4
 
5
- n8n community node for the **Digisac API**. It exposes every request published in the public Postman documentation as one AI-ready n8n node.
5
+ Node community do [n8n](https://n8n.io/) para integrar workflows com a **API da Digisac**. O pacote expõe em um único node todas as chamadas publicadas na documentação Postman da Digisac: contatos, chamados, mensagens, campanhas, conexões, departamentos, usuários, tags, templates, webhooks, relatórios, estatísticas, agendamentos e demais recursos operacionais.
6
6
 
7
- The package follows the same structure used by `n8n-nodes-clinicorp`: one action node, one credential, TypeScript source, no runtime dependencies, CI, and npm publishing through GitHub Actions with provenance.
7
+ O projeto segue o mesmo padrão usado no `n8n-nodes-clinicorp`: um node de ação, uma credencial, TypeScript, catálogo gerado a partir da documentação da API, build validado por CI, publicação no npm via GitHub Actions e suporte a uso como Tool de Agente de IA.
8
8
 
9
- ## Features
9
+ ## Funcionalidades
10
10
 
11
- - **Complete Postman coverage**: the build step reads the public Digisac Postman collection and generates a catalog with all documented API calls.
12
- - **One intuitive node**: choose **Resource -> Operation**, then fill path parameters, optional query JSON, and request body JSON.
13
- - **Bearer credentials**: store Base URL and Access Token once in the credential.
14
- - **AI Agent ready**: `usableAsTool: true`, operation descriptions include method, path, source folder, required path parameters, query placeholders, and body guidance.
15
- - **Safe defaults for LLMs**: required path IDs are explicit fields; query placeholders are skipped unless filled; additional query/body data must be JSON.
16
- - **Publish ready**: GitHub Actions workflow publishes to npm with `npm publish --provenance --access public`.
11
+ - **Cobertura completa da documentação**: 298 chamadas da coleção pública Postman da Digisac, organizadas em 51 recursos no n8n.
12
+ - **Node único e intuitivo**: selecione **Resource -> Operation**, preencha campos simples de path, query e body, e execute.
13
+ - **Credencial centralizada**: Base URL e Bearer Token ficam salvos uma única vez na credencial `Digisac API`.
14
+ - **Pronto para AI Agent**: o node tem `usableAsTool: true` e descrições pensadas para LLMs entenderem método, caminho, parâmetros, IDs, filtros, campos de body e quando usar JSON avançado.
15
+ - **Sem dependências runtime**: usa `httpRequestWithAuthentication` do próprio n8n.
16
+ - **Catálogo rastreável**: `nodes/Digisac/generated/endpoints.ts` é gerado da documentação Postman; `docs/api-calls.md` lista todas as chamadas em português.
17
+ - **Publicação segura**: GitHub Actions publica no npm com provenance.
17
18
 
18
- ## Installation
19
+ ## Instalação
19
20
 
20
- In n8n, go to **Settings -> Community Nodes -> Install** and enter:
21
+ No n8n, acesse **Settings -> Community Nodes -> Install** e instale:
21
22
 
22
23
  ```text
23
24
  n8n-nodes-digisac
24
25
  ```
25
26
 
26
- For AI Agent tool usage with self-hosted n8n, enable community nodes as tools:
27
+ Para usar community nodes como Tools de Agente de IA em n8n self-hosted, habilite:
27
28
 
28
29
  ```bash
29
30
  N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
30
31
  ```
31
32
 
32
- ## Credentials
33
+ Sem essa variável, o node pode funcionar como node normal, mas não aparecer como tool no AI Agent em instalações self-hosted.
33
34
 
34
- Create a **Digisac API** credential:
35
+ ## Credenciais
35
36
 
36
- | Field | Description |
37
- | --- | --- |
38
- | Base URL | Base URL shown in Digisac under **Account -> Information**. Example: `https://your-company.digisac.app`. |
39
- | Access Token | Bearer token generated in **Account -> API -> Personal access tokens**. |
40
- | PDF/Base URL | Optional base for endpoints documented as `URLbase`, such as ticket PDF exports. Leave empty to reuse Base URL. |
37
+ Crie uma credencial chamada **Digisac API**.
38
+
39
+ | Campo | O que preencher | Onde encontrar |
40
+ | --- | --- | --- |
41
+ | **Base URL** | URL base da sua conta Digisac, sem barra final. Exemplo: `https://suaempresa.digisac.app`. | Digisac -> Conta -> Informações |
42
+ | **Access Token** | Token Bearer de acesso pessoal. | Digisac -> Conta -> API -> Tokens de acesso pessoal |
43
+ | **PDF/Base URL** | Base opcional para endpoints documentados como `URLbase`, principalmente export de PDF. Se vazio, o node reutiliza a Base URL. | Use só se sua instância separar URL de API e URL de PDF |
41
44
 
42
- The credential test calls:
45
+ A credencial testa o acesso com:
43
46
 
44
47
  ```http
45
48
  GET /api/v1/me
46
49
  ```
47
50
 
48
- ## Node Usage
51
+ ## Como usar o node
52
+
53
+ 1. Adicione o node **Digisac** no workflow.
54
+ 2. Escolha o **Resource**. O resource corresponde a uma pasta da documentação, como `Contatos`, `Mensagens`, `Chamados`, `Campanhas`, `Tags`, `Usuários`, `Webhooks`.
55
+ 3. Escolha a **Operation**. Cada operation corresponde a uma chamada real da API.
56
+ 4. Preencha os campos obrigatórios de path, como `contactId`, `ticketId`, `serviceId`, `messageId`, `userId`, `campaignId`.
57
+ 5. Preencha os campos de query que aparecerem, como `Per Page`, `Number`, `Service Id`, `Start Period`, `End Period`, `Status`.
58
+ 6. Em chamadas `POST`, `PUT` e `PATCH`, use **Campos do Body**. O node gera esses campos a partir do body documentado pela Digisac.
59
+ 7. Use **Body JSON Avançado** somente quando a operação exigir array, objeto livre ou uma estrutura que não coube nos campos gerados.
60
+ 8. Use **Options -> Query Avançada JSON** somente para filtros muito específicos não representados por campos.
61
+ 9. Em exports CSV/TXT/PDF, se a resposta não vier como JSON, use **Options -> Response Format -> Text**.
62
+
63
+ ## Campos principais do node
64
+
65
+ | Campo | Uso |
66
+ | --- | --- |
67
+ | **Resource** | Área funcional da API Digisac, gerada a partir das pastas Postman. |
68
+ | **Operation** | Chamada exata da API. A descrição mostra método, endpoint, origem na documentação e placeholders. |
69
+ | **Path Parameters** | Campos obrigatórios extraídos de placeholders como `{{contactId}}`. |
70
+ | **Campos de query** | Campos simples gerados a partir da URL documentada. Exemplos: `Per Page`, `Number`, `Service Id`, `From`, `To`, `Type`. |
71
+ | **Campos do Body** | Coleção de campos gerada a partir do body documentado para operações de escrita. Use antes de qualquer JSON manual. |
72
+ | **Use Body JSON Avançado** | Toggle para liberar um editor JSON quando a chamada precisa de array, objeto livre ou payload muito específico. |
73
+ | **Options -> Query Avançada JSON** | Objeto JSON livre mesclado na query string. Use apenas quando a chamada precisar de filtro não representado por campo. |
74
+ | **Options -> Response Format** | Use `Text` para exportações CSV/TXT/PDF ou respostas que não retornam JSON. |
75
+
76
+ ## Exemplos práticos
77
+
78
+ ### Listar contatos
79
+
80
+ Resource: **Contatos (General)**
81
+ Operation: **Listar todos os contatos**
82
+
83
+ Preencha:
84
+
85
+ - `Per Page`: `40`
86
+
87
+ ### Buscar contato por número em uma conexão
88
+
89
+ Resource: **Contatos (General)**
90
+ Operation: **Buscar contato por numero de uma conexao especifica**
91
+
92
+ Preencha:
93
+
94
+ - `Number`: número ou parte do número
95
+ - `Service Id`: ID da conexão
96
+
97
+ ### Enviar mensagem
98
+
99
+ Resource: **Mensagens (General)**
100
+ Operation: **Enviar mensagem**
101
+
102
+ Em **Campos do Body**, preencha:
103
+
104
+ - `Text`: `Olá, tudo bem?`
105
+ - `Type`: `chat`
106
+ - `Contact Id`: `CONTACT_ID`
107
+ - `User Id`: `USER_ID`
108
+ - `Origin`: `bot`
49
109
 
50
- 1. Add the **Digisac** node.
51
- 2. Select a **Resource**. Resources are generated from the Postman folders, for example Contacts, Tickets, Messages, Campaigns, Services, Departments, Users, Tags, Webhooks and Reports.
52
- 3. Select an **Operation**. Each operation maps to one documented API request.
53
- 4. Fill required path parameters such as `contactId`, `ticketId`, `serviceId`, `userId`, or `messageId`.
54
- 5. Add optional **Additional Query Parameters JSON** for filters, pagination, and complex Digisac `query` objects.
55
- 6. Add **Request Body JSON** for POST, PUT, and PATCH operations.
110
+ ### Enviar arquivo por mensagem
56
111
 
57
- Example body for sending a message:
112
+ Resource: **Mensagens (General)**
113
+ Operation: **Enviar imagem**, **Enviar PDF** ou **Enviar áudio**
114
+
115
+ Use **Campos do Body** para `Text`, `Number` e `Service Id`. No campo `File`, informe um JSON com base64, mimetype e nome:
58
116
 
59
117
  ```json
60
118
  {
61
- "text": "Hello",
62
- "type": "chat",
119
+ "type": "file",
63
120
  "contactId": "CONTACT_ID",
64
- "userId": "USER_ID",
65
- "origin": "bot"
121
+ "serviceId": "SERVICE_ID",
122
+ "file": {
123
+ "base64": "BASE64_DO_ARQUIVO",
124
+ "mimetype": "application/pdf",
125
+ "name": "documento.pdf"
126
+ }
66
127
  }
67
128
  ```
68
129
 
69
- Example query JSON for a contact-specific ticket lookup:
130
+ ### Buscar chamados de um contato
131
+
132
+ Resource: **Chamados (General)**
133
+ Operation: **Buscar chamados do contato**
134
+
135
+ Preencha:
136
+
137
+ - `Contact Id`: `CONTACT_ID`
138
+
139
+ ### Transferir chamado
140
+
141
+ Resource: **Chamados (General)**
142
+ Operation: **Transferência de chamado**
143
+
144
+ Path:
145
+
146
+ - `Contact Id`: ID do contato
147
+
148
+ Body:
149
+
150
+ - `Department Id`: `DEPARTMENT_ID`
151
+ - `User Id`: `USER_ID`
152
+ - `Comments`: `Transferido pelo fluxo do n8n`
153
+
154
+ ### Fechar chamado com assunto
155
+
156
+ Resource: **Chamados (General)**
157
+ Operation: **Fechar um chamado com assunto**
158
+
159
+ Em **Campos do Body**, preencha `Ticket Topic Ids` com:
70
160
 
71
161
  ```json
72
- {
73
- "where[contactId]": "CONTACT_ID",
74
- "perPage": 40
75
- }
162
+ ["TICKET_TOPIC_ID"]
76
163
  ```
77
164
 
78
- For complex Digisac ORM-style filters, pass the `query` key as an object:
165
+ ### Buscar estatísticas de atendimento
166
+
167
+ Resource: **Estatísticas de atendimento (General)**
168
+ Operation: **Buscar estatísticas com todos os filtros ativos**
169
+
170
+ Preencha os campos de query:
171
+
172
+ - `Start Period`: `2026-07-01T00:00:00.000Z`
173
+ - `End Period`: `2026-07-31T23:59:59.999Z`
174
+ - `Department Id`: `all`
175
+ - `User Id`: `all`
176
+ - `Period Type`: `open` ou `close`
177
+ - `Status`: `all`, `open` ou `close`
178
+
179
+ ### Criar webhook
180
+
181
+ Resource: **Webhooks (General)**
182
+ Operation: **Criar webhook**
183
+
184
+ Em **Campos do Body**, preencha `Active`, `Name`, `Url`, `Events` e `Type`. Para `Events`, use array JSON:
79
185
 
80
186
  ```json
81
- {
82
- "query": {
83
- "where": {
84
- "contactId": "CONTACT_ID"
85
- },
86
- "perPage": 50
87
- }
88
- }
187
+ ["message.created", "ticket.closed"]
89
188
  ```
90
189
 
91
- ## AI Agent Tool Guidance
190
+ ## Todas as chamadas da API
92
191
 
93
- The node can be connected to n8n's **AI Agent** as a tool. Use one Digisac tool per allowed operation when possible. This limits the model's action surface and improves parameter quality.
192
+ O catálogo completo fica em [docs/api-calls.md](docs/api-calls.md).
94
193
 
95
- Recommended system guidance for an agent:
194
+ Resumo por método:
96
195
 
97
196
  ```text
98
- Use Digisac tools only when the user asks to read or change Digisac data.
99
- Never invent IDs. If a contactId, ticketId, departmentId, serviceId, userId, messageId, tagId, campaignId, or templateId is missing, first call a list/search operation to find it.
100
- For POST/PUT/PATCH operations, build a minimal JSON body using only fields needed for the requested action.
101
- For date filters, use ISO-8601 strings when the endpoint expects timestamps.
102
- For exports, set Response Format to Text if the response is not JSON.
197
+ GET: 144 | POST: 93 | PUT: 34 | PATCH: 1 | DELETE: 26
103
198
  ```
104
199
 
105
- When using `$fromAI()`, make descriptions specific:
200
+ Resumo por recurso:
201
+
202
+ | Recurso | Chamadas |
203
+ | --- | ---: |
204
+ | Acionamento flag no robo (General) | 1 |
205
+ | Agendamentos (General) | 5 |
206
+ | Agora (General) | 3 |
207
+ | Agora (Popular) | 3 |
208
+ | Assuntos de chamado (General) | 5 |
209
+ | Auditoria de autenticacao (General) | 2 |
210
+ | Autorizacao (General) | 1 |
211
+ | Autorizacao (Popular) | 1 |
212
+ | Avaliacoes (General) | 5 |
213
+ | Campanhas (General) | 7 |
214
+ | Campos personalizados (General) | 5 |
215
+ | Cargos (General) | 7 |
216
+ | Central de notificacoes (General) | 2 |
217
+ | Chamados (General) | 7 |
218
+ | Chamados (Popular) | 6 |
219
+ | Conexoes (General) | 11 |
220
+ | Contatos (General) | 22 |
221
+ | Contatos (Popular) | 22 |
222
+ | Controle de ausencia (General) | 1 |
223
+ | Creditos SMS (General) | 3 |
224
+ | Departamentos (General) | 6 |
225
+ | Distribuicao de chamados (General) | 6 |
226
+ | Estatisticas de atendimento (General) | 10 |
227
+ | Estatisticas de atendimento (Popular) | 7 |
228
+ | Estatisticas de avaliacoes (General) | 7 |
229
+ | Feriados (General) | 5 |
230
+ | Funil de vendas (General) | 10 |
231
+ | Grupos WhatsApp (General) | 4 |
232
+ | Historico de chamados (General) | 12 |
233
+ | Historico de chamados (Popular) | 9 |
234
+ | Idioma da plataforma (General) | 1 |
235
+ | Integracoes (General) | 2 |
236
+ | Mensagens (General) | 13 |
237
+ | Mensagens (Popular) | 8 |
238
+ | Mensagens interativas (General) | 7 |
239
+ | Meus dados (General) | 1 |
240
+ | Notificacao (General) | 3 |
241
+ | Organizacoes (General) | 5 |
242
+ | Pessoas (General) | 5 |
243
+ | Planos (General) | 2 |
244
+ | Redefinir senha (General) | 1 |
245
+ | Respostas rapidas (General) | 7 |
246
+ | Robos (General) | 6 |
247
+ | Tags (General) | 8 |
248
+ | Templates (General) | 11 |
249
+ | Termos de aceite (General) | 5 |
250
+ | Tokens (General) | 5 |
251
+ | Usuarios (General) | 6 |
252
+ | Versoes (General) | 1 |
253
+ | Webhooks (General) | 5 |
254
+ | WhatsApp (General) | 1 |
255
+
256
+ ## Uso como Tool de Agente de IA
257
+
258
+ O node pode ser conectado ao **AI Agent** do n8n como uma tool. A prática recomendada é criar uma tool por operação liberada para o agente. Isso limita o escopo do modelo e reduz risco de ações erradas.
259
+
260
+ ### Prompt recomendado para o System Message
106
261
 
107
- ```javascript
108
- {{ $fromAI('contactId', 'Existing Digisac contact ID. Must come from a previous contacts lookup, never guessed.', 'string') }}
262
+ ```text
263
+ Você pode usar as tools Digisac somente quando o usuário pedir para consultar, criar ou alterar dados na Digisac.
264
+ Nunca invente IDs. Se faltar contactId, ticketId, departmentId, serviceId, userId, messageId, tagId, campaignId ou templateId, primeiro use uma operação de listagem ou busca.
265
+ Para operações POST, PUT e PATCH, envie um body JSON mínimo, somente com os campos necessários.
266
+ Quando a tool expuser Campos do Body, preencha os campos dedicados em vez de gerar um JSON manual.
267
+ Use Body JSON Avançado ou Query Avançada JSON apenas quando não existir campo dedicado suficiente para a chamada.
268
+ Para filtros de data/hora, use ISO-8601 quando o endpoint esperar timestamp.
269
+ Para exportações CSV, TXT ou PDF, use Response Format = Text se a resposta não for JSON.
270
+ Antes de criar, editar, excluir, arquivar, bloquear, fechar chamado ou enviar mensagem, confirme que a intenção do usuário está clara.
109
271
  ```
110
272
 
111
- ## Generated Endpoint Catalog
273
+ ### Exemplos de `$fromAI()`
112
274
 
113
- The endpoint catalog is generated by:
275
+ Contato existente:
114
276
 
115
- ```bash
116
- npm run generate:endpoints
277
+ ```javascript
278
+ {{ $fromAI('contactId', 'ID existente de contato Digisac. Deve vir de uma busca/listagem anterior, nunca inventado.', 'string') }}
117
279
  ```
118
280
 
119
- Source collection:
281
+ Texto de mensagem:
120
282
 
121
- ```text
122
- https://documenter.getpostman.com/view/53282970/2sBXihpXmF
283
+ ```javascript
284
+ {{ $fromAI('messageText', 'Texto exato que será enviado ao contato no WhatsApp/Digisac.', 'string') }}
123
285
  ```
124
286
 
125
- The generated file is:
287
+ Filtro de período:
126
288
 
127
- ```text
128
- nodes/Digisac/generated/endpoints.ts
289
+ ```javascript
290
+ {{ $fromAI('startPeriod', 'Início do período em ISO-8601, por exemplo 2026-07-01T00:00:00.000Z.', 'string') }}
129
291
  ```
130
292
 
131
- Do not edit it manually. Change `scripts/generate-endpoints.mjs` and rebuild instead.
293
+ Campo de body estruturado:
132
294
 
133
- ## Development
295
+ ```javascript
296
+ {{ $fromAI('file', 'Objeto JSON do arquivo com base64, mimetype e name quando a operação Digisac enviar mídia.', 'json') }}
297
+ ```
298
+
299
+ ### Boas práticas para LLMs
300
+
301
+ - Exponha apenas as operações necessárias para o caso de uso.
302
+ - Prefira operações de leitura antes de escrita.
303
+ - Nunca deixe o modelo inventar IDs.
304
+ - Use credenciais dedicadas por ambiente/cliente.
305
+ - Para operações destrutivas (`DELETE`, arquivar, bloquear, fechar chamado), coloque etapa humana de confirmação quando o fluxo for sensível.
306
+ - Em mensagens enviadas ao cliente, gere o texto em etapa anterior e passe o texto final para a tool.
307
+ - Use campos dedicados sempre que existirem. Para bodies grandes ou arrays de múltiplos itens, use JSON explícito e valide campos obrigatórios no workflow antes da chamada.
308
+
309
+ ## Desenvolvimento
134
310
 
135
311
  ```bash
136
312
  npm install
137
313
  npm run generate:endpoints
314
+ npm run generate:docs
138
315
  npm run lint
139
316
  npm run build
140
317
  npm run dev
141
318
  ```
142
319
 
143
- Structure:
320
+ Estrutura:
144
321
 
145
322
  ```text
146
323
  n8n-nodes-digisac/
@@ -154,28 +331,45 @@ n8n-nodes-digisac/
154
331
  │ ├── helpers/
155
332
  │ └── transport/
156
333
  ├── scripts/
334
+ │ ├── generate-docs.mjs
157
335
  │ └── generate-endpoints.mjs
158
- └── .github/workflows/
336
+ └── docs/
337
+ └── api-calls.md
338
+ ```
339
+
340
+ ## Como o catálogo é gerado
341
+
342
+ O script `scripts/generate-endpoints.mjs` baixa a coleção pública:
343
+
344
+ ```text
345
+ https://documenter.getpostman.com/view/53282970/2sBXihpXmF
159
346
  ```
160
347
 
161
- ## Publishing
348
+ E gera:
162
349
 
163
- This repository publishes with GitHub Actions, matching the Clinicorp node pattern.
350
+ ```text
351
+ nodes/Digisac/generated/endpoints.ts
352
+ ```
164
353
 
165
- Required GitHub secret:
354
+ O script `scripts/generate-docs.mjs` lê esse catálogo e gera:
166
355
 
167
356
  ```text
168
- NPM_TOKEN
357
+ README.md
358
+ docs/api-calls.md
169
359
  ```
170
360
 
171
- Publish by pushing a version tag:
361
+ ## Publicação no npm
362
+
363
+ O projeto publica pelo mesmo padrão do node Clinicorp: GitHub Actions + npm provenance.
364
+
365
+ Para publicar nova versão:
172
366
 
173
367
  ```bash
174
368
  npm version patch
175
369
  git push origin main --tags
176
370
  ```
177
371
 
178
- The workflow runs:
372
+ O workflow executa:
179
373
 
180
374
  ```bash
181
375
  npm ci --ignore-scripts
@@ -183,14 +377,19 @@ npm run build
183
377
  npm publish --provenance --access public
184
378
  ```
185
379
 
186
- ## References
380
+ ## Versões
381
+
382
+ - **1.0.2** — Interface simplificada: query e body agora usam campos dedicados gerados da documentação. JSON fica escondido em opções avançadas ou aparece apenas nas chamadas em que não há forma segura de gerar campos. Ícone atualizado a partir de `icon.webp`.
383
+ - **1.0.1** — Documentação reescrita em PT-BR, com exemplos práticos, instruções de AI Tool e catálogo completo de chamadas em `docs/api-calls.md`.
384
+ - **1.0.0** — Primeira versão publicada. Node único `Digisac`, credencial Bearer, catálogo com 298 chamadas da documentação Postman, suporte a AI Agent e publicação npm via GitHub Actions.
385
+
386
+ ## Referências
187
387
 
188
- - [Digisac Postman documentation](https://documenter.getpostman.com/view/53282970/2sBXihpXmF)
189
- - [n8n building community nodes](https://docs.n8n.io/integrations/community-nodes/building-community-nodes/)
190
- - [n8n programmatic node tutorial](https://docs.n8n.io/connect/create-nodes/build-your-node/tutorial-build-a-programmatic-style-node/)
191
- - [n8n AI tool parameters with `$fromAI()`](https://docs.n8n.io/build/integrate-ai/ai-examples/use-ai-for-parameters/)
192
- - [n8n verification guidelines](https://docs.n8n.io/connect/create-nodes/build-your-node/reference/verification-guidelines/)
388
+ - [Documentação Postman da Digisac](https://documenter.getpostman.com/view/53282970/2sBXihpXmF)
389
+ - [n8n: building community nodes](https://docs.n8n.io/integrations/community-nodes/building-community-nodes/)
390
+ - [n8n: programmatic node tutorial](https://docs.n8n.io/connect/create-nodes/build-your-node/tutorial-build-a-programmatic-style-node/)
391
+ - [n8n: `$fromAI()`](https://docs.n8n.io/build/integrate-ai/ai-examples/use-ai-for-parameters/)
193
392
 
194
- ## License
393
+ ## Licença
195
394
 
196
395
  [MIT](LICENSE.md)
@@ -3,8 +3,8 @@ export declare class DigisacApi implements ICredentialType {
3
3
  name: string;
4
4
  displayName: string;
5
5
  icon: {
6
- readonly light: "file:digisac.svg";
7
- readonly dark: "file:digisac.dark.svg";
6
+ readonly light: "file:digisac.png";
7
+ readonly dark: "file:digisac.dark.png";
8
8
  };
9
9
  documentationUrl: string;
10
10
  properties: INodeProperties[];
@@ -5,7 +5,7 @@ class DigisacApi {
5
5
  constructor() {
6
6
  this.name = 'digisacApi';
7
7
  this.displayName = 'Digisac API';
8
- this.icon = { light: 'file:digisac.svg', dark: 'file:digisac.dark.svg' };
8
+ this.icon = { light: 'file:digisac.png', dark: 'file:digisac.dark.png' };
9
9
  this.documentationUrl = 'https://documenter.getpostman.com/view/53282970/2sBXihpXmF';
10
10
  this.properties = [
11
11
  {
Binary file
@@ -8,11 +8,11 @@ class Digisac {
8
8
  this.description = {
9
9
  displayName: 'Digisac',
10
10
  name: 'digisac',
11
- icon: { light: 'file:digisac.svg', dark: 'file:digisac.dark.svg' },
11
+ icon: { light: 'file:digisac.png', dark: 'file:digisac.dark.png' },
12
12
  group: ['transform'],
13
13
  version: 1,
14
14
  subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
15
- description: 'Use every documented Digisac API request from the public Postman documentation. Choose a resource folder and operation, fill required path parameters, add query JSON/body JSON when needed, and the node sends the authenticated Bearer request to the Base URL stored in the credential. Built for AI Agents: operation descriptions include method, path, source folder, required path variables, query placeholders and body guidance so the LLM can choose the correct endpoint and avoid inventing IDs.',
15
+ description: 'Use every documented Digisac API request from the public Postman documentation. Choose a resource folder and operation, fill required path parameters and use the generated query/body fields first. Advanced JSON fields are available only when an operation needs a custom payload or unsupported filter. Built for AI Agents: operation descriptions include method, path, source folder, required path variables, query guidance, body fields and explicit reminders to use IDs returned by Digisac instead of inventing values.',
16
16
  defaults: {
17
17
  name: 'Digisac',
18
18
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Digisac.node.js","sourceRoot":"","sources":["../../../nodes/Digisac/Digisac.node.ts"],"names":[],"mappings":";;;AAOA,+CAAuE;AAEvE,uCAAiF;AAEjF,MAAa,OAAO;IAApB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE;YAClE,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EACV,+eAA+e;YAChf,QAAQ,EAAE;gBACT,IAAI,EAAE,SAAS;aACf;YACD,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YACnC,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE,yBAAe;oBACxB,OAAO,EAAE,yBAAe,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;oBACxC,WAAW,EACV,oLAAoL;iBACrL;gBACD,GAAG,4BAAkB;aACrB;SACD,CAAC;IA+BH,CAAC;IA7BA,KAAK,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;QAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC;gBACJ,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAW,CAAC;gBAClE,MAAM,YAAY,GAAG,MAAM,yBAAe,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACpE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBAE5E,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAC5D,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAwB,CAAC,EACtD,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CACzB,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE;wBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;qBACvB,CAAC,CAAC;oBACH,SAAS;gBACV,CAAC;gBACD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAc,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;QACF,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;CACD;AAlED,0BAkEC"}
1
+ {"version":3,"file":"Digisac.node.js","sourceRoot":"","sources":["../../../nodes/Digisac/Digisac.node.ts"],"names":[],"mappings":";;;AAOA,+CAAuE;AAEvE,uCAAiF;AAEjF,MAAa,OAAO;IAApB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE;YAClE,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EACV,ugBAAugB;YACxgB,QAAQ,EAAE;gBACT,IAAI,EAAE,SAAS;aACf;YACD,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YACnC,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE,yBAAe;oBACxB,OAAO,EAAE,yBAAe,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;oBACxC,WAAW,EACV,oLAAoL;iBACrL;gBACD,GAAG,4BAAkB;aACrB;SACD,CAAC;IA+BH,CAAC;IA7BA,KAAK,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;QAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC;gBACJ,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAW,CAAC;gBAClE,MAAM,YAAY,GAAG,MAAM,yBAAe,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACpE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBAE5E,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAC5D,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAwB,CAAC,EACtD,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CACzB,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE;wBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;qBACvB,CAAC,CAAC;oBACH,SAAS;gBACV,CAAC;gBACD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAc,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;QACF,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;CACD;AAlED,0BAkEC"}