@fedotovteam/n8n-nodes-chatwoot 1.0.3
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/LICENSE.md +19 -0
- package/README.md +149 -0
- package/dist/credentials/ChatWootApi.credentials.d.ts +9 -0
- package/dist/credentials/ChatWootApi.credentials.js +53 -0
- package/dist/credentials/ChatWootApi.credentials.js.map +1 -0
- package/dist/nodes/ChatWoot/ChatWoot.node.d.ts +4 -0
- package/dist/nodes/ChatWoot/ChatWoot.node.js +43 -0
- package/dist/nodes/ChatWoot/ChatWoot.node.js.map +1 -0
- package/dist/nodes/ChatWoot/ChatWoot.node.json +18 -0
- package/dist/nodes/ChatWoot/openapi/resources.d.ts +3 -0
- package/dist/nodes/ChatWoot/openapi/resources.js +16250 -0
- package/dist/nodes/ChatWoot/openapi/resources.js.map +1 -0
- package/dist/nodes/ChatWoot/openapi.json +9134 -0
- package/dist/nodes/ChatWootFile/ChatWootFile.node.d.ts +5 -0
- package/dist/nodes/ChatWootFile/ChatWootFile.node.js +331 -0
- package/dist/nodes/ChatWootFile/ChatWootFile.node.js.map +1 -0
- package/dist/package.json +58 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +58 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright 2022 n8n
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
4
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
5
|
+
the Software without restriction, including without limitation the rights to
|
|
6
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
7
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
|
8
|
+
so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# @fedotovteam/n8n-nodes-chatwoot
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="./chatwoot.png" width='150px'/>
|
|
5
|
+
<img src="./n8n.png" width='150px'/>
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
Автоматизируйте ваши рабочие процессы [**ChatWoot**](https://www.chatwoot.com/) с помощью [**n8n**](https://n8n.io/)!
|
|
9
|
+
|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
[](https://www.npmjs.com/package/@fedotovteam/n8n-nodes-chatwoot)
|
|
13
|
+
|
|
14
|
+
- GitHub: [fedotovteam/n8n-nodes-chatwoot](http://github.com/fedotovteam/n8n-nodes-chatwoot)
|
|
15
|
+
- npm: [@fedotovteam/n8n-nodes-chatwoot](https://www.npmjs.com/package/@fedotovteam/n8n-nodes-chatwoot)
|
|
16
|
+
- Справочник ChatWoot API: [https://www.chatwoot.com/developers/api/](https://www.chatwoot.com/developers/api/)
|
|
17
|
+
- 👉 Сгенерировано из [ChatWoot OpenAPI](https://www.chatwoot.com/developers/api/) с использованием [**devlikeapro/n8n-openapi-node**](https://github.com/devlikeapro/n8n-openapi-node)
|
|
18
|
+
|
|
19
|
+
# Содержание
|
|
20
|
+
|
|
21
|
+
<!-- toc -->
|
|
22
|
+
|
|
23
|
+
- [Установка](#установка)
|
|
24
|
+
- [Использование](#использование)
|
|
25
|
+
* [Учетные data](#учетные-данные)
|
|
26
|
+
+ [Платформа](#платформа)
|
|
27
|
+
+ [Пользователь](#пользователь)
|
|
28
|
+
+ [Входящие](#входящие)
|
|
29
|
+
- [Узел ChatWoot File](#узел-chatwoot-file)
|
|
30
|
+
- [Разработка](#разработка)
|
|
31
|
+
- [Поддержка проекта](#поддержка-проекта)
|
|
32
|
+
|
|
33
|
+
<!-- tocstop -->
|
|
34
|
+
|
|
35
|
+
## 🚀 Помощь в разработке проекта
|
|
36
|
+
|
|
37
|
+
Если этот проект экономит ваше время или помогает в работе, рассмотрите возможность поддержки его разработки 🙌
|
|
38
|
+
|
|
39
|
+
**Ваша поддержка помогает быстрее выпускать новые функции и поддерживать стабильность проекта.**
|
|
40
|
+
|
|
41
|
+
# Установка
|
|
42
|
+
|
|
43
|
+
Установите [пакет сообщества в вашем экземпляре n8n](https://docs.n8n.io/integrations/community-nodes/installation/gui-install/):
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
@fedotovteam/n8n-nodes-chatwoot
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
# Использование
|
|
50
|
+
|
|
51
|
+
1. Установите пакет сообщества в ваш экземпляр n8n.
|
|
52
|
+
2. Добавьте **учетные данные ChatWoot API** в **n8n**.
|
|
53
|
+
3. Создайте новый рабочий процесс с узлом **ChatWoot**.
|
|
54
|
+
|
|
55
|
+
## Учетные данные
|
|
56
|
+
|
|
57
|
+
Существует несколько типов учетных данных (аккаунтов), которые вы можете использовать для аутентификации в ChatWoot API.
|
|
58
|
+
|
|
59
|
+
Для разных конечных точек ChatWoot API вам потребуются разные учетные данные - пожалуйста, обратитесь к [документации ChatWoot API](https://www.chatwoot.com/developers/api/) для получения дополнительной информации.
|
|
60
|
+
|
|
61
|
+
Мы рекомендуем создать учетные данные **ChatWoot API** в **n8n** для каждого типа аккаунта и назвать их `ChatWoot - {ТИП}` для лучшей понятности.
|
|
62
|
+
|
|
63
|
+

|
|
64
|
+
|
|
65
|
+
### Платформа
|
|
66
|
+
|
|
67
|
+
Этот токен может быть получен системным администратором после создания platformApp. Этот токен следует использовать для предоставления агент-ботов, аккаунтов, пользователей и их ролей.
|
|
68
|
+
|
|
69
|
+

|
|
70
|
+
|
|
71
|
+
### Пользователь
|
|
72
|
+
|
|
73
|
+
Этот токен можно получить, посетив страницу профиля или через консоль rails.
|
|
74
|
+
|
|
75
|
+

|
|
76
|
+
|
|
77
|
+
или токен **Super Admin** в некоторых случаях
|
|
78
|
+
|
|
79
|
+

|
|
80
|
+
|
|
81
|
+
### Входящие
|
|
82
|
+
|
|
83
|
+
Этот токен можно получить, посетив страницу настроек входящих.
|
|
84
|
+
|
|
85
|
+

|
|
86
|
+
|
|
87
|
+
# Узел ChatWoot File
|
|
88
|
+
|
|
89
|
+
Отдельный узел для отправки файлов и изображений в разговоры ChatWoot.
|
|
90
|
+
|
|
91
|
+
## Установка
|
|
92
|
+
|
|
93
|
+
Пакет уже содержит оба узла. После установки `@fedotovteam/n8n-nodes-chatwoot` вам будут доступны:
|
|
94
|
+
- **ChatWoot** - основной узел для работы с API ChatWoot
|
|
95
|
+
- **ChatWoot File** - узел для отправки файлов
|
|
96
|
+
|
|
97
|
+
## Использование ChatWoot File
|
|
98
|
+
|
|
99
|
+
1. Добавьте узел **ChatWoot File** в ваш рабочий процесс
|
|
100
|
+
2. Настройте учетные data ChatWoot API
|
|
101
|
+
3. Укажите параметры:
|
|
102
|
+
- **Inbox ID** - ID входящего, в котором находится разговор
|
|
103
|
+
- **Contact ID** - ID контакта
|
|
104
|
+
- **Conversation ID** - ID разговора, в который отправляется файл
|
|
105
|
+
- **Источник файла** - выберите "Бинарные data n8n" или "URL"
|
|
106
|
+
- Если выбран URL - укажите ссылку на файл
|
|
107
|
+
4. (Опционально) Добавьте текст сообщения
|
|
108
|
+
|
|
109
|
+
## Примеры использования
|
|
110
|
+
|
|
111
|
+
### Отправка файла из предыдущего шага n8n
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
[Скачать файл] → [ChatWoot File] → [Результат]
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Настройте ChatWoot File:
|
|
118
|
+
- Источник файла: "Бинарные data n8n"
|
|
119
|
+
- Имя свойства с файлом: `data` (или другое, в зависимости от предыдущего узла)
|
|
120
|
+
|
|
121
|
+
### Отправка файла по URL
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
[HTTP Request] → [ChatWoot File] → [Результат]
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Настройте ChatWoot File:
|
|
128
|
+
- Источник файла: "URL"
|
|
129
|
+
- URL файла: `https://example.com/file.pdf`
|
|
130
|
+
|
|
131
|
+
## Возвращаемые data
|
|
132
|
+
|
|
133
|
+
Узел возвращает:
|
|
134
|
+
- `success` - статус отправки
|
|
135
|
+
- `messageId` - ID созданного сообщения
|
|
136
|
+
- `fileName` - имя файла
|
|
137
|
+
- `fileSize` - размер файла в байтах
|
|
138
|
+
- `mimeType` - MIME-тип файла
|
|
139
|
+
- `attachmentUrl` - URL загруженного файла в ChatWoot
|
|
140
|
+
|
|
141
|
+
# Разработка
|
|
142
|
+
|
|
143
|
+
Узел сгенерирован из [ChatWoot OpenAPI](https://www.chatwoot.com/developers/api/) с использованием [**devlikeapro/n8n-openapi-node**](https://github.com/devlikeapro/n8n-openapi-node).
|
|
144
|
+
|
|
145
|
+
Вероятно, исправления следует вносить в файл спецификации OpenAPI или в сам генератор.
|
|
146
|
+
|
|
147
|
+
# Поддержка проекта
|
|
148
|
+
|
|
149
|
+
Вы можете поддержать проект, чтобы помочь нам улучшить его еще больше.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class ChatWootApi implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
documentationUrl: string;
|
|
6
|
+
properties: INodeProperties[];
|
|
7
|
+
authenticate: IAuthenticateGeneric;
|
|
8
|
+
test: ICredentialTestRequest;
|
|
9
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChatWootApi = void 0;
|
|
4
|
+
class ChatWootApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'chatwootApi';
|
|
7
|
+
this.displayName = 'ChatWoot API';
|
|
8
|
+
this.documentationUrl = 'https://www.chatwoot.com/docs/contributing-guide/chatwoot-apis';
|
|
9
|
+
this.properties = [
|
|
10
|
+
{
|
|
11
|
+
displayName: 'ChatWoot API URL',
|
|
12
|
+
name: 'url',
|
|
13
|
+
placeholder: "https://www.chatwoot.com",
|
|
14
|
+
type: 'string',
|
|
15
|
+
default: '',
|
|
16
|
+
required: true,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
displayName: "There's many " +
|
|
20
|
+
"<a href='https://www.chatwoot.com/docs/contributing-guide/chatwoot-apis' target='_blank'></a><b>Access Token Types</b> in <b>ChatWoot</b></a>," +
|
|
21
|
+
" so we just check that <code>{{url}}/api</code> is accessible without token.",
|
|
22
|
+
default: '',
|
|
23
|
+
name: 'operation',
|
|
24
|
+
type: 'notice',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
displayName: 'Access Token',
|
|
28
|
+
name: 'accessToken',
|
|
29
|
+
type: 'string',
|
|
30
|
+
placeholder: "00000000-0000-0000-0000-000000000000",
|
|
31
|
+
default: '',
|
|
32
|
+
required: true,
|
|
33
|
+
typeOptions: { password: true },
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
this.authenticate = {
|
|
37
|
+
type: 'generic',
|
|
38
|
+
properties: {
|
|
39
|
+
headers: {
|
|
40
|
+
'Api-Access-Token': '={{$credentials.accessToken}}',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
this.test = {
|
|
45
|
+
request: {
|
|
46
|
+
baseURL: '={{$credentials.url}}',
|
|
47
|
+
url: '/api',
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.ChatWootApi = ChatWootApi;
|
|
53
|
+
//# sourceMappingURL=ChatWootApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatWootApi.credentials.js","sourceRoot":"","sources":["../../credentials/ChatWootApi.credentials.ts"],"names":[],"mappings":";;;AAMA,MAAa,WAAW;IAAxB;QACI,SAAI,GAAG,aAAa,CAAC;QACrB,gBAAW,GAAG,cAAc,CAAC;QAC7B,qBAAgB,GAAG,gEAAgE,CAAC;QACpF,eAAU,GAAsB;YAC5B;gBACI,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,0BAA0B;gBACvC,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;aACjB;YACD;gBACI,WAAW,EACP,eAAe;oBACf,gJAAgJ;oBAChJ,8EAA8E;gBAClF,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;aACjB;YACD;gBACI,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sCAAsC;gBACnD,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;aAChC;SACJ,CAAC;QAEF,iBAAY,GAAyB;YACjC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACR,OAAO,EAAE;oBACL,kBAAkB,EAAE,+BAA+B;iBACtD;aACJ;SACJ,CAAC;QAEF,SAAI,GAA2B;YAC3B,OAAO,EAAE;gBACL,OAAO,EAAE,uBAAuB;gBAChC,GAAG,EAAE,MAAM;aACd;SACJ,CAAC;IACN,CAAC;CAAA;AAhDD,kCAgDC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ChatWoot = void 0;
|
|
7
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
8
|
+
const resources_1 = __importDefault(require("./openapi/resources"));
|
|
9
|
+
class ChatWoot {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.description = {
|
|
12
|
+
displayName: 'ChatWoot',
|
|
13
|
+
name: 'chatWoot',
|
|
14
|
+
icon: { light: 'file:chatwoot.svg', dark: 'file:chatwoot.dark.svg' },
|
|
15
|
+
group: ['transform'],
|
|
16
|
+
usableAsTool: true,
|
|
17
|
+
version: 1,
|
|
18
|
+
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
|
|
19
|
+
description: 'Interact with ChatWoot API',
|
|
20
|
+
defaults: {
|
|
21
|
+
name: 'ChatWoot',
|
|
22
|
+
},
|
|
23
|
+
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
24
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
25
|
+
credentials: [
|
|
26
|
+
{
|
|
27
|
+
name: 'chatwootApi',
|
|
28
|
+
required: true,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
requestDefaults: {
|
|
32
|
+
headers: {
|
|
33
|
+
Accept: 'application/json',
|
|
34
|
+
'Content-Type': 'application/json',
|
|
35
|
+
},
|
|
36
|
+
baseURL: '={{$credentials.url}}',
|
|
37
|
+
},
|
|
38
|
+
properties: resources_1.default,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.ChatWoot = ChatWoot;
|
|
43
|
+
//# sourceMappingURL=ChatWoot.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatWoot.node.js","sourceRoot":"","sources":["../../../nodes/ChatWoot/ChatWoot.node.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAkF;AAClF,oEAA6C;AAE7C,MAAa,QAAQ;IAArB;QACI,gBAAW,GAAyB;YAChC,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,wBAAwB,EAAE;YACpE,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE;gBACN,IAAI,EAAE,UAAU;aACnB;YACD,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YACnC,WAAW,EAAE;gBACT;oBACI,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,IAAI;iBACjB;aACJ;YACD,eAAe,EAAE;gBACb,OAAO,EAAE;oBACL,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;iBACrC;gBACD,OAAO,EAAE,uBAAuB;aACnC;YACD,UAAU,EAAE,mBAAU;SACzB,CAAC;IACN,CAAC;CAAA;AA9BD,4BA8BC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-base.chatwoot",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": ["Development", "Developer Tools"],
|
|
6
|
+
"resources": {
|
|
7
|
+
"credentialDocumentation": [
|
|
8
|
+
{
|
|
9
|
+
"url": "https://www.chatwoot.com/docs/contributing-guide/chatwoot-apis"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"primaryDocumentation": [
|
|
13
|
+
{
|
|
14
|
+
"url": "https://www.chatwoot.com/developers/api/"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|