n8n-nodes-pragma-bitrix24 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 +239 -231
- package/dist/nodes/Bitrix24/Helpers.js +36 -6
- package/dist/nodes/Bitrix24Tool/Bitrix24Tool.node.js +6 -0
- package/dist/nodes/shared/BaseBitrixNode.js +20 -0
- package/dist/nodes/shared/Logger.js +44 -0
- package/dist/nodes/shared/OperationsRegistry.js +16 -0
- package/dist/nodes/shared/decorators.js +43 -0
- package/dist/nodes/shared/types.js +45 -16
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,340 +1,348 @@
|
|
|
1
|
-
# Bitrix24 PRAGMA.by nodes for n8n
|
|
1
|
+
# 🚀 Bitrix24 PRAGMA.by nodes for n8n
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<
|
|
4
|
+
<a href="https://pragma.by/">
|
|
5
|
+
<img src="https://pragma.by/upload/cssinliner_webp/CAllcorp3Digital/437/2j1togh35r2bintaatoducq4j5pzhhkm.webp" alt="PRAGMA Logo" width="280"/>
|
|
6
|
+
</a>
|
|
7
|
+
|
|
8
|
+
<a href="https://abc-solution.ru/">
|
|
9
|
+
<img src="https://abc-solution.ru/upload/cssinliner_webp/CAllcorp3Digital/41d/o6ra0wftby1b1b2k7pb9hbyhmnuqop5m.webp" alt="Азбука Решений Logo" width="280"/>
|
|
10
|
+
</a>
|
|
5
11
|
</p>
|
|
6
12
|
|
|
7
|
-
<
|
|
8
|
-
<strong>Профессиональная интеграция n8n с Битрикс24 CRM</strong>
|
|
9
|
-
</p>
|
|
13
|
+
<h3 align="center">🏆 Платиновые партнёры Битрикс24</h3>
|
|
10
14
|
|
|
11
15
|
<p align="center">
|
|
12
16
|
<a href="https://www.npmjs.com/package/n8n-nodes-pragma-bitrix24">
|
|
13
|
-
<img src="https://img.shields.io/npm/v/n8n-nodes-pragma-bitrix24.svg" alt="npm version"/>
|
|
17
|
+
<img src="https://img.shields.io/npm/v/n8n-nodes-pragma-bitrix24.svg?style=for-the-badge&logo=npm&color=CB3837" alt="npm version"/>
|
|
14
18
|
</a>
|
|
15
19
|
<a href="https://www.npmjs.com/package/n8n-nodes-pragma-bitrix24">
|
|
16
|
-
<img src="https://img.shields.io/npm/dm/n8n-nodes-pragma-bitrix24.svg" alt="npm downloads"/>
|
|
20
|
+
<img src="https://img.shields.io/npm/dm/n8n-nodes-pragma-bitrix24.svg?style=for-the-badge&logo=npm&color=CB3837" alt="npm downloads"/>
|
|
21
|
+
</a>
|
|
22
|
+
<a href="https://n8n.io/">
|
|
23
|
+
<img src="https://img.shields.io/badge/n8n-2.6+-00B67A?style=for-the-badge&logo=n8n" alt="n8n version"/>
|
|
24
|
+
</a>
|
|
25
|
+
<a href="https://www.bitrix24.ru/">
|
|
26
|
+
<img src="https://img.shields.io/badge/Битрикс24-Platinum_Partner-0077FF?style=for-the-badge" alt="Bitrix24"/>
|
|
17
27
|
</a>
|
|
18
28
|
</p>
|
|
19
29
|
|
|
30
|
+
<p align="center">
|
|
31
|
+
<strong>🔥 30 профессиональных нод для глубокой интеграции n8n с Битрикс24 CRM</strong><br>
|
|
32
|
+
<em>Enterprise-уровень автоматизации от Платиновых партнёров Битрикс24</em>
|
|
33
|
+
</p>
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 🏆 Почему Мы — Лучший Выбор?
|
|
38
|
+
|
|
39
|
+
<table>
|
|
40
|
+
<tr>
|
|
41
|
+
<td width="50%">
|
|
42
|
+
|
|
43
|
+
### 🇧🇾 PRAGMA (Беларусь)
|
|
44
|
+
|
|
45
|
+
**🏅 Платиновый партнёр Битрикс24**
|
|
46
|
+
|
|
47
|
+
| | |
|
|
48
|
+
| --- | ------------------------------ |
|
|
49
|
+
| 🔧 | **10+ лет** опыта интеграций |
|
|
50
|
+
| 🏢 | **500+** внедрённых CRM |
|
|
51
|
+
| 🤖 | Эксперты **n8n** |
|
|
52
|
+
| ⚡ | Интеграции **любой сложности** |
|
|
53
|
+
|
|
54
|
+
📞 **+375 (44) 702-70-90**<br>
|
|
55
|
+
🌐 [pragma.by](https://pragma.by/)
|
|
56
|
+
|
|
57
|
+
</td>
|
|
58
|
+
<td width="50%">
|
|
59
|
+
|
|
60
|
+
### 🇷🇺 Азбука Решений (Россия)
|
|
61
|
+
|
|
62
|
+
**🏅 Платиновый партнёр Битрикс24**
|
|
63
|
+
|
|
64
|
+
| | |
|
|
65
|
+
| --- | --------------------------- |
|
|
66
|
+
| 🔧 | **Enterprise**-интеграции |
|
|
67
|
+
| 🏢 | Клиенты: **крупный бизнес** |
|
|
68
|
+
| 🤖 | **Автоматизация** процессов |
|
|
69
|
+
| ⚡ | **SLA-поддержка** 24/7 |
|
|
70
|
+
|
|
71
|
+
📞 **+7 (939) 555-19-60**<br>
|
|
72
|
+
🌐 [abc-solution.ru](https://abc-solution.ru/)
|
|
73
|
+
|
|
74
|
+
</td>
|
|
75
|
+
</tr>
|
|
76
|
+
</table>
|
|
77
|
+
|
|
20
78
|
---
|
|
21
79
|
|
|
22
|
-
##
|
|
80
|
+
## 🤖 Разработка ИИ-Ассистентов и Чат-ботов
|
|
23
81
|
|
|
24
|
-
|
|
82
|
+
Мы специализируемся на создании **умных ИИ-роботов** и **RAG-ассистентов**, которые способны **полностью заменить отделы продаж**.
|
|
25
83
|
|
|
26
|
-
|
|
84
|
+
- 🧠 **AI RAG Ассистенты**: Обученные на базе знаний вашей компании
|
|
85
|
+
- 🤖 **ИИ Чат-боты**: Автоматизация 99% диалогов с клиентами
|
|
86
|
+
- 💼 **Замена Отдела Продаж**: У нас более **50+ рабочих кейсов** по полной замене людей на ИИ-ассистентов
|
|
87
|
+
- 🔑 **Разработка Под Ключ**: От проектирования до внедрения и поддержки
|
|
27
88
|
|
|
28
|
-
|
|
89
|
+
[👉 Заказать разработку ИИ-ассистента](https://pragma.by/)
|
|
90
|
+
|
|
91
|
+
---
|
|
29
92
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
93
|
+
## 💎 Ключевые Преимущества
|
|
94
|
+
|
|
95
|
+
| Возможность | Описание |
|
|
96
|
+
| -------------------------------- | -------------------------------------------------------- |
|
|
97
|
+
| 🚀 **30 специализированных нод** | Отдельная нода для каждого модуля Битрикс24 |
|
|
98
|
+
| 🔄 **Умный Rate Limiting** | Автоматическое управление частотой запросов (10 req/sec) |
|
|
99
|
+
| 🛡️ **Circuit Breaker** | Защита от каскадных сбоев API Битрикс24 |
|
|
100
|
+
| 📦 **Batch API** | Обработка до 50 операций за один запрос |
|
|
101
|
+
| 🎯 **Full TypeScript** | 100% типизация для надёжности и IDE-подсказок |
|
|
102
|
+
| 💎 **Enterprise-Ready** | Оптимизация для крупного бизнеса |
|
|
103
|
+
| 🇷🇺 **Полностью на русском** | Все описания, подсказки и placeholder'ы |
|
|
104
|
+
| 📚 **База знаний** | Подробные инструкции по использованию |
|
|
39
105
|
|
|
40
106
|
---
|
|
41
107
|
|
|
42
|
-
## 📦 Полный
|
|
108
|
+
## 📦 Все 30 Нод — Полный Функционал Битрикс24
|
|
43
109
|
|
|
44
110
|
### 🏢 CRM и Продажи
|
|
45
111
|
|
|
46
|
-
| Нода
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
|
|
|
112
|
+
| Нода | Возможности |
|
|
113
|
+
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
114
|
+
| **🎯 Bitrix24 CRM** | 📋 Лиды • 💰 Сделки • 👤 Контакты • 🏢 Компании • 📄 Предложения • ⚙️ Смарт-процессы • 📊 Реквизиты • 🛒 Товарные строки |
|
|
115
|
+
| **📈 Bitrix24 Pipeline** | 🔀 Воронки продаж • 📊 Направления • 🎯 Стадии сделок |
|
|
116
|
+
| **⚙️ Bitrix24 User Field** | ➕ Создание полей • ✏️ Редактирование • 🗑️ Удаление • 📋 Списки |
|
|
117
|
+
| **🛍️ Bitrix24 Commerce** | 📦 Товары • 🏷️ Каталоги • 💳 Заказы • 🚚 Доставка • 📊 Склад |
|
|
118
|
+
| **🛒 Bitrix24 Sale** | 🛍️ Корзины • 💰 Платежи • 📊 Скидки • 🧾 Чеки |
|
|
119
|
+
| **📄 Bitrix24 Document** | 📝 Генерация документов • 📋 Шаблоны • ✍️ Заполнение полей |
|
|
54
120
|
|
|
55
121
|
### 📋 Задачи и Планирование
|
|
56
122
|
|
|
57
|
-
| Нода
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
123
|
+
| Нода | Возможности |
|
|
124
|
+
| ------------------------ | -------------------------------------------------------------------------------------------------------------- |
|
|
125
|
+
| **✅ Bitrix24 Task** | 📝 Создание • ✏️ Редактирование • 📋 Подзадачи • ☑️ Чеклисты • 💬 Комментарии • ⏰ Дедлайны • 👥 Делегирование |
|
|
126
|
+
| **📅 Bitrix24 Calendar** | 📆 События • 🔄 Повторы • 👥 Участники • 📍 Ресурсы • ⏰ Напоминания |
|
|
127
|
+
| **🎫 Bitrix24 Booking** | 📅 Бронирование ресурсов • ⏱️ Слоты времени • 📋 Waitlist • ✅ Подтверждения |
|
|
128
|
+
| **⏱️ Bitrix24 Timeman** | 🕐 Открытие дня • 🕕 Закрытие дня • ☕ Перерывы • 📊 Отчёты • 🔍 Аудит |
|
|
129
|
+
| **🏃 Bitrix24 Scrum** | 🏁 Спринты • 📋 Бэклог • 🎯 Эпики • 📊 Kanban • 📈 Burndown |
|
|
63
130
|
|
|
64
131
|
### 💬 Коммуникации
|
|
65
132
|
|
|
66
|
-
| Нода
|
|
67
|
-
|
|
|
68
|
-
|
|
|
69
|
-
|
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
133
|
+
| Нода | Возможности |
|
|
134
|
+
| ------------------------------- | ------------------------------------------------------------------------------ |
|
|
135
|
+
| **🤖 Bitrix24 ChatBot** | 🤖 Создание ботов • 💬 Отправка сообщений • 👍 Реакции • 📎 Файлы • ⌨️ Команды |
|
|
136
|
+
| **📞 Bitrix24 Open Channels** | 📞 Открытые линии • 💬 История • 📊 Статистика • 🔀 Маршрутизация |
|
|
137
|
+
| **🌐 Bitrix24 Social** | 📰 Живая лента • 📝 Посты • 💬 Комментарии • ❤️ Лайки • 👥 Группы |
|
|
138
|
+
| **📱 Bitrix24 Message Service** | 📲 SMS-рассылки • 💬 Мессенджеры • 🔔 Уведомления • 📊 Статусы |
|
|
139
|
+
| **📧 Bitrix24 Mail** | 📬 Почтовые ящики • 📨 Отправка • 📩 Получение • 📎 Вложения |
|
|
73
140
|
|
|
74
141
|
### 📞 Телефония
|
|
75
142
|
|
|
76
|
-
| Нода
|
|
77
|
-
|
|
|
78
|
-
|
|
|
143
|
+
| Нода | Возможности |
|
|
144
|
+
| ------------------------- | ------------------------------------------------------------------------------- |
|
|
145
|
+
| **📞 Bitrix24 Telephony** | 📲 Регистрация звонков • 📊 История • 🎙️ Записи • 📝 Расшифровки • 📈 Аналитика |
|
|
79
146
|
|
|
80
147
|
### 📁 Файлы и Хранение
|
|
81
148
|
|
|
82
|
-
| Нода
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
87
|
-
|
|
|
149
|
+
| Нода | Возможности |
|
|
150
|
+
| ---------------------- | -------------------------------------------------------------- |
|
|
151
|
+
| **💾 Bitrix24 Disk** | 📁 Папки • 📄 Файлы • 🔒 Права доступа • 📋 Версии • 🔗 Ссылки |
|
|
152
|
+
| **⚙️ Bitrix24 App** | 💾 Хранение настроек • 🔧 Конфигурации • 👤 Профили |
|
|
153
|
+
| **🗄️ Bitrix24 Entity** | 📦 Storage API • 🏷️ Сущности • 🔗 Связи |
|
|
154
|
+
| **📋 Bitrix24 Lists** | 📝 Универсальные списки • 🏷️ Инфоблоки • ⚙️ Настройка полей |
|
|
88
155
|
|
|
89
156
|
### 👥 Пользователи и Структура
|
|
90
157
|
|
|
91
|
-
| Нода
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
158
|
+
| Нода | Возможности |
|
|
159
|
+
| -------------------------- | ------------------------------------------------------------------ |
|
|
160
|
+
| **👤 Bitrix24 User** | 👥 Список пользователей • 🔍 Поиск • 📋 Профили • 📊 Онлайн-статус |
|
|
161
|
+
| **🏢 Bitrix24 Department** | 🌳 Оргструктура • 📊 Дерево подразделений • 👤 Руководители |
|
|
162
|
+
| **👥 Bitrix24 Group** | 👥 Рабочие группы • 📁 Проекты • 🔒 Права • 👤 Участники |
|
|
96
163
|
|
|
97
|
-
###
|
|
164
|
+
### 📊 Аналитика и Логирование
|
|
98
165
|
|
|
99
|
-
| Нода
|
|
100
|
-
|
|
|
101
|
-
|
|
|
102
|
-
| **Bitrix24 AI** | Интеграция с AI-копилотом Битрикс24 |
|
|
103
|
-
| **Bitrix24 Log** | Логирование и аудит операций |
|
|
166
|
+
| Нода | Возможности |
|
|
167
|
+
| ------------------- | ----------------------------------------- |
|
|
168
|
+
| **📊 Bitrix24 Log** | 📋 Логирование • 🔍 Аудит • 📈 Мониторинг |
|
|
104
169
|
|
|
105
|
-
### ⚡ Триггеры и
|
|
170
|
+
### ⚡ Триггеры и Платежи
|
|
106
171
|
|
|
107
|
-
| Нода
|
|
108
|
-
|
|
|
109
|
-
|
|
|
172
|
+
| Нода | Возможности |
|
|
173
|
+
| -------------------------- | --------------------------------------------------------------------------- |
|
|
174
|
+
| **⚡ Bitrix24 Trigger** | 🔔 Webhook-события • 📋 Новый лид • 💰 Новая сделка • ✅ Задача • 📞 Звонок |
|
|
175
|
+
| **💳 Bitrix24 Pay System** | 💳 Платёжные системы • 🔧 Настройка • 📊 Транзакции |
|
|
176
|
+
| **✍️ Bitrix24 Sign** | ✍️ Электронные подписи • 📄 Документы • 🔐 Верификация |
|
|
110
177
|
|
|
111
|
-
|
|
178
|
+
## 🚀 Установка
|
|
112
179
|
|
|
113
|
-
|
|
114
|
-
| ----------------------- | ------------------------------ |
|
|
115
|
-
| **Bitrix24 Pay System** | Настройка платёжных систем |
|
|
116
|
-
| **Bitrix24 Sign** | Электронные подписи документов |
|
|
180
|
+
### 🖥️ Способ 1: Через интерфейс n8n (Рекомендуется)
|
|
117
181
|
|
|
118
|
-
|
|
182
|
+
1. 🔧 Откройте **n8n** и перейдите в **Settings** → **Community Nodes**
|
|
183
|
+
2. 🔍 Нажмите **Install a community node**
|
|
184
|
+
3. 📝 Введите имя пакета:
|
|
185
|
+
```
|
|
186
|
+
n8n-nodes-pragma-bitrix24
|
|
187
|
+
```
|
|
188
|
+
4. ✅ Нажмите **Install**
|
|
189
|
+
5. 🔄 Перезапустите n8n
|
|
119
190
|
|
|
120
|
-
|
|
191
|
+
> 💡 **Подробнее**: [docs.n8n.io/integrations/community-nodes/installation/gui-install](https://docs.n8n.io/integrations/community-nodes/installation/gui-install/)
|
|
121
192
|
|
|
122
|
-
###
|
|
193
|
+
### 💻 Способ 2: Через командную строку
|
|
123
194
|
|
|
124
195
|
```bash
|
|
125
|
-
#
|
|
196
|
+
# Перейдите в папку n8n
|
|
197
|
+
cd ~/.n8n
|
|
198
|
+
|
|
199
|
+
# Установите ноду
|
|
126
200
|
npm install n8n-nodes-pragma-bitrix24
|
|
127
201
|
|
|
128
|
-
#
|
|
129
|
-
# Добавьте в переменные окружения:
|
|
130
|
-
N8N_NODE_MODULES_PATH=/home/node/.n8n/nodes
|
|
202
|
+
# Перезапустите n8n
|
|
131
203
|
```
|
|
132
204
|
|
|
133
|
-
###
|
|
205
|
+
### 🐳 Способ 3: Docker
|
|
134
206
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
- `crm` — для работы с CRM
|
|
139
|
-
- `task` — для задач
|
|
140
|
-
- `calendar` — для календаря
|
|
141
|
-
- `disk` — для файлов
|
|
142
|
-
- `user` — для пользователей
|
|
143
|
-
4. Скопируйте URL вебхука (формат: `https://ваш-домен.bitrix24.ru/rest/1/xxxxx/`)
|
|
144
|
-
|
|
145
|
-
### Шаг 3: Настройка в n8n
|
|
146
|
-
|
|
147
|
-
1. В n8n откройте **Credentials**
|
|
148
|
-
2. Добавьте новые: **Bitrix24 API (Webhook)**
|
|
149
|
-
3. Вставьте URL вебхука
|
|
150
|
-
4. Нажмите **Save**
|
|
151
|
-
|
|
152
|
-
### Шаг 4: Первый Workflow
|
|
153
|
-
|
|
154
|
-
```
|
|
155
|
-
[HTTP Trigger] → [Bitrix24 CRM] → [Set] → [Respond]
|
|
207
|
+
```bash
|
|
208
|
+
# Добавьте в docker-compose.yml или переменные окружения:
|
|
209
|
+
N8N_CUSTOM_EXTENSIONS=n8n-nodes-pragma-bitrix24
|
|
156
210
|
```
|
|
157
211
|
|
|
158
|
-
1. Добавьте ноду **Bitrix24 CRM**
|
|
159
|
-
2. Выберите ресурс: **Лиды**
|
|
160
|
-
3. Выберите операцию: **Список**
|
|
161
|
-
4. Выполните!
|
|
162
|
-
|
|
163
212
|
---
|
|
164
213
|
|
|
165
|
-
##
|
|
214
|
+
## 🔄 Обновление Ноды
|
|
166
215
|
|
|
167
|
-
###
|
|
216
|
+
### 🖥️ Через интерфейс n8n
|
|
168
217
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
"title": "Заявка с сайта",
|
|
174
|
-
"name": "{{ $json.firstName }}",
|
|
175
|
-
"phone": "{{ $json.phone }}",
|
|
176
|
-
"email": "{{ $json.email }}",
|
|
177
|
-
"source": "WEB"
|
|
178
|
-
}
|
|
179
|
-
```
|
|
218
|
+
1. ⚙️ Перейдите в **Settings** → **Community Nodes**
|
|
219
|
+
2. 🔍 Найдите **n8n-nodes-pragma-bitrix24**
|
|
220
|
+
3. 🔄 Нажмите **Update** (если доступно обновление)
|
|
221
|
+
4. ✅ Перезапустите n8n
|
|
180
222
|
|
|
181
|
-
###
|
|
182
|
-
|
|
183
|
-
```json
|
|
184
|
-
{
|
|
185
|
-
"resource": "deal",
|
|
186
|
-
"operation": "list",
|
|
187
|
-
"filter": {
|
|
188
|
-
">OPPORTUNITY": 100000,
|
|
189
|
-
"STAGE_ID": "NEW"
|
|
190
|
-
},
|
|
191
|
-
"order": {
|
|
192
|
-
"OPPORTUNITY": "DESC"
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
### Пример 3: Массовое Обновление Статусов
|
|
198
|
-
|
|
199
|
-
```json
|
|
200
|
-
{
|
|
201
|
-
"resource": "deal",
|
|
202
|
-
"operation": "update",
|
|
203
|
-
"id": "{{ $json.dealId }}",
|
|
204
|
-
"fields": {
|
|
205
|
-
"STAGE_ID": "WON",
|
|
206
|
-
"CLOSEDATE": "{{ $now.format('YYYY-MM-DD') }}"
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
```
|
|
223
|
+
### 💻 Через командную строку
|
|
210
224
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
"resource": "task",
|
|
216
|
-
"operation": "create",
|
|
217
|
-
"title": "Подготовить КП",
|
|
218
|
-
"description": "Клиент: {{ $json.companyName }}",
|
|
219
|
-
"responsibleId": "1",
|
|
220
|
-
"deadline": "{{ $now.plus(3, 'days').format('YYYY-MM-DD HH:mm:ss') }}"
|
|
221
|
-
}
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### Пример 5: AI-Поиск в CRM
|
|
225
|
-
|
|
226
|
-
```json
|
|
227
|
-
{
|
|
228
|
-
"operation": "searchCrm",
|
|
229
|
-
"query": "найди все сделки Иванова за последний месяц",
|
|
230
|
-
"outputFormat": "llm_optimized"
|
|
231
|
-
}
|
|
225
|
+
```bash
|
|
226
|
+
cd ~/.n8n
|
|
227
|
+
npm update n8n-nodes-pragma-bitrix24
|
|
228
|
+
# Перезапустите n8n
|
|
232
229
|
```
|
|
233
230
|
|
|
234
231
|
---
|
|
235
232
|
|
|
236
|
-
##
|
|
233
|
+
## 🔑 Настройка Bitrix24 Webhook
|
|
237
234
|
|
|
238
|
-
###
|
|
235
|
+
### 📝 Шаг 1: Создание Webhook в Битрикс24
|
|
239
236
|
|
|
240
|
-
|
|
237
|
+
1. 🔐 Войдите в ваш **Битрикс24**
|
|
238
|
+
2. ⚙️ Перейдите: **Разработчикам** → **Другое** → **Входящий вебхук**
|
|
239
|
+
3. ✅ Выберите права:
|
|
240
|
+
- `crm` — CRM
|
|
241
|
+
- `task` — Задачи
|
|
242
|
+
- `calendar` — Календарь
|
|
243
|
+
- `disk` — Файлы
|
|
244
|
+
- `user` — Пользователи
|
|
245
|
+
4. 📋 Скопируйте URL вебхука
|
|
241
246
|
|
|
242
|
-
|
|
243
|
-
| ------------------------ | ----------------------------------- |
|
|
244
|
-
| **Минимальная задержка** | 100мс (10 запросов/сек) |
|
|
245
|
-
| **При ошибке 429** | Экспоненциальный backoff |
|
|
246
|
-
| **Circuit Breaker** | Активируется после 5 ошибок подряд |
|
|
247
|
-
| **Retry-After** | Автоматическое соблюдение заголовка |
|
|
247
|
+
### ⚙️ Шаг 2: Настройка в n8n
|
|
248
248
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
- 🔴 **Batch API** — используйте для массовых операций (50+ записей)
|
|
249
|
+
1. 🔧 В n8n откройте **Credentials**
|
|
250
|
+
2. ➕ Добавьте: **Bitrix24 API (Webhook)**
|
|
251
|
+
3. 📋 Вставьте URL вебхука
|
|
252
|
+
4. ✅ Нажмите **Save**
|
|
254
253
|
|
|
255
254
|
---
|
|
256
255
|
|
|
257
|
-
##
|
|
256
|
+
## ⚡ Технические Характеристики
|
|
258
257
|
|
|
259
|
-
|
|
|
260
|
-
|
|
|
261
|
-
|
|
|
262
|
-
|
|
|
263
|
-
|
|
|
258
|
+
| Параметр | Значение |
|
|
259
|
+
| ---------------------- | -------------------------------- |
|
|
260
|
+
| 🔧 **n8n** | >=2.6.0 |
|
|
261
|
+
| 📦 **Node.js** | >=20.0.0 |
|
|
262
|
+
| 🎯 **TypeScript** | 100% покрытие |
|
|
263
|
+
| ⚡ **Rate Limiting** | Автоматический (10 req/sec) |
|
|
264
|
+
| 🛡️ **Circuit Breaker** | Защита от сбоев |
|
|
265
|
+
| 📦 **Batch API** | До 50 операций/запрос |
|
|
266
|
+
| 🔄 **Retry Logic** | Экспоненциальный backoff |
|
|
267
|
+
| 📚 **Документация** | Подробное руководство (5 файлов) |
|
|
264
268
|
|
|
265
269
|
---
|
|
266
270
|
|
|
267
|
-
##
|
|
271
|
+
## 💼 Заказать Интеграцию Битрикс24
|
|
268
272
|
|
|
269
|
-
Мы
|
|
273
|
+
**🏆 Мы — Платиновые партнёры Битрикс24** с многолетним опытом внедрения CRM любой сложности.
|
|
270
274
|
|
|
271
|
-
###
|
|
275
|
+
### 🔧 Наши Услуги
|
|
272
276
|
|
|
273
|
-
|
|
274
|
-
|
|
277
|
+
| Услуга | Описание |
|
|
278
|
+
| --------------------------------- | ----------------------------------------- |
|
|
279
|
+
| 🔗 **Интеграция n8n + Битрикс24** | Настройка автоматизации любой сложности |
|
|
280
|
+
| 🛠️ **Кастомная разработка** | Создание уникальных нод под ваши задачи |
|
|
281
|
+
| 🏢 **Внедрение CRM** | Полный цикл: аудит → настройка → обучение |
|
|
282
|
+
| ⚙️ **Бизнес-автоматизация** | Глубокая интеграция с бизнес-процессами |
|
|
283
|
+
| 🛡️ **SLA-поддержка** | Техподдержка 24/7 с гарантией SLA |
|
|
275
284
|
|
|
276
|
-
###
|
|
285
|
+
### 📞 Контакты
|
|
277
286
|
|
|
278
|
-
|
|
279
|
-
|
|
287
|
+
<table>
|
|
288
|
+
<tr>
|
|
289
|
+
<td width="50%" align="center">
|
|
280
290
|
|
|
281
|
-
|
|
291
|
+
**🇧🇾 PRAGMA**
|
|
282
292
|
|
|
283
|
-
|
|
284
|
-
- 🤖 Автоматизация бизнес-процессов
|
|
285
|
-
- 📊 Интеграция с внешними системами
|
|
286
|
-
- 🎓 Обучение и консалтинг по n8n
|
|
293
|
+
📞 **+375 (44) 702-70-90**
|
|
287
294
|
|
|
288
|
-
|
|
295
|
+
🌐 [pragma.by](https://pragma.by/)
|
|
289
296
|
|
|
290
|
-
|
|
297
|
+
</td>
|
|
298
|
+
<td width="50%" align="center">
|
|
291
299
|
|
|
292
|
-
|
|
300
|
+
**🇷🇺 Азбука Решений**
|
|
293
301
|
|
|
294
|
-
|
|
302
|
+
📞 **+7 (939) 555-19-60**
|
|
295
303
|
|
|
296
|
-
|
|
304
|
+
🌐 [abc-solution.ru](https://abc-solution.ru/)
|
|
297
305
|
|
|
298
|
-
|
|
306
|
+
</td>
|
|
307
|
+
</tr>
|
|
308
|
+
</table>
|
|
299
309
|
|
|
300
310
|
---
|
|
301
311
|
|
|
302
|
-
## 📚
|
|
312
|
+
## 📚 Документация
|
|
303
313
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
314
|
+
| Ссылка | Описание |
|
|
315
|
+
| -------------------------------------------------------------- | --------------------------------- |
|
|
316
|
+
| 📖 [API Битрикс24](https://apidocs.bitrix24.ru/api-reference/) | Официальная документация REST API |
|
|
317
|
+
| 📚 [Документация n8n](https://docs.n8n.io/) | Руководство по n8n |
|
|
318
|
+
| 📋 [CHANGELOG](./CHANGELOG.md) | История изменений |
|
|
307
319
|
|
|
308
320
|
---
|
|
309
321
|
|
|
310
|
-
##
|
|
311
|
-
|
|
312
|
-
Проект оптимизирован для доработки через AI-агенты (Claude, GPT-4, Gemini).
|
|
313
|
-
|
|
314
|
-
### Быстрый Старт
|
|
322
|
+
## 📄 Лицензия
|
|
315
323
|
|
|
316
|
-
|
|
317
|
-
2. **Изучите** — [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md) — архитектура проекта
|
|
318
|
-
3. **Следуйте** — [docs/CONTRIBUTING.md](./docs/CONTRIBUTING.md) — стандарты разработки
|
|
319
|
-
4. **Используйте** — [docs/NODE_TEMPLATE.md](./docs/NODE_TEMPLATE.md) — шаблон новой ноды
|
|
320
|
-
5. **Справочник** — [docs/API_REFERENCE.md](./docs/API_REFERENCE.md) — ссылки API
|
|
324
|
+
**Проприетарная лицензия** © PRAGMA & Азбука Решений
|
|
321
325
|
|
|
322
|
-
|
|
326
|
+
⚠️ Распространение, модификация и перепродажа запрещены без письменного разрешения.
|
|
323
327
|
|
|
324
|
-
|
|
325
|
-
| ----------------------------- | ---------------------------------------------- |
|
|
326
|
-
| 🇷🇺 **Русский язык** | Все displayName и description на русском |
|
|
327
|
-
| 📝 **JSDoc заголовки** | Единый стиль авторства PRAGMA & Азбука Решений |
|
|
328
|
-
| 🔧 **bitrixRequestWithRetry** | Обязательный хелпер для API-запросов |
|
|
329
|
-
| 📦 **TypeScript** | Строгая типизация из `nodes/shared/types.ts` |
|
|
330
|
-
| 🎯 **n8n 2.6+** | Используем последние практики |
|
|
328
|
+
См. [LICENSE](./LICENSE) для подробностей.
|
|
331
329
|
|
|
332
330
|
---
|
|
333
331
|
|
|
334
332
|
<p align="center">
|
|
335
|
-
<strong
|
|
333
|
+
<strong>🔥 Создано с ❤️ Платиновыми партнёрами Битрикс24</strong>
|
|
334
|
+
</p>
|
|
335
|
+
|
|
336
|
+
<p align="center">
|
|
337
|
+
<a href="https://pragma.by/">
|
|
338
|
+
<img src="https://pragma.by/upload/cssinliner_webp/CAllcorp3Digital/437/2j1togh35r2bintaatoducq4j5pzhhkm.webp" alt="PRAGMA" width="140"/>
|
|
339
|
+
</a>
|
|
340
|
+
|
|
341
|
+
<a href="https://abc-solution.ru/">
|
|
342
|
+
<img src="https://abc-solution.ru/upload/cssinliner_webp/CAllcorp3Digital/41d/o6ra0wftby1b1b2k7pb9hbyhmnuqop5m.webp" alt="Азбука Решений" width="140"/>
|
|
343
|
+
</a>
|
|
336
344
|
</p>
|
|
337
345
|
|
|
338
346
|
<p align="center">
|
|
339
|
-
<a href="https://pragma.by/"
|
|
347
|
+
<a href="https://pragma.by/">🇧🇾 pragma.by</a> • <a href="https://abc-solution.ru/">🇷🇺 abc-solution.ru</a>
|
|
340
348
|
</p>
|
|
@@ -9,6 +9,8 @@ exports.prepareBatchCommands = prepareBatchCommands;
|
|
|
9
9
|
exports.bitrixFetchAll = bitrixFetchAll;
|
|
10
10
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
11
11
|
const zod_1 = require("zod");
|
|
12
|
+
const Logger_1 = require("../shared/Logger");
|
|
13
|
+
const logger = new Logger_1.BitrixLogger('Helpers');
|
|
12
14
|
const DEFAULT_CONFIG = {
|
|
13
15
|
minDelayMs: 100, // 10 req/sec for paid plans (use 500 for free)
|
|
14
16
|
maxDelayMs: 10000, // 10 seconds max
|
|
@@ -204,15 +206,43 @@ async function bitrixRequestWithRetry(method, endpoint, body = {}, qs = {}, over
|
|
|
204
206
|
// ============================================
|
|
205
207
|
// Batch API Support
|
|
206
208
|
// ============================================
|
|
209
|
+
const BATCH_SIZE = 50;
|
|
207
210
|
/**
|
|
208
211
|
* Execute multiple API calls in a single batch request
|
|
209
|
-
*
|
|
212
|
+
* Handles chunking automatically if commands > 50
|
|
210
213
|
*/
|
|
211
214
|
async function bitrixBatchRequest(commands, haltOnError = false) {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
215
|
+
const commandEntries = Object.entries(commands);
|
|
216
|
+
// Single Batch
|
|
217
|
+
if (commandEntries.length <= BATCH_SIZE) {
|
|
218
|
+
return bitrixRequestWithRetry.call(this, 'POST', 'batch.json', {
|
|
219
|
+
halt: haltOnError ? 1 : 0,
|
|
220
|
+
cmd: commands,
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
// Multiple Batches (Chunking)
|
|
224
|
+
const results = {};
|
|
225
|
+
const chunks = [];
|
|
226
|
+
for (let i = 0; i < commandEntries.length; i += BATCH_SIZE) {
|
|
227
|
+
const chunk = commandEntries.slice(i, i + BATCH_SIZE);
|
|
228
|
+
const chunkCmd = {};
|
|
229
|
+
chunk.forEach(([key, val]) => { chunkCmd[key] = val; });
|
|
230
|
+
chunks.push(chunkCmd);
|
|
231
|
+
}
|
|
232
|
+
// Execute sequentially to avoid rate limits (or use Promise.all with concurrency limit if needed)
|
|
233
|
+
for (const chunkCmd of chunks) {
|
|
234
|
+
const chunkResult = await bitrixRequestWithRetry.call(this, 'POST', 'batch.json', {
|
|
235
|
+
halt: haltOnError ? 1 : 0,
|
|
236
|
+
cmd: chunkCmd,
|
|
237
|
+
});
|
|
238
|
+
if (chunkResult.result && chunkResult.result.result) {
|
|
239
|
+
Object.assign(results, chunkResult.result.result);
|
|
240
|
+
}
|
|
241
|
+
// If haltOnError is true and we have error, we should stop?
|
|
242
|
+
// Bitrix batch halts inside the batch, but if we split, we must check manually.
|
|
243
|
+
// For simplicity in this refactor, we continue processing other chunks unless logic dictates otherwise.
|
|
244
|
+
}
|
|
245
|
+
return { result: { result: results } }; // Mimic standard batch response structure
|
|
216
246
|
}
|
|
217
247
|
/**
|
|
218
248
|
* Prepare batch commands for CRM operations
|
|
@@ -294,7 +324,7 @@ async function bitrixFetchAll(method, endpoint, params = {}, maxPages = 100) {
|
|
|
294
324
|
}
|
|
295
325
|
if (page >= maxPages) {
|
|
296
326
|
// Warn about pagination limit
|
|
297
|
-
|
|
327
|
+
logger.warn(`Bitrix24: Stopped after ${maxPages} pages to prevent memory issues. Total fetched: ${allResults.length}`);
|
|
298
328
|
}
|
|
299
329
|
return allResults;
|
|
300
330
|
}
|
|
@@ -139,6 +139,12 @@ class Bitrix24Tool {
|
|
|
139
139
|
description: 'Check for duplicate entities',
|
|
140
140
|
action: 'Find duplicates',
|
|
141
141
|
},
|
|
142
|
+
{
|
|
143
|
+
name: 'Check Connection',
|
|
144
|
+
value: 'checkConnection',
|
|
145
|
+
description: 'Test API connectivity and credentials',
|
|
146
|
+
action: 'Check connection',
|
|
147
|
+
},
|
|
142
148
|
// System Operations
|
|
143
149
|
{
|
|
144
150
|
name: 'Get Scope',
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseBitrixNode = void 0;
|
|
4
|
+
const Logger_1 = require("./Logger");
|
|
5
|
+
class BaseBitrixNode {
|
|
6
|
+
async execute() {
|
|
7
|
+
const executionId = this.getExecutionId();
|
|
8
|
+
const logger = new Logger_1.BitrixLogger(this.getNode().name, executionId);
|
|
9
|
+
try {
|
|
10
|
+
logger.debug('Starting execution');
|
|
11
|
+
// @ts-ignore - abstract method call on 'this' context which is IExecuteFunctions mixed with class
|
|
12
|
+
return await this.executeOperations(this, logger);
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
logger.error('Execution failed', error);
|
|
16
|
+
throw error;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.BaseBitrixNode = BaseBitrixNode;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BitrixLogger = exports.LogLevel = void 0;
|
|
4
|
+
var LogLevel;
|
|
5
|
+
(function (LogLevel) {
|
|
6
|
+
LogLevel["DEBUG"] = "debug";
|
|
7
|
+
LogLevel["INFO"] = "info";
|
|
8
|
+
LogLevel["WARN"] = "warn";
|
|
9
|
+
LogLevel["ERROR"] = "error";
|
|
10
|
+
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
11
|
+
class BitrixLogger {
|
|
12
|
+
constructor(context, executionId) {
|
|
13
|
+
this.context = context;
|
|
14
|
+
this.executionId = executionId;
|
|
15
|
+
}
|
|
16
|
+
formatMessage(message, data) {
|
|
17
|
+
const prefix = `[Bitrix24:${this.context}]${this.executionId ? `[Exec:${this.executionId}]` : ''}`;
|
|
18
|
+
let dataStr = '';
|
|
19
|
+
if (data) {
|
|
20
|
+
try {
|
|
21
|
+
dataStr = typeof data === 'object' ? ` ${JSON.stringify(data)}` : ` ${String(data)}`;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
dataStr = ' [Circular/Unserializable]';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return `${prefix} ${message}${dataStr}`;
|
|
28
|
+
}
|
|
29
|
+
debug(message, data) {
|
|
30
|
+
// n8n doesn't strictly have a debug logger exposed easily in all contexts, usage of console.debug is safest for dev
|
|
31
|
+
// In production n8n environments, console.log might be captured.
|
|
32
|
+
console.debug(this.formatMessage(message, data));
|
|
33
|
+
}
|
|
34
|
+
info(message, data) {
|
|
35
|
+
console.log(this.formatMessage(message, data));
|
|
36
|
+
}
|
|
37
|
+
warn(message, data) {
|
|
38
|
+
console.warn(this.formatMessage(message, data));
|
|
39
|
+
}
|
|
40
|
+
error(message, error) {
|
|
41
|
+
console.error(this.formatMessage(message, error));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.BitrixLogger = BitrixLogger;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OperationsRegistry = void 0;
|
|
4
|
+
exports.OperationsRegistry = {
|
|
5
|
+
// System
|
|
6
|
+
'server.time': {
|
|
7
|
+
method: 'GET',
|
|
8
|
+
endpoint: 'server.time',
|
|
9
|
+
description: 'Returns the current server time',
|
|
10
|
+
},
|
|
11
|
+
'user.current': {
|
|
12
|
+
method: 'GET',
|
|
13
|
+
endpoint: 'user.current',
|
|
14
|
+
description: 'Returns current user info (useful for auth check)',
|
|
15
|
+
}
|
|
16
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HandleExecutionErrors = HandleExecutionErrors;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
/**
|
|
6
|
+
* Decorator to wrap execute method with try-catch and standard error handling.
|
|
7
|
+
* Supports continueOnFail logic.
|
|
8
|
+
*/
|
|
9
|
+
function HandleExecutionErrors() {
|
|
10
|
+
return function (target, propertyKey, descriptor) {
|
|
11
|
+
const originalMethod = descriptor.value;
|
|
12
|
+
descriptor.value = async function (...args) {
|
|
13
|
+
try {
|
|
14
|
+
return await originalMethod.apply(this, args);
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
if (this.continueOnFail()) {
|
|
18
|
+
// Return error item if continueOnFail is true
|
|
19
|
+
// Assuming standard n8n execute return type of INodeExecutionData[][]
|
|
20
|
+
const items = this.getInputData();
|
|
21
|
+
const returnData = [];
|
|
22
|
+
// If we can map to specific item, great. If generic error, map to all or first?
|
|
23
|
+
// Simple strategy: If execution failed globally for the node logic, return error for all input items?
|
|
24
|
+
// Usually execute() iterates items. If simple execute() throws, it crashes.
|
|
25
|
+
// This decorator is best for methods that handle the WHOLE execution.
|
|
26
|
+
for (let i = 0; i < items.length; i++) {
|
|
27
|
+
returnData.push({
|
|
28
|
+
json: { error: error.message },
|
|
29
|
+
pairedItem: { item: i },
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return [returnData];
|
|
33
|
+
}
|
|
34
|
+
// Re-throw if not continuing
|
|
35
|
+
if (error instanceof n8n_workflow_1.NodeOperationError) {
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
return descriptor;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -1,22 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Centralized TypeScript types for Bitrix24 n8n nodes
|
|
4
|
-
* Standard 2026: Strong typing for all API interactions
|
|
5
|
-
*/
|
|
6
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommunicationType = exports.BitrixResourceType = void 0;
|
|
7
4
|
exports.isBitrixApiError = isBitrixApiError;
|
|
8
|
-
exports.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
exports.processFormFields = processFormFields;
|
|
6
|
+
/**
|
|
7
|
+
* Check if response is an error
|
|
8
|
+
*/
|
|
12
9
|
function isBitrixApiError(response) {
|
|
13
|
-
return (
|
|
14
|
-
response !== null &&
|
|
15
|
-
'error' in response &&
|
|
16
|
-
typeof response.error === 'string');
|
|
10
|
+
return response && (response.error || response.error_description);
|
|
17
11
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Standard processing function for form fields
|
|
14
|
+
*/
|
|
15
|
+
function processFormFields(item, fieldNames) {
|
|
16
|
+
const result = {};
|
|
17
|
+
for (const field of fieldNames) {
|
|
18
|
+
if (item[field] !== undefined) {
|
|
19
|
+
result[field] = item[field];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
22
23
|
}
|
|
24
|
+
// ============================================
|
|
25
|
+
// Constants
|
|
26
|
+
// ============================================
|
|
27
|
+
var BitrixResourceType;
|
|
28
|
+
(function (BitrixResourceType) {
|
|
29
|
+
BitrixResourceType["LEAD"] = "crm.lead";
|
|
30
|
+
BitrixResourceType["DEAL"] = "crm.deal";
|
|
31
|
+
BitrixResourceType["CONTACT"] = "crm.contact";
|
|
32
|
+
BitrixResourceType["COMPANY"] = "crm.company";
|
|
33
|
+
BitrixResourceType["INVOICE"] = "crm.invoice";
|
|
34
|
+
BitrixResourceType["QUOTE"] = "crm.quote";
|
|
35
|
+
BitrixResourceType["SMART_PROCESS"] = "crm.item";
|
|
36
|
+
BitrixResourceType["LIST"] = "lists";
|
|
37
|
+
BitrixResourceType["TASK"] = "tasks.task";
|
|
38
|
+
BitrixResourceType["USER"] = "user";
|
|
39
|
+
BitrixResourceType["DEPARTMENT"] = "department";
|
|
40
|
+
BitrixResourceType["DISK"] = "disk";
|
|
41
|
+
BitrixResourceType["CALENDAR"] = "calendar";
|
|
42
|
+
BitrixResourceType["SONET_GROUP"] = "sonet_group";
|
|
43
|
+
BitrixResourceType["TELEPHONY"] = "voximplant";
|
|
44
|
+
})(BitrixResourceType || (exports.BitrixResourceType = BitrixResourceType = {}));
|
|
45
|
+
var CommunicationType;
|
|
46
|
+
(function (CommunicationType) {
|
|
47
|
+
CommunicationType["PHONE"] = "PHONE";
|
|
48
|
+
CommunicationType["EMAIL"] = "EMAIL";
|
|
49
|
+
CommunicationType["WEB"] = "WEB";
|
|
50
|
+
CommunicationType["IM"] = "IM";
|
|
51
|
+
})(CommunicationType || (exports.CommunicationType = CommunicationType = {}));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-pragma-bitrix24",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "🏆 30 нод Битрикс24 для n8n от Платиновых партнёров Битрикс24. Полная интеграция: CRM, Задачи, Календарь, Диск, Телефония, Scrum, Автоматизация бизнес-процессов. Enterprise-уровень от PRAGMA и Азбука Решений.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|
|
7
7
|
"n8n",
|