@ohos-ports/zca-js 2.2.0-beta.1
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/LICENSE +21 -0
- package/README.md +225 -0
- package/dist/Errors/ZaloApiError.d.ts +4 -0
- package/dist/Errors/ZaloApiError.js +7 -0
- package/dist/Errors/ZaloApiLoginQRAborted.d.ts +4 -0
- package/dist/Errors/ZaloApiLoginQRAborted.js +7 -0
- package/dist/Errors/ZaloApiLoginQRDeclined.d.ts +4 -0
- package/dist/Errors/ZaloApiLoginQRDeclined.js +7 -0
- package/dist/Errors/ZaloApiMissingImageMetadataGetter.d.ts +4 -0
- package/dist/Errors/ZaloApiMissingImageMetadataGetter.js +7 -0
- package/dist/Errors/index.d.ts +4 -0
- package/dist/Errors/index.js +4 -0
- package/dist/apis/acceptFriendRequest.d.ts +2 -0
- package/dist/apis/acceptFriendRequest.js +28 -0
- package/dist/apis/addGroupBlockedMember.d.ts +2 -0
- package/dist/apis/addGroupBlockedMember.js +28 -0
- package/dist/apis/addGroupDeputy.d.ts +2 -0
- package/dist/apis/addGroupDeputy.js +30 -0
- package/dist/apis/addPollOptions.d.ts +14 -0
- package/dist/apis/addPollOptions.js +26 -0
- package/dist/apis/addQuickMessage.d.ts +11 -0
- package/dist/apis/addQuickMessage.js +60 -0
- package/dist/apis/addReaction.d.ts +18 -0
- package/dist/apis/addReaction.js +294 -0
- package/dist/apis/addUnreadMark.d.ts +8 -0
- package/dist/apis/addUnreadMark.js +52 -0
- package/dist/apis/addUserToGroup.d.ts +5 -0
- package/dist/apis/addUserToGroup.js +34 -0
- package/dist/apis/blockUser.d.ts +2 -0
- package/dist/apis/blockUser.js +28 -0
- package/dist/apis/blockViewFeed.d.ts +2 -0
- package/dist/apis/blockViewFeed.js +30 -0
- package/dist/apis/changeAccountAvatar.d.ts +3 -0
- package/dist/apis/changeAccountAvatar.js +52 -0
- package/dist/apis/changeFriendAlias.d.ts +2 -0
- package/dist/apis/changeFriendAlias.js +27 -0
- package/dist/apis/changeGroupAvatar.d.ts +3 -0
- package/dist/apis/changeGroupAvatar.js +44 -0
- package/dist/apis/changeGroupName.d.ts +4 -0
- package/dist/apis/changeGroupName.js +32 -0
- package/dist/apis/changeGroupOwner.d.ts +4 -0
- package/dist/apis/changeGroupOwner.js +30 -0
- package/dist/apis/createAutoReply.d.ts +14 -0
- package/dist/apis/createAutoReply.js +37 -0
- package/dist/apis/createBankAccount.d.ts +8 -0
- package/dist/apis/createBankAccount.js +32 -0
- package/dist/apis/createCatalog.d.ts +7 -0
- package/dist/apis/createCatalog.js +29 -0
- package/dist/apis/createGroup.d.ts +28 -0
- package/dist/apis/createGroup.js +43 -0
- package/dist/apis/createNote.d.ts +7 -0
- package/dist/apis/createNote.js +47 -0
- package/dist/apis/createPoll.d.ts +36 -0
- package/dist/apis/createPoll.js +40 -0
- package/dist/apis/createProductCatalog.d.ts +23 -0
- package/dist/apis/createProductCatalog.js +50 -0
- package/dist/apis/createReminder.d.ts +12 -0
- package/dist/apis/createReminder.js +63 -0
- package/dist/apis/custom.d.ts +9 -0
- package/dist/apis/custom.js +15 -0
- package/dist/apis/deleteAutoReply.d.ts +5 -0
- package/dist/apis/deleteAutoReply.js +29 -0
- package/dist/apis/deleteAvatar.d.ts +9 -0
- package/dist/apis/deleteAvatar.js +27 -0
- package/dist/apis/deleteBankAccount.d.ts +11 -0
- package/dist/apis/deleteBankAccount.js +32 -0
- package/dist/apis/deleteCatalog.d.ts +2 -0
- package/dist/apis/deleteCatalog.js +28 -0
- package/dist/apis/deleteChat.d.ts +19 -0
- package/dist/apis/deleteChat.js +50 -0
- package/dist/apis/deleteGroupInviteBox.d.ts +9 -0
- package/dist/apis/deleteGroupInviteBox.js +27 -0
- package/dist/apis/deleteMessage.d.ts +14 -0
- package/dist/apis/deleteMessage.js +52 -0
- package/dist/apis/deleteProductCatalog.d.ts +10 -0
- package/dist/apis/deleteProductCatalog.js +31 -0
- package/dist/apis/disableGroupLink.d.ts +2 -0
- package/dist/apis/disableGroupLink.js +24 -0
- package/dist/apis/disperseGroup.d.ts +2 -0
- package/dist/apis/disperseGroup.js +28 -0
- package/dist/apis/editNote.d.ts +17 -0
- package/dist/apis/editNote.js +46 -0
- package/dist/apis/editReminder.d.ts +13 -0
- package/dist/apis/editReminder.js +61 -0
- package/dist/apis/enableGroupLink.d.ts +6 -0
- package/dist/apis/enableGroupLink.js +25 -0
- package/dist/apis/fetchAccountInfo.d.ts +5 -0
- package/dist/apis/fetchAccountInfo.js +10 -0
- package/dist/apis/findUser.d.ts +3 -0
- package/dist/apis/findUser.js +42 -0
- package/dist/apis/findUserByUsername.d.ts +3 -0
- package/dist/apis/findUserByUsername.js +27 -0
- package/dist/apis/forwardMessage.d.ts +24 -0
- package/dist/apis/forwardMessage.js +99 -0
- package/dist/apis/getAliasList.d.ts +8 -0
- package/dist/apis/getAliasList.js +27 -0
- package/dist/apis/getAllFriends.d.ts +3 -0
- package/dist/apis/getAllFriends.js +34 -0
- package/dist/apis/getAllGroups.d.ts +7 -0
- package/dist/apis/getAllGroups.js +10 -0
- package/dist/apis/getArchivedChatList.d.ts +5 -0
- package/dist/apis/getArchivedChatList.js +23 -0
- package/dist/apis/getAutoDeleteChat.d.ts +9 -0
- package/dist/apis/getAutoDeleteChat.js +21 -0
- package/dist/apis/getAutoReplyList.d.ts +6 -0
- package/dist/apis/getAutoReplyList.js +24 -0
- package/dist/apis/getAvatarList.d.ts +12 -0
- package/dist/apis/getAvatarList.js +28 -0
- package/dist/apis/getAvatarUrlProfile.d.ts +7 -0
- package/dist/apis/getAvatarUrlProfile.js +30 -0
- package/dist/apis/getBizAccount.d.ts +24 -0
- package/dist/apis/getBizAccount.js +27 -0
- package/dist/apis/getCatalogList.d.ts +18 -0
- package/dist/apis/getCatalogList.js +32 -0
- package/dist/apis/getCloseFriends.d.ts +3 -0
- package/dist/apis/getCloseFriends.js +20 -0
- package/dist/apis/getContext.d.ts +1 -0
- package/dist/apis/getContext.js +4 -0
- package/dist/apis/getCookie.d.ts +1 -0
- package/dist/apis/getCookie.js +9 -0
- package/dist/apis/getFriendBoardList.d.ts +5 -0
- package/dist/apis/getFriendBoardList.js +26 -0
- package/dist/apis/getFriendOnlines.d.ts +10 -0
- package/dist/apis/getFriendOnlines.js +35 -0
- package/dist/apis/getFriendRecommendations.d.ts +42 -0
- package/dist/apis/getFriendRecommendations.js +27 -0
- package/dist/apis/getFriendRequestStatus.d.ts +8 -0
- package/dist/apis/getFriendRequestStatus.js +25 -0
- package/dist/apis/getFullAvatar.d.ts +5 -0
- package/dist/apis/getFullAvatar.js +25 -0
- package/dist/apis/getGroupBlockedMember.d.ts +23 -0
- package/dist/apis/getGroupBlockedMember.js +29 -0
- package/dist/apis/getGroupChatHistory.d.ts +8 -0
- package/dist/apis/getGroupChatHistory.js +36 -0
- package/dist/apis/getGroupInfo.d.ts +16 -0
- package/dist/apis/getGroupInfo.js +32 -0
- package/dist/apis/getGroupInviteBoxInfo.d.ts +32 -0
- package/dist/apis/getGroupInviteBoxInfo.js +38 -0
- package/dist/apis/getGroupInviteBoxList.d.ts +38 -0
- package/dist/apis/getGroupInviteBoxList.js +31 -0
- package/dist/apis/getGroupLinkDetail.d.ts +9 -0
- package/dist/apis/getGroupLinkDetail.js +25 -0
- package/dist/apis/getGroupLinkInfo.d.ts +34 -0
- package/dist/apis/getGroupLinkInfo.js +28 -0
- package/dist/apis/getGroupMembersInfo.d.ts +17 -0
- package/dist/apis/getGroupMembersInfo.js +24 -0
- package/dist/apis/getHiddenConversations.d.ts +11 -0
- package/dist/apis/getHiddenConversations.js +23 -0
- package/dist/apis/getLabels.d.ts +7 -0
- package/dist/apis/getLabels.js +28 -0
- package/dist/apis/getListBank.d.ts +5 -0
- package/dist/apis/getListBank.js +20 -0
- package/dist/apis/getListBankAccount.d.ts +7 -0
- package/dist/apis/getListBankAccount.js +27 -0
- package/dist/apis/getListBoard.d.ts +21 -0
- package/dist/apis/getListBoard.js +45 -0
- package/dist/apis/getListDevice.d.ts +10 -0
- package/dist/apis/getListDevice.js +22 -0
- package/dist/apis/getListReminder.d.ts +28 -0
- package/dist/apis/getListReminder.js +47 -0
- package/dist/apis/getMultiUsersByPhones.d.ts +5 -0
- package/dist/apis/getMultiUsersByPhones.js +39 -0
- package/dist/apis/getMute.d.ts +13 -0
- package/dist/apis/getMute.js +22 -0
- package/dist/apis/getOwnId.d.ts +1 -0
- package/dist/apis/getOwnId.js +4 -0
- package/dist/apis/getPendingGroupMembers.d.ts +11 -0
- package/dist/apis/getPendingGroupMembers.js +27 -0
- package/dist/apis/getPinConversations.d.ts +5 -0
- package/dist/apis/getPinConversations.js +22 -0
- package/dist/apis/getPollDetail.d.ts +3 -0
- package/dist/apis/getPollDetail.js +30 -0
- package/dist/apis/getProductCatalogList.d.ts +20 -0
- package/dist/apis/getProductCatalogList.js +33 -0
- package/dist/apis/getQR.d.ts +4 -0
- package/dist/apis/getQR.js +29 -0
- package/dist/apis/getQuickMessageList.d.ts +7 -0
- package/dist/apis/getQuickMessageList.js +24 -0
- package/dist/apis/getRelatedFriendGroup.d.ts +6 -0
- package/dist/apis/getRelatedFriendGroup.js +30 -0
- package/dist/apis/getReminder.d.ts +3 -0
- package/dist/apis/getReminder.js +25 -0
- package/dist/apis/getReminderResponses.d.ts +5 -0
- package/dist/apis/getReminderResponses.js +24 -0
- package/dist/apis/getSentFriendRequest.d.ts +18 -0
- package/dist/apis/getSentFriendRequest.js +24 -0
- package/dist/apis/getSettings.d.ts +3 -0
- package/dist/apis/getSettings.js +20 -0
- package/dist/apis/getStickerCategoryDetail.d.ts +3 -0
- package/dist/apis/getStickerCategoryDetail.js +24 -0
- package/dist/apis/getStickers.d.ts +1 -0
- package/dist/apis/getStickers.js +40 -0
- package/dist/apis/getStickersDetail.d.ts +3 -0
- package/dist/apis/getStickersDetail.js +40 -0
- package/dist/apis/getUnreadMark.d.ts +14 -0
- package/dist/apis/getUnreadMark.js +30 -0
- package/dist/apis/getUserInfo.d.ts +8 -0
- package/dist/apis/getUserInfo.js +44 -0
- package/dist/apis/inviteUserToGroups.d.ts +10 -0
- package/dist/apis/inviteUserToGroups.js +30 -0
- package/dist/apis/joinGroupInviteBox.d.ts +2 -0
- package/dist/apis/joinGroupInviteBox.js +25 -0
- package/dist/apis/joinGroupLink.d.ts +2 -0
- package/dist/apis/joinGroupLink.js +27 -0
- package/dist/apis/keepAlive.d.ts +4 -0
- package/dist/apis/keepAlive.js +22 -0
- package/dist/apis/lastOnline.d.ts +7 -0
- package/dist/apis/lastOnline.js +26 -0
- package/dist/apis/leaveGroup.d.ts +4 -0
- package/dist/apis/leaveGroup.js +33 -0
- package/dist/apis/listen.d.ts +102 -0
- package/dist/apis/listen.js +425 -0
- package/dist/apis/lockPoll.d.ts +2 -0
- package/dist/apis/lockPoll.js +28 -0
- package/dist/apis/login.d.ts +3 -0
- package/dist/apis/login.js +96 -0
- package/dist/apis/loginQR.d.ts +71 -0
- package/dist/apis/loginQR.js +365 -0
- package/dist/apis/lostFocus.d.ts +4 -0
- package/dist/apis/lostFocus.js +23 -0
- package/dist/apis/parseLink.d.ts +21 -0
- package/dist/apis/parseLink.js +27 -0
- package/dist/apis/registerCatalog.d.ts +2 -0
- package/dist/apis/registerCatalog.js +27 -0
- package/dist/apis/rejectFriendRequest.d.ts +2 -0
- package/dist/apis/rejectFriendRequest.js +27 -0
- package/dist/apis/removeFriend.d.ts +2 -0
- package/dist/apis/removeFriend.js +28 -0
- package/dist/apis/removeFriendAlias.d.ts +2 -0
- package/dist/apis/removeFriendAlias.js +24 -0
- package/dist/apis/removeGroupBlockedMember.d.ts +2 -0
- package/dist/apis/removeGroupBlockedMember.js +28 -0
- package/dist/apis/removeGroupDeputy.d.ts +2 -0
- package/dist/apis/removeGroupDeputy.js +30 -0
- package/dist/apis/removeQuickMessage.d.ts +5 -0
- package/dist/apis/removeQuickMessage.js +27 -0
- package/dist/apis/removeReminder.d.ts +3 -0
- package/dist/apis/removeReminder.js +40 -0
- package/dist/apis/removeUnreadMark.d.ts +8 -0
- package/dist/apis/removeUnreadMark.js +50 -0
- package/dist/apis/removeUserFromGroup.d.ts +4 -0
- package/dist/apis/removeUserFromGroup.js +34 -0
- package/dist/apis/resetHiddenConversPin.d.ts +2 -0
- package/dist/apis/resetHiddenConversPin.js +20 -0
- package/dist/apis/reuseAvatar.d.ts +2 -0
- package/dist/apis/reuseAvatar.js +26 -0
- package/dist/apis/reviewPendingMemberRequest.d.ts +14 -0
- package/dist/apis/reviewPendingMemberRequest.js +38 -0
- package/dist/apis/scanURL.d.ts +4 -0
- package/dist/apis/scanURL.js +28 -0
- package/dist/apis/searchSticker.d.ts +3 -0
- package/dist/apis/searchSticker.js +28 -0
- package/dist/apis/sendBankCard.d.ts +9 -0
- package/dist/apis/sendBankCard.js +37 -0
- package/dist/apis/sendCard.d.ts +10 -0
- package/dist/apis/sendCard.js +59 -0
- package/dist/apis/sendDeliveredEvent.d.ts +16 -0
- package/dist/apis/sendDeliveredEvent.js +55 -0
- package/dist/apis/sendFriendRequest.d.ts +2 -0
- package/dist/apis/sendFriendRequest.js +39 -0
- package/dist/apis/sendLink.d.ts +10 -0
- package/dist/apis/sendLink.js +61 -0
- package/dist/apis/sendMessage.d.ts +99 -0
- package/dist/apis/sendMessage.js +452 -0
- package/dist/apis/sendReport.d.ts +17 -0
- package/dist/apis/sendReport.js +53 -0
- package/dist/apis/sendSeenEvent.d.ts +16 -0
- package/dist/apis/sendSeenEvent.js +63 -0
- package/dist/apis/sendSticker.d.ts +10 -0
- package/dist/apis/sendSticker.js +57 -0
- package/dist/apis/sendTypingEvent.d.ts +5 -0
- package/dist/apis/sendTypingEvent.js +33 -0
- package/dist/apis/sendVideo.d.ts +35 -0
- package/dist/apis/sendVideo.js +118 -0
- package/dist/apis/sendVoice.d.ts +12 -0
- package/dist/apis/sendVoice.js +73 -0
- package/dist/apis/setHiddenConversations.d.ts +3 -0
- package/dist/apis/setHiddenConversations.js +39 -0
- package/dist/apis/setMute.d.ts +20 -0
- package/dist/apis/setMute.js +67 -0
- package/dist/apis/setPinnedConversations.d.ts +3 -0
- package/dist/apis/setPinnedConversations.js +34 -0
- package/dist/apis/sharePoll.d.ts +2 -0
- package/dist/apis/sharePoll.js +28 -0
- package/dist/apis/unblockUser.d.ts +2 -0
- package/dist/apis/unblockUser.js +28 -0
- package/dist/apis/undo.d.ts +9 -0
- package/dist/apis/undo.js +42 -0
- package/dist/apis/undoFriendRequest.d.ts +2 -0
- package/dist/apis/undoFriendRequest.js +27 -0
- package/dist/apis/updateActiveStatus.d.ts +4 -0
- package/dist/apis/updateActiveStatus.js +27 -0
- package/dist/apis/updateArchivedChatList.d.ts +10 -0
- package/dist/apis/updateArchivedChatList.js +34 -0
- package/dist/apis/updateAutoDeleteChat.d.ts +9 -0
- package/dist/apis/updateAutoDeleteChat.js +40 -0
- package/dist/apis/updateAutoReply.d.ts +15 -0
- package/dist/apis/updateAutoReply.js +38 -0
- package/dist/apis/updateBankAccount.d.ts +9 -0
- package/dist/apis/updateBankAccount.js +31 -0
- package/dist/apis/updateCatalog.d.ts +11 -0
- package/dist/apis/updateCatalog.js +30 -0
- package/dist/apis/updateGroupSettings.d.ts +40 -0
- package/dist/apis/updateGroupSettings.js +43 -0
- package/dist/apis/updateHiddenConversPin.d.ts +2 -0
- package/dist/apis/updateHiddenConversPin.js +30 -0
- package/dist/apis/updateLabels.d.ts +15 -0
- package/dist/apis/updateLabels.js +34 -0
- package/dist/apis/updateLang.d.ts +6 -0
- package/dist/apis/updateLang.js +30 -0
- package/dist/apis/updateProductCatalog.d.ts +25 -0
- package/dist/apis/updateProductCatalog.js +51 -0
- package/dist/apis/updateProfile.d.ts +20 -0
- package/dist/apis/updateProfile.js +43 -0
- package/dist/apis/updateProfileBio.d.ts +2 -0
- package/dist/apis/updateProfileBio.js +27 -0
- package/dist/apis/updateQuickMessage.d.ts +11 -0
- package/dist/apis/updateQuickMessage.js +61 -0
- package/dist/apis/updateSettings.d.ts +16 -0
- package/dist/apis/updateSettings.js +90 -0
- package/dist/apis/upgradeGroupToCommunity.d.ts +2 -0
- package/dist/apis/upgradeGroupToCommunity.js +27 -0
- package/dist/apis/uploadAttachment.d.ts +50 -0
- package/dist/apis/uploadAttachment.js +197 -0
- package/dist/apis/uploadProductPhoto.d.ts +14 -0
- package/dist/apis/uploadProductPhoto.js +50 -0
- package/dist/apis/votePoll.d.ts +5 -0
- package/dist/apis/votePoll.js +29 -0
- package/dist/apis.d.ts +317 -0
- package/dist/apis.js +317 -0
- package/dist/cjs/Errors/ZaloApiError.cjs +11 -0
- package/dist/cjs/Errors/ZaloApiLoginQRAborted.cjs +12 -0
- package/dist/cjs/Errors/ZaloApiLoginQRDeclined.cjs +12 -0
- package/dist/cjs/Errors/ZaloApiMissingImageMetadataGetter.cjs +12 -0
- package/dist/cjs/apis/acceptFriendRequest.cjs +33 -0
- package/dist/cjs/apis/addGroupBlockedMember.cjs +33 -0
- package/dist/cjs/apis/addGroupDeputy.cjs +35 -0
- package/dist/cjs/apis/addPollOptions.cjs +31 -0
- package/dist/cjs/apis/addQuickMessage.cjs +65 -0
- package/dist/cjs/apis/addReaction.cjs +308 -0
- package/dist/cjs/apis/addUnreadMark.cjs +66 -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 +57 -0
- package/dist/cjs/apis/changeFriendAlias.cjs +32 -0
- package/dist/cjs/apis/changeGroupAvatar.cjs +49 -0
- package/dist/cjs/apis/changeGroupName.cjs +37 -0
- package/dist/cjs/apis/changeGroupOwner.cjs +35 -0
- package/dist/cjs/apis/createAutoReply.cjs +42 -0
- package/dist/cjs/apis/createBankAccount.cjs +37 -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 +77 -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/deleteBankAccount.cjs +37 -0
- package/dist/cjs/apis/deleteCatalog.cjs +33 -0
- package/dist/cjs/apis/deleteChat.cjs +64 -0
- package/dist/cjs/apis/deleteGroupInviteBox.cjs +32 -0
- package/dist/cjs/apis/deleteMessage.cjs +66 -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 +75 -0
- package/dist/cjs/apis/enableGroupLink.cjs +30 -0
- package/dist/cjs/apis/fetchAccountInfo.cjs +15 -0
- package/dist/cjs/apis/findUser.cjs +56 -0
- package/dist/cjs/apis/findUserByUsername.cjs +41 -0
- package/dist/cjs/apis/forwardMessage.cjs +113 -0
- package/dist/cjs/apis/getAliasList.cjs +32 -0
- package/dist/cjs/apis/getAllFriends.cjs +48 -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/getAvatarUrlProfile.cjs +44 -0
- package/dist/cjs/apis/getBizAccount.cjs +32 -0
- package/dist/cjs/apis/getCatalogList.cjs +37 -0
- package/dist/cjs/apis/getCloseFriends.cjs +25 -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/getFullAvatar.cjs +30 -0
- package/dist/cjs/apis/getGroupBlockedMember.cjs +34 -0
- package/dist/cjs/apis/getGroupChatHistory.cjs +51 -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/getListBank.cjs +25 -0
- package/dist/cjs/apis/getListBankAccount.cjs +32 -0
- package/dist/cjs/apis/getListBoard.cjs +59 -0
- package/dist/cjs/apis/getListDevice.cjs +27 -0
- package/dist/cjs/apis/getListReminder.cjs +61 -0
- package/dist/cjs/apis/getMultiUsersByPhones.cjs +53 -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/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/getStickerCategoryDetail.cjs +29 -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 +58 -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/listen.cjs +440 -0
- package/dist/cjs/apis/lockPoll.cjs +33 -0
- package/dist/cjs/apis/login.cjs +102 -0
- package/dist/cjs/apis/loginQR.cjs +370 -0
- package/dist/cjs/apis/lostFocus.cjs +28 -0
- package/dist/cjs/apis/parseLink.cjs +32 -0
- package/dist/cjs/apis/registerCatalog.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 +54 -0
- package/dist/cjs/apis/removeUnreadMark.cjs +64 -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 +43 -0
- package/dist/cjs/apis/scanURL.cjs +33 -0
- package/dist/cjs/apis/searchSticker.cjs +33 -0
- package/dist/cjs/apis/sendBankCard.cjs +51 -0
- package/dist/cjs/apis/sendCard.cjs +73 -0
- package/dist/cjs/apis/sendDeliveredEvent.cjs +69 -0
- package/dist/cjs/apis/sendFriendRequest.cjs +44 -0
- package/dist/cjs/apis/sendLink.cjs +75 -0
- package/dist/cjs/apis/sendMessage.cjs +466 -0
- package/dist/cjs/apis/sendReport.cjs +67 -0
- package/dist/cjs/apis/sendSeenEvent.cjs +77 -0
- package/dist/cjs/apis/sendSticker.cjs +71 -0
- package/dist/cjs/apis/sendTypingEvent.cjs +47 -0
- package/dist/cjs/apis/sendVideo.cjs +132 -0
- package/dist/cjs/apis/sendVoice.cjs +87 -0
- package/dist/cjs/apis/setHiddenConversations.cjs +53 -0
- package/dist/cjs/apis/setMute.cjs +81 -0
- package/dist/cjs/apis/setPinnedConversations.cjs +48 -0
- package/dist/cjs/apis/sharePoll.cjs +33 -0
- package/dist/cjs/apis/unblockUser.cjs +33 -0
- package/dist/cjs/apis/undo.cjs +56 -0
- package/dist/cjs/apis/undoFriendRequest.cjs +32 -0
- package/dist/cjs/apis/updateActiveStatus.cjs +32 -0
- package/dist/cjs/apis/updateArchivedChatList.cjs +39 -0
- package/dist/cjs/apis/updateAutoDeleteChat.cjs +54 -0
- package/dist/cjs/apis/updateAutoReply.cjs +43 -0
- package/dist/cjs/apis/updateBankAccount.cjs +36 -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 +35 -0
- package/dist/cjs/apis/updateProductCatalog.cjs +56 -0
- package/dist/cjs/apis/updateProfile.cjs +48 -0
- package/dist/cjs/apis/updateProfileBio.cjs +32 -0
- package/dist/cjs/apis/updateQuickMessage.cjs +66 -0
- package/dist/cjs/apis/updateSettings.cjs +95 -0
- package/dist/cjs/apis/upgradeGroupToCommunity.cjs +32 -0
- package/dist/cjs/apis/uploadAttachment.cjs +211 -0
- package/dist/cjs/apis/uploadProductPhoto.cjs +55 -0
- package/dist/cjs/apis/votePoll.cjs +34 -0
- package/dist/cjs/apis.cjs +322 -0
- package/dist/cjs/context.cjs +34 -0
- package/dist/cjs/index.cjs +159 -0
- package/dist/cjs/models/AutoReply.cjs +9 -0
- package/dist/cjs/models/Bank.cjs +263 -0
- package/dist/cjs/models/Board.cjs +8 -0
- package/dist/cjs/models/DeliveredMessage.cjs +23 -0
- package/dist/cjs/models/Enum.cjs +27 -0
- package/dist/cjs/models/FriendEvent.cjs +87 -0
- package/dist/cjs/models/Group.cjs +13 -0
- package/dist/cjs/models/GroupEvent.cjs +94 -0
- package/dist/cjs/models/Message.cjs +35 -0
- package/dist/cjs/models/Reaction.cjs +74 -0
- package/dist/cjs/models/Reminder.cjs +9 -0
- package/dist/cjs/models/SeenMessage.cjs +23 -0
- package/dist/cjs/models/Typing.cjs +23 -0
- package/dist/cjs/models/Undo.cjs +16 -0
- package/dist/cjs/models/ZBusiness.cjs +39 -0
- package/dist/cjs/update.cjs +34 -0
- package/dist/cjs/utils.cjs +703 -0
- package/dist/cjs/zalo.cjs +112 -0
- package/dist/context.d.ts +179 -0
- package/dist/context.js +28 -0
- package/dist/index.d.ts +166 -0
- package/dist/index.js +14 -0
- package/dist/models/Attachment.d.ts +9 -0
- package/dist/models/Attachment.js +1 -0
- package/dist/models/AutoReply.d.ts +20 -0
- package/dist/models/AutoReply.js +7 -0
- package/dist/models/Bank.d.ts +291 -0
- package/dist/models/Bank.js +262 -0
- package/dist/models/Board.d.ts +60 -0
- package/dist/models/Board.js +6 -0
- package/dist/models/Catalog.d.ts +16 -0
- package/dist/models/Catalog.js +1 -0
- package/dist/models/DeliveredMessage.d.ts +27 -0
- package/dist/models/DeliveredMessage.js +17 -0
- package/dist/models/Enum.d.ts +21 -0
- package/dist/models/Enum.js +25 -0
- package/dist/models/FriendEvent.d.ts +107 -0
- package/dist/models/FriendEvent.js +83 -0
- package/dist/models/Group.d.ts +125 -0
- package/dist/models/Group.js +11 -0
- package/dist/models/GroupEvent.d.ts +178 -0
- package/dist/models/GroupEvent.js +90 -0
- package/dist/models/Label.d.ts +10 -0
- package/dist/models/Label.js +1 -0
- package/dist/models/Message.d.ts +91 -0
- package/dist/models/Message.js +29 -0
- package/dist/models/ProductCatalog.d.ts +17 -0
- package/dist/models/ProductCatalog.js +1 -0
- package/dist/models/QuickMessage.d.ts +25 -0
- package/dist/models/QuickMessage.js +1 -0
- package/dist/models/Reaction.d.ts +85 -0
- package/dist/models/Reaction.js +70 -0
- package/dist/models/Reminder.d.ts +51 -0
- package/dist/models/Reminder.js +7 -0
- package/dist/models/SeenMessage.d.ts +26 -0
- package/dist/models/SeenMessage.js +17 -0
- package/dist/models/Sticker.d.ts +27 -0
- package/dist/models/Sticker.js +1 -0
- package/dist/models/Typing.d.ts +24 -0
- package/dist/models/Typing.js +17 -0
- package/dist/models/Undo.d.ts +34 -0
- package/dist/models/Undo.js +12 -0
- package/dist/models/User.d.ts +70 -0
- package/dist/models/User.js +1 -0
- package/dist/models/ZBusiness.d.ts +22 -0
- package/dist/models/ZBusiness.js +35 -0
- package/dist/models/index.d.ts +22 -0
- package/dist/models/index.js +22 -0
- package/dist/update.d.ts +2 -0
- package/dist/update.js +29 -0
- package/dist/utils.d.ts +167 -0
- package/dist/utils.js +719 -0
- package/dist/zalo.d.ts +41 -0
- package/dist/zalo.js +107 -0
- package/index.d.ts +2 -0
- package/package.json +85 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const updateProductCatalogFactory = apiFactory()((api, _, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.catalog[0]}/api/prodcatalog/product/update`);
|
|
5
|
+
/**
|
|
6
|
+
* Update product catalog?
|
|
7
|
+
*
|
|
8
|
+
* @param payload payload
|
|
9
|
+
*
|
|
10
|
+
* @note this API is used for zBusiness - Maximum 5 media files are supported
|
|
11
|
+
* @throws {ZaloApiError}
|
|
12
|
+
*/
|
|
13
|
+
return async function updateProductCatalog(payload) {
|
|
14
|
+
const productPhoto = payload.product_photos || [];
|
|
15
|
+
if (payload.files && payload.files.length == 0) {
|
|
16
|
+
if (payload.files.length > 5) {
|
|
17
|
+
throw new ZaloApiError("Maximum 5 media files are allowed");
|
|
18
|
+
}
|
|
19
|
+
for (const mediaFile of payload.files) {
|
|
20
|
+
const uploadMedia = await api.uploadProductPhoto({
|
|
21
|
+
file: mediaFile,
|
|
22
|
+
});
|
|
23
|
+
const url = uploadMedia.normalUrl || uploadMedia.hdUrl;
|
|
24
|
+
productPhoto.push(url);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (productPhoto.length > 5) {
|
|
28
|
+
throw new ZaloApiError("Maximum 5 media files are allowed");
|
|
29
|
+
}
|
|
30
|
+
const params = {
|
|
31
|
+
product_id: payload.productId,
|
|
32
|
+
product_name: payload.productName,
|
|
33
|
+
price: payload.price,
|
|
34
|
+
description: payload.description,
|
|
35
|
+
product_photos: productPhoto,
|
|
36
|
+
catalog_id: payload.catalogId,
|
|
37
|
+
currency_unit: "₫",
|
|
38
|
+
create_time: payload.createTime,
|
|
39
|
+
};
|
|
40
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
41
|
+
if (!encryptedParams)
|
|
42
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
43
|
+
const response = await utils.request(serviceURL, {
|
|
44
|
+
method: "POST",
|
|
45
|
+
body: new URLSearchParams({
|
|
46
|
+
params: encryptedParams,
|
|
47
|
+
}),
|
|
48
|
+
});
|
|
49
|
+
return utils.resolve(response);
|
|
50
|
+
};
|
|
51
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { BusinessCategory, Gender } from "../models/index.js";
|
|
2
|
+
export type UpdateProfilePayload = {
|
|
3
|
+
profile: {
|
|
4
|
+
name: string;
|
|
5
|
+
/**
|
|
6
|
+
* Date of birth in the format YYYY-MM-DD
|
|
7
|
+
*/
|
|
8
|
+
dob: `${string}-${string}-${string}`;
|
|
9
|
+
gender: Gender;
|
|
10
|
+
};
|
|
11
|
+
biz?: Partial<{
|
|
12
|
+
cate: BusinessCategory;
|
|
13
|
+
description: string;
|
|
14
|
+
address: string;
|
|
15
|
+
website: string;
|
|
16
|
+
email: string;
|
|
17
|
+
}>;
|
|
18
|
+
};
|
|
19
|
+
export type UpdateProfileResponse = "";
|
|
20
|
+
export declare const updateProfileFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (payload: UpdateProfilePayload) => Promise<"">;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const updateProfileFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.profile[0]}/api/social/profile/update`);
|
|
5
|
+
/**
|
|
6
|
+
* Change account setting information
|
|
7
|
+
*
|
|
8
|
+
* @param payload payload
|
|
9
|
+
*
|
|
10
|
+
* @note If your account is a Business Account, include the biz.cate field; otherwise the category will be removed.
|
|
11
|
+
* You may leave the other biz fields empty if you don’t want to change them.
|
|
12
|
+
*
|
|
13
|
+
* @throws {ZaloApiError}
|
|
14
|
+
*/
|
|
15
|
+
return async function updateProfile(payload) {
|
|
16
|
+
var _a, _b, _c, _d, _e;
|
|
17
|
+
const params = {
|
|
18
|
+
profile: JSON.stringify({
|
|
19
|
+
name: payload.profile.name,
|
|
20
|
+
dob: payload.profile.dob,
|
|
21
|
+
gender: payload.profile.gender,
|
|
22
|
+
}),
|
|
23
|
+
biz: JSON.stringify({
|
|
24
|
+
desc: (_a = payload.biz) === null || _a === void 0 ? void 0 : _a.description,
|
|
25
|
+
cate: (_b = payload.biz) === null || _b === void 0 ? void 0 : _b.cate,
|
|
26
|
+
addr: (_c = payload.biz) === null || _c === void 0 ? void 0 : _c.address,
|
|
27
|
+
website: (_d = payload.biz) === null || _d === void 0 ? void 0 : _d.website,
|
|
28
|
+
email: (_e = payload.biz) === null || _e === void 0 ? void 0 : _e.email,
|
|
29
|
+
}),
|
|
30
|
+
language: ctx.language,
|
|
31
|
+
};
|
|
32
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
33
|
+
if (!encryptedParams)
|
|
34
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
35
|
+
const response = await utils.request(serviceURL, {
|
|
36
|
+
method: "POST",
|
|
37
|
+
body: new URLSearchParams({
|
|
38
|
+
params: encryptedParams,
|
|
39
|
+
}),
|
|
40
|
+
});
|
|
41
|
+
return utils.resolve(response);
|
|
42
|
+
};
|
|
43
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const updateProfileBioFactory = apiFactory()((api, _ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.profile[0]}/api/social/profile/status`);
|
|
5
|
+
/**
|
|
6
|
+
* Update profile bio
|
|
7
|
+
*
|
|
8
|
+
* @param status status for update bio
|
|
9
|
+
*
|
|
10
|
+
* @throws {ZaloApiError}
|
|
11
|
+
*/
|
|
12
|
+
return async function updateProfileBio(status) {
|
|
13
|
+
const params = {
|
|
14
|
+
status: status,
|
|
15
|
+
};
|
|
16
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
17
|
+
if (!encryptedParams)
|
|
18
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
19
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
20
|
+
method: "POST",
|
|
21
|
+
body: new URLSearchParams({
|
|
22
|
+
params: encryptedParams,
|
|
23
|
+
}),
|
|
24
|
+
});
|
|
25
|
+
return utils.resolve(response);
|
|
26
|
+
};
|
|
27
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { QuickMessage, AttachmentSource } from "../models/index.js";
|
|
2
|
+
export type UpdateQuickMessagePayload = {
|
|
3
|
+
keyword: string;
|
|
4
|
+
title: string;
|
|
5
|
+
media?: AttachmentSource;
|
|
6
|
+
};
|
|
7
|
+
export type UpdateQuickMessageResponse = {
|
|
8
|
+
item: QuickMessage;
|
|
9
|
+
version: number;
|
|
10
|
+
};
|
|
11
|
+
export declare const updateQuickMessageFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (updatePayload: UpdateQuickMessagePayload, itemId: number) => Promise<UpdateQuickMessageResponse>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const updateQuickMessageFactory = apiFactory()((api, _ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.quick_message[0]}/api/quickmessage/update`);
|
|
5
|
+
/**
|
|
6
|
+
* Update quick message
|
|
7
|
+
*
|
|
8
|
+
* @param updatePayload - The payload containing data to update the quick message
|
|
9
|
+
* @param itemId - The id of the quick message to update
|
|
10
|
+
*
|
|
11
|
+
* @note Zalo might throw an error with code 212 if the itemId does not exist.
|
|
12
|
+
*
|
|
13
|
+
* @throws {ZaloApiError}
|
|
14
|
+
*/
|
|
15
|
+
return async function updateQuickMessage(updatePayload, itemId) {
|
|
16
|
+
const isType = !updatePayload.media ? 0 : 1;
|
|
17
|
+
const params = {
|
|
18
|
+
itemId: itemId,
|
|
19
|
+
keyword: updatePayload.keyword,
|
|
20
|
+
message: {
|
|
21
|
+
title: updatePayload.title,
|
|
22
|
+
params: "",
|
|
23
|
+
},
|
|
24
|
+
type: isType,
|
|
25
|
+
};
|
|
26
|
+
if (isType === 1) {
|
|
27
|
+
if (!updatePayload.media)
|
|
28
|
+
throw new ZaloApiError("Media is required");
|
|
29
|
+
const uploadMedia = await api.uploadProductPhoto({
|
|
30
|
+
file: updatePayload.media,
|
|
31
|
+
});
|
|
32
|
+
const photoId = uploadMedia.photoId;
|
|
33
|
+
const thumbUrl = uploadMedia.thumbUrl;
|
|
34
|
+
const normalUrl = uploadMedia.normalUrl;
|
|
35
|
+
const hdUrl = uploadMedia.hdUrl;
|
|
36
|
+
params.media = {
|
|
37
|
+
items: [
|
|
38
|
+
{
|
|
39
|
+
type: 0,
|
|
40
|
+
photoId: photoId,
|
|
41
|
+
title: "",
|
|
42
|
+
width: "",
|
|
43
|
+
height: "",
|
|
44
|
+
previewThumb: thumbUrl,
|
|
45
|
+
rawUrl: normalUrl || hdUrl,
|
|
46
|
+
thumbUrl: thumbUrl,
|
|
47
|
+
normalUrl: normalUrl || hdUrl,
|
|
48
|
+
hdUrl: hdUrl || normalUrl,
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
54
|
+
if (!encryptedParams)
|
|
55
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
56
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
57
|
+
method: "GET",
|
|
58
|
+
});
|
|
59
|
+
return utils.resolve(response);
|
|
60
|
+
};
|
|
61
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type UpdateSettingsResponse = "";
|
|
2
|
+
export declare enum UpdateSettingsType {
|
|
3
|
+
ViewBirthday = "view_birthday",
|
|
4
|
+
ShowOnlineStatus = "show_online_status",
|
|
5
|
+
DisplaySeenStatus = "display_seen_status",
|
|
6
|
+
ReceiveMessage = "receive_message",
|
|
7
|
+
AcceptCall = "accept_stranger_call",
|
|
8
|
+
AddFriendViaPhone = "add_friend_via_phone",
|
|
9
|
+
AddFriendViaQR = "add_friend_via_qr",
|
|
10
|
+
AddFriendViaGroup = "add_friend_via_group",
|
|
11
|
+
AddFriendViaContact = "add_friend_via_contact",
|
|
12
|
+
DisplayOnRecommendFriend = "display_on_recommend_friend",
|
|
13
|
+
ArchivedChat = "archivedChatStatus",
|
|
14
|
+
QuickMessage = "quickMessageStatus"
|
|
15
|
+
}
|
|
16
|
+
export declare const updateSettingsFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (type: UpdateSettingsType, value: number) => Promise<"">;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export var UpdateSettingsType;
|
|
4
|
+
(function (UpdateSettingsType) {
|
|
5
|
+
UpdateSettingsType["ViewBirthday"] = "view_birthday";
|
|
6
|
+
UpdateSettingsType["ShowOnlineStatus"] = "show_online_status";
|
|
7
|
+
UpdateSettingsType["DisplaySeenStatus"] = "display_seen_status";
|
|
8
|
+
UpdateSettingsType["ReceiveMessage"] = "receive_message";
|
|
9
|
+
UpdateSettingsType["AcceptCall"] = "accept_stranger_call";
|
|
10
|
+
UpdateSettingsType["AddFriendViaPhone"] = "add_friend_via_phone";
|
|
11
|
+
UpdateSettingsType["AddFriendViaQR"] = "add_friend_via_qr";
|
|
12
|
+
UpdateSettingsType["AddFriendViaGroup"] = "add_friend_via_group";
|
|
13
|
+
UpdateSettingsType["AddFriendViaContact"] = "add_friend_via_contact";
|
|
14
|
+
UpdateSettingsType["DisplayOnRecommendFriend"] = "display_on_recommend_friend";
|
|
15
|
+
UpdateSettingsType["ArchivedChat"] = "archivedChatStatus";
|
|
16
|
+
UpdateSettingsType["QuickMessage"] = "quickMessageStatus";
|
|
17
|
+
})(UpdateSettingsType || (UpdateSettingsType = {}));
|
|
18
|
+
export const updateSettingsFactory = apiFactory()((_api, _ctx, utils) => {
|
|
19
|
+
const serviceURL = utils.makeURL(`https://wpa.chat.zalo.me/api/setting/update`);
|
|
20
|
+
/**
|
|
21
|
+
* Set account settings
|
|
22
|
+
*
|
|
23
|
+
* @param type The type of setting to update
|
|
24
|
+
* @param value
|
|
25
|
+
*
|
|
26
|
+
* ViewBirthday
|
|
27
|
+
* * 0: hide
|
|
28
|
+
* * 1: show full day/month/year
|
|
29
|
+
* * 2: show day/month
|
|
30
|
+
*
|
|
31
|
+
* ShowOnlineStatus
|
|
32
|
+
* * 0: hide
|
|
33
|
+
* * 1: show
|
|
34
|
+
*
|
|
35
|
+
* DisplaySeenStatus
|
|
36
|
+
* * 0: hide
|
|
37
|
+
* * 1: show
|
|
38
|
+
*
|
|
39
|
+
* ReceiveMessage
|
|
40
|
+
* * 1: everyone
|
|
41
|
+
* * 2: only friends
|
|
42
|
+
*
|
|
43
|
+
* AcceptCall
|
|
44
|
+
* * 2: only friends
|
|
45
|
+
* * 3: everyone
|
|
46
|
+
* * 4: friends and person who contacted
|
|
47
|
+
*
|
|
48
|
+
* AddFriendViaPhone
|
|
49
|
+
* * 0: disable
|
|
50
|
+
* * 1: enable
|
|
51
|
+
*
|
|
52
|
+
* AddFriendViaQR
|
|
53
|
+
* * 0: disable
|
|
54
|
+
* * 1: enable
|
|
55
|
+
*
|
|
56
|
+
* AddFriendViaGroup
|
|
57
|
+
* * 0: disable
|
|
58
|
+
* * 1: enable
|
|
59
|
+
*
|
|
60
|
+
* AddFriendViaContact
|
|
61
|
+
* * 0: disable
|
|
62
|
+
* * 1: enable
|
|
63
|
+
*
|
|
64
|
+
* DisplayOnRecommendFriend
|
|
65
|
+
* * 0: disable
|
|
66
|
+
* * 1: enable
|
|
67
|
+
*
|
|
68
|
+
* ArchivedChat
|
|
69
|
+
* * 0: disable
|
|
70
|
+
* * 1: enable
|
|
71
|
+
*
|
|
72
|
+
* QuickMessage
|
|
73
|
+
* * 0: disable
|
|
74
|
+
* * 1: enable
|
|
75
|
+
*
|
|
76
|
+
* @throws {ZaloApiError}
|
|
77
|
+
*/
|
|
78
|
+
return async function updateSettings(type, value) {
|
|
79
|
+
const params = {
|
|
80
|
+
[type]: value,
|
|
81
|
+
};
|
|
82
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
83
|
+
if (!encryptedParams)
|
|
84
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
85
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
86
|
+
method: "GET",
|
|
87
|
+
});
|
|
88
|
+
return utils.resolve(response);
|
|
89
|
+
};
|
|
90
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const upgradeGroupToCommunityFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.group[0]}/api/group/upgrade/community`);
|
|
5
|
+
/**
|
|
6
|
+
* Upgrade group to community
|
|
7
|
+
*
|
|
8
|
+
* @param groupId Group ID upgrade
|
|
9
|
+
*
|
|
10
|
+
* @note Zalo account identity must be verified and the account must be over 18 to use
|
|
11
|
+
* @code 185 The limit on the number of communities that can own has been reached
|
|
12
|
+
* @throws {ZaloApiError}
|
|
13
|
+
*/
|
|
14
|
+
return async function upgradeGroupToCommunity(groupId) {
|
|
15
|
+
const params = {
|
|
16
|
+
grId: groupId,
|
|
17
|
+
language: ctx.language,
|
|
18
|
+
};
|
|
19
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
20
|
+
if (!encryptedParams)
|
|
21
|
+
throw new 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
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ThreadType, type AttachmentSource } from "../models/index.js";
|
|
2
|
+
export type UploadAttachmentImageResponse = {
|
|
3
|
+
normalUrl: string;
|
|
4
|
+
photoId: string;
|
|
5
|
+
finished: number | boolean;
|
|
6
|
+
hdUrl: string;
|
|
7
|
+
thumbUrl: string;
|
|
8
|
+
clientFileId: number;
|
|
9
|
+
chunkId: number;
|
|
10
|
+
fileType: "image";
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
totalSize: number;
|
|
14
|
+
hdSize: number;
|
|
15
|
+
};
|
|
16
|
+
export type UploadAttachmentVideoResponse = {
|
|
17
|
+
finished: number | boolean;
|
|
18
|
+
clientFileId: number;
|
|
19
|
+
chunkId: number;
|
|
20
|
+
fileType: "video";
|
|
21
|
+
fileUrl: string;
|
|
22
|
+
fileId: string;
|
|
23
|
+
checksum: string;
|
|
24
|
+
totalSize: number;
|
|
25
|
+
fileName: string;
|
|
26
|
+
};
|
|
27
|
+
export type UploadAttachmentFileResponse = {
|
|
28
|
+
finished: number | boolean;
|
|
29
|
+
clientFileId: number;
|
|
30
|
+
chunkId: number;
|
|
31
|
+
fileType: "others";
|
|
32
|
+
fileUrl: string;
|
|
33
|
+
fileId: string;
|
|
34
|
+
checksum: string;
|
|
35
|
+
totalSize: number;
|
|
36
|
+
fileName: string;
|
|
37
|
+
};
|
|
38
|
+
export type ImageData = {
|
|
39
|
+
fileName: string;
|
|
40
|
+
totalSize: number | undefined;
|
|
41
|
+
width: number | undefined;
|
|
42
|
+
height: number | undefined;
|
|
43
|
+
};
|
|
44
|
+
export type FileData = {
|
|
45
|
+
fileName: string;
|
|
46
|
+
totalSize: number;
|
|
47
|
+
};
|
|
48
|
+
export type UploadAttachmentType = UploadAttachmentImageResponse | UploadAttachmentVideoResponse | UploadAttachmentFileResponse;
|
|
49
|
+
export type UploadAttachmentResponse = UploadAttachmentType[];
|
|
50
|
+
export declare const uploadAttachmentFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (sources: AttachmentSource | AttachmentSource[], threadId: string, type?: ThreadType) => Promise<UploadAttachmentType[]>;
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import FormData from "form-data";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
4
|
+
import { ThreadType } from "../models/index.js";
|
|
5
|
+
import { apiFactory, getFileExtension, getFileName, getFileSize, getImageMetaData, getMd5LargeFileObject, resolveResponse, } from "../utils.js";
|
|
6
|
+
const urlType = {
|
|
7
|
+
image: "photo_original/upload",
|
|
8
|
+
video: "asyncfile/upload",
|
|
9
|
+
others: "asyncfile/upload",
|
|
10
|
+
};
|
|
11
|
+
export const uploadAttachmentFactory = apiFactory()((api, ctx, utils) => {
|
|
12
|
+
const serviceURL = `${api.zpwServiceMap.file[0]}/api`;
|
|
13
|
+
const { sharefile } = ctx.settings.features;
|
|
14
|
+
function isExceedMaxFile(totalFile) {
|
|
15
|
+
return totalFile > sharefile.max_file;
|
|
16
|
+
}
|
|
17
|
+
function isExceedMaxFileSize(fileSize) {
|
|
18
|
+
return fileSize > sharefile.max_size_share_file_v3 * 1024 * 1024;
|
|
19
|
+
}
|
|
20
|
+
function isExtensionValid(ext) {
|
|
21
|
+
return sharefile.restricted_ext_file.indexOf(ext) == -1;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Upload an attachment to a thread
|
|
25
|
+
*
|
|
26
|
+
* @param sources path to files or attachment sources
|
|
27
|
+
* @param threadId Group or User ID
|
|
28
|
+
* @param type Message type (User or Group)
|
|
29
|
+
*
|
|
30
|
+
* @throws {ZaloApiError | ZaloApiMissingImageMetadataGetter}
|
|
31
|
+
*/
|
|
32
|
+
return async function uploadAttachment(sources, threadId, type = ThreadType.User) {
|
|
33
|
+
if (!sources)
|
|
34
|
+
throw new ZaloApiError("Missing sources");
|
|
35
|
+
if (!Array.isArray(sources))
|
|
36
|
+
sources = [sources];
|
|
37
|
+
if (sources.length == 0)
|
|
38
|
+
throw new ZaloApiError("Missing sources");
|
|
39
|
+
if (isExceedMaxFile(sources.length))
|
|
40
|
+
throw new ZaloApiError("Exceed maximum file of " + sharefile.max_file);
|
|
41
|
+
if (!threadId)
|
|
42
|
+
throw new ZaloApiError("Missing threadId");
|
|
43
|
+
const chunkSize = ctx.settings.features.sharefile.chunk_size_file;
|
|
44
|
+
const isGroupMessage = type == ThreadType.Group;
|
|
45
|
+
const attachmentsData = [];
|
|
46
|
+
const url = `${serviceURL}/${isGroupMessage ? "group" : "message"}/`;
|
|
47
|
+
const typeParam = isGroupMessage ? "11" : "2";
|
|
48
|
+
let clientId = Date.now();
|
|
49
|
+
for (const source of sources) {
|
|
50
|
+
const isFilePath = typeof source == "string";
|
|
51
|
+
const isBuffer = typeof source == "object" && source.data instanceof Buffer;
|
|
52
|
+
if (!isFilePath && !isBuffer)
|
|
53
|
+
throw new ZaloApiError("Invalid source type");
|
|
54
|
+
if (!isFilePath && !source.filename)
|
|
55
|
+
throw new ZaloApiError("Missing filename");
|
|
56
|
+
if (isFilePath && !fs.existsSync(source))
|
|
57
|
+
throw new ZaloApiError("File not found");
|
|
58
|
+
const extFile = getFileExtension(isFilePath ? source : source.filename).toLowerCase();
|
|
59
|
+
const fileName = isFilePath ? getFileName(source) : source.filename;
|
|
60
|
+
if (isExtensionValid(extFile) == false)
|
|
61
|
+
throw new ZaloApiError(`File extension "${extFile}" is not allowed`);
|
|
62
|
+
const data = {
|
|
63
|
+
filePath: isFilePath ? source : source.filename,
|
|
64
|
+
chunkContent: [],
|
|
65
|
+
params: {},
|
|
66
|
+
source,
|
|
67
|
+
};
|
|
68
|
+
if (isGroupMessage)
|
|
69
|
+
data.params.grid = threadId;
|
|
70
|
+
else
|
|
71
|
+
data.params.toid = threadId;
|
|
72
|
+
switch (extFile) {
|
|
73
|
+
case "jpg":
|
|
74
|
+
case "jpeg":
|
|
75
|
+
case "png":
|
|
76
|
+
case "webp": {
|
|
77
|
+
const imageData = isFilePath ? await getImageMetaData(ctx, source) : Object.assign(Object.assign({}, source.metadata), { fileName });
|
|
78
|
+
if (isExceedMaxFileSize(imageData.totalSize))
|
|
79
|
+
throw new ZaloApiError(`File ${fileName} size exceed maximum size of ${sharefile.max_size_share_file_v3}MB`);
|
|
80
|
+
data.fileData = imageData;
|
|
81
|
+
data.fileType = "image";
|
|
82
|
+
data.params.totalChunk = Math.ceil(data.fileData.totalSize / chunkSize);
|
|
83
|
+
data.params.fileName = fileName;
|
|
84
|
+
data.params.clientId = clientId++;
|
|
85
|
+
data.params.totalSize = imageData.totalSize;
|
|
86
|
+
data.params.imei = ctx.imei;
|
|
87
|
+
data.params.isE2EE = 0;
|
|
88
|
+
data.params.jxl = 0;
|
|
89
|
+
data.params.chunkId = 1;
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
case "mp4": {
|
|
93
|
+
const videoSize = isFilePath ? await getFileSize(source) : source.metadata.totalSize;
|
|
94
|
+
if (isExceedMaxFileSize(videoSize))
|
|
95
|
+
throw new ZaloApiError(`File ${fileName} size exceed maximum size of ${sharefile.max_size_share_file_v3}MB`);
|
|
96
|
+
data.fileType = "video";
|
|
97
|
+
data.fileData = {
|
|
98
|
+
fileName,
|
|
99
|
+
totalSize: videoSize,
|
|
100
|
+
};
|
|
101
|
+
data.params.totalChunk = Math.ceil(data.fileData.totalSize / chunkSize);
|
|
102
|
+
data.params.fileName = fileName;
|
|
103
|
+
data.params.clientId = clientId++;
|
|
104
|
+
data.params.totalSize = videoSize;
|
|
105
|
+
data.params.imei = ctx.imei;
|
|
106
|
+
data.params.isE2EE = 0;
|
|
107
|
+
data.params.jxl = 0;
|
|
108
|
+
data.params.chunkId = 1;
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
default: {
|
|
112
|
+
const fileSize = isFilePath ? await getFileSize(source) : source.metadata.totalSize;
|
|
113
|
+
if (isExceedMaxFileSize(fileSize))
|
|
114
|
+
throw new ZaloApiError(`File ${fileName} size exceed maximum size of ${sharefile.max_size_share_file_v3}MB`);
|
|
115
|
+
data.fileType = "others";
|
|
116
|
+
data.fileData = {
|
|
117
|
+
fileName,
|
|
118
|
+
totalSize: fileSize,
|
|
119
|
+
};
|
|
120
|
+
data.params.totalChunk = Math.ceil(data.fileData.totalSize / chunkSize);
|
|
121
|
+
data.params.fileName = fileName;
|
|
122
|
+
data.params.clientId = clientId++;
|
|
123
|
+
data.params.totalSize = fileSize;
|
|
124
|
+
data.params.imei = ctx.imei;
|
|
125
|
+
data.params.isE2EE = 0;
|
|
126
|
+
data.params.jxl = 0;
|
|
127
|
+
data.params.chunkId = 1;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const fileBuffer = isFilePath ? await fs.promises.readFile(source) : source.data;
|
|
132
|
+
for (let i = 0; i < data.params.totalChunk; i++) {
|
|
133
|
+
const formData = new FormData();
|
|
134
|
+
const slicedBuffer = fileBuffer.subarray(i * chunkSize, (i + 1) * chunkSize);
|
|
135
|
+
formData.append("chunkContent", slicedBuffer, {
|
|
136
|
+
filename: fileName,
|
|
137
|
+
contentType: "application/octet-stream",
|
|
138
|
+
});
|
|
139
|
+
data.chunkContent[i] = formData;
|
|
140
|
+
}
|
|
141
|
+
attachmentsData.push(data);
|
|
142
|
+
}
|
|
143
|
+
const requests = [], results = [];
|
|
144
|
+
for (let atmIndex = 0; atmIndex < attachmentsData.length; atmIndex++) {
|
|
145
|
+
const data = attachmentsData[atmIndex];
|
|
146
|
+
for (let i = 0; i < data.params.totalChunk; i++) {
|
|
147
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(data.params));
|
|
148
|
+
if (!encryptedParams)
|
|
149
|
+
throw new ZaloApiError("Failed to encrypt message");
|
|
150
|
+
requests.push(utils
|
|
151
|
+
.request(utils.makeURL(url + urlType[data.fileType], { type: typeParam, params: encryptedParams }), {
|
|
152
|
+
method: "POST",
|
|
153
|
+
headers: data.chunkContent[i].getHeaders(),
|
|
154
|
+
body: data.chunkContent[i].getBuffer(),
|
|
155
|
+
})
|
|
156
|
+
.then(async (response) => {
|
|
157
|
+
/**
|
|
158
|
+
* @TODO: better type rather than any
|
|
159
|
+
*/
|
|
160
|
+
const resData = await resolveResponse(ctx, response);
|
|
161
|
+
if (resData && resData.fileId != "-1" && resData.photoId != "-1")
|
|
162
|
+
await new Promise((resolve) => {
|
|
163
|
+
if (data.fileType == "video" || data.fileType == "others") {
|
|
164
|
+
const uploadCallback = async (wsData) => {
|
|
165
|
+
const result = Object.assign(Object.assign(Object.assign({ fileType: data.fileType }, resData), wsData), { totalSize: data.fileData.totalSize, fileName: data.fileData.fileName, checksum: (await getMd5LargeFileObject(data.source, data.fileData.totalSize)).data });
|
|
166
|
+
results[atmIndex] = result;
|
|
167
|
+
resolve();
|
|
168
|
+
};
|
|
169
|
+
ctx.uploadCallbacks.set(resData.fileId.toString(), uploadCallback);
|
|
170
|
+
}
|
|
171
|
+
if (data.fileType == "image") {
|
|
172
|
+
const result = {
|
|
173
|
+
fileType: "image",
|
|
174
|
+
width: data.fileData.width,
|
|
175
|
+
height: data.fileData.height,
|
|
176
|
+
totalSize: data.fileData.totalSize,
|
|
177
|
+
hdSize: data.fileData.totalSize,
|
|
178
|
+
finished: resData.finished,
|
|
179
|
+
normalUrl: resData.normalUrl,
|
|
180
|
+
hdUrl: resData.hdUrl,
|
|
181
|
+
thumbUrl: resData.thumbUrl,
|
|
182
|
+
chunkId: resData.chunkId,
|
|
183
|
+
photoId: resData.photoId,
|
|
184
|
+
clientFileId: resData.clientFileId,
|
|
185
|
+
};
|
|
186
|
+
results[atmIndex] = result;
|
|
187
|
+
resolve();
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}));
|
|
191
|
+
data.params.chunkId++;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
await Promise.all(requests);
|
|
195
|
+
return results;
|
|
196
|
+
};
|
|
197
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AttachmentSource } from "../models/index.js";
|
|
2
|
+
export type UploadProductPhotoPayload = {
|
|
3
|
+
file: AttachmentSource;
|
|
4
|
+
};
|
|
5
|
+
export type UploadProductPhotoResponse = {
|
|
6
|
+
normalUrl: string;
|
|
7
|
+
photoId: string;
|
|
8
|
+
finished: number;
|
|
9
|
+
hdUrl: string;
|
|
10
|
+
thumbUrl: string;
|
|
11
|
+
clientFileId: number;
|
|
12
|
+
chunkId: number;
|
|
13
|
+
};
|
|
14
|
+
export declare const uploadProductPhotoFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (payload: UploadProductPhotoPayload) => Promise<UploadProductPhotoResponse>;
|