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.
- package/dist/apis/sendMessage.d.ts +5 -0
- package/dist/apis/sendMessage.js +31 -11
- package/dist/cjs/apis/acceptFriendRequest.cjs +33 -0
- package/dist/cjs/apis/addGroupBlockedMember.cjs +33 -0
- package/dist/cjs/apis/addGroupDeputy.cjs +36 -0
- package/dist/cjs/apis/addPollOptions.cjs +31 -0
- package/dist/cjs/apis/addQuickMessage.cjs +65 -0
- package/dist/cjs/apis/addReaction.cjs +297 -0
- package/dist/cjs/apis/addUnreadMark.cjs +65 -0
- package/dist/cjs/apis/addUserToGroup.cjs +39 -0
- package/dist/cjs/apis/blockUser.cjs +33 -0
- package/dist/cjs/apis/blockViewFeed.cjs +35 -0
- package/dist/cjs/apis/changeAccountAvatar.cjs +56 -0
- package/dist/cjs/apis/changeFriendAlias.cjs +32 -0
- package/dist/cjs/apis/changeGroupAvatar.cjs +47 -0
- package/dist/cjs/apis/changeGroupName.cjs +37 -0
- package/dist/cjs/apis/changeGroupOwner.cjs +36 -0
- package/dist/cjs/apis/createAutoReply.cjs +42 -0
- package/dist/cjs/apis/createCatalog.cjs +34 -0
- package/dist/cjs/apis/createGroup.cjs +48 -0
- package/dist/cjs/apis/createNote.cjs +52 -0
- package/dist/cjs/apis/createPoll.cjs +45 -0
- package/dist/cjs/apis/createProductCatalog.cjs +55 -0
- package/dist/cjs/apis/createReminder.cjs +76 -0
- package/dist/cjs/apis/custom.cjs +19 -0
- package/dist/cjs/apis/deleteAutoReply.cjs +34 -0
- package/dist/cjs/apis/deleteAvatar.cjs +32 -0
- package/dist/cjs/apis/deleteCatalog.cjs +33 -0
- package/dist/cjs/apis/deleteChat.cjs +63 -0
- package/dist/cjs/apis/deleteGroupInviteBox.cjs +32 -0
- package/dist/cjs/apis/deleteMessage.cjs +65 -0
- package/dist/cjs/apis/deleteProductCatalog.cjs +36 -0
- package/dist/cjs/apis/disableGroupLink.cjs +29 -0
- package/dist/cjs/apis/disperseGroup.cjs +33 -0
- package/dist/cjs/apis/editNote.cjs +51 -0
- package/dist/cjs/apis/editReminder.cjs +74 -0
- package/dist/cjs/apis/enableGroupLink.cjs +30 -0
- package/dist/cjs/apis/fetchAccountInfo.cjs +15 -0
- package/dist/cjs/apis/findUser.cjs +45 -0
- package/dist/cjs/apis/forwardAttachment.cjs +85 -0
- package/dist/cjs/apis/forwardMessage.cjs +122 -0
- package/dist/cjs/apis/getAliasList.cjs +33 -0
- package/dist/cjs/apis/getAllFriends.cjs +37 -0
- package/dist/cjs/apis/getAllGroups.cjs +15 -0
- package/dist/cjs/apis/getArchivedChatList.cjs +28 -0
- package/dist/cjs/apis/getAutoDeleteChat.cjs +26 -0
- package/dist/cjs/apis/getAutoReplyList.cjs +29 -0
- package/dist/cjs/apis/getAvatarList.cjs +33 -0
- package/dist/cjs/apis/getBizAccount.cjs +32 -0
- package/dist/cjs/apis/getCatalogList.cjs +37 -0
- package/dist/cjs/apis/getContext.cjs +9 -0
- package/dist/cjs/apis/getCookie.cjs +14 -0
- package/dist/cjs/apis/getFriendBoardList.cjs +31 -0
- package/dist/cjs/apis/getFriendOnlines.cjs +40 -0
- package/dist/cjs/apis/getFriendRecommendations.cjs +32 -0
- package/dist/cjs/apis/getFriendRequestStatus.cjs +30 -0
- package/dist/cjs/apis/getGroupBlockedMember.cjs +34 -0
- package/dist/cjs/apis/getGroupInfo.cjs +37 -0
- package/dist/cjs/apis/getGroupInviteBoxInfo.cjs +43 -0
- package/dist/cjs/apis/getGroupInviteBoxList.cjs +36 -0
- package/dist/cjs/apis/getGroupLinkDetail.cjs +30 -0
- package/dist/cjs/apis/getGroupLinkInfo.cjs +33 -0
- package/dist/cjs/apis/getGroupMembersInfo.cjs +29 -0
- package/dist/cjs/apis/getHiddenConversations.cjs +28 -0
- package/dist/cjs/apis/getLabels.cjs +33 -0
- package/dist/cjs/apis/getLastMessage.cjs +25 -0
- package/dist/cjs/apis/getListBoard.cjs +58 -0
- package/dist/cjs/apis/getListReminder.cjs +60 -0
- package/dist/cjs/apis/getMute.cjs +27 -0
- package/dist/cjs/apis/getOwnId.cjs +9 -0
- package/dist/cjs/apis/getPendingGroupMembers.cjs +32 -0
- package/dist/cjs/apis/getPinConversations.cjs +27 -0
- package/dist/cjs/apis/getPollDetail.cjs +35 -0
- package/dist/cjs/apis/getProductCatalogList.cjs +38 -0
- package/dist/cjs/apis/getQR.cjs +34 -0
- package/dist/cjs/apis/getQuickMessageList.cjs +29 -0
- package/dist/cjs/apis/getRecommendFriends.cjs +25 -0
- package/dist/cjs/apis/getRelatedFriendGroup.cjs +35 -0
- package/dist/cjs/apis/getReminder.cjs +30 -0
- package/dist/cjs/apis/getReminderResponses.cjs +29 -0
- package/dist/cjs/apis/getSentFriendRequest.cjs +29 -0
- package/dist/cjs/apis/getSettings.cjs +25 -0
- package/dist/cjs/apis/getStickers.cjs +45 -0
- package/dist/cjs/apis/getStickersDetail.cjs +45 -0
- package/dist/cjs/apis/getUnreadMark.cjs +35 -0
- package/dist/cjs/apis/getUserInfo.cjs +47 -0
- package/dist/cjs/apis/inviteUserToGroups.cjs +35 -0
- package/dist/cjs/apis/joinGroupInviteBox.cjs +30 -0
- package/dist/cjs/apis/joinGroupLink.cjs +32 -0
- package/dist/cjs/apis/keepAlive.cjs +27 -0
- package/dist/cjs/apis/lastOnline.cjs +31 -0
- package/dist/cjs/apis/leaveGroup.cjs +38 -0
- package/dist/cjs/apis/lockPoll.cjs +33 -0
- package/dist/cjs/apis/parseLink.cjs +32 -0
- package/dist/cjs/apis/rejectFriendRequest.cjs +32 -0
- package/dist/cjs/apis/removeFriend.cjs +33 -0
- package/dist/cjs/apis/removeFriendAlias.cjs +29 -0
- package/dist/cjs/apis/removeGroupBlockedMember.cjs +33 -0
- package/dist/cjs/apis/removeGroupDeputy.cjs +35 -0
- package/dist/cjs/apis/removeQuickMessage.cjs +32 -0
- package/dist/cjs/apis/removeReminder.cjs +53 -0
- package/dist/cjs/apis/removeUnreadMark.cjs +63 -0
- package/dist/cjs/apis/removeUserFromGroup.cjs +39 -0
- package/dist/cjs/apis/resetHiddenConversPin.cjs +25 -0
- package/dist/cjs/apis/reuseAvatar.cjs +31 -0
- package/dist/cjs/apis/reviewPendingMemberRequest.cjs +33 -11
- package/dist/cjs/apis/sendBankCard.cjs +50 -0
- package/dist/cjs/apis/sendCard.cjs +72 -0
- package/dist/cjs/apis/sendDeliveredEvent.cjs +68 -0
- package/dist/cjs/apis/sendFriendRequest.cjs +44 -0
- package/dist/cjs/apis/sendLink.cjs +70 -0
- package/dist/cjs/apis/sendMessage.cjs +437 -11
- package/dist/cjs/apis/sendReport.cjs +48 -10
- package/dist/cjs/apis/sendSeenEvent.cjs +76 -0
- package/dist/cjs/apis/sendSticker.cjs +69 -0
- package/dist/cjs/apis/sendTypingEvent.cjs +46 -0
- package/dist/cjs/apis/sendVideo.cjs +131 -0
- package/dist/cjs/apis/sendVoice.cjs +86 -0
- package/dist/cjs/apis/setArchivedConversations.cjs +39 -0
- package/dist/cjs/apis/setHiddenConversations.cjs +52 -0
- package/dist/cjs/apis/setMute.cjs +57 -10
- package/dist/cjs/apis/setPinnedConversations.cjs +47 -0
- package/dist/cjs/apis/sharePoll.cjs +33 -0
- package/dist/cjs/apis/unblockUser.cjs +33 -0
- package/dist/cjs/apis/undo.cjs +55 -0
- package/dist/cjs/apis/undoFriendRequest.cjs +32 -0
- package/dist/cjs/apis/updateActiveStatus.cjs +32 -0
- package/dist/cjs/apis/updateAutoDeleteChat.cjs +35 -10
- package/dist/cjs/apis/updateAutoReply.cjs +43 -0
- package/dist/cjs/apis/updateCatalog.cjs +35 -0
- package/dist/cjs/apis/updateGroupSettings.cjs +48 -0
- package/dist/cjs/apis/updateHiddenConversPin.cjs +35 -0
- package/dist/cjs/apis/updateLabels.cjs +39 -0
- package/dist/cjs/apis/updateLang.cjs +27 -11
- package/dist/cjs/apis/updateProductCatalog.cjs +56 -0
- package/dist/cjs/apis/updateProfile.cjs +48 -0
- package/dist/cjs/apis/updateQuickMessage.cjs +66 -0
- package/dist/cjs/apis/updateSettings.cjs +77 -11
- package/dist/cjs/apis/uploadAttachment.cjs +208 -0
- package/dist/cjs/apis/uploadProductPhoto.cjs +50 -0
- package/dist/cjs/apis/votePoll.cjs +34 -0
- package/dist/cjs/apis.cjs +292 -0
- package/dist/cjs/context.cjs +15 -0
- package/dist/cjs/core/enums/common.cjs +14 -0
- package/dist/cjs/core/utils/index.cjs +33 -0
- package/dist/cjs/models/GroupEvent.cjs +2 -4
- package/dist/cjs/utils.cjs +229 -3
- package/dist/cjs/zalo.cjs +18 -7
- package/dist/index.d.ts +1 -0
- package/dist/models/GroupEvent.d.ts +2 -2
- package/dist/models/GroupEvent.js +2 -4
- package/dist/models/Message.d.ts +6 -0
- package/dist/zalo.d.ts +17 -10
- package/dist/zalo.js +19 -8
- 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,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;
|