@softtynet/zca-js 2.1.19 → 2.1.21

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.
Files changed (88) hide show
  1. package/dist/apis/addReaction.js +3 -0
  2. package/dist/apis/createBankAccount.d.ts +8 -0
  3. package/dist/apis/createBankAccount.js +32 -0
  4. package/dist/apis/deleteBankAccount.d.ts +11 -0
  5. package/dist/apis/deleteBankAccount.js +32 -0
  6. package/dist/apis/getGroupLinkInfo.d.ts +2 -2
  7. package/dist/apis/getListBank.d.ts +5 -0
  8. package/dist/apis/getListBank.js +20 -0
  9. package/dist/apis/getListBankAccount.d.ts +7 -0
  10. package/dist/apis/getListBankAccount.js +27 -0
  11. package/dist/apis/getListDevice.d.ts +10 -0
  12. package/dist/apis/getListDevice.js +22 -0
  13. package/dist/apis/getUserInfo.d.ts +2 -2
  14. package/dist/apis/listen.js +26 -4
  15. package/dist/apis/lostFocus.d.ts +4 -0
  16. package/dist/apis/lostFocus.js +23 -0
  17. package/dist/apis/registerCatalog.d.ts +2 -0
  18. package/dist/apis/registerCatalog.js +27 -0
  19. package/dist/apis/scanURL.d.ts +4 -0
  20. package/dist/apis/scanURL.js +28 -0
  21. package/dist/apis/sendBankCard.js +1 -1
  22. package/dist/apis/updateBankAccount.d.ts +9 -0
  23. package/dist/apis/updateBankAccount.js +31 -0
  24. package/dist/apis.d.ts +18 -0
  25. package/dist/apis.js +18 -0
  26. package/dist/cjs/apis/addReaction.cjs +4 -0
  27. package/dist/cjs/apis/addUnreadMark.cjs +1 -0
  28. package/dist/cjs/apis/createBankAccount.cjs +37 -0
  29. package/dist/cjs/apis/createReminder.cjs +1 -0
  30. package/dist/cjs/apis/deleteBankAccount.cjs +37 -0
  31. package/dist/cjs/apis/deleteChat.cjs +1 -0
  32. package/dist/cjs/apis/deleteMessage.cjs +1 -0
  33. package/dist/cjs/apis/editReminder.cjs +1 -0
  34. package/dist/cjs/apis/findUser.cjs +1 -0
  35. package/dist/cjs/apis/findUserByUsername.cjs +1 -0
  36. package/dist/cjs/apis/forwardMessage.cjs +1 -0
  37. package/dist/cjs/apis/getAllFriends.cjs +1 -0
  38. package/dist/cjs/apis/getAvatarUrlProfile.cjs +1 -0
  39. package/dist/cjs/apis/getGroupChatHistory.cjs +1 -0
  40. package/dist/cjs/apis/getListBank.cjs +25 -0
  41. package/dist/cjs/apis/getListBankAccount.cjs +32 -0
  42. package/dist/cjs/apis/getListBoard.cjs +1 -0
  43. package/dist/cjs/apis/getListDevice.cjs +27 -0
  44. package/dist/cjs/apis/getListReminder.cjs +1 -0
  45. package/dist/cjs/apis/getMultiUsersByPhones.cjs +1 -0
  46. package/dist/cjs/apis/getUserInfo.cjs +1 -0
  47. package/dist/cjs/apis/listen.cjs +27 -4
  48. package/dist/cjs/apis/lostFocus.cjs +28 -0
  49. package/dist/cjs/apis/registerCatalog.cjs +32 -0
  50. package/dist/cjs/apis/removeReminder.cjs +1 -0
  51. package/dist/cjs/apis/removeUnreadMark.cjs +1 -0
  52. package/dist/cjs/apis/scanURL.cjs +33 -0
  53. package/dist/cjs/apis/sendBankCard.cjs +2 -1
  54. package/dist/cjs/apis/sendCard.cjs +1 -0
  55. package/dist/cjs/apis/sendDeliveredEvent.cjs +1 -0
  56. package/dist/cjs/apis/sendLink.cjs +1 -0
  57. package/dist/cjs/apis/sendMessage.cjs +1 -0
  58. package/dist/cjs/apis/sendReport.cjs +1 -0
  59. package/dist/cjs/apis/sendSeenEvent.cjs +1 -0
  60. package/dist/cjs/apis/sendSticker.cjs +1 -0
  61. package/dist/cjs/apis/sendTypingEvent.cjs +1 -0
  62. package/dist/cjs/apis/sendVideo.cjs +1 -0
  63. package/dist/cjs/apis/sendVoice.cjs +1 -0
  64. package/dist/cjs/apis/setHiddenConversations.cjs +1 -0
  65. package/dist/cjs/apis/setMute.cjs +1 -0
  66. package/dist/cjs/apis/setPinnedConversations.cjs +1 -0
  67. package/dist/cjs/apis/undo.cjs +1 -0
  68. package/dist/cjs/apis/updateAutoDeleteChat.cjs +1 -0
  69. package/dist/cjs/apis/updateBankAccount.cjs +36 -0
  70. package/dist/cjs/apis/uploadAttachment.cjs +1 -0
  71. package/dist/cjs/apis.cjs +18 -0
  72. package/dist/cjs/index.cjs +5 -4
  73. package/dist/cjs/models/Bank.cjs +263 -0
  74. package/dist/cjs/models/Enum.cjs +4 -235
  75. package/dist/cjs/update.cjs +1 -1
  76. package/dist/cjs/utils.cjs +13 -0
  77. package/dist/index.d.ts +9 -0
  78. package/dist/models/Bank.d.ts +291 -0
  79. package/dist/models/Bank.js +262 -0
  80. package/dist/models/Enum.d.ts +5 -235
  81. package/dist/models/Enum.js +4 -235
  82. package/dist/models/User.d.ts +8 -0
  83. package/dist/models/index.d.ts +1 -0
  84. package/dist/models/index.js +1 -0
  85. package/dist/update.js +1 -1
  86. package/dist/utils.d.ts +1 -0
  87. package/dist/utils.js +12 -0
  88. package/package.json +1 -1
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -26,6 +27,9 @@ const addReactionFactory = utils.apiFactory()((api, ctx, utils) => {
26
27
  * @throws {ZaloApiError}
27
28
  */
28
29
  return async function addReaction(icon, dest) {
30
+ if (dest.type !== Enum.ThreadType.User && dest.type !== Enum.ThreadType.Group) {
31
+ throw new ZaloApiError.ZaloApiError("Thread type is invalid");
32
+ }
29
33
  const serviceURL = serviceURLs[dest.type];
30
34
  let rType, source;
31
35
  if (typeof icon == "object") {
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const createBankAccountFactory = utils.apiFactory()((api, ctx, utils$1) => {
7
+ const serviceURL = utils$1.makeURL(`${api.zpwServiceMap.zimsg[0]}/api/transfer/create`);
8
+ /**
9
+ * Create bank account
10
+ *
11
+ * @param payload The payload containing the bank account information
12
+ *
13
+ * @throws {ZaloApiError} When something went wrong, with `error.code`
14
+ * - `-263` - Bank account already exists
15
+ * - `810` - Internal Zalo error, might be invalid input
16
+ */
17
+ return async function createBankAccount(payload) {
18
+ const params = {
19
+ bin: payload.binBank,
20
+ bank_number: payload.numAccBank,
21
+ holder_name: utils.normalizeHolderName(payload.nameAccBank),
22
+ language: ctx.language,
23
+ };
24
+ const encryptedParams = utils$1.encodeAES(JSON.stringify(params));
25
+ if (!encryptedParams)
26
+ throw new ZaloApiError.ZaloApiError("Failed to encrypt params");
27
+ const response = await utils$1.request(serviceURL, {
28
+ method: "POST",
29
+ body: new URLSearchParams({
30
+ params: encryptedParams,
31
+ }),
32
+ });
33
+ return utils$1.resolve(response);
34
+ };
35
+ });
36
+
37
+ exports.createBankAccountFactory = createBankAccountFactory;
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const deleteBankAccountFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.zimsg[0]}/api/transfer/delete`);
8
+ /**
9
+ * Delete bank account
10
+ *
11
+ * @param payload The payload containing the bank account information to delete
12
+ *
13
+ * @throws {ZaloApiError} When something went wrong, with `error.code`
14
+ * - `114` - Invalid params
15
+ * - `-265` - Bank account not exists
16
+ * - `810` Internal Zalo error, maybe you're trying to delete a default bank account
17
+ */
18
+ return async function deleteBankAccount(payload) {
19
+ const params = {
20
+ account_id: payload.accountId,
21
+ is_default: payload.isDefault,
22
+ language: ctx.language,
23
+ };
24
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
25
+ if (!encryptedParams)
26
+ throw new ZaloApiError.ZaloApiError("Failed to encrypt params");
27
+ const response = await utils.request(serviceURL, {
28
+ method: "POST",
29
+ body: new URLSearchParams({
30
+ params: encryptedParams,
31
+ }),
32
+ });
33
+ return utils.resolve(response);
34
+ };
35
+ });
36
+
37
+ exports.deleteBankAccountFactory = deleteBankAccountFactory;
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -3,6 +3,7 @@
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  var utils = require('../utils.cjs');
5
5
  require('../models/AutoReply.cjs');
6
+ require('../models/Bank.cjs');
6
7
  require('../models/Board.cjs');
7
8
  var Enum = require('../models/Enum.cjs');
8
9
  require('../models/FriendEvent.cjs');
@@ -3,6 +3,7 @@
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  var utils = require('../utils.cjs');
5
5
  require('../models/AutoReply.cjs');
6
+ require('../models/Bank.cjs');
6
7
  require('../models/Board.cjs');
7
8
  var Enum = require('../models/Enum.cjs');
8
9
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -3,6 +3,7 @@
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  var utils = require('../utils.cjs');
5
5
  require('../models/AutoReply.cjs');
6
+ require('../models/Bank.cjs');
6
7
  require('../models/Board.cjs');
7
8
  var Enum = require('../models/Enum.cjs');
8
9
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -3,6 +3,7 @@
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  var utils = require('../utils.cjs');
5
5
  require('../models/AutoReply.cjs');
6
+ require('../models/Bank.cjs');
6
7
  require('../models/Board.cjs');
7
8
  require('../models/Enum.cjs');
8
9
  require('../models/FriendEvent.cjs');
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getListBankFactory = utils.apiFactory()((api, _ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.zimsg[0]}/api/transfer/conf`);
8
+ /**
9
+ * Get list bank
10
+ *
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function getListBank() {
14
+ const params = {};
15
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
16
+ if (!encryptedParams)
17
+ throw new ZaloApiError.ZaloApiError("Failed to encrypt params");
18
+ const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
19
+ method: "GET",
20
+ });
21
+ return utils.resolve(response);
22
+ };
23
+ });
24
+
25
+ exports.getListBankFactory = getListBankFactory;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getListBankAccountFactory = utils.apiFactory()((api, _ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.zimsg[0]}/api/transfer/list`);
8
+ /**
9
+ * Get list bank accounts
10
+ *
11
+ * @param page Page number (default: 0)
12
+ * @param limit Number of items to retrieve (default: 20)
13
+ *
14
+ * @throws {ZaloApiError} When something went wrong, with `error.code`
15
+ * - `114` - Invalid params
16
+ */
17
+ return async function getListBankAccount(page = 0, limit = 20) {
18
+ const params = {
19
+ page: page,
20
+ limit: limit,
21
+ };
22
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
23
+ if (!encryptedParams)
24
+ throw new ZaloApiError.ZaloApiError("Failed to encrypt params");
25
+ const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
26
+ method: "GET",
27
+ });
28
+ return utils.resolve(response);
29
+ };
30
+ });
31
+
32
+ exports.getListBankAccountFactory = getListBankAccountFactory;
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  var Board = require('../models/Board.cjs');
6
7
  require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getListDeviceFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.aext[0]}/api/devices/linked`);
8
+ /**
9
+ * Get list device
10
+ *
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function getListDevice() {
14
+ const params = {
15
+ imei: ctx.imei,
16
+ };
17
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
18
+ if (!encryptedParams)
19
+ throw new ZaloApiError.ZaloApiError("Failed to encrypt params");
20
+ const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
21
+ method: "GET",
22
+ });
23
+ return utils.resolve(response);
24
+ };
25
+ });
26
+
27
+ exports.getListDeviceFactory = getListDeviceFactory;
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -3,6 +3,7 @@
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  var utils = require('../utils.cjs');
5
5
  require('../models/AutoReply.cjs');
6
+ require('../models/Bank.cjs');
6
7
  require('../models/Board.cjs');
7
8
  var Enum = require('../models/Enum.cjs');
8
9
  require('../models/FriendEvent.cjs');
@@ -3,6 +3,7 @@
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  var utils = require('../utils.cjs');
5
5
  require('../models/AutoReply.cjs');
6
+ require('../models/Bank.cjs');
6
7
  require('../models/Board.cjs');
7
8
  var Enum = require('../models/Enum.cjs');
8
9
  require('../models/FriendEvent.cjs');
@@ -5,6 +5,7 @@ var WebSocket = require('ws');
5
5
  var FriendEvent = require('../models/FriendEvent.cjs');
6
6
  var GroupEvent = require('../models/GroupEvent.cjs');
7
7
  require('../models/AutoReply.cjs');
8
+ require('../models/Bank.cjs');
8
9
  require('../models/Board.cjs');
9
10
  var DeliveredMessage = require('../models/DeliveredMessage.cjs');
10
11
  var Enum = require('../models/Enum.cjs');
@@ -154,8 +155,25 @@ class Listener extends EventEmitter {
154
155
  utils.logger(this.ctx).verbose(`Rotating endpoint to ${this.wsURL}`);
155
156
  }
156
157
  start({ retryOnClose = false } = {}) {
157
- if (this.ws)
158
- throw new ZaloApiError.ZaloApiError("Already started");
158
+ if (this.retryTimeout) {
159
+ clearTimeout(this.retryTimeout);
160
+ this.retryTimeout = undefined;
161
+ }
162
+ if (this.ws) {
163
+ const state = this.ws.readyState;
164
+ if (state === WebSocket.CONNECTING || state === WebSocket.OPEN) {
165
+ utils.logger(this.ctx).warn("Listener is already active or connecting. Skipping duplicate start().");
166
+ return;
167
+ }
168
+ try {
169
+ this.ws.removeAllListeners();
170
+ this.ws.close();
171
+ }
172
+ catch (_a) {
173
+ // ignore
174
+ }
175
+ this.ws = null;
176
+ }
159
177
  this.wsURL = utils.makeURL(this.ctx, this.urls[this.rotateCount], {
160
178
  t: Date.now(),
161
179
  });
@@ -197,7 +215,12 @@ class Listener extends EventEmitter {
197
215
  }
198
216
  this.emit("reconnecting", event.code);
199
217
  this.retryTimeout = setTimeout(() => {
200
- this.start({ retryOnClose: true });
218
+ try {
219
+ this.start({ retryOnClose: true });
220
+ }
221
+ catch (error) {
222
+ utils.logger(this.ctx).error("Failed to auto-restart listener on retry timeout:", error);
223
+ }
201
224
  }, retry);
202
225
  }
203
226
  else {
@@ -244,7 +267,7 @@ class Listener extends EventEmitter {
244
267
  ping();
245
268
  }, pingIntervalTime);
246
269
  }
247
- if (version == 1 && cmd == 501 && subCmd == 0) {
270
+ if (version == 1 && ([501, 551].includes(cmd)) && subCmd == 0) {
248
271
  const parsedData = (await utils.decodeEventData(parsed, this.cipherKey)).data;
249
272
  const { msgs } = parsedData;
250
273
  for (const msg of msgs) {
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const lostFocusFactory = utils.apiFactory()((api, _ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.profile[0]}/api/social/profile/changefgtobg`);
8
+ /**
9
+ * Lost focus
10
+ *
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function lostFocus() {
14
+ const params = {};
15
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
16
+ if (!encryptedParams)
17
+ throw new ZaloApiError.ZaloApiError("Failed to encrypt params");
18
+ const response = await utils.request(serviceURL, {
19
+ method: "POST",
20
+ body: new URLSearchParams({
21
+ params: encryptedParams,
22
+ }),
23
+ });
24
+ return utils.resolve(response);
25
+ };
26
+ });
27
+
28
+ exports.lostFocusFactory = lostFocusFactory;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const registerCatalogFactory = utils.apiFactory()((api, _ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.catalog[0]}/api/prodcatalog/catalog/register`);
8
+ /**
9
+ * Register catalog?
10
+ *
11
+ * @param enable enable or disable catalog
12
+ *
13
+ * @throws {ZaloApiError}
14
+ */
15
+ return async function registerCatalog(enable) {
16
+ const params = {
17
+ enable: enable ? 1 : 0,
18
+ };
19
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
20
+ if (!encryptedParams)
21
+ throw new ZaloApiError.ZaloApiError("Failed to encrypt params");
22
+ const response = await utils.request(serviceURL, {
23
+ method: "POST",
24
+ body: new URLSearchParams({
25
+ params: encryptedParams,
26
+ }),
27
+ });
28
+ return utils.resolve(response);
29
+ };
30
+ });
31
+
32
+ exports.registerCatalogFactory = registerCatalogFactory;
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const scanURLFactory = utils.apiFactory()((api, _ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/scanurl`);
8
+ /**
9
+ * Scan URL to check if it is safe?
10
+ *
11
+ * @param url URL to scan
12
+ *
13
+ * @throws {ZaloApiError} When something went wrong, with `error.code`
14
+ * - `114` - Invalid params
15
+ */
16
+ return async function scanURL(url) {
17
+ const params = {
18
+ url: url,
19
+ };
20
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
21
+ if (!encryptedParams)
22
+ throw new ZaloApiError.ZaloApiError("Failed to encrypt params");
23
+ const response = await utils.request(serviceURL, {
24
+ method: "POST",
25
+ body: new URLSearchParams({
26
+ params: encryptedParams,
27
+ }),
28
+ });
29
+ return utils.resolve(response);
30
+ };
31
+ });
32
+
33
+ exports.scanURLFactory = scanURLFactory;
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -12,7 +13,7 @@ require('../models/Reminder.cjs');
12
13
  require('../models/ZBusiness.cjs');
13
14
  var utils = require('../utils.cjs');
14
15
 
15
- const sendBankCardFactory = utils.apiFactory()((api, ctx, utils) => {
16
+ const sendBankCardFactory = utils.apiFactory()((api, _, utils) => {
16
17
  const serviceURL = utils.makeURL(`${api.zpwServiceMap.zimsg[0]}/api/transfer/card`);
17
18
  /**
18
19
  * Send bank card
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -3,6 +3,7 @@
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  var context = require('../context.cjs');
5
5
  require('../models/AutoReply.cjs');
6
+ require('../models/Bank.cjs');
6
7
  require('../models/Board.cjs');
7
8
  var Enum = require('../models/Enum.cjs');
8
9
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -4,6 +4,7 @@ var FormData = require('form-data');
4
4
  var fs = require('node:fs/promises');
5
5
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
6
6
  require('../models/AutoReply.cjs');
7
+ require('../models/Bank.cjs');
7
8
  require('../models/Board.cjs');
8
9
  var Enum = require('../models/Enum.cjs');
9
10
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -3,6 +3,7 @@
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  var context = require('../context.cjs');
5
5
  require('../models/AutoReply.cjs');
6
+ require('../models/Bank.cjs');
6
7
  require('../models/Board.cjs');
7
8
  var Enum = require('../models/Enum.cjs');
8
9
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');
@@ -2,6 +2,7 @@
2
2
 
3
3
  var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
4
  require('../models/AutoReply.cjs');
5
+ require('../models/Bank.cjs');
5
6
  require('../models/Board.cjs');
6
7
  var Enum = require('../models/Enum.cjs');
7
8
  require('../models/FriendEvent.cjs');