n8n-nodes-wecom 0.3.12 → 0.3.14

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
@@ -42,9 +42,9 @@
42
42
  - **微信客服** - 客服账号、接待人员、消息收发、统计管理
43
43
 
44
44
 
45
- ### 4. 企业微信消息接收(Trigger)
45
+ ### 4. 企业微信消息接收触发器
46
46
 
47
- 接收企业微信的消息和事件推送
47
+ 接收企业微信的消息和事件推送(支持普通接收和被动回复两种模式)
48
48
 
49
49
  ## 隐私与安全
50
50
 
@@ -96,7 +96,7 @@ npm install n8n-nodes-wecom
96
96
  3. 进入"应用管理" > 选择或创建一个应用
97
97
  4. 复制 **AgentId**(应用ID,例如:1000001)
98
98
  5. 启用 **API接收消息**,设置Token、EncodingAESKey
99
- 6. 在 n8n 中创建"企业微信消息接收 Trigger"节点:
99
+ 6. 在 n8n 中创建"企业微信消息接收触发器"节点:
100
100
  - 配置凭证(企业ID、应用ID、Token、EncodingAESKey)
101
101
  - **Path** 表示 Webhook URL 的路径,建议使用应用 ID
102
102
  - 保存节点后,查看生成的 Webhook URL(例如:`https://your-n8n.com/webhook/1000001`)
@@ -115,7 +115,7 @@ npm install n8n-nodes-wecom
115
115
 
116
116
  ## 一、基础功能(企业微信-基础 节点)
117
117
 
118
- ### 消息接收(Trigger 节点)
118
+ ### 消息接收(触发器节点)
119
119
 
