zalo-toolkit 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.
Files changed (155) hide show
  1. package/dist/apis/sendMessage.d.ts +5 -0
  2. package/dist/apis/sendMessage.js +31 -11
  3. package/dist/cjs/apis/acceptFriendRequest.cjs +33 -0
  4. package/dist/cjs/apis/addGroupBlockedMember.cjs +33 -0
  5. package/dist/cjs/apis/addGroupDeputy.cjs +36 -0
  6. package/dist/cjs/apis/addPollOptions.cjs +31 -0
  7. package/dist/cjs/apis/addQuickMessage.cjs +65 -0
  8. package/dist/cjs/apis/addReaction.cjs +297 -0
  9. package/dist/cjs/apis/addUnreadMark.cjs +65 -0
  10. package/dist/cjs/apis/addUserToGroup.cjs +39 -0
  11. package/dist/cjs/apis/blockUser.cjs +33 -0
  12. package/dist/cjs/apis/blockViewFeed.cjs +35 -0
  13. package/dist/cjs/apis/changeAccountAvatar.cjs +56 -0
  14. package/dist/cjs/apis/changeFriendAlias.cjs +32 -0
  15. package/dist/cjs/apis/changeGroupAvatar.cjs +47 -0
  16. package/dist/cjs/apis/changeGroupName.cjs +37 -0
  17. package/dist/cjs/apis/changeGroupOwner.cjs +36 -0
  18. package/dist/cjs/apis/createAutoReply.cjs +42 -0
  19. package/dist/cjs/apis/createCatalog.cjs +34 -0
  20. package/dist/cjs/apis/createGroup.cjs +48 -0
  21. package/dist/cjs/apis/createNote.cjs +52 -0
  22. package/dist/cjs/apis/createPoll.cjs +45 -0
  23. package/dist/cjs/apis/createProductCatalog.cjs +55 -0
  24. package/dist/cjs/apis/createReminder.cjs +76 -0
  25. package/dist/cjs/apis/custom.cjs +19 -0
  26. package/dist/cjs/apis/deleteAutoReply.cjs +34 -0
  27. package/dist/cjs/apis/deleteAvatar.cjs +32 -0
  28. package/dist/cjs/apis/deleteCatalog.cjs +33 -0
  29. package/dist/cjs/apis/deleteChat.cjs +63 -0
  30. package/dist/cjs/apis/deleteGroupInviteBox.cjs +32 -0
  31. package/dist/cjs/apis/deleteMessage.cjs +65 -0
  32. package/dist/cjs/apis/deleteProductCatalog.cjs +36 -0
  33. package/dist/cjs/apis/disableGroupLink.cjs +29 -0
  34. package/dist/cjs/apis/disperseGroup.cjs +33 -0
  35. package/dist/cjs/apis/editNote.cjs +51 -0
  36. package/dist/cjs/apis/editReminder.cjs +74 -0
  37. package/dist/cjs/apis/enableGroupLink.cjs +30 -0
  38. package/dist/cjs/apis/fetchAccountInfo.cjs +15 -0
  39. package/dist/cjs/apis/findUser.cjs +45 -0
  40. package/dist/cjs/apis/forwardAttachment.cjs +85 -0
  41. package/dist/cjs/apis/forwardMessage.cjs +122 -0
  42. package/dist/cjs/apis/getAliasList.cjs +33 -0
  43. package/dist/cjs/apis/getAllFriends.cjs +37 -0
  44. package/dist/cjs/apis/getAllGroups.cjs +15 -0
  45. package/dist/cjs/apis/getArchivedChatList.cjs +28 -0
  46. package/dist/cjs/apis/getAutoDeleteChat.cjs +26 -0
  47. package/dist/cjs/apis/getAutoReplyList.cjs +29 -0
  48. package/dist/cjs/apis/getAvatarList.cjs +33 -0
  49. package/dist/cjs/apis/getBizAccount.cjs +32 -0
  50. package/dist/cjs/apis/getCatalogList.cjs +37 -0
  51. package/dist/cjs/apis/getContext.cjs +9 -0
  52. package/dist/cjs/apis/getCookie.cjs +14 -0
  53. package/dist/cjs/apis/getFriendBoardList.cjs +31 -0
  54. package/dist/cjs/apis/getFriendOnlines.cjs +40 -0
  55. package/dist/cjs/apis/getFriendRecommendations.cjs +32 -0
  56. package/dist/cjs/apis/getFriendRequestStatus.cjs +30 -0
  57. package/dist/cjs/apis/getGroupBlockedMember.cjs +34 -0
  58. package/dist/cjs/apis/getGroupInfo.cjs +37 -0
  59. package/dist/cjs/apis/getGroupInviteBoxInfo.cjs +43 -0
  60. package/dist/cjs/apis/getGroupInviteBoxList.cjs +36 -0
  61. package/dist/cjs/apis/getGroupLinkDetail.cjs +30 -0
  62. package/dist/cjs/apis/getGroupLinkInfo.cjs +33 -0
  63. package/dist/cjs/apis/getGroupMembersInfo.cjs +29 -0
  64. package/dist/cjs/apis/getHiddenConversations.cjs +28 -0
  65. package/dist/cjs/apis/getLabels.cjs +33 -0
  66. package/dist/cjs/apis/getLastMessage.cjs +25 -0
  67. package/dist/cjs/apis/getListBoard.cjs +58 -0
  68. package/dist/cjs/apis/getListReminder.cjs +60 -0
  69. package/dist/cjs/apis/getMute.cjs +27 -0
  70. package/dist/cjs/apis/getOwnId.cjs +9 -0
  71. package/dist/cjs/apis/getPendingGroupMembers.cjs +32 -0
  72. package/dist/cjs/apis/getPinConversations.cjs +27 -0
  73. package/dist/cjs/apis/getPollDetail.cjs +35 -0
  74. package/dist/cjs/apis/getProductCatalogList.cjs +38 -0
  75. package/dist/cjs/apis/getQR.cjs +34 -0
  76. package/dist/cjs/apis/getQuickMessageList.cjs +29 -0
  77. package/dist/cjs/apis/getRecommendFriends.cjs +25 -0
  78. package/dist/cjs/apis/getRelatedFriendGroup.cjs +35 -0
  79. package/dist/cjs/apis/getReminder.cjs +30 -0
  80. package/dist/cjs/apis/getReminderResponses.cjs +29 -0
  81. package/dist/cjs/apis/getSentFriendRequest.cjs +29 -0
  82. package/dist/cjs/apis/getSettings.cjs +25 -0
  83. package/dist/cjs/apis/getStickers.cjs +45 -0
  84. package/dist/cjs/apis/getStickersDetail.cjs +45 -0
  85. package/dist/cjs/apis/getUnreadMark.cjs +35 -0
  86. package/dist/cjs/apis/getUserInfo.cjs +47 -0
  87. package/dist/cjs/apis/inviteUserToGroups.cjs +35 -0
  88. package/dist/cjs/apis/joinGroupInviteBox.cjs +30 -0
  89. package/dist/cjs/apis/joinGroupLink.cjs +32 -0
  90. package/dist/cjs/apis/keepAlive.cjs +27 -0
  91. package/dist/cjs/apis/lastOnline.cjs +31 -0
  92. package/dist/cjs/apis/leaveGroup.cjs +38 -0
  93. package/dist/cjs/apis/lockPoll.cjs +33 -0
  94. package/dist/cjs/apis/parseLink.cjs +32 -0
  95. package/dist/cjs/apis/rejectFriendRequest.cjs +32 -0
  96. package/dist/cjs/apis/removeFriend.cjs +33 -0
  97. package/dist/cjs/apis/removeFriendAlias.cjs +29 -0
  98. package/dist/cjs/apis/removeGroupBlockedMember.cjs +33 -0
  99. package/dist/cjs/apis/removeGroupDeputy.cjs +35 -0
  100. package/dist/cjs/apis/removeQuickMessage.cjs +32 -0
  101. package/dist/cjs/apis/removeReminder.cjs +53 -0
  102. package/dist/cjs/apis/removeUnreadMark.cjs +63 -0
  103. package/dist/cjs/apis/removeUserFromGroup.cjs +39 -0
  104. package/dist/cjs/apis/resetHiddenConversPin.cjs +25 -0
  105. package/dist/cjs/apis/reuseAvatar.cjs +31 -0
  106. package/dist/cjs/apis/reviewPendingMemberRequest.cjs +33 -11
  107. package/dist/cjs/apis/sendBankCard.cjs +50 -0
  108. package/dist/cjs/apis/sendCard.cjs +72 -0
  109. package/dist/cjs/apis/sendDeliveredEvent.cjs +68 -0
  110. package/dist/cjs/apis/sendFriendRequest.cjs +44 -0
  111. package/dist/cjs/apis/sendLink.cjs +70 -0
  112. package/dist/cjs/apis/sendMessage.cjs +437 -11
  113. package/dist/cjs/apis/sendReport.cjs +48 -10
  114. package/dist/cjs/apis/sendSeenEvent.cjs +76 -0
  115. package/dist/cjs/apis/sendSticker.cjs +69 -0
  116. package/dist/cjs/apis/sendTypingEvent.cjs +46 -0
  117. package/dist/cjs/apis/sendVideo.cjs +131 -0
  118. package/dist/cjs/apis/sendVoice.cjs +86 -0
  119. package/dist/cjs/apis/setArchivedConversations.cjs +39 -0
  120. package/dist/cjs/apis/setHiddenConversations.cjs +52 -0
  121. package/dist/cjs/apis/setMute.cjs +57 -10
  122. package/dist/cjs/apis/setPinnedConversations.cjs +47 -0
  123. package/dist/cjs/apis/sharePoll.cjs +33 -0
  124. package/dist/cjs/apis/unblockUser.cjs +33 -0
  125. package/dist/cjs/apis/undo.cjs +55 -0
  126. package/dist/cjs/apis/undoFriendRequest.cjs +32 -0
  127. package/dist/cjs/apis/updateActiveStatus.cjs +32 -0
  128. package/dist/cjs/apis/updateAutoDeleteChat.cjs +35 -10
  129. package/dist/cjs/apis/updateAutoReply.cjs +43 -0
  130. package/dist/cjs/apis/updateCatalog.cjs +35 -0
  131. package/dist/cjs/apis/updateGroupSettings.cjs +48 -0
  132. package/dist/cjs/apis/updateHiddenConversPin.cjs +35 -0
  133. package/dist/cjs/apis/updateLabels.cjs +39 -0
  134. package/dist/cjs/apis/updateLang.cjs +27 -11
  135. package/dist/cjs/apis/updateProductCatalog.cjs +56 -0
  136. package/dist/cjs/apis/updateProfile.cjs +48 -0
  137. package/dist/cjs/apis/updateQuickMessage.cjs +66 -0
  138. package/dist/cjs/apis/updateSettings.cjs +77 -11
  139. package/dist/cjs/apis/uploadAttachment.cjs +208 -0
  140. package/dist/cjs/apis/uploadProductPhoto.cjs +50 -0
  141. package/dist/cjs/apis/votePoll.cjs +34 -0
  142. package/dist/cjs/apis.cjs +292 -0
  143. package/dist/cjs/context.cjs +15 -0
  144. package/dist/cjs/core/enums/common.cjs +14 -0
  145. package/dist/cjs/core/utils/index.cjs +33 -0
  146. package/dist/cjs/models/GroupEvent.cjs +2 -4
  147. package/dist/cjs/utils.cjs +229 -3
  148. package/dist/cjs/zalo.cjs +18 -7
  149. package/dist/index.d.ts +1 -0
  150. package/dist/models/GroupEvent.d.ts +2 -2
  151. package/dist/models/GroupEvent.js +2 -4
  152. package/dist/models/Message.d.ts +6 -0
  153. package/dist/zalo.d.ts +17 -10
  154. package/dist/zalo.js +19 -8
  155. package/package.json +1 -1
