@softtynet/zca-js 2.2.8 → 2.2.10
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 +18 -181
- package/dist/Errors/ZaloApiError.js +1 -0
- package/dist/apis/auth/decryptGids.d.ts +6 -0
- package/dist/apis/auth/decryptGids.js +30 -0
- package/dist/apis/auth/encryptGids.d.ts +4 -0
- package/dist/apis/auth/encryptGids.js +24 -0
- package/dist/apis/auth/getContext.d.ts +1 -0
- package/dist/apis/auth/getContext.js +4 -0
- package/dist/apis/auth/getCookie.d.ts +1 -0
- package/dist/apis/auth/getCookie.js +9 -0
- package/dist/apis/auth/getListDevice.d.ts +10 -0
- package/dist/apis/auth/getListDevice.js +22 -0
- package/dist/apis/auth/getNoisedIds.d.ts +9 -0
- package/dist/apis/auth/getNoisedIds.js +67 -0
- package/dist/apis/auth/getOwnId.d.ts +1 -0
- package/dist/apis/auth/getOwnId.js +4 -0
- package/dist/apis/auth/getQR.d.ts +4 -0
- package/dist/apis/auth/getQR.js +29 -0
- package/dist/apis/auth/keepAlive.d.ts +5 -0
- package/dist/apis/auth/keepAlive.js +24 -0
- package/dist/apis/auth/lostFocus.d.ts +4 -0
- package/dist/apis/auth/lostFocus.js +23 -0
- package/dist/apis/auth/scanURL.d.ts +4 -0
- package/dist/apis/auth/scanURL.js +28 -0
- package/dist/apis/auth/updateActiveStatus.d.ts +4 -0
- package/dist/apis/auth/updateActiveStatus.js +27 -0
- package/dist/apis/auth/updateLang.d.ts +6 -0
- package/dist/apis/auth/updateLang.js +30 -0
- package/dist/apis/board/addPollOptions.d.ts +14 -0
- package/dist/apis/board/addPollOptions.js +26 -0
- package/dist/apis/board/createNote.d.ts +7 -0
- package/dist/apis/board/createNote.js +47 -0
- package/dist/apis/board/createPoll.d.ts +36 -0
- package/dist/apis/board/createPoll.js +39 -0
- package/dist/apis/board/createReminder.d.ts +12 -0
- package/dist/apis/board/createReminder.js +62 -0
- package/dist/apis/board/editNote.d.ts +17 -0
- package/dist/apis/board/editNote.js +46 -0
- package/dist/apis/board/editReminder.d.ts +13 -0
- package/dist/apis/board/editReminder.js +60 -0
- package/dist/apis/board/getListBoard.d.ts +21 -0
- package/dist/apis/board/getListBoard.js +44 -0
- package/dist/apis/board/getListPinTopics.d.ts +5 -0
- package/dist/apis/board/getListPinTopics.js +28 -0
- package/dist/apis/board/getListReminder.d.ts +28 -0
- package/dist/apis/board/getListReminder.js +49 -0
- package/dist/apis/board/getPollDetail.d.ts +3 -0
- package/dist/apis/board/getPollDetail.js +30 -0
- package/dist/apis/board/getReminder.d.ts +3 -0
- package/dist/apis/board/getReminder.js +25 -0
- package/dist/apis/board/getReminderResponses.d.ts +5 -0
- package/dist/apis/board/getReminderResponses.js +24 -0
- package/dist/apis/board/lockPoll.d.ts +2 -0
- package/dist/apis/board/lockPoll.js +28 -0
- package/dist/apis/board/removeReminder.d.ts +3 -0
- package/dist/apis/board/removeReminder.js +40 -0
- package/dist/apis/board/sharePoll.d.ts +2 -0
- package/dist/apis/board/sharePoll.js +28 -0
- package/dist/apis/board/votePoll.d.ts +5 -0
- package/dist/apis/board/votePoll.js +29 -0
- package/dist/apis/business/addQuickMessage.d.ts +11 -0
- package/dist/apis/business/addQuickMessage.js +60 -0
- package/dist/apis/business/createAutoReply.d.ts +14 -0
- package/dist/apis/business/createAutoReply.js +37 -0
- package/dist/apis/business/createBankAccount.d.ts +8 -0
- package/dist/apis/business/createBankAccount.js +32 -0
- package/dist/apis/business/createCatalog.d.ts +7 -0
- package/dist/apis/business/createCatalog.js +29 -0
- package/dist/apis/business/createProductCatalog.d.ts +23 -0
- package/dist/apis/business/createProductCatalog.js +50 -0
- package/dist/apis/business/deleteAutoReply.d.ts +5 -0
- package/dist/apis/business/deleteAutoReply.js +29 -0
- package/dist/apis/business/deleteBankAccount.d.ts +11 -0
- package/dist/apis/business/deleteBankAccount.js +32 -0
- package/dist/apis/business/deleteCatalog.d.ts +2 -0
- package/dist/apis/business/deleteCatalog.js +28 -0
- package/dist/apis/business/deleteProductCatalog.d.ts +10 -0
- package/dist/apis/business/deleteProductCatalog.js +31 -0
- package/dist/apis/business/getAutoReplyList.d.ts +6 -0
- package/dist/apis/business/getAutoReplyList.js +24 -0
- package/dist/apis/business/getBizAccount.d.ts +24 -0
- package/dist/apis/business/getBizAccount.js +27 -0
- package/dist/apis/business/getCatalogList.d.ts +18 -0
- package/dist/apis/business/getCatalogList.js +31 -0
- package/dist/apis/business/getLabels.d.ts +7 -0
- package/dist/apis/business/getLabels.js +28 -0
- package/dist/apis/business/getListBank.d.ts +5 -0
- package/dist/apis/business/getListBank.js +20 -0
- package/dist/apis/business/getListBankAccount.d.ts +7 -0
- package/dist/apis/business/getListBankAccount.js +27 -0
- package/dist/apis/business/getProductCatalogList.d.ts +20 -0
- package/dist/apis/business/getProductCatalogList.js +32 -0
- package/dist/apis/business/getQuickMessageList.d.ts +7 -0
- package/dist/apis/business/getQuickMessageList.js +24 -0
- package/dist/apis/business/registerCatalog.d.ts +2 -0
- package/dist/apis/business/registerCatalog.js +27 -0
- package/dist/apis/business/removeQuickMessage.d.ts +5 -0
- package/dist/apis/business/removeQuickMessage.js +27 -0
- package/dist/apis/business/updateAutoReply.d.ts +15 -0
- package/dist/apis/business/updateAutoReply.js +38 -0
- package/dist/apis/business/updateBankAccount.d.ts +9 -0
- package/dist/apis/business/updateBankAccount.js +31 -0
- package/dist/apis/business/updateCatalog.d.ts +11 -0
- package/dist/apis/business/updateCatalog.js +30 -0
- package/dist/apis/business/updateLabels.d.ts +15 -0
- package/dist/apis/business/updateLabels.js +34 -0
- package/dist/apis/business/updateProductCatalog.d.ts +25 -0
- package/dist/apis/business/updateProductCatalog.js +51 -0
- package/dist/apis/business/updateQuickMessage.d.ts +11 -0
- package/dist/apis/business/updateQuickMessage.js +61 -0
- package/dist/apis/business/uploadProductPhoto.d.ts +14 -0
- package/dist/apis/business/uploadProductPhoto.js +50 -0
- package/dist/apis/call/cancelVoiceCall.d.ts +7 -0
- package/dist/apis/call/cancelVoiceCall.js +40 -0
- package/dist/apis/call/endVoiceCall.d.ts +5 -0
- package/dist/apis/call/endVoiceCall.js +38 -0
- package/dist/apis/call/sendVoiceCall.d.ts +44 -0
- package/dist/apis/call/sendVoiceCall.js +113 -0
- package/dist/apis/chat/addReaction.d.ts +18 -0
- package/dist/apis/chat/addReaction.js +297 -0
- package/dist/apis/chat/addUnreadMark.d.ts +8 -0
- package/dist/apis/chat/addUnreadMark.js +52 -0
- package/dist/apis/chat/deleteChat.d.ts +19 -0
- package/dist/apis/chat/deleteChat.js +50 -0
- package/dist/apis/chat/deleteMessage.d.ts +14 -0
- package/dist/apis/chat/deleteMessage.js +52 -0
- package/dist/apis/chat/forwardMessage.d.ts +24 -0
- package/dist/apis/chat/forwardMessage.js +92 -0
- package/dist/apis/chat/getArchivedChatList.d.ts +5 -0
- package/dist/apis/chat/getArchivedChatList.js +23 -0
- package/dist/apis/chat/getAutoDeleteChat.d.ts +9 -0
- package/dist/apis/chat/getAutoDeleteChat.js +21 -0
- package/dist/apis/chat/getHiddenConversations.d.ts +11 -0
- package/dist/apis/chat/getHiddenConversations.js +23 -0
- package/dist/apis/chat/getLastSeen.d.ts +11 -0
- package/dist/apis/chat/getLastSeen.js +38 -0
- package/dist/apis/chat/getLastSeenReaction.d.ts +9 -0
- package/dist/apis/chat/getLastSeenReaction.js +27 -0
- package/dist/apis/chat/getMute.d.ts +13 -0
- package/dist/apis/chat/getMute.js +22 -0
- package/dist/apis/chat/getPinConversations.d.ts +5 -0
- package/dist/apis/chat/getPinConversations.js +22 -0
- package/dist/apis/chat/getRecentSearchList.d.ts +6 -0
- package/dist/apis/chat/getRecentSearchList.js +25 -0
- package/dist/apis/chat/getUnreadMark.d.ts +14 -0
- package/dist/apis/chat/getUnreadMark.js +30 -0
- package/dist/apis/chat/parseLink.d.ts +21 -0
- package/dist/apis/chat/parseLink.js +27 -0
- package/dist/apis/chat/preloadConversations.d.ts +28 -0
- package/dist/apis/chat/preloadConversations.js +78 -0
- package/dist/apis/chat/removeUnreadMark.d.ts +8 -0
- package/dist/apis/chat/removeUnreadMark.js +50 -0
- package/dist/apis/chat/resetHiddenConversPin.d.ts +2 -0
- package/dist/apis/chat/resetHiddenConversPin.js +20 -0
- package/dist/apis/chat/sendBankCard.d.ts +9 -0
- package/dist/apis/chat/sendBankCard.js +36 -0
- package/dist/apis/chat/sendCard.d.ts +10 -0
- package/dist/apis/chat/sendCard.js +58 -0
- package/dist/apis/chat/sendDeliveredEvent.d.ts +16 -0
- package/dist/apis/chat/sendDeliveredEvent.js +62 -0
- package/dist/apis/chat/sendLink.d.ts +10 -0
- package/dist/apis/chat/sendLink.js +60 -0
- package/dist/apis/chat/sendMessage.d.ts +99 -0
- package/dist/apis/chat/sendMessage.js +460 -0
- package/dist/apis/chat/sendReport.d.ts +17 -0
- package/dist/apis/chat/sendReport.js +53 -0
- package/dist/apis/chat/sendSeenEvent.d.ts +16 -0
- package/dist/apis/chat/sendSeenEvent.js +66 -0
- package/dist/apis/chat/sendSticker.d.ts +10 -0
- package/dist/apis/chat/sendSticker.js +57 -0
- package/dist/apis/chat/sendTypingEvent.d.ts +5 -0
- package/dist/apis/chat/sendTypingEvent.js +37 -0
- package/dist/apis/chat/sendVideo.d.ts +35 -0
- package/dist/apis/chat/sendVideo.js +117 -0
- package/dist/apis/chat/sendVoice.d.ts +12 -0
- package/dist/apis/chat/sendVoice.js +72 -0
- package/dist/apis/chat/setHiddenConversations.d.ts +3 -0
- package/dist/apis/chat/setHiddenConversations.js +39 -0
- package/dist/apis/chat/setMute.d.ts +20 -0
- package/dist/apis/chat/setMute.js +67 -0
- package/dist/apis/chat/setPinnedConversations.d.ts +3 -0
- package/dist/apis/chat/setPinnedConversations.js +34 -0
- package/dist/apis/chat/undo.d.ts +9 -0
- package/dist/apis/chat/undo.js +42 -0
- package/dist/apis/chat/undoMultiMessage.d.ts +9 -0
- package/dist/apis/chat/undoMultiMessage.js +46 -0
- package/dist/apis/chat/updateArchivedChatList.d.ts +10 -0
- package/dist/apis/chat/updateArchivedChatList.js +34 -0
- package/dist/apis/chat/updateAutoDeleteChat.d.ts +9 -0
- package/dist/apis/chat/updateAutoDeleteChat.js +40 -0
- package/dist/apis/chat/updateHiddenConversPin.d.ts +2 -0
- package/dist/apis/chat/updateHiddenConversPin.js +30 -0
- package/dist/apis/chat/updateRecentSearch.d.ts +11 -0
- package/dist/apis/chat/updateRecentSearch.js +40 -0
- package/dist/apis/friend/acceptFriendRequest.d.ts +2 -0
- package/dist/apis/friend/acceptFriendRequest.js +28 -0
- package/dist/apis/friend/blockUser.d.ts +2 -0
- package/dist/apis/friend/blockUser.js +28 -0
- package/dist/apis/friend/blockViewFeed.d.ts +2 -0
- package/dist/apis/friend/blockViewFeed.js +30 -0
- package/dist/apis/friend/changeFriendAlias.d.ts +2 -0
- package/dist/apis/friend/changeFriendAlias.js +27 -0
- package/dist/apis/friend/clearUnreadFriendRequests.d.ts +2 -0
- package/dist/apis/friend/clearUnreadFriendRequests.js +29 -0
- package/dist/apis/friend/findUser.d.ts +3 -0
- package/dist/apis/friend/findUser.js +42 -0
- package/dist/apis/friend/findUserByUsername.d.ts +3 -0
- package/dist/apis/friend/findUserByUsername.js +27 -0
- package/dist/apis/friend/getAliasList.d.ts +8 -0
- package/dist/apis/friend/getAliasList.js +27 -0
- package/dist/apis/friend/getAliasListV2.d.ts +10 -0
- package/dist/apis/friend/getAliasListV2.js +28 -0
- package/dist/apis/friend/getAllFriends.d.ts +3 -0
- package/dist/apis/friend/getAllFriends.js +34 -0
- package/dist/apis/friend/getBlockFriends.d.ts +6 -0
- package/dist/apis/friend/getBlockFriends.js +28 -0
- package/dist/apis/friend/getCloseFriends.d.ts +3 -0
- package/dist/apis/friend/getCloseFriends.js +20 -0
- package/dist/apis/friend/getExtraFriendInfo.d.ts +3 -0
- package/dist/apis/friend/getExtraFriendInfo.js +31 -0
- package/dist/apis/friend/getFriendBoardList.d.ts +5 -0
- package/dist/apis/friend/getFriendBoardList.js +26 -0
- package/dist/apis/friend/getFriendOnlines.d.ts +10 -0
- package/dist/apis/friend/getFriendOnlines.js +35 -0
- package/dist/apis/friend/getFriendRecommendations.d.ts +42 -0
- package/dist/apis/friend/getFriendRecommendations.js +27 -0
- package/dist/apis/friend/getFriendRequestStatus.d.ts +8 -0
- package/dist/apis/friend/getFriendRequestStatus.js +25 -0
- package/dist/apis/friend/getFriendsEmojiStatus.d.ts +17 -0
- package/dist/apis/friend/getFriendsEmojiStatus.js +28 -0
- package/dist/apis/friend/getLastReadContactTab.d.ts +4 -0
- package/dist/apis/friend/getLastReadContactTab.js +15 -0
- package/dist/apis/friend/getMultiUsersByPhones.d.ts +5 -0
- package/dist/apis/friend/getMultiUsersByPhones.js +39 -0
- package/dist/apis/friend/getPhonebookV2.d.ts +6 -0
- package/dist/apis/friend/getPhonebookV2.js +21 -0
- package/dist/apis/friend/getSentFriendRequest.d.ts +18 -0
- package/dist/apis/friend/getSentFriendRequest.js +24 -0
- package/dist/apis/friend/lastOnline.d.ts +7 -0
- package/dist/apis/friend/lastOnline.js +26 -0
- package/dist/apis/friend/readContactTab.d.ts +2 -0
- package/dist/apis/friend/readContactTab.js +26 -0
- package/dist/apis/friend/rejectFriendRequest.d.ts +2 -0
- package/dist/apis/friend/rejectFriendRequest.js +27 -0
- package/dist/apis/friend/removeFriend.d.ts +2 -0
- package/dist/apis/friend/removeFriend.js +28 -0
- package/dist/apis/friend/removeFriendAlias.d.ts +2 -0
- package/dist/apis/friend/removeFriendAlias.js +24 -0
- package/dist/apis/friend/sendFriendRequest.d.ts +2 -0
- package/dist/apis/friend/sendFriendRequest.js +39 -0
- package/dist/apis/friend/unblockUser.d.ts +2 -0
- package/dist/apis/friend/unblockUser.js +28 -0
- package/dist/apis/friend/undoFriendRequest.d.ts +2 -0
- package/dist/apis/friend/undoFriendRequest.js +27 -0
- package/dist/apis/group/addGroupBlockedMember.d.ts +2 -0
- package/dist/apis/group/addGroupBlockedMember.js +28 -0
- package/dist/apis/group/addGroupDeputy.d.ts +2 -0
- package/dist/apis/group/addGroupDeputy.js +30 -0
- package/dist/apis/group/addUserToGroup.d.ts +5 -0
- package/dist/apis/group/addUserToGroup.js +34 -0
- package/dist/apis/group/changeGroupAvatar.d.ts +3 -0
- package/dist/apis/group/changeGroupAvatar.js +44 -0
- package/dist/apis/group/changeGroupName.d.ts +4 -0
- package/dist/apis/group/changeGroupName.js +32 -0
- package/dist/apis/group/changeGroupOwner.d.ts +4 -0
- package/dist/apis/group/changeGroupOwner.js +30 -0
- package/dist/apis/group/createGroup.d.ts +28 -0
- package/dist/apis/group/createGroup.js +43 -0
- package/dist/apis/group/deleteGroupInviteBox.d.ts +9 -0
- package/dist/apis/group/deleteGroupInviteBox.js +27 -0
- package/dist/apis/group/disableGroupLink.d.ts +2 -0
- package/dist/apis/group/disableGroupLink.js +24 -0
- package/dist/apis/group/disperseGroup.d.ts +2 -0
- package/dist/apis/group/disperseGroup.js +28 -0
- package/dist/apis/group/enableGroupLink.d.ts +6 -0
- package/dist/apis/group/enableGroupLink.js +25 -0
- package/dist/apis/group/getAllGroups.d.ts +7 -0
- package/dist/apis/group/getAllGroups.js +10 -0
- package/dist/apis/group/getExtraGroupInfo.d.ts +7 -0
- package/dist/apis/group/getExtraGroupInfo.js +32 -0
- package/dist/apis/group/getGroupBlockedMember.d.ts +23 -0
- package/dist/apis/group/getGroupBlockedMember.js +28 -0
- package/dist/apis/group/getGroupChatHistory.d.ts +18 -0
- package/dist/apis/group/getGroupChatHistory.js +64 -0
- package/dist/apis/group/getGroupCloudMessageJump.d.ts +3 -0
- package/dist/apis/group/getGroupCloudMessageJump.js +46 -0
- package/dist/apis/group/getGroupInfo.d.ts +16 -0
- package/dist/apis/group/getGroupInfo.js +32 -0
- package/dist/apis/group/getGroupInviteBoxInfo.d.ts +32 -0
- package/dist/apis/group/getGroupInviteBoxInfo.js +37 -0
- package/dist/apis/group/getGroupInviteBoxList.d.ts +38 -0
- package/dist/apis/group/getGroupInviteBoxList.js +30 -0
- package/dist/apis/group/getGroupLinkDetail.d.ts +9 -0
- package/dist/apis/group/getGroupLinkDetail.js +25 -0
- package/dist/apis/group/getGroupLinkInfo.d.ts +34 -0
- package/dist/apis/group/getGroupLinkInfo.js +27 -0
- package/dist/apis/group/getGroupMembersInfo.d.ts +17 -0
- package/dist/apis/group/getGroupMembersInfo.js +24 -0
- package/dist/apis/group/getPendingGroupMembers.d.ts +11 -0
- package/dist/apis/group/getPendingGroupMembers.js +27 -0
- package/dist/apis/group/getQuotaCommunity.d.ts +8 -0
- package/dist/apis/group/getQuotaCommunity.js +27 -0
- package/dist/apis/group/getRelatedFriendGroup.d.ts +6 -0
- package/dist/apis/group/getRelatedFriendGroup.js +30 -0
- package/dist/apis/group/inviteUserToGroups.d.ts +10 -0
- package/dist/apis/group/inviteUserToGroups.js +30 -0
- package/dist/apis/group/joinGroupInviteBox.d.ts +2 -0
- package/dist/apis/group/joinGroupInviteBox.js +25 -0
- package/dist/apis/group/joinGroupLink.d.ts +2 -0
- package/dist/apis/group/joinGroupLink.js +27 -0
- package/dist/apis/group/leaveGroup.d.ts +4 -0
- package/dist/apis/group/leaveGroup.js +33 -0
- package/dist/apis/group/removeGroupBlockedMember.d.ts +2 -0
- package/dist/apis/group/removeGroupBlockedMember.js +28 -0
- package/dist/apis/group/removeGroupDeputy.d.ts +2 -0
- package/dist/apis/group/removeGroupDeputy.js +30 -0
- package/dist/apis/group/removeUserFromGroup.d.ts +4 -0
- package/dist/apis/group/removeUserFromGroup.js +34 -0
- package/dist/apis/group/reviewPendingMemberRequest.d.ts +14 -0
- package/dist/apis/group/reviewPendingMemberRequest.js +38 -0
- package/dist/apis/group/updateGroupSettings.d.ts +40 -0
- package/dist/apis/group/updateGroupSettings.js +43 -0
- package/dist/apis/group/upgradeGroupToCommunity.d.ts +2 -0
- package/dist/apis/group/upgradeGroupToCommunity.js +27 -0
- package/dist/apis/listen.d.ts +1 -119
- package/dist/apis/listen.js +1 -576
- package/dist/apis/login.js +9 -6
- package/dist/apis/loginQR.js +110 -68
- package/dist/apis/media/getConversationMedia.d.ts +26 -0
- package/dist/apis/media/getConversationMedia.js +38 -0
- package/dist/apis/media/getMediaStorePreview.d.ts +3 -0
- package/dist/apis/media/getMediaStorePreview.js +31 -0
- package/dist/apis/media/removeConversationMedia.d.ts +8 -0
- package/dist/apis/media/removeConversationMedia.js +30 -0
- package/dist/apis/media/uploadAttachment.d.ts +50 -0
- package/dist/apis/media/uploadAttachment.js +209 -0
- package/dist/apis/media/voiceToText.d.ts +4 -0
- package/dist/apis/media/voiceToText.js +29 -0
- package/dist/apis/profile/changeAccountAvatar.d.ts +3 -0
- package/dist/apis/profile/changeAccountAvatar.js +52 -0
- package/dist/apis/profile/deleteAvatar.d.ts +9 -0
- package/dist/apis/profile/deleteAvatar.js +27 -0
- package/dist/apis/profile/fetchAccountInfo.d.ts +5 -0
- package/dist/apis/profile/fetchAccountInfo.js +10 -0
- package/dist/apis/profile/getAvatarList.d.ts +12 -0
- package/dist/apis/profile/getAvatarList.js +28 -0
- package/dist/apis/profile/getAvatarUrlProfile.d.ts +7 -0
- package/dist/apis/profile/getAvatarUrlProfile.js +30 -0
- package/dist/apis/profile/getEmojiStatusConfig.d.ts +17 -0
- package/dist/apis/profile/getEmojiStatusConfig.js +22 -0
- package/dist/apis/profile/getFullAvatar.d.ts +5 -0
- package/dist/apis/profile/getFullAvatar.js +25 -0
- package/dist/apis/profile/getMiniProfile.d.ts +13 -0
- package/dist/apis/profile/getMiniProfile.js +34 -0
- package/dist/apis/profile/getProfileRank.d.ts +5 -0
- package/dist/apis/profile/getProfileRank.js +25 -0
- package/dist/apis/profile/getProfileVerificationStatus.d.ts +5 -0
- package/dist/apis/profile/getProfileVerificationStatus.js +20 -0
- package/dist/apis/profile/getSettings.d.ts +3 -0
- package/dist/apis/profile/getSettings.js +20 -0
- package/dist/apis/profile/getUserInfo.d.ts +8 -0
- package/dist/apis/profile/getUserInfo.js +44 -0
- package/dist/apis/profile/reuseAvatar.d.ts +2 -0
- package/dist/apis/profile/reuseAvatar.js +26 -0
- package/dist/apis/profile/updateProfile.d.ts +20 -0
- package/dist/apis/profile/updateProfile.js +42 -0
- package/dist/apis/profile/updateProfileBio.d.ts +2 -0
- package/dist/apis/profile/updateProfileBio.js +27 -0
- package/dist/apis/profile/updateSettings.d.ts +16 -0
- package/dist/apis/profile/updateSettings.js +90 -0
- package/dist/apis/sticker/getPersonalizedStickerList.d.ts +5 -0
- package/dist/apis/sticker/getPersonalizedStickerList.js +24 -0
- package/dist/apis/sticker/getStickerCategoriesV2.d.ts +17 -0
- package/dist/apis/sticker/getStickerCategoriesV2.js +21 -0
- package/dist/apis/sticker/getStickerCategoryData.d.ts +3 -0
- package/dist/apis/sticker/getStickerCategoryData.js +25 -0
- package/dist/apis/sticker/getStickerCategoryDetail.d.ts +3 -0
- package/dist/apis/sticker/getStickerCategoryDetail.js +24 -0
- package/dist/apis/sticker/getStickerHello.d.ts +16 -0
- package/dist/apis/sticker/getStickerHello.js +34 -0
- package/dist/apis/sticker/getStickerSuggestKeywords.d.ts +12 -0
- package/dist/apis/sticker/getStickerSuggestKeywords.js +24 -0
- package/dist/apis/sticker/getStickerSuggestion.d.ts +12 -0
- package/dist/apis/sticker/getStickerSuggestion.js +29 -0
- package/dist/apis/sticker/getStickers.d.ts +1 -0
- package/dist/apis/sticker/getStickers.js +40 -0
- package/dist/apis/sticker/getStickersDetail.d.ts +3 -0
- package/dist/apis/sticker/getStickersDetail.js +40 -0
- package/dist/apis/sticker/searchSticker.d.ts +3 -0
- package/dist/apis/sticker/searchSticker.js +28 -0
- package/dist/apis/sync/cancelPullMobile.d.ts +11 -0
- package/dist/apis/sync/cancelPullMobile.js +33 -0
- package/dist/apis/sync/downloadTransferSync.d.ts +6 -0
- package/dist/apis/sync/downloadTransferSync.js +30 -0
- package/dist/apis/sync/getSyncData.d.ts +13 -0
- package/dist/apis/sync/getSyncData.js +103 -0
- package/dist/apis/sync/pullMobile.d.ts +15 -0
- package/dist/apis/sync/pullMobile.js +38 -0
- package/dist/apis/sync/requestSyncFromPhone.d.ts +20 -0
- package/dist/apis/sync/requestSyncFromPhone.js +40 -0
- package/dist/apis/zcloud/getCloudInfo.d.ts +3 -0
- package/dist/apis/zcloud/getCloudInfo.js +18 -0
- package/dist/apis/zcloud/getCloudSettings.d.ts +10 -0
- package/dist/apis/zcloud/getCloudSettings.js +17 -0
- package/dist/apis/zcloud/getCloudViewerKey.d.ts +5 -0
- package/dist/apis/zcloud/getCloudViewerKey.js +45 -0
- package/dist/apis/zcloud/getFamilyProfile.d.ts +3 -0
- package/dist/apis/zcloud/getFamilyProfile.js +18 -0
- package/dist/apis/zcloud/getFamilyUsage.d.ts +7 -0
- package/dist/apis/zcloud/getFamilyUsage.js +17 -0
- package/dist/apis/zcloud/getFamilyViewerKey.d.ts +5 -0
- package/dist/apis/zcloud/getFamilyViewerKey.js +45 -0
- package/dist/apis/zcloud/getUsageMyCloud.d.ts +7 -0
- package/dist/apis/zcloud/getUsageMyCloud.js +17 -0
- package/dist/apis/zcloud/getUsageZCloud.d.ts +11 -0
- package/dist/apis/zcloud/getUsageZCloud.js +17 -0
- package/dist/apis/zcloud/verifyCloudMedia.d.ts +14 -0
- package/dist/apis/zcloud/verifyCloudMedia.js +25 -0
- package/dist/apis.d.ts +657 -330
- package/dist/apis.js +1139 -330
- package/dist/cjs/Errors/ZaloApiError.cjs +1 -0
- package/dist/cjs/apis/auth/decryptGids.cjs +35 -0
- package/dist/cjs/apis/auth/encryptGids.cjs +29 -0
- package/dist/cjs/apis/auth/getContext.cjs +9 -0
- package/dist/cjs/apis/auth/getCookie.cjs +14 -0
- package/dist/cjs/apis/auth/getListDevice.cjs +27 -0
- package/dist/cjs/apis/auth/getNoisedIds.cjs +74 -0
- package/dist/cjs/apis/auth/getOwnId.cjs +9 -0
- package/dist/cjs/apis/auth/getQR.cjs +34 -0
- package/dist/cjs/apis/auth/keepAlive.cjs +29 -0
- package/dist/cjs/apis/auth/lostFocus.cjs +28 -0
- package/dist/cjs/apis/auth/scanURL.cjs +33 -0
- package/dist/cjs/apis/auth/updateActiveStatus.cjs +32 -0
- package/dist/cjs/apis/auth/updateLang.cjs +35 -0
- package/dist/cjs/apis/board/addPollOptions.cjs +31 -0
- package/dist/cjs/apis/board/createNote.cjs +52 -0
- package/dist/cjs/apis/board/createPoll.cjs +44 -0
- package/dist/cjs/apis/board/createReminder.cjs +78 -0
- package/dist/cjs/apis/board/editNote.cjs +51 -0
- package/dist/cjs/apis/board/editReminder.cjs +76 -0
- package/dist/cjs/apis/board/getListBoard.cjs +60 -0
- package/dist/cjs/apis/board/getListPinTopics.cjs +33 -0
- package/dist/cjs/apis/board/getListReminder.cjs +65 -0
- package/dist/cjs/apis/board/getPollDetail.cjs +35 -0
- package/dist/cjs/apis/board/getReminder.cjs +30 -0
- package/dist/cjs/apis/board/getReminderResponses.cjs +29 -0
- package/dist/cjs/apis/board/lockPoll.cjs +33 -0
- package/dist/cjs/apis/board/removeReminder.cjs +56 -0
- package/dist/cjs/apis/board/sharePoll.cjs +33 -0
- package/dist/cjs/apis/board/votePoll.cjs +34 -0
- package/dist/cjs/apis/business/addQuickMessage.cjs +65 -0
- package/dist/cjs/apis/business/createAutoReply.cjs +42 -0
- package/dist/cjs/apis/business/createBankAccount.cjs +37 -0
- package/dist/cjs/apis/business/createCatalog.cjs +34 -0
- package/dist/cjs/apis/business/createProductCatalog.cjs +55 -0
- package/dist/cjs/apis/business/deleteAutoReply.cjs +34 -0
- package/dist/cjs/apis/business/deleteBankAccount.cjs +37 -0
- package/dist/cjs/apis/business/deleteCatalog.cjs +33 -0
- package/dist/cjs/apis/business/deleteProductCatalog.cjs +36 -0
- package/dist/cjs/apis/business/getAutoReplyList.cjs +29 -0
- package/dist/cjs/apis/business/getBizAccount.cjs +32 -0
- package/dist/cjs/apis/business/getCatalogList.cjs +36 -0
- package/dist/cjs/apis/business/getLabels.cjs +33 -0
- package/dist/cjs/apis/business/getListBank.cjs +25 -0
- package/dist/cjs/apis/business/getListBankAccount.cjs +32 -0
- package/dist/cjs/apis/business/getProductCatalogList.cjs +37 -0
- package/dist/cjs/apis/business/getQuickMessageList.cjs +29 -0
- package/dist/cjs/apis/business/registerCatalog.cjs +32 -0
- package/dist/cjs/apis/business/removeQuickMessage.cjs +32 -0
- package/dist/cjs/apis/business/updateAutoReply.cjs +43 -0
- package/dist/cjs/apis/business/updateBankAccount.cjs +36 -0
- package/dist/cjs/apis/business/updateCatalog.cjs +35 -0
- package/dist/cjs/apis/business/updateLabels.cjs +39 -0
- package/dist/cjs/apis/business/updateProductCatalog.cjs +56 -0
- package/dist/cjs/apis/business/updateQuickMessage.cjs +66 -0
- package/dist/cjs/apis/business/uploadProductPhoto.cjs +55 -0
- package/dist/cjs/apis/call/cancelVoiceCall.cjs +45 -0
- package/dist/cjs/apis/call/endVoiceCall.cjs +43 -0
- package/dist/cjs/apis/call/sendVoiceCall.cjs +118 -0
- package/dist/cjs/apis/chat/addReaction.cjs +313 -0
- package/dist/cjs/apis/chat/addUnreadMark.cjs +68 -0
- package/dist/cjs/apis/chat/deleteChat.cjs +66 -0
- package/dist/cjs/apis/chat/deleteMessage.cjs +68 -0
- package/dist/cjs/apis/chat/forwardMessage.cjs +108 -0
- package/dist/cjs/apis/chat/getArchivedChatList.cjs +28 -0
- package/dist/cjs/apis/chat/getAutoDeleteChat.cjs +26 -0
- package/dist/cjs/apis/chat/getHiddenConversations.cjs +28 -0
- package/dist/cjs/apis/chat/getLastSeen.cjs +43 -0
- package/dist/cjs/apis/chat/getLastSeenReaction.cjs +32 -0
- package/dist/cjs/apis/chat/getMute.cjs +27 -0
- package/dist/cjs/apis/chat/getPinConversations.cjs +27 -0
- package/dist/cjs/apis/chat/getRecentSearchList.cjs +30 -0
- package/dist/cjs/apis/chat/getUnreadMark.cjs +35 -0
- package/dist/cjs/apis/chat/parseLink.cjs +32 -0
- package/dist/cjs/apis/chat/preloadConversations.cjs +96 -0
- package/dist/cjs/apis/chat/removeUnreadMark.cjs +66 -0
- package/dist/cjs/apis/chat/resetHiddenConversPin.cjs +25 -0
- package/dist/cjs/apis/chat/sendBankCard.cjs +52 -0
- package/dist/cjs/apis/chat/sendCard.cjs +74 -0
- package/dist/cjs/apis/chat/sendDeliveredEvent.cjs +78 -0
- package/dist/cjs/apis/chat/sendLink.cjs +76 -0
- package/dist/cjs/apis/chat/sendMessage.cjs +476 -0
- package/dist/cjs/apis/chat/sendReport.cjs +69 -0
- package/dist/cjs/apis/chat/sendSeenEvent.cjs +82 -0
- package/dist/cjs/apis/chat/sendSticker.cjs +73 -0
- package/dist/cjs/apis/chat/sendTypingEvent.cjs +53 -0
- package/dist/cjs/apis/chat/sendVideo.cjs +133 -0
- package/dist/cjs/apis/chat/sendVoice.cjs +88 -0
- package/dist/cjs/apis/chat/setHiddenConversations.cjs +55 -0
- package/dist/cjs/apis/chat/setMute.cjs +83 -0
- package/dist/cjs/apis/chat/setPinnedConversations.cjs +50 -0
- package/dist/cjs/apis/chat/undo.cjs +58 -0
- package/dist/cjs/apis/chat/undoMultiMessage.cjs +62 -0
- package/dist/cjs/apis/chat/updateArchivedChatList.cjs +39 -0
- package/dist/cjs/apis/chat/updateAutoDeleteChat.cjs +56 -0
- package/dist/cjs/apis/chat/updateHiddenConversPin.cjs +36 -0
- package/dist/cjs/apis/chat/updateRecentSearch.cjs +45 -0
- package/dist/cjs/apis/custom.cjs +1 -0
- package/dist/cjs/apis/friend/acceptFriendRequest.cjs +33 -0
- package/dist/cjs/apis/friend/blockUser.cjs +33 -0
- package/dist/cjs/apis/friend/blockViewFeed.cjs +35 -0
- package/dist/cjs/apis/friend/changeFriendAlias.cjs +32 -0
- package/dist/cjs/apis/friend/clearUnreadFriendRequests.cjs +34 -0
- package/dist/cjs/apis/friend/findUser.cjs +58 -0
- package/dist/cjs/apis/friend/findUserByUsername.cjs +43 -0
- package/dist/cjs/apis/friend/getAliasList.cjs +32 -0
- package/dist/cjs/apis/friend/getAliasListV2.cjs +33 -0
- package/dist/cjs/apis/friend/getAllFriends.cjs +50 -0
- package/dist/cjs/apis/friend/getBlockFriends.cjs +33 -0
- package/dist/cjs/apis/friend/getCloseFriends.cjs +25 -0
- package/dist/cjs/apis/friend/getExtraFriendInfo.cjs +36 -0
- package/dist/cjs/apis/friend/getFriendBoardList.cjs +31 -0
- package/dist/cjs/apis/friend/getFriendOnlines.cjs +40 -0
- package/dist/cjs/apis/friend/getFriendRecommendations.cjs +32 -0
- package/dist/cjs/apis/friend/getFriendRequestStatus.cjs +30 -0
- package/dist/cjs/apis/friend/getFriendsEmojiStatus.cjs +34 -0
- package/dist/cjs/apis/friend/getLastReadContactTab.cjs +20 -0
- package/dist/cjs/apis/friend/getMultiUsersByPhones.cjs +55 -0
- package/dist/cjs/apis/friend/getPhonebookV2.cjs +26 -0
- package/dist/cjs/apis/friend/getSentFriendRequest.cjs +29 -0
- package/dist/cjs/apis/friend/lastOnline.cjs +31 -0
- package/dist/cjs/apis/friend/readContactTab.cjs +31 -0
- package/dist/cjs/apis/friend/rejectFriendRequest.cjs +32 -0
- package/dist/cjs/apis/friend/removeFriend.cjs +33 -0
- package/dist/cjs/apis/friend/removeFriendAlias.cjs +29 -0
- package/dist/cjs/apis/friend/sendFriendRequest.cjs +44 -0
- package/dist/cjs/apis/friend/unblockUser.cjs +33 -0
- package/dist/cjs/apis/friend/undoFriendRequest.cjs +32 -0
- package/dist/cjs/apis/group/addGroupBlockedMember.cjs +33 -0
- package/dist/cjs/apis/group/addGroupDeputy.cjs +35 -0
- package/dist/cjs/apis/group/addUserToGroup.cjs +39 -0
- package/dist/cjs/apis/group/changeGroupAvatar.cjs +49 -0
- package/dist/cjs/apis/group/changeGroupName.cjs +37 -0
- package/dist/cjs/apis/group/changeGroupOwner.cjs +35 -0
- package/dist/cjs/apis/group/createGroup.cjs +48 -0
- package/dist/cjs/apis/group/deleteGroupInviteBox.cjs +32 -0
- package/dist/cjs/apis/group/disableGroupLink.cjs +29 -0
- package/dist/cjs/apis/group/disperseGroup.cjs +33 -0
- package/dist/cjs/apis/group/enableGroupLink.cjs +30 -0
- package/dist/cjs/apis/group/getAllGroups.cjs +15 -0
- package/dist/cjs/apis/group/getExtraGroupInfo.cjs +37 -0
- package/dist/cjs/apis/group/getGroupBlockedMember.cjs +33 -0
- package/dist/cjs/apis/group/getGroupChatHistory.cjs +81 -0
- package/dist/cjs/apis/group/getGroupCloudMessageJump.cjs +63 -0
- package/dist/cjs/apis/group/getGroupInfo.cjs +37 -0
- package/dist/cjs/apis/group/getGroupInviteBoxInfo.cjs +42 -0
- package/dist/cjs/apis/group/getGroupInviteBoxList.cjs +35 -0
- package/dist/cjs/apis/group/getGroupLinkDetail.cjs +30 -0
- package/dist/cjs/apis/group/getGroupLinkInfo.cjs +32 -0
- package/dist/cjs/apis/group/getGroupMembersInfo.cjs +29 -0
- package/dist/cjs/apis/group/getPendingGroupMembers.cjs +32 -0
- package/dist/cjs/apis/group/getQuotaCommunity.cjs +32 -0
- package/dist/cjs/apis/group/getRelatedFriendGroup.cjs +35 -0
- package/dist/cjs/apis/group/inviteUserToGroups.cjs +35 -0
- package/dist/cjs/apis/group/joinGroupInviteBox.cjs +30 -0
- package/dist/cjs/apis/group/joinGroupLink.cjs +32 -0
- package/dist/cjs/apis/group/leaveGroup.cjs +38 -0
- package/dist/cjs/apis/group/removeGroupBlockedMember.cjs +33 -0
- package/dist/cjs/apis/group/removeGroupDeputy.cjs +35 -0
- package/dist/cjs/apis/group/removeUserFromGroup.cjs +39 -0
- package/dist/cjs/apis/group/reviewPendingMemberRequest.cjs +43 -0
- package/dist/cjs/apis/group/updateGroupSettings.cjs +48 -0
- package/dist/cjs/apis/group/upgradeGroupToCommunity.cjs +32 -0
- package/dist/cjs/apis/login.cjs +15 -8
- package/dist/cjs/apis/loginQR.cjs +110 -68
- package/dist/cjs/apis/media/getConversationMedia.cjs +43 -0
- package/dist/cjs/apis/media/getMediaStorePreview.cjs +36 -0
- package/dist/cjs/apis/media/removeConversationMedia.cjs +35 -0
- package/dist/cjs/apis/media/uploadAttachment.cjs +225 -0
- package/dist/cjs/apis/media/voiceToText.cjs +35 -0
- package/dist/cjs/apis/profile/changeAccountAvatar.cjs +57 -0
- package/dist/cjs/apis/profile/deleteAvatar.cjs +32 -0
- package/dist/cjs/apis/profile/fetchAccountInfo.cjs +15 -0
- package/dist/cjs/apis/profile/getAvatarList.cjs +33 -0
- package/dist/cjs/apis/profile/getAvatarUrlProfile.cjs +46 -0
- package/dist/cjs/apis/profile/getEmojiStatusConfig.cjs +28 -0
- package/dist/cjs/apis/profile/getFullAvatar.cjs +30 -0
- package/dist/cjs/apis/profile/getMiniProfile.cjs +39 -0
- package/dist/cjs/apis/profile/getProfileRank.cjs +30 -0
- package/dist/cjs/apis/profile/getProfileVerificationStatus.cjs +25 -0
- package/dist/cjs/apis/profile/getSettings.cjs +27 -0
- package/dist/cjs/apis/profile/getUserInfo.cjs +60 -0
- package/dist/cjs/apis/profile/reuseAvatar.cjs +31 -0
- package/dist/cjs/apis/profile/updateProfile.cjs +47 -0
- package/dist/cjs/apis/profile/updateProfileBio.cjs +32 -0
- package/dist/cjs/apis/profile/updateSettings.cjs +97 -0
- package/dist/cjs/apis/sticker/getPersonalizedStickerList.cjs +29 -0
- package/dist/cjs/apis/sticker/getStickerCategoriesV2.cjs +26 -0
- package/dist/cjs/apis/sticker/getStickerCategoryData.cjs +30 -0
- package/dist/cjs/apis/sticker/getStickerCategoryDetail.cjs +29 -0
- package/dist/cjs/apis/sticker/getStickerHello.cjs +39 -0
- package/dist/cjs/apis/sticker/getStickerSuggestKeywords.cjs +29 -0
- package/dist/cjs/apis/sticker/getStickerSuggestion.cjs +34 -0
- package/dist/cjs/apis/sticker/getStickers.cjs +45 -0
- package/dist/cjs/apis/sticker/getStickersDetail.cjs +45 -0
- package/dist/cjs/apis/sticker/searchSticker.cjs +33 -0
- package/dist/cjs/apis/sync/cancelPullMobile.cjs +38 -0
- package/dist/cjs/apis/sync/downloadTransferSync.cjs +37 -0
- package/dist/cjs/apis/sync/getSyncData.cjs +109 -0
- package/dist/cjs/apis/sync/pullMobile.cjs +43 -0
- package/dist/cjs/apis/sync/requestSyncFromPhone.cjs +46 -0
- package/dist/cjs/apis/zcloud/getCloudInfo.cjs +27 -0
- package/dist/cjs/apis/zcloud/getCloudSettings.cjs +26 -0
- package/dist/cjs/apis/zcloud/getCloudViewerKey.cjs +53 -0
- package/dist/cjs/apis/zcloud/getFamilyProfile.cjs +27 -0
- package/dist/cjs/apis/zcloud/getFamilyUsage.cjs +26 -0
- package/dist/cjs/apis/zcloud/getFamilyViewerKey.cjs +53 -0
- package/dist/cjs/apis/zcloud/getUsageMyCloud.cjs +26 -0
- package/dist/cjs/apis/zcloud/getUsageZCloud.cjs +26 -0
- package/dist/cjs/apis/zcloud/verifyCloudMedia.cjs +34 -0
- package/dist/cjs/apis.cjs +1142 -332
- package/dist/cjs/constants/defaults.cjs +77 -0
- package/dist/cjs/constants/domains.cjs +38 -0
- package/dist/cjs/constants/endpoints.cjs +71 -0
- package/dist/cjs/constants/protocol.cjs +34 -0
- package/dist/cjs/context.cjs +9 -6
- package/dist/cjs/core/service-router.cjs +22 -0
- package/dist/cjs/core/zcloud-client.cjs +93 -0
- package/dist/cjs/crypto/aes.cjs +181 -0
- package/dist/cjs/crypto/ws-cipher.cjs +59 -0
- package/dist/cjs/crypto/zcloud-cipher.cjs +32 -0
- package/dist/cjs/crypto/zdb-cipher.cjs +177 -0
- package/dist/cjs/index.cjs +55 -17
- package/dist/cjs/models/ClearUnread.cjs +7 -0
- package/dist/cjs/models/DeliveredMessage.cjs +8 -2
- package/dist/cjs/models/GroupEvent.cjs +1 -2
- package/dist/cjs/models/Message.cjs +14 -2
- package/dist/cjs/models/Reaction.cjs +4 -0
- package/dist/cjs/models/SeenMessage.cjs +8 -2
- package/dist/cjs/models/Typing.cjs +8 -2
- package/dist/cjs/models/Undo.cjs +4 -0
- package/dist/cjs/realtime/handlers/control.handler.cjs +84 -0
- package/dist/cjs/realtime/handlers/message.handler.cjs +106 -0
- package/dist/cjs/realtime/handlers/reaction.handler.cjs +55 -0
- package/dist/cjs/realtime/handlers/status.handler.cjs +90 -0
- package/dist/cjs/realtime/listener.cjs +381 -0
- package/dist/cjs/realtime/types.cjs +9 -0
- package/dist/cjs/update.cjs +14 -11
- package/dist/cjs/utils.cjs +60 -452
- package/dist/cjs/zalo.cjs +13 -8
- package/dist/constants/defaults.d.ts +96 -0
- package/dist/constants/defaults.js +73 -0
- package/dist/constants/domains.d.ts +34 -0
- package/dist/constants/domains.js +34 -0
- package/dist/constants/endpoints.d.ts +67 -0
- package/dist/constants/endpoints.js +67 -0
- package/dist/constants/index.d.ts +4 -0
- package/dist/constants/index.js +4 -0
- package/dist/constants/protocol.d.ts +30 -0
- package/dist/constants/protocol.js +30 -0
- package/dist/context.d.ts +12 -1
- package/dist/context.js +7 -6
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +2 -0
- package/dist/core/service-router.d.ts +10 -0
- package/dist/core/service-router.js +17 -0
- package/dist/core/zcloud-client.d.ts +31 -0
- package/dist/core/zcloud-client.js +83 -0
- package/dist/crypto/aes.d.ts +34 -0
- package/dist/crypto/aes.js +171 -0
- package/dist/crypto/index.d.ts +4 -0
- package/dist/crypto/index.js +4 -0
- package/dist/crypto/ws-cipher.d.ts +3 -0
- package/dist/crypto/ws-cipher.js +52 -0
- package/dist/crypto/zcloud-cipher.d.ts +10 -0
- package/dist/crypto/zcloud-cipher.js +26 -0
- package/dist/crypto/zdb-cipher.d.ts +42 -0
- package/dist/crypto/zdb-cipher.js +167 -0
- package/dist/index.d.ts +217 -172
- package/dist/index.js +13 -10
- package/dist/models/ClearUnread.js +7 -0
- package/dist/models/DeliveredMessage.js +8 -2
- package/dist/models/GroupEvent.js +1 -2
- package/dist/models/Message.js +14 -2
- package/dist/models/Reaction.js +4 -0
- package/dist/models/SeenMessage.js +8 -2
- package/dist/models/Typing.js +8 -2
- package/dist/models/Undo.js +4 -0
- package/dist/realtime/handlers/control.handler.d.ts +3 -0
- package/dist/realtime/handlers/control.handler.js +78 -0
- package/dist/realtime/handlers/message.handler.d.ts +4 -0
- package/dist/realtime/handlers/message.handler.js +87 -0
- package/dist/realtime/handlers/reaction.handler.d.ts +3 -0
- package/dist/realtime/handlers/reaction.handler.js +32 -0
- package/dist/realtime/handlers/status.handler.d.ts +3 -0
- package/dist/realtime/handlers/status.handler.js +66 -0
- package/dist/realtime/index.d.ts +2 -0
- package/dist/realtime/index.js +2 -0
- package/dist/realtime/listener.d.ts +69 -0
- package/dist/realtime/listener.js +363 -0
- package/dist/realtime/types.d.ts +64 -0
- package/dist/realtime/types.js +7 -0
- package/dist/update.js +13 -11
- package/dist/utils.d.ts +5 -125
- package/dist/utils.js +49 -466
- package/dist/zalo.js +12 -9
- package/package.json +11 -7
- package/.prettierrc +0 -5
- package/dist/apis/acceptFriendRequest.d.ts +0 -2
- package/dist/apis/acceptFriendRequest.js +0 -28
- package/dist/apis/addGroupBlockedMember.d.ts +0 -2
- package/dist/apis/addGroupBlockedMember.js +0 -28
- package/dist/apis/addGroupDeputy.d.ts +0 -2
- package/dist/apis/addGroupDeputy.js +0 -30
- package/dist/apis/addPollOptions.d.ts +0 -14
- package/dist/apis/addPollOptions.js +0 -26
- package/dist/apis/addQuickMessage.d.ts +0 -11
- package/dist/apis/addQuickMessage.js +0 -60
- package/dist/apis/addReaction.d.ts +0 -18
- package/dist/apis/addReaction.js +0 -297
- package/dist/apis/addUnreadMark.d.ts +0 -8
- package/dist/apis/addUnreadMark.js +0 -52
- package/dist/apis/addUserToGroup.d.ts +0 -5
- package/dist/apis/addUserToGroup.js +0 -34
- package/dist/apis/blockUser.d.ts +0 -2
- package/dist/apis/blockUser.js +0 -28
- package/dist/apis/blockViewFeed.d.ts +0 -2
- package/dist/apis/blockViewFeed.js +0 -30
- package/dist/apis/cancelPullMobile.d.ts +0 -11
- package/dist/apis/cancelPullMobile.js +0 -33
- package/dist/apis/cancelVoiceCall.d.ts +0 -7
- package/dist/apis/cancelVoiceCall.js +0 -42
- package/dist/apis/changeAccountAvatar.d.ts +0 -3
- package/dist/apis/changeAccountAvatar.js +0 -52
- package/dist/apis/changeFriendAlias.d.ts +0 -2
- package/dist/apis/changeFriendAlias.js +0 -27
- package/dist/apis/changeGroupAvatar.d.ts +0 -3
- package/dist/apis/changeGroupAvatar.js +0 -44
- package/dist/apis/changeGroupName.d.ts +0 -4
- package/dist/apis/changeGroupName.js +0 -32
- package/dist/apis/changeGroupOwner.d.ts +0 -4
- package/dist/apis/changeGroupOwner.js +0 -30
- package/dist/apis/createAutoReply.d.ts +0 -14
- package/dist/apis/createAutoReply.js +0 -37
- package/dist/apis/createBankAccount.d.ts +0 -8
- package/dist/apis/createBankAccount.js +0 -32
- package/dist/apis/createCatalog.d.ts +0 -7
- package/dist/apis/createCatalog.js +0 -29
- package/dist/apis/createGroup.d.ts +0 -28
- package/dist/apis/createGroup.js +0 -43
- package/dist/apis/createNote.d.ts +0 -7
- package/dist/apis/createNote.js +0 -47
- package/dist/apis/createPoll.d.ts +0 -36
- package/dist/apis/createPoll.js +0 -40
- package/dist/apis/createProductCatalog.d.ts +0 -23
- package/dist/apis/createProductCatalog.js +0 -50
- package/dist/apis/createReminder.d.ts +0 -12
- package/dist/apis/createReminder.js +0 -63
- package/dist/apis/decryptGids.d.ts +0 -6
- package/dist/apis/decryptGids.js +0 -30
- package/dist/apis/deleteAutoReply.d.ts +0 -5
- package/dist/apis/deleteAutoReply.js +0 -29
- package/dist/apis/deleteAvatar.d.ts +0 -9
- package/dist/apis/deleteAvatar.js +0 -27
- package/dist/apis/deleteBankAccount.d.ts +0 -11
- package/dist/apis/deleteBankAccount.js +0 -32
- package/dist/apis/deleteCatalog.d.ts +0 -2
- package/dist/apis/deleteCatalog.js +0 -28
- package/dist/apis/deleteChat.d.ts +0 -19
- package/dist/apis/deleteChat.js +0 -50
- package/dist/apis/deleteGroupInviteBox.d.ts +0 -9
- package/dist/apis/deleteGroupInviteBox.js +0 -27
- package/dist/apis/deleteMessage.d.ts +0 -14
- package/dist/apis/deleteMessage.js +0 -52
- package/dist/apis/deleteProductCatalog.d.ts +0 -10
- package/dist/apis/deleteProductCatalog.js +0 -31
- package/dist/apis/disableGroupLink.d.ts +0 -2
- package/dist/apis/disableGroupLink.js +0 -24
- package/dist/apis/disperseGroup.d.ts +0 -2
- package/dist/apis/disperseGroup.js +0 -28
- package/dist/apis/downloadTransferSync.d.ts +0 -6
- package/dist/apis/downloadTransferSync.js +0 -30
- package/dist/apis/editNote.d.ts +0 -17
- package/dist/apis/editNote.js +0 -46
- package/dist/apis/editReminder.d.ts +0 -13
- package/dist/apis/editReminder.js +0 -61
- package/dist/apis/enableGroupLink.d.ts +0 -6
- package/dist/apis/enableGroupLink.js +0 -25
- package/dist/apis/endVoiceCall.d.ts +0 -5
- package/dist/apis/endVoiceCall.js +0 -40
- package/dist/apis/fetchAccountInfo.d.ts +0 -5
- package/dist/apis/fetchAccountInfo.js +0 -10
- package/dist/apis/findUser.d.ts +0 -3
- package/dist/apis/findUser.js +0 -42
- package/dist/apis/findUserByUsername.d.ts +0 -3
- package/dist/apis/findUserByUsername.js +0 -27
- package/dist/apis/forwardMessage.d.ts +0 -24
- package/dist/apis/forwardMessage.js +0 -99
- package/dist/apis/getAliasList.d.ts +0 -8
- package/dist/apis/getAliasList.js +0 -27
- package/dist/apis/getAllFriends.d.ts +0 -3
- package/dist/apis/getAllFriends.js +0 -34
- package/dist/apis/getAllGroups.d.ts +0 -7
- package/dist/apis/getAllGroups.js +0 -10
- package/dist/apis/getArchivedChatList.d.ts +0 -5
- package/dist/apis/getArchivedChatList.js +0 -23
- package/dist/apis/getAutoDeleteChat.d.ts +0 -9
- package/dist/apis/getAutoDeleteChat.js +0 -21
- package/dist/apis/getAutoReplyList.d.ts +0 -6
- package/dist/apis/getAutoReplyList.js +0 -24
- package/dist/apis/getAvatarList.d.ts +0 -12
- package/dist/apis/getAvatarList.js +0 -28
- package/dist/apis/getAvatarUrlProfile.d.ts +0 -7
- package/dist/apis/getAvatarUrlProfile.js +0 -30
- package/dist/apis/getBizAccount.d.ts +0 -24
- package/dist/apis/getBizAccount.js +0 -27
- package/dist/apis/getCatalogList.d.ts +0 -18
- package/dist/apis/getCatalogList.js +0 -32
- package/dist/apis/getCloseFriends.d.ts +0 -3
- package/dist/apis/getCloseFriends.js +0 -20
- package/dist/apis/getContext.d.ts +0 -1
- package/dist/apis/getContext.js +0 -4
- package/dist/apis/getCookie.d.ts +0 -1
- package/dist/apis/getCookie.js +0 -9
- package/dist/apis/getFriendBoardList.d.ts +0 -5
- package/dist/apis/getFriendBoardList.js +0 -26
- package/dist/apis/getFriendOnlines.d.ts +0 -10
- package/dist/apis/getFriendOnlines.js +0 -35
- package/dist/apis/getFriendRecommendations.d.ts +0 -42
- package/dist/apis/getFriendRecommendations.js +0 -27
- package/dist/apis/getFriendRequestStatus.d.ts +0 -8
- package/dist/apis/getFriendRequestStatus.js +0 -25
- package/dist/apis/getFullAvatar.d.ts +0 -5
- package/dist/apis/getFullAvatar.js +0 -25
- package/dist/apis/getGroupBlockedMember.d.ts +0 -23
- package/dist/apis/getGroupBlockedMember.js +0 -29
- package/dist/apis/getGroupChatHistory.d.ts +0 -18
- package/dist/apis/getGroupChatHistory.js +0 -64
- package/dist/apis/getGroupInfo.d.ts +0 -16
- package/dist/apis/getGroupInfo.js +0 -32
- package/dist/apis/getGroupInviteBoxInfo.d.ts +0 -32
- package/dist/apis/getGroupInviteBoxInfo.js +0 -38
- package/dist/apis/getGroupInviteBoxList.d.ts +0 -38
- package/dist/apis/getGroupInviteBoxList.js +0 -31
- package/dist/apis/getGroupLinkDetail.d.ts +0 -9
- package/dist/apis/getGroupLinkDetail.js +0 -25
- package/dist/apis/getGroupLinkInfo.d.ts +0 -34
- package/dist/apis/getGroupLinkInfo.js +0 -28
- package/dist/apis/getGroupMembersInfo.d.ts +0 -17
- package/dist/apis/getGroupMembersInfo.js +0 -24
- package/dist/apis/getHiddenConversations.d.ts +0 -11
- package/dist/apis/getHiddenConversations.js +0 -23
- package/dist/apis/getLabels.d.ts +0 -7
- package/dist/apis/getLabels.js +0 -28
- package/dist/apis/getListBank.d.ts +0 -5
- package/dist/apis/getListBank.js +0 -20
- package/dist/apis/getListBankAccount.d.ts +0 -7
- package/dist/apis/getListBankAccount.js +0 -27
- package/dist/apis/getListBoard.d.ts +0 -21
- package/dist/apis/getListBoard.js +0 -45
- package/dist/apis/getListDevice.d.ts +0 -10
- package/dist/apis/getListDevice.js +0 -22
- package/dist/apis/getListReminder.d.ts +0 -28
- package/dist/apis/getListReminder.js +0 -47
- package/dist/apis/getMultiUsersByPhones.d.ts +0 -5
- package/dist/apis/getMultiUsersByPhones.js +0 -39
- package/dist/apis/getMute.d.ts +0 -13
- package/dist/apis/getMute.js +0 -22
- package/dist/apis/getNoisedIds.d.ts +0 -9
- package/dist/apis/getNoisedIds.js +0 -67
- package/dist/apis/getOwnId.d.ts +0 -1
- package/dist/apis/getOwnId.js +0 -4
- package/dist/apis/getPendingGroupMembers.d.ts +0 -11
- package/dist/apis/getPendingGroupMembers.js +0 -27
- package/dist/apis/getPinConversations.d.ts +0 -5
- package/dist/apis/getPinConversations.js +0 -22
- package/dist/apis/getPollDetail.d.ts +0 -3
- package/dist/apis/getPollDetail.js +0 -30
- package/dist/apis/getProductCatalogList.d.ts +0 -20
- package/dist/apis/getProductCatalogList.js +0 -33
- package/dist/apis/getQR.d.ts +0 -4
- package/dist/apis/getQR.js +0 -29
- package/dist/apis/getQuickMessageList.d.ts +0 -7
- package/dist/apis/getQuickMessageList.js +0 -24
- package/dist/apis/getRelatedFriendGroup.d.ts +0 -6
- package/dist/apis/getRelatedFriendGroup.js +0 -30
- package/dist/apis/getReminder.d.ts +0 -3
- package/dist/apis/getReminder.js +0 -25
- package/dist/apis/getReminderResponses.d.ts +0 -5
- package/dist/apis/getReminderResponses.js +0 -24
- package/dist/apis/getSentFriendRequest.d.ts +0 -18
- package/dist/apis/getSentFriendRequest.js +0 -24
- package/dist/apis/getSettings.d.ts +0 -3
- package/dist/apis/getSettings.js +0 -20
- package/dist/apis/getStickerCategoryDetail.d.ts +0 -3
- package/dist/apis/getStickerCategoryDetail.js +0 -24
- package/dist/apis/getStickers.d.ts +0 -1
- package/dist/apis/getStickers.js +0 -40
- package/dist/apis/getStickersDetail.d.ts +0 -3
- package/dist/apis/getStickersDetail.js +0 -40
- package/dist/apis/getSyncData.d.ts +0 -13
- package/dist/apis/getSyncData.js +0 -103
- package/dist/apis/getUnreadMark.d.ts +0 -14
- package/dist/apis/getUnreadMark.js +0 -30
- package/dist/apis/getUserInfo.d.ts +0 -8
- package/dist/apis/getUserInfo.js +0 -44
- package/dist/apis/inviteUserToGroups.d.ts +0 -10
- package/dist/apis/inviteUserToGroups.js +0 -30
- package/dist/apis/joinGroupInviteBox.d.ts +0 -2
- package/dist/apis/joinGroupInviteBox.js +0 -25
- package/dist/apis/joinGroupLink.d.ts +0 -2
- package/dist/apis/joinGroupLink.js +0 -27
- package/dist/apis/keepAlive.d.ts +0 -4
- package/dist/apis/keepAlive.js +0 -22
- package/dist/apis/lastOnline.d.ts +0 -7
- package/dist/apis/lastOnline.js +0 -26
- package/dist/apis/leaveGroup.d.ts +0 -4
- package/dist/apis/leaveGroup.js +0 -33
- package/dist/apis/lockPoll.d.ts +0 -2
- package/dist/apis/lockPoll.js +0 -28
- package/dist/apis/lostFocus.d.ts +0 -4
- package/dist/apis/lostFocus.js +0 -23
- package/dist/apis/parseLink.d.ts +0 -21
- package/dist/apis/parseLink.js +0 -27
- package/dist/apis/preloadConversations.d.ts +0 -28
- package/dist/apis/preloadConversations.js +0 -76
- package/dist/apis/pullMobile.d.ts +0 -15
- package/dist/apis/pullMobile.js +0 -38
- package/dist/apis/registerCatalog.d.ts +0 -2
- package/dist/apis/registerCatalog.js +0 -27
- package/dist/apis/rejectFriendRequest.d.ts +0 -2
- package/dist/apis/rejectFriendRequest.js +0 -27
- package/dist/apis/removeFriend.d.ts +0 -2
- package/dist/apis/removeFriend.js +0 -28
- package/dist/apis/removeFriendAlias.d.ts +0 -2
- package/dist/apis/removeFriendAlias.js +0 -24
- package/dist/apis/removeGroupBlockedMember.d.ts +0 -2
- package/dist/apis/removeGroupBlockedMember.js +0 -28
- package/dist/apis/removeGroupDeputy.d.ts +0 -2
- package/dist/apis/removeGroupDeputy.js +0 -30
- package/dist/apis/removeQuickMessage.d.ts +0 -5
- package/dist/apis/removeQuickMessage.js +0 -27
- package/dist/apis/removeReminder.d.ts +0 -3
- package/dist/apis/removeReminder.js +0 -40
- package/dist/apis/removeUnreadMark.d.ts +0 -8
- package/dist/apis/removeUnreadMark.js +0 -50
- package/dist/apis/removeUserFromGroup.d.ts +0 -4
- package/dist/apis/removeUserFromGroup.js +0 -34
- package/dist/apis/requestSyncFromPhone.d.ts +0 -20
- package/dist/apis/requestSyncFromPhone.js +0 -41
- package/dist/apis/resetHiddenConversPin.d.ts +0 -2
- package/dist/apis/resetHiddenConversPin.js +0 -20
- package/dist/apis/reuseAvatar.d.ts +0 -2
- package/dist/apis/reuseAvatar.js +0 -26
- package/dist/apis/reviewPendingMemberRequest.d.ts +0 -14
- package/dist/apis/reviewPendingMemberRequest.js +0 -38
- package/dist/apis/scanURL.d.ts +0 -4
- package/dist/apis/scanURL.js +0 -28
- package/dist/apis/searchSticker.d.ts +0 -3
- package/dist/apis/searchSticker.js +0 -28
- package/dist/apis/sendBankCard.d.ts +0 -9
- package/dist/apis/sendBankCard.js +0 -37
- package/dist/apis/sendCard.d.ts +0 -10
- package/dist/apis/sendCard.js +0 -59
- package/dist/apis/sendDeliveredEvent.d.ts +0 -16
- package/dist/apis/sendDeliveredEvent.js +0 -55
- package/dist/apis/sendFriendRequest.d.ts +0 -2
- package/dist/apis/sendFriendRequest.js +0 -39
- package/dist/apis/sendLink.d.ts +0 -10
- package/dist/apis/sendLink.js +0 -61
- package/dist/apis/sendMessage.d.ts +0 -99
- package/dist/apis/sendMessage.js +0 -452
- package/dist/apis/sendReport.d.ts +0 -17
- package/dist/apis/sendReport.js +0 -53
- package/dist/apis/sendSeenEvent.d.ts +0 -16
- package/dist/apis/sendSeenEvent.js +0 -63
- package/dist/apis/sendSticker.d.ts +0 -10
- package/dist/apis/sendSticker.js +0 -57
- package/dist/apis/sendTypingEvent.d.ts +0 -5
- package/dist/apis/sendTypingEvent.js +0 -33
- package/dist/apis/sendVideo.d.ts +0 -35
- package/dist/apis/sendVideo.js +0 -118
- package/dist/apis/sendVoice.d.ts +0 -12
- package/dist/apis/sendVoice.js +0 -73
- package/dist/apis/sendVoiceCall.d.ts +0 -44
- package/dist/apis/sendVoiceCall.js +0 -115
- package/dist/apis/setHiddenConversations.d.ts +0 -3
- package/dist/apis/setHiddenConversations.js +0 -39
- package/dist/apis/setMute.d.ts +0 -20
- package/dist/apis/setMute.js +0 -67
- package/dist/apis/setPinnedConversations.d.ts +0 -3
- package/dist/apis/setPinnedConversations.js +0 -34
- package/dist/apis/sharePoll.d.ts +0 -2
- package/dist/apis/sharePoll.js +0 -28
- package/dist/apis/unblockUser.d.ts +0 -2
- package/dist/apis/unblockUser.js +0 -28
- package/dist/apis/undo.d.ts +0 -9
- package/dist/apis/undo.js +0 -42
- package/dist/apis/undoFriendRequest.d.ts +0 -2
- package/dist/apis/undoFriendRequest.js +0 -27
- package/dist/apis/updateActiveStatus.d.ts +0 -4
- package/dist/apis/updateActiveStatus.js +0 -27
- package/dist/apis/updateArchivedChatList.d.ts +0 -10
- package/dist/apis/updateArchivedChatList.js +0 -34
- package/dist/apis/updateAutoDeleteChat.d.ts +0 -9
- package/dist/apis/updateAutoDeleteChat.js +0 -40
- package/dist/apis/updateAutoReply.d.ts +0 -15
- package/dist/apis/updateAutoReply.js +0 -38
- package/dist/apis/updateBankAccount.d.ts +0 -9
- package/dist/apis/updateBankAccount.js +0 -31
- package/dist/apis/updateCatalog.d.ts +0 -11
- package/dist/apis/updateCatalog.js +0 -30
- package/dist/apis/updateGroupSettings.d.ts +0 -40
- package/dist/apis/updateGroupSettings.js +0 -43
- package/dist/apis/updateHiddenConversPin.d.ts +0 -2
- package/dist/apis/updateHiddenConversPin.js +0 -30
- package/dist/apis/updateLabels.d.ts +0 -15
- package/dist/apis/updateLabels.js +0 -34
- package/dist/apis/updateLang.d.ts +0 -6
- package/dist/apis/updateLang.js +0 -30
- package/dist/apis/updateProductCatalog.d.ts +0 -25
- package/dist/apis/updateProductCatalog.js +0 -51
- package/dist/apis/updateProfile.d.ts +0 -20
- package/dist/apis/updateProfile.js +0 -43
- package/dist/apis/updateProfileBio.d.ts +0 -2
- package/dist/apis/updateProfileBio.js +0 -27
- package/dist/apis/updateQuickMessage.d.ts +0 -11
- package/dist/apis/updateQuickMessage.js +0 -61
- package/dist/apis/updateSettings.d.ts +0 -16
- package/dist/apis/updateSettings.js +0 -90
- package/dist/apis/upgradeGroupToCommunity.d.ts +0 -2
- package/dist/apis/upgradeGroupToCommunity.js +0 -27
- package/dist/apis/uploadAttachment.d.ts +0 -50
- package/dist/apis/uploadAttachment.js +0 -202
- package/dist/apis/uploadProductPhoto.d.ts +0 -14
- package/dist/apis/uploadProductPhoto.js +0 -50
- package/dist/apis/votePoll.d.ts +0 -5
- package/dist/apis/votePoll.js +0 -29
- package/dist/cjs/apis/acceptFriendRequest.cjs +0 -33
- package/dist/cjs/apis/addGroupBlockedMember.cjs +0 -33
- package/dist/cjs/apis/addGroupDeputy.cjs +0 -35
- package/dist/cjs/apis/addPollOptions.cjs +0 -31
- package/dist/cjs/apis/addQuickMessage.cjs +0 -65
- package/dist/cjs/apis/addReaction.cjs +0 -313
- package/dist/cjs/apis/addUnreadMark.cjs +0 -68
- package/dist/cjs/apis/addUserToGroup.cjs +0 -39
- package/dist/cjs/apis/blockUser.cjs +0 -33
- package/dist/cjs/apis/blockViewFeed.cjs +0 -35
- package/dist/cjs/apis/cancelPullMobile.cjs +0 -38
- package/dist/cjs/apis/cancelVoiceCall.cjs +0 -47
- package/dist/cjs/apis/changeAccountAvatar.cjs +0 -57
- package/dist/cjs/apis/changeFriendAlias.cjs +0 -32
- package/dist/cjs/apis/changeGroupAvatar.cjs +0 -49
- package/dist/cjs/apis/changeGroupName.cjs +0 -37
- package/dist/cjs/apis/changeGroupOwner.cjs +0 -35
- package/dist/cjs/apis/createAutoReply.cjs +0 -42
- package/dist/cjs/apis/createBankAccount.cjs +0 -37
- package/dist/cjs/apis/createCatalog.cjs +0 -34
- package/dist/cjs/apis/createGroup.cjs +0 -48
- package/dist/cjs/apis/createNote.cjs +0 -52
- package/dist/cjs/apis/createPoll.cjs +0 -45
- package/dist/cjs/apis/createProductCatalog.cjs +0 -55
- package/dist/cjs/apis/createReminder.cjs +0 -79
- package/dist/cjs/apis/decryptGids.cjs +0 -35
- package/dist/cjs/apis/deleteAutoReply.cjs +0 -34
- package/dist/cjs/apis/deleteAvatar.cjs +0 -32
- package/dist/cjs/apis/deleteBankAccount.cjs +0 -37
- package/dist/cjs/apis/deleteCatalog.cjs +0 -33
- package/dist/cjs/apis/deleteChat.cjs +0 -66
- package/dist/cjs/apis/deleteGroupInviteBox.cjs +0 -32
- package/dist/cjs/apis/deleteMessage.cjs +0 -68
- package/dist/cjs/apis/deleteProductCatalog.cjs +0 -36
- package/dist/cjs/apis/disableGroupLink.cjs +0 -29
- package/dist/cjs/apis/disperseGroup.cjs +0 -33
- package/dist/cjs/apis/downloadTransferSync.cjs +0 -35
- package/dist/cjs/apis/editNote.cjs +0 -51
- package/dist/cjs/apis/editReminder.cjs +0 -77
- package/dist/cjs/apis/enableGroupLink.cjs +0 -30
- package/dist/cjs/apis/endVoiceCall.cjs +0 -45
- package/dist/cjs/apis/fetchAccountInfo.cjs +0 -15
- package/dist/cjs/apis/findUser.cjs +0 -58
- package/dist/cjs/apis/findUserByUsername.cjs +0 -43
- package/dist/cjs/apis/forwardMessage.cjs +0 -115
- package/dist/cjs/apis/getAliasList.cjs +0 -32
- package/dist/cjs/apis/getAllFriends.cjs +0 -50
- package/dist/cjs/apis/getAllGroups.cjs +0 -15
- package/dist/cjs/apis/getArchivedChatList.cjs +0 -28
- package/dist/cjs/apis/getAutoDeleteChat.cjs +0 -26
- package/dist/cjs/apis/getAutoReplyList.cjs +0 -29
- package/dist/cjs/apis/getAvatarList.cjs +0 -33
- package/dist/cjs/apis/getAvatarUrlProfile.cjs +0 -46
- package/dist/cjs/apis/getBizAccount.cjs +0 -32
- package/dist/cjs/apis/getCatalogList.cjs +0 -37
- package/dist/cjs/apis/getCloseFriends.cjs +0 -25
- package/dist/cjs/apis/getContext.cjs +0 -9
- package/dist/cjs/apis/getCookie.cjs +0 -14
- package/dist/cjs/apis/getFriendBoardList.cjs +0 -31
- package/dist/cjs/apis/getFriendOnlines.cjs +0 -40
- package/dist/cjs/apis/getFriendRecommendations.cjs +0 -32
- package/dist/cjs/apis/getFriendRequestStatus.cjs +0 -30
- package/dist/cjs/apis/getFullAvatar.cjs +0 -30
- package/dist/cjs/apis/getGroupBlockedMember.cjs +0 -34
- package/dist/cjs/apis/getGroupChatHistory.cjs +0 -81
- package/dist/cjs/apis/getGroupInfo.cjs +0 -37
- package/dist/cjs/apis/getGroupInviteBoxInfo.cjs +0 -43
- package/dist/cjs/apis/getGroupInviteBoxList.cjs +0 -36
- package/dist/cjs/apis/getGroupLinkDetail.cjs +0 -30
- package/dist/cjs/apis/getGroupLinkInfo.cjs +0 -33
- package/dist/cjs/apis/getGroupMembersInfo.cjs +0 -29
- package/dist/cjs/apis/getHiddenConversations.cjs +0 -28
- package/dist/cjs/apis/getLabels.cjs +0 -33
- package/dist/cjs/apis/getListBank.cjs +0 -25
- package/dist/cjs/apis/getListBankAccount.cjs +0 -32
- package/dist/cjs/apis/getListBoard.cjs +0 -61
- package/dist/cjs/apis/getListDevice.cjs +0 -27
- package/dist/cjs/apis/getListReminder.cjs +0 -63
- package/dist/cjs/apis/getMultiUsersByPhones.cjs +0 -55
- package/dist/cjs/apis/getMute.cjs +0 -27
- package/dist/cjs/apis/getNoisedIds.cjs +0 -72
- package/dist/cjs/apis/getOwnId.cjs +0 -9
- package/dist/cjs/apis/getPendingGroupMembers.cjs +0 -32
- package/dist/cjs/apis/getPinConversations.cjs +0 -27
- package/dist/cjs/apis/getPollDetail.cjs +0 -35
- package/dist/cjs/apis/getProductCatalogList.cjs +0 -38
- package/dist/cjs/apis/getQR.cjs +0 -34
- package/dist/cjs/apis/getQuickMessageList.cjs +0 -29
- package/dist/cjs/apis/getRelatedFriendGroup.cjs +0 -35
- package/dist/cjs/apis/getReminder.cjs +0 -30
- package/dist/cjs/apis/getReminderResponses.cjs +0 -29
- package/dist/cjs/apis/getSentFriendRequest.cjs +0 -29
- package/dist/cjs/apis/getSettings.cjs +0 -25
- package/dist/cjs/apis/getStickerCategoryDetail.cjs +0 -29
- package/dist/cjs/apis/getStickers.cjs +0 -45
- package/dist/cjs/apis/getStickersDetail.cjs +0 -45
- package/dist/cjs/apis/getSyncData.cjs +0 -108
- package/dist/cjs/apis/getUnreadMark.cjs +0 -35
- package/dist/cjs/apis/getUserInfo.cjs +0 -60
- package/dist/cjs/apis/inviteUserToGroups.cjs +0 -35
- package/dist/cjs/apis/joinGroupInviteBox.cjs +0 -30
- package/dist/cjs/apis/joinGroupLink.cjs +0 -32
- package/dist/cjs/apis/keepAlive.cjs +0 -27
- package/dist/cjs/apis/lastOnline.cjs +0 -31
- package/dist/cjs/apis/leaveGroup.cjs +0 -38
- package/dist/cjs/apis/listen.cjs +0 -591
- package/dist/cjs/apis/lockPoll.cjs +0 -33
- package/dist/cjs/apis/lostFocus.cjs +0 -28
- package/dist/cjs/apis/parseLink.cjs +0 -32
- package/dist/cjs/apis/preloadConversations.cjs +0 -94
- package/dist/cjs/apis/pullMobile.cjs +0 -43
- package/dist/cjs/apis/registerCatalog.cjs +0 -32
- package/dist/cjs/apis/rejectFriendRequest.cjs +0 -32
- package/dist/cjs/apis/removeFriend.cjs +0 -33
- package/dist/cjs/apis/removeFriendAlias.cjs +0 -29
- package/dist/cjs/apis/removeGroupBlockedMember.cjs +0 -33
- package/dist/cjs/apis/removeGroupDeputy.cjs +0 -35
- package/dist/cjs/apis/removeQuickMessage.cjs +0 -32
- package/dist/cjs/apis/removeReminder.cjs +0 -56
- package/dist/cjs/apis/removeUnreadMark.cjs +0 -66
- package/dist/cjs/apis/removeUserFromGroup.cjs +0 -39
- package/dist/cjs/apis/requestSyncFromPhone.cjs +0 -46
- package/dist/cjs/apis/resetHiddenConversPin.cjs +0 -25
- package/dist/cjs/apis/reuseAvatar.cjs +0 -31
- package/dist/cjs/apis/reviewPendingMemberRequest.cjs +0 -43
- package/dist/cjs/apis/scanURL.cjs +0 -33
- package/dist/cjs/apis/searchSticker.cjs +0 -33
- package/dist/cjs/apis/sendBankCard.cjs +0 -53
- package/dist/cjs/apis/sendCard.cjs +0 -75
- package/dist/cjs/apis/sendDeliveredEvent.cjs +0 -71
- package/dist/cjs/apis/sendFriendRequest.cjs +0 -44
- package/dist/cjs/apis/sendLink.cjs +0 -77
- package/dist/cjs/apis/sendMessage.cjs +0 -468
- package/dist/cjs/apis/sendReport.cjs +0 -69
- package/dist/cjs/apis/sendSeenEvent.cjs +0 -79
- package/dist/cjs/apis/sendSticker.cjs +0 -73
- package/dist/cjs/apis/sendTypingEvent.cjs +0 -49
- package/dist/cjs/apis/sendVideo.cjs +0 -134
- package/dist/cjs/apis/sendVoice.cjs +0 -89
- package/dist/cjs/apis/sendVoiceCall.cjs +0 -120
- package/dist/cjs/apis/setHiddenConversations.cjs +0 -55
- package/dist/cjs/apis/setMute.cjs +0 -83
- package/dist/cjs/apis/setPinnedConversations.cjs +0 -50
- package/dist/cjs/apis/sharePoll.cjs +0 -33
- package/dist/cjs/apis/unblockUser.cjs +0 -33
- package/dist/cjs/apis/undo.cjs +0 -58
- package/dist/cjs/apis/undoFriendRequest.cjs +0 -32
- package/dist/cjs/apis/updateActiveStatus.cjs +0 -32
- package/dist/cjs/apis/updateArchivedChatList.cjs +0 -39
- package/dist/cjs/apis/updateAutoDeleteChat.cjs +0 -56
- package/dist/cjs/apis/updateAutoReply.cjs +0 -43
- package/dist/cjs/apis/updateBankAccount.cjs +0 -36
- package/dist/cjs/apis/updateCatalog.cjs +0 -35
- package/dist/cjs/apis/updateGroupSettings.cjs +0 -48
- package/dist/cjs/apis/updateHiddenConversPin.cjs +0 -35
- package/dist/cjs/apis/updateLabels.cjs +0 -39
- package/dist/cjs/apis/updateLang.cjs +0 -35
- package/dist/cjs/apis/updateProductCatalog.cjs +0 -56
- package/dist/cjs/apis/updateProfile.cjs +0 -48
- package/dist/cjs/apis/updateProfileBio.cjs +0 -32
- package/dist/cjs/apis/updateQuickMessage.cjs +0 -66
- package/dist/cjs/apis/updateSettings.cjs +0 -95
- package/dist/cjs/apis/upgradeGroupToCommunity.cjs +0 -32
- package/dist/cjs/apis/uploadAttachment.cjs +0 -218
- package/dist/cjs/apis/uploadProductPhoto.cjs +0 -55
- package/dist/cjs/apis/votePoll.cjs +0 -34
- package/docs/INTEGRATION_GUIDE_SYNC_AND_CALL.md +0 -371
- package/docs/REA_REVERSE_ENGINEERING_PLAN.md +0 -140
- package/eslint.config.js +0 -21
- package/rollup.config.js +0 -28
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { decryptZCloudAES, encryptZCloudAES } from "../crypto/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Thực thi request tới hệ sinh thái ZCloud (`zcld.chat.zalo.me`) kèm cơ chế:
|
|
5
|
+
* 1. Tự động lấy `viewer_key` & `enk` từ bộ nhớ đệm (`ctx.zcloudViewerKeyCache`) nếu người dùng không truyền.
|
|
6
|
+
* 2. Tự động thử lại (Auto-Retry 1 lần với `forceRefresh = true`) nếu khóa `viewer_key` trong cache bị máy chủ từ chối do hết hạn sớm.
|
|
7
|
+
* 3. Tự động giải mã payload AES-256-CBC (Random 16-byte IV - module `98yS`).
|
|
8
|
+
*/
|
|
9
|
+
export async function requestZCloudDecrypted(api, utils, options) {
|
|
10
|
+
const executeOnce = async (keyInfo) => {
|
|
11
|
+
if (!keyInfo?.viewer_key || !keyInfo?.enk) {
|
|
12
|
+
throw new ZaloApiError("Invalid CloudViewerKey");
|
|
13
|
+
}
|
|
14
|
+
const targetUrl = options.paramsPayload
|
|
15
|
+
? utils.makeURL(options.url, {
|
|
16
|
+
params: encryptZCloudAES(JSON.stringify(options.paramsPayload), keyInfo.enk),
|
|
17
|
+
})
|
|
18
|
+
: options.url;
|
|
19
|
+
const response = await utils.request(targetUrl, {
|
|
20
|
+
method: options.method ?? "GET",
|
|
21
|
+
headers: {
|
|
22
|
+
"cloud-viewer-key": keyInfo.viewer_key,
|
|
23
|
+
},
|
|
24
|
+
...(options.body ? { body: options.body } : {}),
|
|
25
|
+
});
|
|
26
|
+
const json = (await response.json());
|
|
27
|
+
return { json, keyInfo };
|
|
28
|
+
};
|
|
29
|
+
const initialKey = options.viewerKeyInfo ?? (await api.getCloudViewerKey(false));
|
|
30
|
+
let { json, keyInfo } = await executeOnce(initialKey);
|
|
31
|
+
if (!options.viewerKeyInfo && json.error_code !== 0 && json.error_code !== -904) {
|
|
32
|
+
const refreshedKey = await api.getCloudViewerKey(true);
|
|
33
|
+
({ json, keyInfo } = await executeOnce(refreshedKey));
|
|
34
|
+
}
|
|
35
|
+
if (json.error_code !== 0 && json.error_code !== -904) {
|
|
36
|
+
throw new ZaloApiError(json.error_message || "ZCloud request failed", json.error_code);
|
|
37
|
+
}
|
|
38
|
+
if (!json.data) {
|
|
39
|
+
if (options.allowEmptyDataOn904) {
|
|
40
|
+
return {};
|
|
41
|
+
}
|
|
42
|
+
throw new ZaloApiError("Empty ZCloud response data", json.error_code);
|
|
43
|
+
}
|
|
44
|
+
const decrypted = decryptZCloudAES(json.data, keyInfo.enk);
|
|
45
|
+
return JSON.parse(decrypted);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Thực thi request tới hệ sinh thái ZFamily (`zfml.chat.zalo.me`) kèm cơ chế tự động quản lý khóa,
|
|
49
|
+
* tự động làm mới khi khóa hết hạn và giải mã AES-256-CBC (Random 16-byte IV - module `98yS`).
|
|
50
|
+
*/
|
|
51
|
+
export async function requestZFamilyDecrypted(api, utils, options) {
|
|
52
|
+
const executeOnce = async (keyInfo) => {
|
|
53
|
+
if (!keyInfo?.viewer_key || !keyInfo?.enk) {
|
|
54
|
+
throw new ZaloApiError("Invalid FamilyViewerKey");
|
|
55
|
+
}
|
|
56
|
+
const response = await utils.request(options.url, {
|
|
57
|
+
method: options.method ?? "GET",
|
|
58
|
+
headers: {
|
|
59
|
+
"zfamily-viewer-key": keyInfo.viewer_key,
|
|
60
|
+
},
|
|
61
|
+
...(options.body ? { body: options.body } : {}),
|
|
62
|
+
});
|
|
63
|
+
const json = (await response.json());
|
|
64
|
+
return { json, keyInfo };
|
|
65
|
+
};
|
|
66
|
+
const initialKey = options.viewerKeyInfo ?? (await api.getFamilyViewerKey(false));
|
|
67
|
+
let { json, keyInfo } = await executeOnce(initialKey);
|
|
68
|
+
if (!options.viewerKeyInfo && json.error_code !== 0 && json.error_code !== -904) {
|
|
69
|
+
const refreshedKey = await api.getFamilyViewerKey(true);
|
|
70
|
+
({ json, keyInfo } = await executeOnce(refreshedKey));
|
|
71
|
+
}
|
|
72
|
+
if (json.error_code !== 0 && json.error_code !== -904) {
|
|
73
|
+
throw new ZaloApiError(json.error_message || "ZFamily request failed", json.error_code);
|
|
74
|
+
}
|
|
75
|
+
if (!json.data) {
|
|
76
|
+
if (options.allowEmptyDataOn904) {
|
|
77
|
+
return {};
|
|
78
|
+
}
|
|
79
|
+
throw new ZaloApiError("Empty ZFamily response data", json.error_code);
|
|
80
|
+
}
|
|
81
|
+
const decrypted = decryptZCloudAES(json.data, keyInfo.enk);
|
|
82
|
+
return JSON.parse(decrypted);
|
|
83
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import cryptojs from "crypto-js";
|
|
2
|
+
export declare class ParamsEncryptor {
|
|
3
|
+
private zcid;
|
|
4
|
+
private enc_ver;
|
|
5
|
+
private zcid_ext;
|
|
6
|
+
private encryptKey;
|
|
7
|
+
constructor({ type, imei, firstLaunchTime }: {
|
|
8
|
+
type: number;
|
|
9
|
+
imei: string;
|
|
10
|
+
firstLaunchTime: number;
|
|
11
|
+
});
|
|
12
|
+
getEncryptKey(): string;
|
|
13
|
+
createZcid(type: number, imei: string, firstLaunchTime: number): void;
|
|
14
|
+
createEncryptKey(e?: number): boolean;
|
|
15
|
+
getParams(): {
|
|
16
|
+
zcid: string;
|
|
17
|
+
zcid_ext: string;
|
|
18
|
+
enc_ver: string;
|
|
19
|
+
} | null;
|
|
20
|
+
static processStr(e: string): {
|
|
21
|
+
even: null;
|
|
22
|
+
odd: null;
|
|
23
|
+
} | {
|
|
24
|
+
even: string[];
|
|
25
|
+
odd: string[];
|
|
26
|
+
};
|
|
27
|
+
static randomString(e?: number, t?: number): string;
|
|
28
|
+
static encodeAES(e: string, message: string, type: "hex" | "base64", uppercase: boolean, s?: number): string | null;
|
|
29
|
+
}
|
|
30
|
+
export declare function decryptResp(key: string, data: string): Record<string, unknown> | null | string;
|
|
31
|
+
export declare function encodeAES(secretKey: string, data: cryptojs.lib.WordArray | string, t?: number): string | null;
|
|
32
|
+
export declare function decodeAES(secretKey: string, data: string, t?: number): string | null;
|
|
33
|
+
export declare function encryptPin(pin: string): string;
|
|
34
|
+
export declare function validatePin(encryptedPin: string, pin: string): boolean;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import cryptojs from "crypto-js";
|
|
2
|
+
import crypto from "node:crypto";
|
|
3
|
+
import { ZALO_PROTOCOL } from "../constants/index.js";
|
|
4
|
+
import { ZaloApiError } from "../Errors/index.js";
|
|
5
|
+
export class ParamsEncryptor {
|
|
6
|
+
zcid = null;
|
|
7
|
+
enc_ver;
|
|
8
|
+
zcid_ext;
|
|
9
|
+
encryptKey;
|
|
10
|
+
constructor({ type, imei, firstLaunchTime }) {
|
|
11
|
+
this.enc_ver = ZALO_PROTOCOL.ENCRYPT_VERSION;
|
|
12
|
+
this.zcid = null;
|
|
13
|
+
this.encryptKey = null;
|
|
14
|
+
this.createZcid(type, imei, firstLaunchTime);
|
|
15
|
+
this.zcid_ext = ParamsEncryptor.randomString();
|
|
16
|
+
this.createEncryptKey();
|
|
17
|
+
}
|
|
18
|
+
getEncryptKey() {
|
|
19
|
+
if (!this.encryptKey)
|
|
20
|
+
throw new ZaloApiError("getEncryptKey: didn't create encryptKey yet");
|
|
21
|
+
return this.encryptKey;
|
|
22
|
+
}
|
|
23
|
+
createZcid(type, imei, firstLaunchTime) {
|
|
24
|
+
if (!type || !imei || !firstLaunchTime)
|
|
25
|
+
throw new ZaloApiError("createZcid: missing params");
|
|
26
|
+
const msg = `${type},${imei},${firstLaunchTime}`;
|
|
27
|
+
const s = ParamsEncryptor.encodeAES("3FC4F0D2AB50057BCE0D90D9187A22B1", msg, "hex", true);
|
|
28
|
+
this.zcid = s;
|
|
29
|
+
}
|
|
30
|
+
createEncryptKey(e = 0) {
|
|
31
|
+
const t = (e, t) => {
|
|
32
|
+
const { even: n } = ParamsEncryptor.processStr(e), { even: a, odd: s } = ParamsEncryptor.processStr(t);
|
|
33
|
+
if (!n || !a || !s)
|
|
34
|
+
return !1;
|
|
35
|
+
const i = n.slice(0, 8).join("") + a.slice(0, 12).join("") + s.reverse().slice(0, 12).join("");
|
|
36
|
+
return (this.encryptKey = i), !0;
|
|
37
|
+
};
|
|
38
|
+
if (!this.zcid || !this.zcid_ext)
|
|
39
|
+
throw new ZaloApiError("createEncryptKey: zcid or zcid_ext is null");
|
|
40
|
+
try {
|
|
41
|
+
const n = cryptojs.MD5(this.zcid_ext).toString().toUpperCase();
|
|
42
|
+
if (t(n, this.zcid) || !(e < 3))
|
|
43
|
+
return !1;
|
|
44
|
+
this.createEncryptKey(e + 1);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
if (e < 3)
|
|
48
|
+
this.createEncryptKey(e + 1);
|
|
49
|
+
}
|
|
50
|
+
return !0;
|
|
51
|
+
}
|
|
52
|
+
getParams() {
|
|
53
|
+
return this.zcid
|
|
54
|
+
? {
|
|
55
|
+
zcid: this.zcid,
|
|
56
|
+
zcid_ext: this.zcid_ext,
|
|
57
|
+
enc_ver: this.enc_ver,
|
|
58
|
+
}
|
|
59
|
+
: null;
|
|
60
|
+
}
|
|
61
|
+
static processStr(e) {
|
|
62
|
+
if (!e || "string" != typeof e)
|
|
63
|
+
return {
|
|
64
|
+
even: null,
|
|
65
|
+
odd: null,
|
|
66
|
+
};
|
|
67
|
+
const [t, n] = [...e].reduce((e, t, n) => (e[n % 2].push(t), e), [[], []]);
|
|
68
|
+
return {
|
|
69
|
+
even: t,
|
|
70
|
+
odd: n,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
static randomString(e, t) {
|
|
74
|
+
const n = e || 6, a = t && e && t > e ? t : 12;
|
|
75
|
+
let s = Math.floor(Math.random() * (a - n + 1)) + n;
|
|
76
|
+
if (s > 12) {
|
|
77
|
+
let e = "";
|
|
78
|
+
for (; s > 0;) {
|
|
79
|
+
e += Math.random()
|
|
80
|
+
.toString(16)
|
|
81
|
+
.substr(2, s > 12 ? 12 : s);
|
|
82
|
+
s -= 12;
|
|
83
|
+
}
|
|
84
|
+
return e;
|
|
85
|
+
}
|
|
86
|
+
return Math.random().toString(16).substr(2, s);
|
|
87
|
+
}
|
|
88
|
+
static encodeAES(e, message, type, uppercase, s = 0) {
|
|
89
|
+
if (!message)
|
|
90
|
+
return null;
|
|
91
|
+
try {
|
|
92
|
+
const encoder = "hex" == type ? cryptojs.enc.Hex : cryptojs.enc.Base64;
|
|
93
|
+
const key = cryptojs.enc.Utf8.parse(e);
|
|
94
|
+
const cfg = {
|
|
95
|
+
words: [0, 0, 0, 0],
|
|
96
|
+
sigBytes: 16,
|
|
97
|
+
};
|
|
98
|
+
const encrypted = cryptojs.AES.encrypt(message, key, {
|
|
99
|
+
iv: cfg,
|
|
100
|
+
mode: cryptojs.mode.CBC,
|
|
101
|
+
padding: cryptojs.pad.Pkcs7,
|
|
102
|
+
}).ciphertext.toString(encoder);
|
|
103
|
+
return uppercase ? encrypted.toUpperCase() : encrypted;
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return s < 3 ? ParamsEncryptor.encodeAES(e, message, type, uppercase, s + 1) : null;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function decodeRespAES(key, data) {
|
|
111
|
+
data = decodeURIComponent(data);
|
|
112
|
+
const parsedKey = cryptojs.enc.Utf8.parse(key);
|
|
113
|
+
const n = {
|
|
114
|
+
words: [0, 0, 0, 0],
|
|
115
|
+
sigBytes: 16,
|
|
116
|
+
};
|
|
117
|
+
return cryptojs.AES.decrypt({
|
|
118
|
+
ciphertext: cryptojs.enc.Base64.parse(data),
|
|
119
|
+
}, parsedKey, {
|
|
120
|
+
iv: n,
|
|
121
|
+
mode: cryptojs.mode.CBC,
|
|
122
|
+
padding: cryptojs.pad.Pkcs7,
|
|
123
|
+
}).toString(cryptojs.enc.Utf8);
|
|
124
|
+
}
|
|
125
|
+
export function decryptResp(key, data) {
|
|
126
|
+
let n = null;
|
|
127
|
+
try {
|
|
128
|
+
n = decodeRespAES(key, data);
|
|
129
|
+
const parsed = JSON.parse(n);
|
|
130
|
+
return parsed;
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return n;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
export function encodeAES(secretKey, data, t = 0) {
|
|
137
|
+
try {
|
|
138
|
+
const key = cryptojs.enc.Base64.parse(secretKey);
|
|
139
|
+
return cryptojs.AES.encrypt(data, key, {
|
|
140
|
+
iv: cryptojs.enc.Hex.parse("00000000000000000000000000000000"),
|
|
141
|
+
mode: cryptojs.mode.CBC,
|
|
142
|
+
padding: cryptojs.pad.Pkcs7,
|
|
143
|
+
}).ciphertext.toString(cryptojs.enc.Base64);
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
return t < 3 ? encodeAES(secretKey, data, t + 1) : null;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
export function decodeAES(secretKey, data, t = 0) {
|
|
150
|
+
try {
|
|
151
|
+
data = decodeURIComponent(data);
|
|
152
|
+
const key = cryptojs.enc.Base64.parse(secretKey);
|
|
153
|
+
return cryptojs.AES.decrypt({
|
|
154
|
+
ciphertext: cryptojs.enc.Base64.parse(data),
|
|
155
|
+
}, key, {
|
|
156
|
+
iv: cryptojs.enc.Hex.parse("00000000000000000000000000000000"),
|
|
157
|
+
mode: cryptojs.mode.CBC,
|
|
158
|
+
padding: cryptojs.pad.Pkcs7,
|
|
159
|
+
}).toString(cryptojs.enc.Utf8);
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
return t < 3 ? decodeAES(secretKey, data, t + 1) : null;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
export function encryptPin(pin) {
|
|
166
|
+
return crypto.createHash("md5").update(pin).digest("hex");
|
|
167
|
+
}
|
|
168
|
+
export function validatePin(encryptedPin, pin) {
|
|
169
|
+
const hash = crypto.createHash("md5").update(pin).digest("hex");
|
|
170
|
+
return hash === encryptedPin;
|
|
171
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import pako from "pako";
|
|
3
|
+
import JSONBig from "json-bigint";
|
|
4
|
+
import { ZaloApiError } from "../Errors/index.js";
|
|
5
|
+
export function decodeBase64ToBuffer(data) {
|
|
6
|
+
return Buffer.from(data, "base64");
|
|
7
|
+
}
|
|
8
|
+
export function decodeUnit8Array(data) {
|
|
9
|
+
try {
|
|
10
|
+
return new TextDecoder().decode(data);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export async function decodeEventData(parsed, cipherKey) {
|
|
17
|
+
if (typeof parsed.data !== "string")
|
|
18
|
+
throw new ZaloApiError(`Invalid data, expected string but got ${typeof parsed.data}`);
|
|
19
|
+
if (typeof parsed.encrypt !== "number")
|
|
20
|
+
throw new ZaloApiError(`Invalid encrypt type, expected number but got ${typeof parsed.encrypt}`);
|
|
21
|
+
if (parsed.encrypt < 0 || parsed.encrypt > 3)
|
|
22
|
+
throw new ZaloApiError(`Invalid encrypt type, expected 0-3 but got ${parsed.encrypt}`);
|
|
23
|
+
const rawData = parsed.data;
|
|
24
|
+
const encryptType = parsed.encrypt;
|
|
25
|
+
if (encryptType === 0)
|
|
26
|
+
return JSON.parse(rawData);
|
|
27
|
+
const decodedBuffer = decodeBase64ToBuffer(encryptType === 1 ? rawData : decodeURIComponent(rawData));
|
|
28
|
+
let decryptedBuffer = decodedBuffer;
|
|
29
|
+
if (encryptType !== 1) {
|
|
30
|
+
if (cipherKey && decodedBuffer.length >= 48) {
|
|
31
|
+
const algorithm = {
|
|
32
|
+
name: "AES-GCM",
|
|
33
|
+
iv: decodedBuffer.subarray(0, 16),
|
|
34
|
+
tagLength: 128,
|
|
35
|
+
additionalData: decodedBuffer.subarray(16, 32),
|
|
36
|
+
};
|
|
37
|
+
const dataSource = decodedBuffer.subarray(32);
|
|
38
|
+
const cryptoKey = await crypto.subtle.importKey("raw", decodeBase64ToBuffer(cipherKey), algorithm, false, [
|
|
39
|
+
"decrypt",
|
|
40
|
+
]);
|
|
41
|
+
decryptedBuffer = await crypto.subtle.decrypt(algorithm, cryptoKey, dataSource);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
throw new ZaloApiError("Invalid data length or missing cipher key");
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const decompressedBuffer = encryptType === 3 ? new Uint8Array(decryptedBuffer) : pako.inflate(decryptedBuffer);
|
|
48
|
+
const decodedData = decodeUnit8Array(decompressedBuffer);
|
|
49
|
+
if (!decodedData)
|
|
50
|
+
return;
|
|
51
|
+
return JSONBig.parse(decodedData);
|
|
52
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encrypts a plaintext string for ZCloud / ZFamily APIs (`CLOUD_API` / `CLOUD_FAMILY_API`, module `"98yS"`),
|
|
3
|
+
* using AES-256-CBC with a random 16-byte IV prepended to the ciphertext before Base64 encoding.
|
|
4
|
+
*/
|
|
5
|
+
export declare function encryptZCloudAES(plainText: string, base64Key: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* Decrypts a Base64 payload from ZCloud / ZFamily APIs (`CLOUD_API` / `CLOUD_FAMILY_API`, module `"98yS"`),
|
|
8
|
+
* extracting the first 16 bytes as the AES-256-CBC IV and the remainder as PKCS#7-padded ciphertext.
|
|
9
|
+
*/
|
|
10
|
+
export declare function decryptZCloudAES(base64CipherText: string, base64Key: string): string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import { ZALO_PROTOCOL } from "../constants/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Encrypts a plaintext string for ZCloud / ZFamily APIs (`CLOUD_API` / `CLOUD_FAMILY_API`, module `"98yS"`),
|
|
5
|
+
* using AES-256-CBC with a random 16-byte IV prepended to the ciphertext before Base64 encoding.
|
|
6
|
+
*/
|
|
7
|
+
export function encryptZCloudAES(plainText, base64Key) {
|
|
8
|
+
const key = Buffer.from(base64Key, "base64");
|
|
9
|
+
const iv = crypto.randomBytes(ZALO_PROTOCOL.ZCLOUD_IV_BYTE_LENGTH);
|
|
10
|
+
const cipher = crypto.createCipheriv("aes-256-cbc", key, iv);
|
|
11
|
+
const encrypted = Buffer.concat([cipher.update(plainText, "utf8"), cipher.final()]);
|
|
12
|
+
return Buffer.concat([iv, encrypted]).toString("base64");
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Decrypts a Base64 payload from ZCloud / ZFamily APIs (`CLOUD_API` / `CLOUD_FAMILY_API`, module `"98yS"`),
|
|
16
|
+
* extracting the first 16 bytes as the AES-256-CBC IV and the remainder as PKCS#7-padded ciphertext.
|
|
17
|
+
*/
|
|
18
|
+
export function decryptZCloudAES(base64CipherText, base64Key) {
|
|
19
|
+
const key = Buffer.from(base64Key, "base64");
|
|
20
|
+
const raw = Buffer.from(base64CipherText, "base64");
|
|
21
|
+
const ivLen = ZALO_PROTOCOL.ZCLOUD_IV_BYTE_LENGTH;
|
|
22
|
+
const iv = raw.subarray(0, ivLen);
|
|
23
|
+
const ciphertext = raw.subarray(ivLen);
|
|
24
|
+
const decipher = crypto.createDecipheriv("aes-256-cbc", key, iv);
|
|
25
|
+
return Buffer.concat([decipher.update(ciphertext), decipher.final()]).toString("utf8");
|
|
26
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates an RSA 2048-bit key pair for mobile message synchronization (`pull_mobile_msg`)
|
|
3
|
+
* @returns Object containing public and private keys in both PEM and Base64 formats
|
|
4
|
+
*/
|
|
5
|
+
export declare function generateRSAKeyPair(): {
|
|
6
|
+
publicKeyBase64: string;
|
|
7
|
+
privateKeyBase64: string;
|
|
8
|
+
publicKey: string;
|
|
9
|
+
privateKey: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Pure-BigInt RSA CRT PKCS#1 v1.5 decryption fallback for Node.js environments
|
|
13
|
+
* where OpenSSL blocks `RSA_PKCS1_PADDING` in `crypto.privateDecrypt` (CVE-2023-46809).
|
|
14
|
+
*/
|
|
15
|
+
export declare function rsaDecryptPkcs1Manual(privateKeyPem: string, cipher: Buffer): Buffer;
|
|
16
|
+
/**
|
|
17
|
+
* Decrypt `encrypted_key` from `syncmsg_info` using RSA private key with PKCS#1 v1.5 scheme.
|
|
18
|
+
* Automatically falls back to pure-BigInt CRT decryption if OpenSSL disables `RSA_PKCS1_PADDING`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function decryptWithPrivateKey(privateKey: string, encryptedBase64: string): Buffer;
|
|
21
|
+
/**
|
|
22
|
+
* Derives the 32-byte AES-256-CBC key for Zalo ZDB4.0 (`.db.crypt`) backup files
|
|
23
|
+
* from the raw RSA-decrypted bytes: first 32 uppercase hex characters as ASCII bytes.
|
|
24
|
+
*/
|
|
25
|
+
export declare function deriveZdbAesKey(decryptedRsaBytes: Buffer): Buffer;
|
|
26
|
+
/**
|
|
27
|
+
* Decrypts a Zalo ZDB4.0 (`.db.crypt`) backup buffer into its plaintext ZDB4.0 container
|
|
28
|
+
* (header + table of contents + XZ stream) using 64KB independent AES-256-CBC chunks (`IV = 0`).
|
|
29
|
+
*/
|
|
30
|
+
export declare function decryptZdbBuffer(zdbBuffer: Buffer, aesKey: Buffer): Buffer;
|
|
31
|
+
export type ZdbTocEntry = {
|
|
32
|
+
name: string;
|
|
33
|
+
size: number;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Parses the Table of Contents (TOC) from a decrypted ZDB4.0 container buffer,
|
|
37
|
+
* returning the list of SQLite `.db` files (`<uid>.db` / `group_<gid>.db`) and the byte offset where the XZ stream starts.
|
|
38
|
+
*/
|
|
39
|
+
export declare function parseZdbHeader(zdbPlaintext: Buffer): {
|
|
40
|
+
entries: ZdbTocEntry[];
|
|
41
|
+
xzOffset: number;
|
|
42
|
+
};
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import { ZALO_PROTOCOL } from "../constants/index.js";
|
|
3
|
+
import { ZaloApiError } from "../Errors/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* Generates an RSA 2048-bit key pair for mobile message synchronization (`pull_mobile_msg`)
|
|
6
|
+
* @returns Object containing public and private keys in both PEM and Base64 formats
|
|
7
|
+
*/
|
|
8
|
+
export function generateRSAKeyPair() {
|
|
9
|
+
const { publicKey, privateKey } = crypto.generateKeyPairSync("rsa", {
|
|
10
|
+
modulusLength: 2048,
|
|
11
|
+
publicKeyEncoding: { type: "spki", format: "pem" },
|
|
12
|
+
privateKeyEncoding: { type: "pkcs8", format: "pem" },
|
|
13
|
+
});
|
|
14
|
+
const publicKeyBase64 = publicKey
|
|
15
|
+
.toString()
|
|
16
|
+
.replace(/-----BEGIN PUBLIC KEY-----/g, "")
|
|
17
|
+
.replace(/-----END PUBLIC KEY-----/g, "")
|
|
18
|
+
.replace(/\s+/g, "");
|
|
19
|
+
const privateKeyBase64 = privateKey
|
|
20
|
+
.toString()
|
|
21
|
+
.replace(/-----BEGIN PRIVATE KEY-----/g, "")
|
|
22
|
+
.replace(/-----END PRIVATE KEY-----/g, "")
|
|
23
|
+
.replace(/\s+/g, "");
|
|
24
|
+
return { publicKeyBase64, privateKeyBase64, publicKey: publicKey.toString(), privateKey: privateKey.toString() };
|
|
25
|
+
}
|
|
26
|
+
function b64urlToBigInt(value) {
|
|
27
|
+
return BigInt("0x" + Buffer.from(value, "base64url").toString("hex"));
|
|
28
|
+
}
|
|
29
|
+
function modPow(base, exp, mod) {
|
|
30
|
+
const zero = BigInt(0);
|
|
31
|
+
const one = BigInt(1);
|
|
32
|
+
let result = one;
|
|
33
|
+
base %= mod;
|
|
34
|
+
while (exp > zero) {
|
|
35
|
+
if (exp & one)
|
|
36
|
+
result = (result * base) % mod;
|
|
37
|
+
base = (base * base) % mod;
|
|
38
|
+
exp >>= one;
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Pure-BigInt RSA CRT PKCS#1 v1.5 decryption fallback for Node.js environments
|
|
44
|
+
* where OpenSSL blocks `RSA_PKCS1_PADDING` in `crypto.privateDecrypt` (CVE-2023-46809).
|
|
45
|
+
*/
|
|
46
|
+
export function rsaDecryptPkcs1Manual(privateKeyPem, cipher) {
|
|
47
|
+
const jwk = crypto.createPrivateKey(privateKeyPem).export({ format: "jwk" });
|
|
48
|
+
const n = b64urlToBigInt(jwk.n);
|
|
49
|
+
const p = b64urlToBigInt(jwk.p);
|
|
50
|
+
const q = b64urlToBigInt(jwk.q);
|
|
51
|
+
const dp = b64urlToBigInt(jwk.dp);
|
|
52
|
+
const dq = b64urlToBigInt(jwk.dq);
|
|
53
|
+
const qi = b64urlToBigInt(jwk.qi);
|
|
54
|
+
const c = BigInt("0x" + cipher.toString("hex"));
|
|
55
|
+
const m1 = modPow(c, dp, p);
|
|
56
|
+
const m2 = modPow(c, dq, q);
|
|
57
|
+
const h = (qi * (((m1 - m2) % p) + p)) % p;
|
|
58
|
+
const m = m2 + h * q;
|
|
59
|
+
const k = Math.ceil(n.toString(16).length / 2);
|
|
60
|
+
const em = Buffer.from(m.toString(16).padStart(k * 2, "0"), "hex");
|
|
61
|
+
if (em[0] !== 0x00 || em[1] !== 0x02)
|
|
62
|
+
throw new ZaloApiError("Invalid RSA PKCS#1 v1.5 padding");
|
|
63
|
+
const sep = em.indexOf(0x00, 2);
|
|
64
|
+
if (sep < 10)
|
|
65
|
+
throw new ZaloApiError("Invalid RSA PKCS#1 v1.5 padding separator");
|
|
66
|
+
return em.subarray(sep + 1);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Decrypt `encrypted_key` from `syncmsg_info` using RSA private key with PKCS#1 v1.5 scheme.
|
|
70
|
+
* Automatically falls back to pure-BigInt CRT decryption if OpenSSL disables `RSA_PKCS1_PADDING`.
|
|
71
|
+
*/
|
|
72
|
+
export function decryptWithPrivateKey(privateKey, encryptedBase64) {
|
|
73
|
+
const cleanKey = privateKey.replace(/\\n/g, "\n");
|
|
74
|
+
const encryptedBuffer = Buffer.from(encryptedBase64, "base64");
|
|
75
|
+
try {
|
|
76
|
+
return crypto.privateDecrypt({
|
|
77
|
+
key: cleanKey,
|
|
78
|
+
padding: crypto.constants.RSA_PKCS1_PADDING,
|
|
79
|
+
}, encryptedBuffer);
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
const errorObj = err;
|
|
83
|
+
const code = String(errorObj?.code || "");
|
|
84
|
+
const msg = String(errorObj?.message || "");
|
|
85
|
+
if (code.includes("INVALID_ARG") || /RSA_PKCS1_PADDING|security-revert|not supported/i.test(msg)) {
|
|
86
|
+
return rsaDecryptPkcs1Manual(cleanKey, encryptedBuffer);
|
|
87
|
+
}
|
|
88
|
+
throw err;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Derives the 32-byte AES-256-CBC key for Zalo ZDB4.0 (`.db.crypt`) backup files
|
|
93
|
+
* from the raw RSA-decrypted bytes: first 32 uppercase hex characters as ASCII bytes.
|
|
94
|
+
*/
|
|
95
|
+
export function deriveZdbAesKey(decryptedRsaBytes) {
|
|
96
|
+
const upperHex = decryptedRsaBytes.toString("hex").toUpperCase();
|
|
97
|
+
if (upperHex.length < ZALO_PROTOCOL.AES_256_KEY_BYTE_LENGTH) {
|
|
98
|
+
throw new ZaloApiError(`Decrypted RSA key hex is too short (${upperHex.length} chars, expected >= 32)`);
|
|
99
|
+
}
|
|
100
|
+
return Buffer.from(upperHex.slice(0, ZALO_PROTOCOL.AES_256_KEY_BYTE_LENGTH), "ascii");
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Decrypts a Zalo ZDB4.0 (`.db.crypt`) backup buffer into its plaintext ZDB4.0 container
|
|
104
|
+
* (header + table of contents + XZ stream) using 64KB independent AES-256-CBC chunks (`IV = 0`).
|
|
105
|
+
*/
|
|
106
|
+
export function decryptZdbBuffer(zdbBuffer, aesKey) {
|
|
107
|
+
const ZDB_MAGIC = Buffer.from(ZALO_PROTOCOL.ZDB_MAGIC_HEADER, "ascii");
|
|
108
|
+
const CHUNK_SIZE = ZALO_PROTOCOL.ZDB_CHUNK_SIZE;
|
|
109
|
+
const zeroIv = Buffer.alloc(16, 0);
|
|
110
|
+
for (const startOffset of [0, 4]) {
|
|
111
|
+
const encryptedLength = Math.floor((zdbBuffer.length - startOffset) / 16) * 16;
|
|
112
|
+
if (encryptedLength < 16)
|
|
113
|
+
continue;
|
|
114
|
+
const firstChunkLen = Math.min(CHUNK_SIZE, encryptedLength);
|
|
115
|
+
const firstDecipher = crypto.createDecipheriv("aes-256-cbc", aesKey, zeroIv);
|
|
116
|
+
firstDecipher.setAutoPadding(false);
|
|
117
|
+
const firstPlain = Buffer.concat([
|
|
118
|
+
firstDecipher.update(zdbBuffer.subarray(startOffset, startOffset + firstChunkLen)),
|
|
119
|
+
firstDecipher.final(),
|
|
120
|
+
]);
|
|
121
|
+
if (!firstPlain.subarray(0, ZDB_MAGIC.length).equals(ZDB_MAGIC)) {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
const chunks = [firstPlain];
|
|
125
|
+
for (let offset = CHUNK_SIZE; offset < encryptedLength; offset += CHUNK_SIZE) {
|
|
126
|
+
const len = Math.min(CHUNK_SIZE, encryptedLength - offset);
|
|
127
|
+
const decipher = crypto.createDecipheriv("aes-256-cbc", aesKey, zeroIv);
|
|
128
|
+
decipher.setAutoPadding(false);
|
|
129
|
+
chunks.push(Buffer.concat([
|
|
130
|
+
decipher.update(zdbBuffer.subarray(startOffset + offset, startOffset + offset + len)),
|
|
131
|
+
decipher.final(),
|
|
132
|
+
]));
|
|
133
|
+
}
|
|
134
|
+
return Buffer.concat(chunks);
|
|
135
|
+
}
|
|
136
|
+
throw new ZaloApiError("Invalid AES key or buffer is not in ZDB4.0 format");
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Parses the Table of Contents (TOC) from a decrypted ZDB4.0 container buffer,
|
|
140
|
+
* returning the list of SQLite `.db` files (`<uid>.db` / `group_<gid>.db`) and the byte offset where the XZ stream starts.
|
|
141
|
+
*/
|
|
142
|
+
export function parseZdbHeader(zdbPlaintext) {
|
|
143
|
+
const ZDB_MAGIC = Buffer.from(ZALO_PROTOCOL.ZDB_MAGIC_HEADER, "ascii");
|
|
144
|
+
const COUNT_OFFSET = 14;
|
|
145
|
+
if (zdbPlaintext.length < COUNT_OFFSET + 4 || !zdbPlaintext.subarray(0, ZDB_MAGIC.length).equals(ZDB_MAGIC)) {
|
|
146
|
+
throw new ZaloApiError("Buffer is not a valid decrypted ZDB4.0 container");
|
|
147
|
+
}
|
|
148
|
+
const count = zdbPlaintext.readUInt32BE(COUNT_OFFSET);
|
|
149
|
+
let offset = COUNT_OFFSET + 4;
|
|
150
|
+
const entries = [];
|
|
151
|
+
for (let i = 0; i < count; i++) {
|
|
152
|
+
if (offset + 4 > zdbPlaintext.length) {
|
|
153
|
+
throw new ZaloApiError("Truncated ZDB4.0 header while reading entry name length");
|
|
154
|
+
}
|
|
155
|
+
const nameLen = zdbPlaintext.readUInt32BE(offset);
|
|
156
|
+
if (offset + 4 + nameLen + 4 > zdbPlaintext.length) {
|
|
157
|
+
throw new ZaloApiError("Truncated ZDB4.0 header while reading entry metadata");
|
|
158
|
+
}
|
|
159
|
+
const name = zdbPlaintext
|
|
160
|
+
.toString("utf8", offset + 4, offset + 4 + nameLen)
|
|
161
|
+
.replace(/\0+$/, "");
|
|
162
|
+
const size = zdbPlaintext.readUInt32BE(offset + 4 + nameLen);
|
|
163
|
+
entries.push({ name, size });
|
|
164
|
+
offset += 4 + nameLen + 4;
|
|
165
|
+
}
|
|
166
|
+
return { entries, xzOffset: offset };
|
|
167
|
+
}
|