120
120
  > [官方文档:接收消息与事件](https://developer.work.weixin.qq.com/document/path/90238)
121
121
 
@@ -137,6 +137,8 @@ npm install n8n-nodes-wecom
137
137
 
138
138
  > [官方文档:被动回复消息](https://developer.work.weixin.qq.com/document/path/90241)
139
139
 
140
+ 使用「企业微信消息接收(被动回复)触发器」+ 「企业微信-基础」节点的「被动回复」功能实现:
141
+
140
142
  - ✅ [被动回复文本消息](https://developer.work.weixin.qq.com/document/path/90241)
141
143
  - ✅ [被动回复图片消息](https://developer.work.weixin.qq.com/document/path/90241)
142
144
  - ✅ [被动回复语音消息](https://developer.work.weixin.qq.com/document/path/90241)
@@ -145,6 +147,16 @@ npm install n8n-nodes-wecom
145
147
  - ✅ 自动加密和签名
146
148
  - ✅ 支持从工作流输出中读取回复内容
147
149
 
150
+ **工作流配置示例:**
151
+ ```
152
+ [企业微信消息接收(被动回复)触发器] → [中间处理节点(可选)] → [企业微信-基础 (被动回复)]
153
+ ```
154
+
155
+ > ⚠️ **重要提示**:
156
+ > - 被动回复节点**必须是工作流的最后一个节点**
157
+ > - 必须在**5秒内**返回响应,否则企业微信会认为请求失败
158
+ > - 请确保工作流处理时间足够快
159
+
148
160
  **回调机制参考文档:**
149
161
 
150
162
  - [回调机制说明](https://developer.work.weixin.qq.com/document/path/92520)
@@ -0,0 +1,2 @@
1
+ import type { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
2
+ export declare function executePassiveReply(this: IExecuteFunctions, operation: string, items: INodeExecutionData[]): Promise<INodeExecutionData[]>;
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executePassiveReply = executePassiveReply;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const crypto_1 = require("../../shared/crypto");
6
+ async function executePassiveReply(operation, items) {
7
+ const returnData = [];
8
+ for (let i = 0; i < items.length; i++) {
9
+ try {
10
+ if (operation === 'reply') {
11
+ const item = items[i];
12
+ const wecomCrypto = item.json._wecomCrypto;
13
+ if (!wecomCrypto || !wecomCrypto.token || !wecomCrypto.encodingAESKey || !wecomCrypto.corpId) {
14
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '缺少企业微信加密信息。请确保工作流结构为:企业微信消息接收(被动回复)触发器 → 本节点', { itemIndex: i });
15
+ }
16
+ const fromUserName = item.json.FromUserName;
17
+ const toUserName = item.json.ToUserName;
18
+ if (!fromUserName || !toUserName) {
19
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '缺少消息发送者或接收者信息,请确保输入数据来自「企业微信消息接收(被动回复)触发器」', { itemIndex: i });
20
+ }
21
+ const replyType = this.getNodeParameter('replyType', i);
22
+ let replyContent = {};
23
+ switch (replyType) {
24
+ case 'text': {
25
+ const textContent = this.getNodeParameter('textContent', i);
26
+ if (!textContent) {
27
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '文本内容不能为空', { itemIndex: i });
28
+ }
29
+ replyContent = { Content: textContent };
30
+ break;
31
+ }
32
+ case 'image':
33
+ case 'voice':
34
+ case 'video': {
35
+ const mediaId = this.getNodeParameter('mediaId', i);
36
+ if (!mediaId) {
37
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '媒体ID不能为空', { itemIndex: i });
38
+ }
39
+ replyContent = { MediaId: mediaId };
40
+ if (replyType === 'video') {
41
+ const videoTitle = this.getNodeParameter('videoTitle', i, '');
42
+ const videoDescription = this.getNodeParameter('videoDescription', i, '');
43
+ if (videoTitle)
44
+ replyContent.Title = videoTitle;
45
+ if (videoDescription)
46
+ replyContent.Description = videoDescription;
47
+ }
48
+ break;
49
+ }
50
+ case 'news': {
51
+ const articlesData = this.getNodeParameter('articles', i);
52
+ const articles = articlesData.article || [];
53
+ if (articles.length === 0) {
54
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '至少需要添加一篇图文消息', { itemIndex: i });
55
+ }
56
+ const formattedArticles = articles.map(article => ({
57
+ Title: article.title,
58
+ Description: article.description || '',
59
+ Url: article.url,
60
+ PicUrl: article.picUrl || '',
61
+ }));
62
+ replyContent = { Articles: formattedArticles };
63
+ break;
64
+ }
65
+ case 'update_template_card': {
66
+ const buttonReplaceName = this.getNodeParameter('buttonReplaceName', i, '');
67
+ if (buttonReplaceName) {
68
+ replyContent = { Button: { ReplaceName: buttonReplaceName } };
69
+ }
70
+ else {
71
+ const cardType = this.getNodeParameter('cardType', i);
72
+ const cardSource = this.getNodeParameter('cardSource', i, '{}');
73
+ const cardMainTitle = this.getNodeParameter('cardMainTitle', i, '{"title": ""}');
74
+ const cardEmphasisContent = this.getNodeParameter('cardEmphasisContent', i, '{}');
75
+ const cardQuoteArea = this.getNodeParameter('cardQuoteArea', i, '{}');
76
+ const cardSubTitleText = this.getNodeParameter('cardSubTitleText', i, '');
77
+ const cardHorizontalContentList = this.getNodeParameter('cardHorizontalContentList', i, '[]');
78
+ const cardJumpList = this.getNodeParameter('cardJumpList', i, '[]');
79
+ const cardAction = this.getNodeParameter('cardAction', i, '{}');
80
+ const cardTaskId = this.getNodeParameter('cardTaskId', i, '');
81
+ const cardActionMenu = this.getNodeParameter('cardActionMenu', i, '{}');
82
+ const templateCard = {
83
+ CardType: cardType,
84
+ };
85
+ try {
86
+ const sourceObj = JSON.parse(cardSource);
87
+ if (Object.keys(sourceObj).length > 0) {
88
+ templateCard.Source = sourceObj;
89
+ }
90
+ }
91
+ catch {
92
+ }
93
+ try {
94
+ templateCard.MainTitle = JSON.parse(cardMainTitle);
95
+ }
96
+ catch {
97
+ templateCard.MainTitle = { title: '' };
98
+ }
99
+ try {
100
+ const emphasisObj = JSON.parse(cardEmphasisContent);
101
+ if (Object.keys(emphasisObj).length > 0) {
102
+ templateCard.EmphasisContent = emphasisObj;
103
+ }
104
+ }
105
+ catch {
106
+ }
107
+ try {
108
+ const quoteObj = JSON.parse(cardQuoteArea);
109
+ if (Object.keys(quoteObj).length > 0) {
110
+ templateCard.QuoteArea = quoteObj;
111
+ }
112
+ }
113
+ catch {
114
+ }
115
+ if (cardSubTitleText) {
116
+ templateCard.SubTitleText = cardSubTitleText;
117
+ }
118
+ try {
119
+ const horizontalList = JSON.parse(cardHorizontalContentList);
120
+ if (Array.isArray(horizontalList) && horizontalList.length > 0) {
121
+ templateCard.HorizontalContentList = horizontalList;
122
+ }
123
+ }
124
+ catch {
125
+ }
126
+ try {
127
+ const jumpListObj = JSON.parse(cardJumpList);
128
+ if (Array.isArray(jumpListObj) && jumpListObj.length > 0) {
129
+ templateCard.JumpList = jumpListObj;
130
+ }
131
+ }
132
+ catch {
133
+ }
134
+ try {
135
+ const cardActionObj = JSON.parse(cardAction);
136
+ if (Object.keys(cardActionObj).length > 0) {
137
+ templateCard.CardAction = cardActionObj;
138
+ }
139
+ }
140
+ catch {
141
+ }
142
+ if (cardTaskId) {
143
+ templateCard.TaskId = cardTaskId;
144
+ }
145
+ try {
146
+ const actionMenuObj = JSON.parse(cardActionMenu);
147
+ if (Object.keys(actionMenuObj).length > 0) {
148
+ templateCard.ActionMenu = actionMenuObj;
149
+ }
150
+ }
151
+ catch {
152
+ }
153
+ if (cardType === 'button_interaction') {
154
+ const cardButtonList = this.getNodeParameter('cardButtonList', i, '[]');
155
+ try {
156
+ const buttonListObj = JSON.parse(cardButtonList);
157
+ if (Array.isArray(buttonListObj) && buttonListObj.length > 0) {
158
+ templateCard.ButtonList = buttonListObj;
159
+ }
160
+ }
161
+ catch {
162
+ }
163
+ }
164
+ else if (cardType === 'vote_interaction' || cardType === 'multiple_interaction') {
165
+ const cardCheckboxQuestionKey = this.getNodeParameter('cardCheckboxQuestionKey', i, '');
166
+ const cardCheckboxMode = this.getNodeParameter('cardCheckboxMode', i, 'single');
167
+ const cardOptionList = this.getNodeParameter('cardOptionList', i, '[]');
168
+ const cardSubmitButtonText = this.getNodeParameter('cardSubmitButtonText', i, '提交');
169
+ const cardSubmitButtonKey = this.getNodeParameter('cardSubmitButtonKey', i);
170
+ if (cardCheckboxQuestionKey) {
171
+ templateCard.Checkbox = {
172
+ QuestionKey: cardCheckboxQuestionKey,
173
+ Mode: cardCheckboxMode,
174
+ OptionList: JSON.parse(cardOptionList),
175
+ };
176
+ }
177
+ templateCard.SubmitButton = {
178
+ Text: cardSubmitButtonText,
179
+ Key: cardSubmitButtonKey,
180
+ };
181
+ }
182
+ else if (cardType === 'news_notice') {
183
+ const cardImageTextArea = this.getNodeParameter('cardImageTextArea', i, '{}');
184
+ try {
185
+ const imageTextObj = JSON.parse(cardImageTextArea);
186
+ if (Object.keys(imageTextObj).length > 0) {
187
+ templateCard.ImageTextArea = imageTextObj;
188
+ }
189
+ }
190
+ catch {
191
+ }
192
+ }
193
+ replyContent = { TemplateCard: templateCard };
194
+ }
195
+ break;
196
+ }
197
+ }
198
+ const crypto = new crypto_1.WeComCrypto(wecomCrypto.encodingAESKey, wecomCrypto.corpId);
199
+ const replyMessageXML = (0, crypto_1.generateReplyMessageXML)(fromUserName, toUserName, replyType, replyContent);
200
+ const encryptedResponseXML = (0, crypto_1.generateEncryptedResponseXML)(crypto, wecomCrypto.token, replyMessageXML, this.getNode());
201
+ this.sendResponse({
202
+ body: encryptedResponseXML,
203
+ headers: {
204
+ 'content-type': 'application/xml; charset=utf-8',
205
+ },
206
+ statusCode: 200,
207
+ });
208
+ returnData.push({
209
+ json: {
210
+ success: true,
211
+ repliedAt: new Date().toISOString(),
212
+ },
213
+ pairedItem: { item: i },
214
+ });
215
+ }
216
+ }
217
+ catch (error) {
218
+ if (this.continueOnFail()) {
219
+ returnData.push({
220
+ json: {
221
+ error: error.message,
222
+ success: false,
223
+ },
224
+ pairedItem: { item: i },
225
+ });
226
+ continue;
227
+ }
228
+ throw error;
229
+ }
230
+ }
231
+ return returnData;
232
+ }
233
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../nodes/WeCom/resources/passiveReply/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const passiveReplyDescription: INodeProperties[];