@@ -0,0 +1,122 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var Enum = require('../models/Enum.cjs');
5
+ var utils = require('../utils.cjs');
6
+
7
+ exports.ForwardMessageType = void 0;
8
+ (function (ForwardMessageType) {
9
+ ForwardMessageType["TEXT"] = "text";
10
+ ForwardMessageType["LINK"] = "link";
11
+ })(exports.ForwardMessageType || (exports.ForwardMessageType = {}));
12
+ const forwardMessageFactory = utils.apiFactory()((api, ctx, utils) => {
13
+ const serviceURL = {
14
+ [Enum.ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/mforward`),
15
+ [Enum.ThreadType.Group]: utils.makeURL(`${api.zpwServiceMap.file[0]}/api/group/mforward`),
16
+ };
17
+ return async function forwardMessage(options, toIds, type = Enum.ThreadType.User, messageType) {
18
+ const timestamp = Date.now();
19
+ const params = {
20
+ imei: ctx.imei,
21
+ ttl: 0,
22
+ msgType: '1',
23
+ totalIds: toIds.length,
24
+ };
25
+ switch (messageType) {
26
+ case exports.ForwardMessageType.LINK:
27
+ const linkOptions = options;
28
+ params.msgType = '3';
29
+ params.msgInfo = JSON.stringify({
30
+ link: linkOptions.url,
31
+ linkTitle: linkOptions.url,
32
+ linkDesc: linkOptions.description,
33
+ linkThumb: linkOptions.thumbnailUrl,
34
+ linkType: '',
35
+ extData: JSON.stringify({
36
+ streamUrl: '',
37
+ stream_icon: '',
38
+ mediaTitle: '',
39
+ artist: '',
40
+ src: linkOptions.src,
41
+ count: '',
42
+ type: 0,
43
+ }),
44
+ message: linkOptions.url,
45
+ reference: JSON.stringify({
46
+ type: 3,
47
+ data: JSON.stringify({
48
+ logSrcType: 2,
49
+ ts: 1744700773591,
50
+ fwLvl: 1,
51
+ rootMsgRef: {
52
+ ts: 1744700761721,
53
+ logSrcType: 2,
54
+ },
55
+ }),
56
+ }),
57
+ });
58
+ params.decorLog = JSON.stringify({
59
+ fw: {
60
+ pmsg: {
61
+ st: 2,
62
+ ts: 1744700773591,
63
+ },
64
+ rmsg: {
65
+ st: 2,
66
+ ts: 1744700761721,
67
+ },
68
+ fwLvl: 1,
69
+ },
70
+ });
71
+ break;
72
+ case exports.ForwardMessageType.TEXT:
73
+ const textOptions = options;
74
+ params.msgType = '1';
75
+ params.msgInfo = JSON.stringify(Object.assign(Object.assign({}, params.msgInfo), { message: textOptions.message, reference: JSON.stringify({
76
+ type: 3,
77
+ data: JSON.stringify({
78
+ ts: timestamp,
79
+ logSrcType: 2,
80
+ fwLvl: 1,
81
+ rootMsgRef: {
82
+ ts: timestamp,
83
+ logSrcType: 2,
84
+ },
85
+ }),
86
+ }) }));
87
+ params.decorLog = JSON.stringify({
88
+ fw: {
89
+ pmsg: {
90
+ st: 1,
91
+ ts: timestamp,
92
+ },
93
+ rmsg: {
94
+ st: 1,
95
+ ts: timestamp,
96
+ },
97
+ fwLvl: 1,
98
+ },
99
+ });
100
+ break;
101
+ }
102
+ if (type === Enum.ThreadType.Group) {
103
+ params['grids'] = toIds.map((item) => (Object.assign(Object.assign({}, item), { toUid: undefined, grid: item.toUid })));
104
+ }
105
+ else {
106
+ params['toIds'] = toIds;
107
+ }
108
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
109
+ if (!encryptedParams)
110
+ throw new ZaloApiError.ZaloApiError('Failed to encrypt params');
111
+ const response = await utils.request(serviceURL[type], {
112
+ method: 'POST',
113
+ body: new URLSearchParams({
114
+ params: encryptedParams,
115
+ }),
116
+ });
117
+ const result = await utils.resolve(response);
118
+ return result;
119
+ };
120
+ });
121
+
122
+ exports.forwardMessageFactory = forwardMessageFactory;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getAliasListFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ return async function getListAlias(page = 1, limit = 200) {
8
+ console.log('getListAlias', page, ctx.uid);
9
+ try {
10
+ const params = {
11
+ page,
12
+ count: limit,
13
+ imei: ctx.imei,
14
+ };
15
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
16
+ if (!encryptedParams)
17
+ throw new ZaloApiError.ZaloApiError('Failed to encrypt message');
18
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.alias[0]}/api/alias/list`, {
19
+ params: encryptedParams,
20
+ });
21
+ const response = await utils.request(serviceURL, {
22
+ method: 'GET',
23
+ });
24
+ const result = await utils.resolve(response);
25
+ return (result === null || result === void 0 ? void 0 : result.items) || [];
26
+ }
27
+ catch (error) {
28
+ return [];
29
+ }
30
+ };
31
+ });
32
+
33
+ exports.getAliasListFactory = getAliasListFactory;
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getAllFriendsFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.profile[0]}/api/social/friend/getfriends`);
8
+ /**
9
+ * Get all friends
10
+ *
11
+ * @param count Page size (default: 20000)
12
+ * @param page Page number (default: 1)
13
+ *
14
+ * @throws {ZaloApiError}
15
+ */
16
+ return async function getAllFriends(count = 20000, page = 1) {
17
+ const params = {
18
+ incInvalid: 1,
19
+ page,
20
+ count,
21
+ avatar_size: 120,
22
+ actiontime: 0,
23
+ imei: ctx.imei,
24
+ };
25
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
26
+ if (!encryptedParams)
27
+ throw new ZaloApiError.ZaloApiError('Failed to encrypt message');
28
+ const response = await utils.request(utils.makeURL(serviceURL, {
29
+ params: encryptedParams,
30
+ }), {
31
+ method: 'GET',
32
+ });
33
+ return utils.resolve(response);
34
+ };
35
+ });
36
+
37
+ exports.getAllFriendsFactory = getAllFriendsFactory;
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var utils = require('../utils.cjs');
4
+
5
+ const getAllGroupsFactory = utils.apiFactory()((api, _, utils) => {
6
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.group_poll[0]}/api/group/getlg/v4`);
7
+ return async function getAllGroups() {
8
+ const response = await utils.request(serviceURL, {
9
+ method: 'GET',
10
+ });
11
+ return utils.resolve(response);
12
+ };
13
+ });
14
+
15
+ exports.getAllGroupsFactory = getAllGroupsFactory;
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getArchivedChatListFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.label[0]}/api/archivedchat/list`);
8
+ /**
9
+ * Get arcnived chat list
10
+ *
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function getArchivedChatList() {
14
+ const params = {
15
+ version: 1,
16
+ imei: ctx.imei,
17
+ };
18
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
19
+ if (!encryptedParams)
20
+ throw new ZaloApiError.ZaloApiError('Failed to encrypt params');
21
+ const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
22
+ method: 'GET',
23
+ });
24
+ return utils.resolve(response);
25
+ };
26
+ });
27
+
28
+ exports.getArchivedChatListFactory = getArchivedChatListFactory;
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getAutoDeleteChatFactory = utils.apiFactory()((api, _ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.conversation[0]}/api/conv/autodelete/getConvers`);
8
+ /**
9
+ * Get auto delete chat
10
+ *
11
+ * @throws {ZaloApiError}
12
+ *
13
+ */
14
+ return async function getAutoDeleteChat() {
15
+ const params = {};
16
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
17
+ if (!encryptedParams)
18
+ throw new ZaloApiError.ZaloApiError('Failed to encrypt params');
19
+ const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
20
+ method: 'GET',
21
+ });
22
+ return utils.resolve(response);
23
+ };
24
+ });
25
+
26
+ exports.getAutoDeleteChatFactory = getAutoDeleteChatFactory;
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getAutoReplyListFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.auto_reply[0]}/api/autoreply/list`);
8
+ /**
9
+ * Get auto reply list
10
+ *
11
+ * @note this API used for zBusiness
12
+ * @throws {ZaloApiError}
13
+ */
14
+ return async function getAutoReplyList() {
15
+ const params = {
16
+ version: 0,
17
+ cliLang: ctx.language,
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(utils.makeURL(serviceURL, { params: encryptedParams }), {
23
+ method: 'GET',
24
+ });
25
+ return utils.resolve(response);
26
+ };
27
+ });
28
+
29
+ exports.getAutoReplyListFactory = getAutoReplyListFactory;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getAvatarListFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.profile[0]}/api/social/avatar-list`);
8
+ /**
9
+ * Get avatar list
10
+ *
11
+ * @param count The number of avatars to fetch (default: 50)
12
+ * @param page The page number to fetch (default: 1)
13
+ *
14
+ * @throws {ZaloApiError}
15
+ */
16
+ return async function getAvatarList(count = 50, page = 1) {
17
+ const params = {
18
+ page,
19
+ albumId: '0',
20
+ count,
21
+ imei: ctx.imei,
22
+ };
23
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
24
+ if (!encryptedParams)
25
+ throw new ZaloApiError.ZaloApiError('Failed to encrypt params');
26
+ const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
27
+ method: 'GET',
28
+ });
29
+ return utils.resolve(response);
30
+ };
31
+ });
32
+
33
+ exports.getAvatarListFactory = getAvatarListFactory;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getBizAccountFactory = utils.apiFactory()((api, _ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.profile[0]}/api/social/friend/get-bizacc`);
8
+ /**
9
+ * Get biz account
10
+ *
11
+ * @param friendId The friend ID to get biz account
12
+ *
13
+ * @throws {ZaloApiError}
14
+ */
15
+ return async function getBizAccount(friendId) {
16
+ const params = {
17
+ fid: friendId,
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.getBizAccountFactory = getBizAccountFactory;
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getCatalogListFactory = utils.apiFactory()((api, _, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.catalog[0]}/api/prodcatalog/catalog/list`);
8
+ /**
9
+ * Get catalog list?
10
+ *
11
+ * @param payload payload
12
+ *
13
+ * @note this API is used for zBusiness
14
+ * @throws {ZaloApiError}
15
+ */
16
+ return async function getCatalogList(payload) {
17
+ var _a, _b, _c;
18
+ const params = {
19
+ version_list_catalog: 0,
20
+ limit: (_a = payload === null || payload === void 0 ? void 0 : payload.limit) !== null && _a !== void 0 ? _a : 20,
21
+ last_product_id: (_b = payload === null || payload === void 0 ? void 0 : payload.lastProductId) !== null && _b !== void 0 ? _b : -1,
22
+ page: (_c = payload === null || payload === void 0 ? void 0 : payload.page) !== null && _c !== void 0 ? _c : 0,
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.getCatalogListFactory = getCatalogListFactory;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var utils = require('../utils.cjs');
4
+
5
+ const getContextFactory = utils.apiFactory()((_, ctx) => {
6
+ return () => ctx;
7
+ });
8
+
9
+ exports.getContextFactory = getContextFactory;
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var utils = require('../utils.cjs');
4
+
5
+ const getCookieFactory = utils.apiFactory()((_, ctx) => {
6
+ /**
7
+ * Get the current cookie string
8
+ */
9
+ return function getCookie() {
10
+ return ctx.cookie;
11
+ };
12
+ });
13
+
14
+ exports.getCookieFactory = getCookieFactory;
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getFriendBoardListFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.friend_board[0]}/api/friendboard/list`);
8
+ /**
9
+ * Get friend board list
10
+ *
11
+ * @param conversationId conversation id
12
+ *
13
+ * @throws {ZaloApiError}
14
+ */
15
+ return async function getFriendBoardList(conversationId) {
16
+ const params = {
17
+ conversationId: conversationId,
18
+ version: 0,
19
+ imei: ctx.imei,
20
+ };
21
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
22
+ if (!encryptedParams)
23
+ throw new ZaloApiError.ZaloApiError('Failed to encrypt params');
24
+ const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
25
+ method: 'GET',
26
+ });
27
+ return utils.resolve(response);
28
+ };
29
+ });
30
+
31
+ exports.getFriendBoardListFactory = getFriendBoardListFactory;
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getFriendOnlinesFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.profile[0]}/api/social/friend/onlines`);
8
+ /**
9
+ * Get friend onlines?
10
+ *
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function getFriendOnlines() {
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, (result) => {
24
+ const data = result.data;
25
+ if (Array.isArray(data.onlines)) {
26
+ for (const online of data.onlines) {
27
+ if (typeof online.status === 'string') {
28
+ const parsed = JSON.parse(online.status);
29
+ if (parsed && typeof parsed.status === 'string') {
30
+ online.status = parsed.status;
31
+ }
32
+ }
33
+ }
34
+ }
35
+ return data;
36
+ });
37
+ };
38
+ });
39
+
40
+ exports.getFriendOnlinesFactory = getFriendOnlinesFactory;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ exports.FriendRecommendationsType = void 0;
7
+ (function (FriendRecommendationsType) {
8
+ FriendRecommendationsType[FriendRecommendationsType["RecommendedFriend"] = 1] = "RecommendedFriend";
9
+ FriendRecommendationsType[FriendRecommendationsType["ReceivedFriendRequest"] = 2] = "ReceivedFriendRequest";
10
+ })(exports.FriendRecommendationsType || (exports.FriendRecommendationsType = {}));
11
+ const getFriendRecommendationsFactory = utils.apiFactory()((api, ctx, utils) => {
12
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.friend[0]}/api/friend/recommendsv2/list`);
13
+ /**
14
+ * Get friend recommendations/received friend requests
15
+ *
16
+ * @throws {ZaloApiError}
17
+ */
18
+ return async function getFriendRecommendations() {
19
+ const params = {
20
+ imei: ctx.imei,
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.getFriendRecommendationsFactory = getFriendRecommendationsFactory;
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getFriendRequestStatusFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.friend[0]}/api/friend/reqstatus`);
8
+ /**
9
+ * Get friend request status
10
+ *
11
+ * @param friendId friend id
12
+ *
13
+ * @throws {ZaloApiError}
14
+ */
15
+ return async function getFriendRequestStatus(friendId) {
16
+ const params = {
17
+ fid: friendId,
18
+ imei: ctx.imei,
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(utils.makeURL(serviceURL, { params: encryptedParams }), {
24
+ method: 'GET',
25
+ });
26
+ return utils.resolve(response);
27
+ };
28
+ });
29
+
30
+ exports.getFriendRequestStatusFactory = getFriendRequestStatusFactory;
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getGroupBlockedMemberFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.group[0]}/api/group/blockedmems/list`);
8
+ /**
9
+ * Get group blocked member
10
+ *
11
+ * @param payload payload
12
+ * @param groupId group id
13
+ *
14
+ * @throws {ZaloApiError}
15
+ */
16
+ return async function getGroupBlockedMember(payload, groupId) {
17
+ var _a, _b;
18
+ const params = {
19
+ grid: groupId,
20
+ page: (_a = payload.page) !== null && _a !== void 0 ? _a : 1,
21
+ count: (_b = payload.count) !== null && _b !== void 0 ? _b : 50,
22
+ imei: ctx.imei,
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(utils.makeURL(serviceURL, { params: encryptedParams }), {
28
+ method: 'GET',
29
+ });
30
+ return utils.resolve(response);
31
+ };
32
+ });
33
+
34
+ exports.getGroupBlockedMemberFactory = getGroupBlockedMemberFactory;
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const getGroupInfoFactory = utils.apiFactory()((api, _, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.group[0]}/api/group/getmg-v2`);
8
+ /**
9
+ * Get group information
10
+ *
11
+ * @param groupId Group ID or list of group IDs
12
+ *
13
+ * @throws {ZaloApiError}
14
+ */
15
+ return async function getGroupInfo(groupId) {
16
+ if (!Array.isArray(groupId))
17
+ groupId = [groupId];
18
+ const params = {
19
+ gridVerMap: JSON.stringify(groupId.reduce((acc, id) => {
20
+ acc[id] = 0;
21
+ return acc;
22
+ }, {})),
23
+ };
24
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
25
+ if (!encryptedParams)
26
+ throw new ZaloApiError.ZaloApiError('Failed to encrypt message');
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.getGroupInfoFactory = getGroupInfoFactory;