@trungdlp/zca-js 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (547) hide show
  1. package/.prettierrc +5 -0
  2. package/CODE_OF_CONDUCT.md +163 -0
  3. package/CONTRIBUTING.md +470 -0
  4. package/LICENSE +21 -0
  5. package/README.md +225 -0
  6. package/SECURITY.md +83 -0
  7. package/dist/Errors/ZaloApiError.d.ts +4 -0
  8. package/dist/Errors/ZaloApiError.js +7 -0
  9. package/dist/Errors/ZaloApiLoginQRAborted.d.ts +4 -0
  10. package/dist/Errors/ZaloApiLoginQRAborted.js +7 -0
  11. package/dist/Errors/ZaloApiLoginQRDeclined.d.ts +4 -0
  12. package/dist/Errors/ZaloApiLoginQRDeclined.js +7 -0
  13. package/dist/Errors/ZaloApiMissingImageMetadataGetter.d.ts +4 -0
  14. package/dist/Errors/ZaloApiMissingImageMetadataGetter.js +7 -0
  15. package/dist/Errors/index.d.ts +4 -0
  16. package/dist/Errors/index.js +4 -0
  17. package/dist/apis/acceptFriendRequest.d.ts +2 -0
  18. package/dist/apis/acceptFriendRequest.js +28 -0
  19. package/dist/apis/addGroupBlockedMember.d.ts +2 -0
  20. package/dist/apis/addGroupBlockedMember.js +28 -0
  21. package/dist/apis/addGroupDeputy.d.ts +2 -0
  22. package/dist/apis/addGroupDeputy.js +30 -0
  23. package/dist/apis/addPollOptions.d.ts +14 -0
  24. package/dist/apis/addPollOptions.js +26 -0
  25. package/dist/apis/addQuickMessage.d.ts +11 -0
  26. package/dist/apis/addQuickMessage.js +60 -0
  27. package/dist/apis/addReaction.d.ts +18 -0
  28. package/dist/apis/addReaction.js +294 -0
  29. package/dist/apis/addUnreadMark.d.ts +8 -0
  30. package/dist/apis/addUnreadMark.js +52 -0
  31. package/dist/apis/addUserToGroup.d.ts +5 -0
  32. package/dist/apis/addUserToGroup.js +34 -0
  33. package/dist/apis/blockUser.d.ts +2 -0
  34. package/dist/apis/blockUser.js +28 -0
  35. package/dist/apis/blockViewFeed.d.ts +2 -0
  36. package/dist/apis/blockViewFeed.js +30 -0
  37. package/dist/apis/changeAccountAvatar.d.ts +3 -0
  38. package/dist/apis/changeAccountAvatar.js +52 -0
  39. package/dist/apis/changeFriendAlias.d.ts +2 -0
  40. package/dist/apis/changeFriendAlias.js +27 -0
  41. package/dist/apis/changeGroupAvatar.d.ts +3 -0
  42. package/dist/apis/changeGroupAvatar.js +44 -0
  43. package/dist/apis/changeGroupName.d.ts +4 -0
  44. package/dist/apis/changeGroupName.js +32 -0
  45. package/dist/apis/changeGroupOwner.d.ts +4 -0
  46. package/dist/apis/changeGroupOwner.js +30 -0
  47. package/dist/apis/createAutoReply.d.ts +14 -0
  48. package/dist/apis/createAutoReply.js +37 -0
  49. package/dist/apis/createCatalog.d.ts +7 -0
  50. package/dist/apis/createCatalog.js +29 -0
  51. package/dist/apis/createGroup.d.ts +28 -0
  52. package/dist/apis/createGroup.js +43 -0
  53. package/dist/apis/createNote.d.ts +7 -0
  54. package/dist/apis/createNote.js +47 -0
  55. package/dist/apis/createPoll.d.ts +36 -0
  56. package/dist/apis/createPoll.js +40 -0
  57. package/dist/apis/createProductCatalog.d.ts +23 -0
  58. package/dist/apis/createProductCatalog.js +50 -0
  59. package/dist/apis/createReminder.d.ts +12 -0
  60. package/dist/apis/createReminder.js +63 -0
  61. package/dist/apis/custom.d.ts +9 -0
  62. package/dist/apis/custom.js +15 -0
  63. package/dist/apis/deleteAutoReply.d.ts +5 -0
  64. package/dist/apis/deleteAutoReply.js +29 -0
  65. package/dist/apis/deleteAvatar.d.ts +9 -0
  66. package/dist/apis/deleteAvatar.js +27 -0
  67. package/dist/apis/deleteCatalog.d.ts +2 -0
  68. package/dist/apis/deleteCatalog.js +28 -0
  69. package/dist/apis/deleteChat.d.ts +19 -0
  70. package/dist/apis/deleteChat.js +50 -0
  71. package/dist/apis/deleteGroupInviteBox.d.ts +9 -0
  72. package/dist/apis/deleteGroupInviteBox.js +27 -0
  73. package/dist/apis/deleteMessage.d.ts +14 -0
  74. package/dist/apis/deleteMessage.js +52 -0
  75. package/dist/apis/deleteProductCatalog.d.ts +10 -0
  76. package/dist/apis/deleteProductCatalog.js +31 -0
  77. package/dist/apis/disableGroupLink.d.ts +2 -0
  78. package/dist/apis/disableGroupLink.js +24 -0
  79. package/dist/apis/disperseGroup.d.ts +2 -0
  80. package/dist/apis/disperseGroup.js +28 -0
  81. package/dist/apis/editNote.d.ts +17 -0
  82. package/dist/apis/editNote.js +46 -0
  83. package/dist/apis/editReminder.d.ts +13 -0
  84. package/dist/apis/editReminder.js +61 -0
  85. package/dist/apis/enableGroupLink.d.ts +6 -0
  86. package/dist/apis/enableGroupLink.js +25 -0
  87. package/dist/apis/fetchAccountInfo.d.ts +3 -0
  88. package/dist/apis/fetchAccountInfo.js +10 -0
  89. package/dist/apis/findUser.d.ts +3 -0
  90. package/dist/apis/findUser.js +41 -0
  91. package/dist/apis/findUserByUsername.d.ts +3 -0
  92. package/dist/apis/findUserByUsername.js +26 -0
  93. package/dist/apis/forwardMessage.d.ts +24 -0
  94. package/dist/apis/forwardMessage.js +99 -0
  95. package/dist/apis/getAliasList.d.ts +8 -0
  96. package/dist/apis/getAliasList.js +27 -0
  97. package/dist/apis/getAllFriends.d.ts +3 -0
  98. package/dist/apis/getAllFriends.js +33 -0
  99. package/dist/apis/getAllGroups.d.ts +7 -0
  100. package/dist/apis/getAllGroups.js +10 -0
  101. package/dist/apis/getArchivedChatList.d.ts +5 -0
  102. package/dist/apis/getArchivedChatList.js +23 -0
  103. package/dist/apis/getAutoDeleteChat.d.ts +9 -0
  104. package/dist/apis/getAutoDeleteChat.js +21 -0
  105. package/dist/apis/getAutoReplyList.d.ts +6 -0
  106. package/dist/apis/getAutoReplyList.js +24 -0
  107. package/dist/apis/getAvatarList.d.ts +12 -0
  108. package/dist/apis/getAvatarList.js +28 -0
  109. package/dist/apis/getAvatarUrlProfile.d.ts +6 -0
  110. package/dist/apis/getAvatarUrlProfile.js +29 -0
  111. package/dist/apis/getBizAccount.d.ts +24 -0
  112. package/dist/apis/getBizAccount.js +27 -0
  113. package/dist/apis/getCatalogList.d.ts +18 -0
  114. package/dist/apis/getCatalogList.js +32 -0
  115. package/dist/apis/getCloseFriends.d.ts +3 -0
  116. package/dist/apis/getCloseFriends.js +20 -0
  117. package/dist/apis/getContext.d.ts +1 -0
  118. package/dist/apis/getContext.js +4 -0
  119. package/dist/apis/getCookie.d.ts +1 -0
  120. package/dist/apis/getCookie.js +9 -0
  121. package/dist/apis/getFriendBoardList.d.ts +5 -0
  122. package/dist/apis/getFriendBoardList.js +26 -0
  123. package/dist/apis/getFriendOnlines.d.ts +10 -0
  124. package/dist/apis/getFriendOnlines.js +35 -0
  125. package/dist/apis/getFriendRecommendations.d.ts +42 -0
  126. package/dist/apis/getFriendRecommendations.js +27 -0
  127. package/dist/apis/getFriendRequestStatus.d.ts +8 -0
  128. package/dist/apis/getFriendRequestStatus.js +25 -0
  129. package/dist/apis/getFullAvatar.d.ts +5 -0
  130. package/dist/apis/getFullAvatar.js +25 -0
  131. package/dist/apis/getGroupBlockedMember.d.ts +23 -0
  132. package/dist/apis/getGroupBlockedMember.js +29 -0
  133. package/dist/apis/getGroupChatHistory.d.ts +8 -0
  134. package/dist/apis/getGroupChatHistory.js +36 -0
  135. package/dist/apis/getGroupInfo.d.ts +16 -0
  136. package/dist/apis/getGroupInfo.js +32 -0
  137. package/dist/apis/getGroupInviteBoxInfo.d.ts +32 -0
  138. package/dist/apis/getGroupInviteBoxInfo.js +38 -0
  139. package/dist/apis/getGroupInviteBoxList.d.ts +38 -0
  140. package/dist/apis/getGroupInviteBoxList.js +31 -0
  141. package/dist/apis/getGroupLinkDetail.d.ts +9 -0
  142. package/dist/apis/getGroupLinkDetail.js +25 -0
  143. package/dist/apis/getGroupLinkInfo.d.ts +34 -0
  144. package/dist/apis/getGroupLinkInfo.js +28 -0
  145. package/dist/apis/getGroupMembersInfo.d.ts +17 -0
  146. package/dist/apis/getGroupMembersInfo.js +24 -0
  147. package/dist/apis/getHiddenConversations.d.ts +11 -0
  148. package/dist/apis/getHiddenConversations.js +23 -0
  149. package/dist/apis/getLabels.d.ts +7 -0
  150. package/dist/apis/getLabels.js +28 -0
  151. package/dist/apis/getListBoard.d.ts +21 -0
  152. package/dist/apis/getListBoard.js +45 -0
  153. package/dist/apis/getListReminder.d.ts +28 -0
  154. package/dist/apis/getListReminder.js +47 -0
  155. package/dist/apis/getMultiUsersByPhone.d.ts +5 -0
  156. package/dist/apis/getMultiUsersByPhone.js +38 -0
  157. package/dist/apis/getMute.d.ts +13 -0
  158. package/dist/apis/getMute.js +22 -0
  159. package/dist/apis/getOwnId.d.ts +1 -0
  160. package/dist/apis/getOwnId.js +4 -0
  161. package/dist/apis/getPendingGroupMembers.d.ts +11 -0
  162. package/dist/apis/getPendingGroupMembers.js +27 -0
  163. package/dist/apis/getPinConversations.d.ts +5 -0
  164. package/dist/apis/getPinConversations.js +22 -0
  165. package/dist/apis/getPollDetail.d.ts +3 -0
  166. package/dist/apis/getPollDetail.js +30 -0
  167. package/dist/apis/getProductCatalogList.d.ts +20 -0
  168. package/dist/apis/getProductCatalogList.js +33 -0
  169. package/dist/apis/getQR.d.ts +4 -0
  170. package/dist/apis/getQR.js +29 -0
  171. package/dist/apis/getQuickMessageList.d.ts +7 -0
  172. package/dist/apis/getQuickMessageList.js +24 -0
  173. package/dist/apis/getRelatedFriendGroup.d.ts +6 -0
  174. package/dist/apis/getRelatedFriendGroup.js +30 -0
  175. package/dist/apis/getReminder.d.ts +3 -0
  176. package/dist/apis/getReminder.js +25 -0
  177. package/dist/apis/getReminderResponses.d.ts +5 -0
  178. package/dist/apis/getReminderResponses.js +24 -0
  179. package/dist/apis/getSearchSticker.d.ts +3 -0
  180. package/dist/apis/getSearchSticker.js +28 -0
  181. package/dist/apis/getSentFriendRequest.d.ts +18 -0
  182. package/dist/apis/getSentFriendRequest.js +24 -0
  183. package/dist/apis/getSettings.d.ts +3 -0
  184. package/dist/apis/getSettings.js +20 -0
  185. package/dist/apis/getStickerCategoryDetail.d.ts +3 -0
  186. package/dist/apis/getStickerCategoryDetail.js +24 -0
  187. package/dist/apis/getStickers.d.ts +1 -0
  188. package/dist/apis/getStickers.js +40 -0
  189. package/dist/apis/getStickersDetail.d.ts +3 -0
  190. package/dist/apis/getStickersDetail.js +40 -0
  191. package/dist/apis/getUnreadMark.d.ts +14 -0
  192. package/dist/apis/getUnreadMark.js +30 -0
  193. package/dist/apis/getUserInfo.d.ts +8 -0
  194. package/dist/apis/getUserInfo.js +43 -0
  195. package/dist/apis/inviteUserToGroups.d.ts +10 -0
  196. package/dist/apis/inviteUserToGroups.js +30 -0
  197. package/dist/apis/joinGroupInviteBox.d.ts +2 -0
  198. package/dist/apis/joinGroupInviteBox.js +25 -0
  199. package/dist/apis/joinGroupLink.d.ts +2 -0
  200. package/dist/apis/joinGroupLink.js +27 -0
  201. package/dist/apis/keepAlive.d.ts +4 -0
  202. package/dist/apis/keepAlive.js +22 -0
  203. package/dist/apis/lastOnline.d.ts +7 -0
  204. package/dist/apis/lastOnline.js +26 -0
  205. package/dist/apis/leaveGroup.d.ts +4 -0
  206. package/dist/apis/leaveGroup.js +33 -0
  207. package/dist/apis/listen.d.ts +102 -0
  208. package/dist/apis/listen.js +425 -0
  209. package/dist/apis/lockPoll.d.ts +2 -0
  210. package/dist/apis/lockPoll.js +28 -0
  211. package/dist/apis/login.d.ts +3 -0
  212. package/dist/apis/login.js +96 -0
  213. package/dist/apis/loginQR.d.ts +70 -0
  214. package/dist/apis/loginQR.js +365 -0
  215. package/dist/apis/parseLink.d.ts +21 -0
  216. package/dist/apis/parseLink.js +27 -0
  217. package/dist/apis/rejectFriendRequest.d.ts +2 -0
  218. package/dist/apis/rejectFriendRequest.js +27 -0
  219. package/dist/apis/removeFriend.d.ts +2 -0
  220. package/dist/apis/removeFriend.js +28 -0
  221. package/dist/apis/removeFriendAlias.d.ts +2 -0
  222. package/dist/apis/removeFriendAlias.js +24 -0
  223. package/dist/apis/removeGroupBlockedMember.d.ts +2 -0
  224. package/dist/apis/removeGroupBlockedMember.js +28 -0
  225. package/dist/apis/removeGroupDeputy.d.ts +2 -0
  226. package/dist/apis/removeGroupDeputy.js +30 -0
  227. package/dist/apis/removeQuickMessage.d.ts +5 -0
  228. package/dist/apis/removeQuickMessage.js +27 -0
  229. package/dist/apis/removeReminder.d.ts +3 -0
  230. package/dist/apis/removeReminder.js +40 -0
  231. package/dist/apis/removeUnreadMark.d.ts +8 -0
  232. package/dist/apis/removeUnreadMark.js +50 -0
  233. package/dist/apis/removeUserFromGroup.d.ts +4 -0
  234. package/dist/apis/removeUserFromGroup.js +34 -0
  235. package/dist/apis/resetHiddenConversPin.d.ts +2 -0
  236. package/dist/apis/resetHiddenConversPin.js +20 -0
  237. package/dist/apis/reuseAvatar.d.ts +2 -0
  238. package/dist/apis/reuseAvatar.js +26 -0
  239. package/dist/apis/reviewPendingMemberRequest.d.ts +14 -0
  240. package/dist/apis/reviewPendingMemberRequest.js +38 -0
  241. package/dist/apis/sendBankCard.d.ts +9 -0
  242. package/dist/apis/sendBankCard.js +37 -0
  243. package/dist/apis/sendCard.d.ts +10 -0
  244. package/dist/apis/sendCard.js +59 -0
  245. package/dist/apis/sendDeliveredEvent.d.ts +16 -0
  246. package/dist/apis/sendDeliveredEvent.js +55 -0
  247. package/dist/apis/sendFriendRequest.d.ts +2 -0
  248. package/dist/apis/sendFriendRequest.js +39 -0
  249. package/dist/apis/sendLink.d.ts +10 -0
  250. package/dist/apis/sendLink.js +61 -0
  251. package/dist/apis/sendMessage.d.ts +99 -0
  252. package/dist/apis/sendMessage.js +451 -0
  253. package/dist/apis/sendReport.d.ts +17 -0
  254. package/dist/apis/sendReport.js +53 -0
  255. package/dist/apis/sendSeenEvent.d.ts +16 -0
  256. package/dist/apis/sendSeenEvent.js +63 -0
  257. package/dist/apis/sendSticker.d.ts +10 -0
  258. package/dist/apis/sendSticker.js +57 -0
  259. package/dist/apis/sendTypingEvent.d.ts +5 -0
  260. package/dist/apis/sendTypingEvent.js +33 -0
  261. package/dist/apis/sendVideo.d.ts +35 -0
  262. package/dist/apis/sendVideo.js +118 -0
  263. package/dist/apis/sendVoice.d.ts +12 -0
  264. package/dist/apis/sendVoice.js +73 -0
  265. package/dist/apis/setArchivedConversations.d.ts +10 -0
  266. package/dist/apis/setArchivedConversations.js +34 -0
  267. package/dist/apis/setHiddenConversations.d.ts +3 -0
  268. package/dist/apis/setHiddenConversations.js +39 -0
  269. package/dist/apis/setMute.d.ts +20 -0
  270. package/dist/apis/setMute.js +67 -0
  271. package/dist/apis/setPinnedConversations.d.ts +3 -0
  272. package/dist/apis/setPinnedConversations.js +34 -0
  273. package/dist/apis/sharePoll.d.ts +2 -0
  274. package/dist/apis/sharePoll.js +28 -0
  275. package/dist/apis/unblockUser.d.ts +2 -0
  276. package/dist/apis/unblockUser.js +28 -0
  277. package/dist/apis/undo.d.ts +9 -0
  278. package/dist/apis/undo.js +42 -0
  279. package/dist/apis/undoFriendRequest.d.ts +2 -0
  280. package/dist/apis/undoFriendRequest.js +27 -0
  281. package/dist/apis/updateActiveStatus.d.ts +4 -0
  282. package/dist/apis/updateActiveStatus.js +27 -0
  283. package/dist/apis/updateAutoDeleteChat.d.ts +9 -0
  284. package/dist/apis/updateAutoDeleteChat.js +40 -0
  285. package/dist/apis/updateAutoReply.d.ts +15 -0
  286. package/dist/apis/updateAutoReply.js +38 -0
  287. package/dist/apis/updateCatalog.d.ts +11 -0
  288. package/dist/apis/updateCatalog.js +30 -0
  289. package/dist/apis/updateGroupSettings.d.ts +40 -0
  290. package/dist/apis/updateGroupSettings.js +43 -0
  291. package/dist/apis/updateHiddenConversPin.d.ts +2 -0
  292. package/dist/apis/updateHiddenConversPin.js +30 -0
  293. package/dist/apis/updateLabels.d.ts +15 -0
  294. package/dist/apis/updateLabels.js +34 -0
  295. package/dist/apis/updateLang.d.ts +6 -0
  296. package/dist/apis/updateLang.js +30 -0
  297. package/dist/apis/updateProductCatalog.d.ts +25 -0
  298. package/dist/apis/updateProductCatalog.js +51 -0
  299. package/dist/apis/updateProfile.d.ts +20 -0
  300. package/dist/apis/updateProfile.js +43 -0
  301. package/dist/apis/updateQuickMessage.d.ts +11 -0
  302. package/dist/apis/updateQuickMessage.js +61 -0
  303. package/dist/apis/updateSettings.d.ts +16 -0
  304. package/dist/apis/updateSettings.js +90 -0
  305. package/dist/apis/updateStatus.d.ts +2 -0
  306. package/dist/apis/updateStatus.js +27 -0
  307. package/dist/apis/upgradeGroupCommunity.d.ts +2 -0
  308. package/dist/apis/upgradeGroupCommunity.js +27 -0
  309. package/dist/apis/uploadAttachment.d.ts +50 -0
  310. package/dist/apis/uploadAttachment.js +196 -0
  311. package/dist/apis/uploadProductPhoto.d.ts +14 -0
  312. package/dist/apis/uploadProductPhoto.js +50 -0
  313. package/dist/apis/votePoll.d.ts +5 -0
  314. package/dist/apis/votePoll.js +29 -0
  315. package/dist/apis.d.ts +299 -0
  316. package/dist/apis.js +299 -0
  317. package/dist/cjs/Errors/ZaloApiError.cjs +11 -0
  318. package/dist/cjs/Errors/ZaloApiLoginQRAborted.cjs +12 -0
  319. package/dist/cjs/Errors/ZaloApiLoginQRDeclined.cjs +12 -0
  320. package/dist/cjs/Errors/ZaloApiMissingImageMetadataGetter.cjs +12 -0
  321. package/dist/cjs/apis/acceptFriendRequest.cjs +33 -0
  322. package/dist/cjs/apis/addGroupBlockedMember.cjs +33 -0
  323. package/dist/cjs/apis/addGroupDeputy.cjs +35 -0
  324. package/dist/cjs/apis/addPollOptions.cjs +31 -0
  325. package/dist/cjs/apis/addQuickMessage.cjs +65 -0
  326. package/dist/cjs/apis/addReaction.cjs +307 -0
  327. package/dist/cjs/apis/addUnreadMark.cjs +65 -0
  328. package/dist/cjs/apis/addUserToGroup.cjs +39 -0
  329. package/dist/cjs/apis/blockUser.cjs +33 -0
  330. package/dist/cjs/apis/blockViewFeed.cjs +35 -0
  331. package/dist/cjs/apis/changeAccountAvatar.cjs +57 -0
  332. package/dist/cjs/apis/changeFriendAlias.cjs +32 -0
  333. package/dist/cjs/apis/changeGroupAvatar.cjs +49 -0
  334. package/dist/cjs/apis/changeGroupName.cjs +37 -0
  335. package/dist/cjs/apis/changeGroupOwner.cjs +35 -0
  336. package/dist/cjs/apis/createAutoReply.cjs +42 -0
  337. package/dist/cjs/apis/createCatalog.cjs +34 -0
  338. package/dist/cjs/apis/createGroup.cjs +48 -0
  339. package/dist/cjs/apis/createNote.cjs +52 -0
  340. package/dist/cjs/apis/createPoll.cjs +45 -0
  341. package/dist/cjs/apis/createProductCatalog.cjs +55 -0
  342. package/dist/cjs/apis/createReminder.cjs +76 -0
  343. package/dist/cjs/apis/custom.cjs +19 -0
  344. package/dist/cjs/apis/deleteAutoReply.cjs +34 -0
  345. package/dist/cjs/apis/deleteAvatar.cjs +32 -0
  346. package/dist/cjs/apis/deleteCatalog.cjs +33 -0
  347. package/dist/cjs/apis/deleteChat.cjs +63 -0
  348. package/dist/cjs/apis/deleteGroupInviteBox.cjs +32 -0
  349. package/dist/cjs/apis/deleteMessage.cjs +65 -0
  350. package/dist/cjs/apis/deleteProductCatalog.cjs +36 -0
  351. package/dist/cjs/apis/disableGroupLink.cjs +29 -0
  352. package/dist/cjs/apis/disperseGroup.cjs +33 -0
  353. package/dist/cjs/apis/editNote.cjs +51 -0
  354. package/dist/cjs/apis/editReminder.cjs +74 -0
  355. package/dist/cjs/apis/enableGroupLink.cjs +30 -0
  356. package/dist/cjs/apis/fetchAccountInfo.cjs +15 -0
  357. package/dist/cjs/apis/findUser.cjs +46 -0
  358. package/dist/cjs/apis/findUserByUsername.cjs +31 -0
  359. package/dist/cjs/apis/forwardMessage.cjs +112 -0
  360. package/dist/cjs/apis/getAliasList.cjs +32 -0
  361. package/dist/cjs/apis/getAllFriends.cjs +38 -0
  362. package/dist/cjs/apis/getAllGroups.cjs +15 -0
  363. package/dist/cjs/apis/getArchivedChatList.cjs +28 -0
  364. package/dist/cjs/apis/getAutoDeleteChat.cjs +26 -0
  365. package/dist/cjs/apis/getAutoReplyList.cjs +29 -0
  366. package/dist/cjs/apis/getAvatarList.cjs +33 -0
  367. package/dist/cjs/apis/getAvatarUrlProfile.cjs +34 -0
  368. package/dist/cjs/apis/getBizAccount.cjs +32 -0
  369. package/dist/cjs/apis/getCatalogList.cjs +37 -0
  370. package/dist/cjs/apis/getCloseFriends.cjs +25 -0
  371. package/dist/cjs/apis/getContext.cjs +9 -0
  372. package/dist/cjs/apis/getCookie.cjs +14 -0
  373. package/dist/cjs/apis/getFriendBoardList.cjs +31 -0
  374. package/dist/cjs/apis/getFriendOnlines.cjs +40 -0
  375. package/dist/cjs/apis/getFriendRecommendations.cjs +32 -0
  376. package/dist/cjs/apis/getFriendRequestStatus.cjs +30 -0
  377. package/dist/cjs/apis/getFullAvatar.cjs +30 -0
  378. package/dist/cjs/apis/getGroupBlockedMember.cjs +34 -0
  379. package/dist/cjs/apis/getGroupChatHistory.cjs +50 -0
  380. package/dist/cjs/apis/getGroupInfo.cjs +37 -0
  381. package/dist/cjs/apis/getGroupInviteBoxInfo.cjs +43 -0
  382. package/dist/cjs/apis/getGroupInviteBoxList.cjs +36 -0
  383. package/dist/cjs/apis/getGroupLinkDetail.cjs +30 -0
  384. package/dist/cjs/apis/getGroupLinkInfo.cjs +33 -0
  385. package/dist/cjs/apis/getGroupMembersInfo.cjs +29 -0
  386. package/dist/cjs/apis/getHiddenConversations.cjs +28 -0
  387. package/dist/cjs/apis/getLabels.cjs +33 -0
  388. package/dist/cjs/apis/getListBoard.cjs +58 -0
  389. package/dist/cjs/apis/getListReminder.cjs +60 -0
  390. package/dist/cjs/apis/getMultiUsersByPhone.cjs +43 -0
  391. package/dist/cjs/apis/getMute.cjs +27 -0
  392. package/dist/cjs/apis/getOwnId.cjs +9 -0
  393. package/dist/cjs/apis/getPendingGroupMembers.cjs +32 -0
  394. package/dist/cjs/apis/getPinConversations.cjs +27 -0
  395. package/dist/cjs/apis/getPollDetail.cjs +35 -0
  396. package/dist/cjs/apis/getProductCatalogList.cjs +38 -0
  397. package/dist/cjs/apis/getQR.cjs +34 -0
  398. package/dist/cjs/apis/getQuickMessageList.cjs +29 -0
  399. package/dist/cjs/apis/getRelatedFriendGroup.cjs +35 -0
  400. package/dist/cjs/apis/getReminder.cjs +30 -0
  401. package/dist/cjs/apis/getReminderResponses.cjs +29 -0
  402. package/dist/cjs/apis/getSearchSticker.cjs +33 -0
  403. package/dist/cjs/apis/getSentFriendRequest.cjs +29 -0
  404. package/dist/cjs/apis/getSettings.cjs +25 -0
  405. package/dist/cjs/apis/getStickerCategoryDetail.cjs +29 -0
  406. package/dist/cjs/apis/getStickers.cjs +45 -0
  407. package/dist/cjs/apis/getStickersDetail.cjs +45 -0
  408. package/dist/cjs/apis/getUnreadMark.cjs +35 -0
  409. package/dist/cjs/apis/getUserInfo.cjs +48 -0
  410. package/dist/cjs/apis/inviteUserToGroups.cjs +35 -0
  411. package/dist/cjs/apis/joinGroupInviteBox.cjs +30 -0
  412. package/dist/cjs/apis/joinGroupLink.cjs +32 -0
  413. package/dist/cjs/apis/keepAlive.cjs +27 -0
  414. package/dist/cjs/apis/lastOnline.cjs +31 -0
  415. package/dist/cjs/apis/leaveGroup.cjs +38 -0
  416. package/dist/cjs/apis/listen.cjs +439 -0
  417. package/dist/cjs/apis/lockPoll.cjs +33 -0
  418. package/dist/cjs/apis/login.cjs +102 -0
  419. package/dist/cjs/apis/loginQR.cjs +370 -0
  420. package/dist/cjs/apis/parseLink.cjs +32 -0
  421. package/dist/cjs/apis/rejectFriendRequest.cjs +32 -0
  422. package/dist/cjs/apis/removeFriend.cjs +33 -0
  423. package/dist/cjs/apis/removeFriendAlias.cjs +29 -0
  424. package/dist/cjs/apis/removeGroupBlockedMember.cjs +33 -0
  425. package/dist/cjs/apis/removeGroupDeputy.cjs +35 -0
  426. package/dist/cjs/apis/removeQuickMessage.cjs +32 -0
  427. package/dist/cjs/apis/removeReminder.cjs +53 -0
  428. package/dist/cjs/apis/removeUnreadMark.cjs +63 -0
  429. package/dist/cjs/apis/removeUserFromGroup.cjs +39 -0
  430. package/dist/cjs/apis/resetHiddenConversPin.cjs +25 -0
  431. package/dist/cjs/apis/reuseAvatar.cjs +31 -0
  432. package/dist/cjs/apis/reviewPendingMemberRequest.cjs +43 -0
  433. package/dist/cjs/apis/sendBankCard.cjs +50 -0
  434. package/dist/cjs/apis/sendCard.cjs +72 -0
  435. package/dist/cjs/apis/sendDeliveredEvent.cjs +68 -0
  436. package/dist/cjs/apis/sendFriendRequest.cjs +44 -0
  437. package/dist/cjs/apis/sendLink.cjs +74 -0
  438. package/dist/cjs/apis/sendMessage.cjs +464 -0
  439. package/dist/cjs/apis/sendReport.cjs +66 -0
  440. package/dist/cjs/apis/sendSeenEvent.cjs +76 -0
  441. package/dist/cjs/apis/sendSticker.cjs +70 -0
  442. package/dist/cjs/apis/sendTypingEvent.cjs +46 -0
  443. package/dist/cjs/apis/sendVideo.cjs +131 -0
  444. package/dist/cjs/apis/sendVoice.cjs +86 -0
  445. package/dist/cjs/apis/setArchivedConversations.cjs +39 -0
  446. package/dist/cjs/apis/setHiddenConversations.cjs +52 -0
  447. package/dist/cjs/apis/setMute.cjs +80 -0
  448. package/dist/cjs/apis/setPinnedConversations.cjs +47 -0
  449. package/dist/cjs/apis/sharePoll.cjs +33 -0
  450. package/dist/cjs/apis/unblockUser.cjs +33 -0
  451. package/dist/cjs/apis/undo.cjs +55 -0
  452. package/dist/cjs/apis/undoFriendRequest.cjs +32 -0
  453. package/dist/cjs/apis/updateActiveStatus.cjs +32 -0
  454. package/dist/cjs/apis/updateAutoDeleteChat.cjs +53 -0
  455. package/dist/cjs/apis/updateAutoReply.cjs +43 -0
  456. package/dist/cjs/apis/updateCatalog.cjs +35 -0
  457. package/dist/cjs/apis/updateGroupSettings.cjs +48 -0
  458. package/dist/cjs/apis/updateHiddenConversPin.cjs +35 -0
  459. package/dist/cjs/apis/updateLabels.cjs +39 -0
  460. package/dist/cjs/apis/updateLang.cjs +35 -0
  461. package/dist/cjs/apis/updateProductCatalog.cjs +56 -0
  462. package/dist/cjs/apis/updateProfile.cjs +48 -0
  463. package/dist/cjs/apis/updateQuickMessage.cjs +66 -0
  464. package/dist/cjs/apis/updateSettings.cjs +95 -0
  465. package/dist/cjs/apis/updateStatus.cjs +32 -0
  466. package/dist/cjs/apis/upgradeGroupCommunity.cjs +32 -0
  467. package/dist/cjs/apis/uploadAttachment.cjs +209 -0
  468. package/dist/cjs/apis/uploadProductPhoto.cjs +55 -0
  469. package/dist/cjs/apis/votePoll.cjs +34 -0
  470. package/dist/cjs/apis.cjs +304 -0
  471. package/dist/cjs/context.cjs +34 -0
  472. package/dist/cjs/index.cjs +149 -0
  473. package/dist/cjs/models/AutoReply.cjs +9 -0
  474. package/dist/cjs/models/Board.cjs +8 -0
  475. package/dist/cjs/models/DeliveredMessage.cjs +23 -0
  476. package/dist/cjs/models/Enum.cjs +253 -0
  477. package/dist/cjs/models/FriendEvent.cjs +87 -0
  478. package/dist/cjs/models/Group.cjs +13 -0
  479. package/dist/cjs/models/GroupEvent.cjs +94 -0
  480. package/dist/cjs/models/Message.cjs +35 -0
  481. package/dist/cjs/models/Reaction.cjs +74 -0
  482. package/dist/cjs/models/Reminder.cjs +9 -0
  483. package/dist/cjs/models/SeenMessage.cjs +23 -0
  484. package/dist/cjs/models/Typing.cjs +23 -0
  485. package/dist/cjs/models/Undo.cjs +16 -0
  486. package/dist/cjs/models/ZBusiness.cjs +39 -0
  487. package/dist/cjs/update.cjs +34 -0
  488. package/dist/cjs/utils.cjs +680 -0
  489. package/dist/cjs/zalo.cjs +112 -0
  490. package/dist/context.d.ts +179 -0
  491. package/dist/context.js +28 -0
  492. package/dist/index.d.ts +156 -0
  493. package/dist/index.js +13 -0
  494. package/dist/models/Attachment.d.ts +9 -0
  495. package/dist/models/Attachment.js +1 -0
  496. package/dist/models/AutoReply.d.ts +20 -0
  497. package/dist/models/AutoReply.js +7 -0
  498. package/dist/models/Board.d.ts +60 -0
  499. package/dist/models/Board.js +6 -0
  500. package/dist/models/Catalog.d.ts +16 -0
  501. package/dist/models/Catalog.js +1 -0
  502. package/dist/models/DeliveredMessage.d.ts +27 -0
  503. package/dist/models/DeliveredMessage.js +17 -0
  504. package/dist/models/Enum.d.ts +247 -0
  505. package/dist/models/Enum.js +251 -0
  506. package/dist/models/FriendEvent.d.ts +107 -0
  507. package/dist/models/FriendEvent.js +83 -0
  508. package/dist/models/Group.d.ts +125 -0
  509. package/dist/models/Group.js +11 -0
  510. package/dist/models/GroupEvent.d.ts +178 -0
  511. package/dist/models/GroupEvent.js +90 -0
  512. package/dist/models/Label.d.ts +10 -0
  513. package/dist/models/Label.js +1 -0
  514. package/dist/models/Message.d.ts +91 -0
  515. package/dist/models/Message.js +29 -0
  516. package/dist/models/ProductCatalog.d.ts +17 -0
  517. package/dist/models/ProductCatalog.js +1 -0
  518. package/dist/models/QuickMessage.d.ts +25 -0
  519. package/dist/models/QuickMessage.js +1 -0
  520. package/dist/models/Reaction.d.ts +85 -0
  521. package/dist/models/Reaction.js +70 -0
  522. package/dist/models/Reminder.d.ts +51 -0
  523. package/dist/models/Reminder.js +7 -0
  524. package/dist/models/SeenMessage.d.ts +26 -0
  525. package/dist/models/SeenMessage.js +17 -0
  526. package/dist/models/Sticker.d.ts +27 -0
  527. package/dist/models/Sticker.js +1 -0
  528. package/dist/models/Typing.d.ts +24 -0
  529. package/dist/models/Typing.js +17 -0
  530. package/dist/models/Undo.d.ts +34 -0
  531. package/dist/models/Undo.js +12 -0
  532. package/dist/models/User.d.ts +62 -0
  533. package/dist/models/User.js +1 -0
  534. package/dist/models/ZBusiness.d.ts +22 -0
  535. package/dist/models/ZBusiness.js +35 -0
  536. package/dist/models/index.d.ts +21 -0
  537. package/dist/models/index.js +21 -0
  538. package/dist/update.d.ts +2 -0
  539. package/dist/update.js +29 -0
  540. package/dist/utils.d.ts +166 -0
  541. package/dist/utils.js +697 -0
  542. package/dist/zalo.d.ts +41 -0
  543. package/dist/zalo.js +107 -0
  544. package/eslint.config.js +21 -0
  545. package/index.d.ts +2 -0
  546. package/package.json +78 -0
  547. package/rollup.config.js +28 -0
@@ -0,0 +1,14 @@
1
+ import type { AutoReplyItem, AutoReplyScope } from "../models/index.js";
2
+ export type CreateAutoReplyPayload = {
3
+ content: string;
4
+ isEnable: boolean;
5
+ startTime: number;
6
+ endTime: number;
7
+ scope: AutoReplyScope;
8
+ uids?: string | string[];
9
+ };
10
+ export type CreateAutoReplyResponse = {
11
+ item: AutoReplyItem;
12
+ version: number;
13
+ };
14
+ export declare const createAutoReplyFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (payload: CreateAutoReplyPayload) => Promise<CreateAutoReplyResponse>;
@@ -0,0 +1,37 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const createAutoReplyFactory = apiFactory()((api, ctx, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.auto_reply[0]}/api/autoreply/create`);
5
+ /**
6
+ * Create auto reply
7
+ *
8
+ * @param payload payload
9
+ *
10
+ * @note this API used for zBusiness
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function createAutoReply(payload) {
14
+ const uids = Array.isArray(payload.uids) ? payload.uids : [payload.uids];
15
+ const resultUids = (payload.scope === 2 || payload.scope === 3) ? uids : [];
16
+ const params = {
17
+ cliLang: ctx.language,
18
+ enable: payload.isEnable,
19
+ content: payload.content,
20
+ startTime: payload.startTime,
21
+ endTime: payload.endTime,
22
+ recurrence: ["RRULE:FREQ=DAILY;"],
23
+ scope: payload.scope,
24
+ uids: resultUids,
25
+ };
26
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
27
+ if (!encryptedParams)
28
+ throw new ZaloApiError("Failed to encrypt params");
29
+ const response = await utils.request(serviceURL, {
30
+ method: "POST",
31
+ body: new URLSearchParams({
32
+ params: encryptedParams,
33
+ }),
34
+ });
35
+ return utils.resolve(response);
36
+ };
37
+ });
@@ -0,0 +1,7 @@
1
+ import type { CatalogItem } from "../models/index.js";
2
+ export type CreateCatalogResponse = {
3
+ item: CatalogItem;
4
+ version_ls_catalog: number;
5
+ version_catalog: number;
6
+ };
7
+ export declare const createCatalogFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (catalogName: string) => Promise<CreateCatalogResponse>;
@@ -0,0 +1,29 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const createCatalogFactory = apiFactory()((api, _, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.catalog[0]}/api/prodcatalog/catalog/create`);
5
+ /**
6
+ * Create catalog?
7
+ *
8
+ * @param catalogName catalog name
9
+ *
10
+ * @note this API is used for zBusiness
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function createCatalog(catalogName) {
14
+ const params = {
15
+ catalog_name: catalogName,
16
+ catalog_photo: "",
17
+ };
18
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
19
+ if (!encryptedParams)
20
+ throw new ZaloApiError("Failed to encrypt params");
21
+ const response = await utils.request(serviceURL, {
22
+ method: "POST",
23
+ body: new URLSearchParams({
24
+ params: encryptedParams,
25
+ }),
26
+ });
27
+ return utils.resolve(response);
28
+ };
29
+ });
@@ -0,0 +1,28 @@
1
+ import type { AttachmentSource } from "../models/index.js";
2
+ export type CreateGroupResponse = {
3
+ groupType: number;
4
+ sucessMembers: string[];
5
+ groupId: string;
6
+ errorMembers: string[];
7
+ error_data: Record<string, unknown>;
8
+ };
9
+ export type CreateGroupOptions = {
10
+ /**
11
+ * Group name
12
+ */
13
+ name?: string;
14
+ /**
15
+ * List of member IDs to add to the group
16
+ */
17
+ members: string[];
18
+ /**
19
+ * Avatar source, can be a file path or an Attachment object
20
+ */
21
+ avatarSource?: AttachmentSource;
22
+ /**
23
+ * Path to the avatar image file
24
+ * @deprecated Use `avatarSource` instead
25
+ */
26
+ avatarPath?: string;
27
+ };
28
+ export declare const createGroupFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (options: CreateGroupOptions) => Promise<CreateGroupResponse>;
@@ -0,0 +1,43 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const createGroupFactory = apiFactory()((api, ctx, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.group[0]}/api/group/create/v2`);
5
+ /**
6
+ * Create a new group
7
+ *
8
+ * @param options Group options
9
+ *
10
+ * @throws {ZaloApiError}
11
+ */
12
+ return async function createGroup(options) {
13
+ if (options.members.length == 0)
14
+ throw new ZaloApiError("Group must have at least one member");
15
+ const params = {
16
+ clientId: Date.now(),
17
+ gname: String(Date.now()),
18
+ gdesc: null,
19
+ members: options.members,
20
+ membersTypes: options.members.map(() => -1),
21
+ nameChanged: 0,
22
+ createLink: 1,
23
+ clientLang: ctx.language,
24
+ imei: ctx.imei,
25
+ zsource: 601,
26
+ };
27
+ if (options.name && options.name.length > 0) {
28
+ params.gname = options.name;
29
+ params.nameChanged = 1;
30
+ }
31
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
32
+ if (!encryptedParams)
33
+ throw new ZaloApiError("Failed to encrypt message");
34
+ const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
35
+ method: "POST",
36
+ });
37
+ const data = await utils.resolve(response);
38
+ options.avatarSource = options.avatarSource || options.avatarPath;
39
+ if (options.avatarSource)
40
+ await api.changeGroupAvatar(options.avatarSource, data.groupId).catch(utils.logger.error);
41
+ return data;
42
+ };
43
+ });
@@ -0,0 +1,7 @@
1
+ import type { NoteDetail } from "../models/index.js";
2
+ export type CreateNoteOptions = {
3
+ title: string;
4
+ pinAct?: boolean;
5
+ };
6
+ export type CreateNoteResponse = NoteDetail;
7
+ export declare const createNoteFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (options: CreateNoteOptions, groupId: string) => Promise<NoteDetail>;
@@ -0,0 +1,47 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const createNoteFactory = apiFactory()((api, ctx, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.group_board[0]}/api/board/topic/createv2`);
5
+ /**
6
+ * Create a note in a group
7
+ *
8
+ * @param options note options
9
+ * @param options.title note title
10
+ * @param options.pinAct pin action (pin note)
11
+ * @param groupId group id
12
+ *
13
+ * @throws {ZaloApiError}
14
+ */
15
+ return async function createNote(options, groupId) {
16
+ const params = {
17
+ grid: groupId,
18
+ type: 0,
19
+ color: -16777216,
20
+ emoji: "",
21
+ startTime: -1,
22
+ duration: -1,
23
+ params: JSON.stringify({
24
+ title: options.title,
25
+ }),
26
+ repeat: 0,
27
+ src: 1,
28
+ imei: ctx.imei,
29
+ pinAct: options.pinAct ? 1 : 0,
30
+ };
31
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
32
+ if (!encryptedParams)
33
+ throw new ZaloApiError("Failed to encrypt params");
34
+ const response = await utils.request(serviceURL, {
35
+ method: "POST",
36
+ body: new URLSearchParams({
37
+ params: encryptedParams,
38
+ }),
39
+ });
40
+ return utils.resolve(response, (result) => {
41
+ if (typeof result.data.params === "string") {
42
+ result.data.params = JSON.parse(result.data.params);
43
+ }
44
+ return result.data;
45
+ });
46
+ };
47
+ });
@@ -0,0 +1,36 @@
1
+ import type { PollDetail } from "../models/index.js";
2
+ /**
3
+ * Options for creating a poll.
4
+ */
5
+ export type CreatePollOptions = {
6
+ /**
7
+ * Question for the poll.
8
+ */
9
+ question: string;
10
+ /**
11
+ * List of options for the poll.
12
+ */
13
+ options: string[];
14
+ /**
15
+ * Poll expiration time in milliseconds (0 = no expiration).
16
+ */
17
+ expiredTime?: number;
18
+ /**
19
+ * Allows multiple choices in the poll.
20
+ */
21
+ allowMultiChoices?: boolean;
22
+ /**
23
+ * Allows members to add new options to the poll.
24
+ */
25
+ allowAddNewOption?: boolean;
26
+ /**
27
+ * Hides voting results until the user has voted.
28
+ */
29
+ hideVotePreview?: boolean;
30
+ /**
31
+ * Hides poll voters (anonymous poll).
32
+ */
33
+ isAnonymous?: boolean;
34
+ };
35
+ export type CreatePollResponse = PollDetail;
36
+ export declare const createPollFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (options: CreatePollOptions, groupId: string) => Promise<PollDetail>;
@@ -0,0 +1,40 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const createPollFactory = apiFactory()((api, ctx, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.group[0]}/api/poll/create`);
5
+ /**
6
+ * Create a poll in a group.
7
+ *
8
+ * @param options Poll options
9
+ * @param groupId Group ID to create poll from
10
+ *
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function createPoll(options, groupId) {
14
+ var _a;
15
+ const params = {
16
+ group_id: groupId,
17
+ question: options.question,
18
+ options: options.options,
19
+ expired_time: (_a = options.expiredTime) !== null && _a !== void 0 ? _a : 0,
20
+ pinAct: false,
21
+ allow_multi_choices: !!options.allowMultiChoices,
22
+ allow_add_new_option: !!options.allowAddNewOption,
23
+ is_hide_vote_preview: !!options.hideVotePreview,
24
+ is_anonymous: !!options.isAnonymous,
25
+ poll_type: 0,
26
+ src: 1,
27
+ imei: ctx.imei,
28
+ };
29
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
30
+ if (!encryptedParams)
31
+ throw new ZaloApiError("Failed to encrypt params");
32
+ const response = await utils.request(serviceURL, {
33
+ method: "POST",
34
+ body: new URLSearchParams({
35
+ params: encryptedParams,
36
+ }),
37
+ });
38
+ return utils.resolve(response);
39
+ };
40
+ });
@@ -0,0 +1,23 @@
1
+ import type { AttachmentSource, ProductCatalogItem } from "../models/index.js";
2
+ export type CreateProductCatalogPayload = {
3
+ catalogId: string;
4
+ productName: string;
5
+ price: string;
6
+ description: string;
7
+ /**
8
+ * Upto 5 media files are allowed, will be ignored if product_photos is provided
9
+ */
10
+ files?: AttachmentSource[];
11
+ /**
12
+ * List of product photo URLs, upto 5
13
+ *
14
+ * You can manually get the URL using `uploadProductPhoto` api
15
+ */
16
+ product_photos?: string[];
17
+ };
18
+ export type CreateProductCatalogResponse = {
19
+ item: ProductCatalogItem;
20
+ version_ls_catalog: number;
21
+ version_catalog: number;
22
+ };
23
+ export declare const createProductCatalogFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (payload: CreateProductCatalogPayload) => Promise<CreateProductCatalogResponse>;
@@ -0,0 +1,50 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const createProductCatalogFactory = apiFactory()((api, _, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.catalog[0]}/api/prodcatalog/product/create`);
5
+ /**
6
+ * Create product catalog?
7
+ *
8
+ * @param payload payload
9
+ *
10
+ * @note this API is used for zBussiness - Maximum 5 media files are supported
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function createProductCatalog(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_name: payload.productName,
32
+ price: payload.price,
33
+ description: payload.description,
34
+ product_photos: productPhoto,
35
+ catalog_id: payload.catalogId,
36
+ currency_unit: "₫", // $
37
+ create_time: Date.now(),
38
+ };
39
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
40
+ if (!encryptedParams)
41
+ throw new ZaloApiError("Failed to encrypt params");
42
+ const response = await utils.request(serviceURL, {
43
+ method: "POST",
44
+ body: new URLSearchParams({
45
+ params: encryptedParams,
46
+ }),
47
+ });
48
+ return utils.resolve(response);
49
+ };
50
+ });
@@ -0,0 +1,12 @@
1
+ import type { ReminderGroup, ReminderUser } from "../models/index.js";
2
+ import { ReminderRepeatMode, ThreadType } from "../models/index.js";
3
+ export type CreateReminderOptions = {
4
+ title: string;
5
+ emoji?: string;
6
+ startTime?: number;
7
+ repeat?: ReminderRepeatMode;
8
+ };
9
+ export type CreateReminderUser = ReminderUser;
10
+ export type CreateReminderGroup = Omit<ReminderGroup, "responseMem">;
11
+ export type CreateReminderResponse = CreateReminderUser | CreateReminderGroup;
12
+ export declare const createReminderFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (options: CreateReminderOptions, threadId: string, type?: ThreadType) => Promise<CreateReminderResponse>;
@@ -0,0 +1,63 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { ReminderRepeatMode, ThreadType } from "../models/index.js";
3
+ import { apiFactory } from "../utils.js";
4
+ export const createReminderFactory = apiFactory()((api, ctx, utils) => {
5
+ const serviceURL = {
6
+ [ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.group_board[0]}/api/board/oneone/create`),
7
+ [ThreadType.Group]: utils.makeURL(`${api.zpwServiceMap.group_board[0]}/api/board/topic/createv2`),
8
+ };
9
+ /**
10
+ * Create a reminder in a group
11
+ *
12
+ * @param options reminder options
13
+ * @param threadId Group ID to create note from
14
+ * @param type Thread type (User or Group)
15
+ *
16
+ * @throws {ZaloApiError}
17
+ */
18
+ return async function createReminder(options, threadId, type = ThreadType.User) {
19
+ var _a, _b, _c, _d, _e, _f;
20
+ const params = type === ThreadType.User
21
+ ? {
22
+ objectData: JSON.stringify({
23
+ toUid: threadId,
24
+ type: 0,
25
+ color: -16245706,
26
+ emoji: (_a = options.emoji) !== null && _a !== void 0 ? _a : "⏰",
27
+ startTime: (_b = options.startTime) !== null && _b !== void 0 ? _b : Date.now(),
28
+ duration: -1,
29
+ params: { title: options.title },
30
+ needPin: false,
31
+ repeat: (_c = options.repeat) !== null && _c !== void 0 ? _c : ReminderRepeatMode.None,
32
+ creatorUid: ctx.uid, // Note: for some reason, you can put any valid UID here instead of your own and it still works, atleast for mobile
33
+ src: 1,
34
+ }),
35
+ imei: ctx.imei,
36
+ }
37
+ : {
38
+ grid: threadId,
39
+ type: 0,
40
+ color: -16245706,
41
+ emoji: (_d = options.emoji) !== null && _d !== void 0 ? _d : "⏰",
42
+ startTime: (_e = options.startTime) !== null && _e !== void 0 ? _e : Date.now(),
43
+ duration: -1,
44
+ params: JSON.stringify({
45
+ title: options.title,
46
+ }),
47
+ repeat: (_f = options.repeat) !== null && _f !== void 0 ? _f : ReminderRepeatMode.None,
48
+ src: 1,
49
+ imei: ctx.imei,
50
+ pinAct: 0,
51
+ };
52
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
53
+ if (!encryptedParams)
54
+ throw new ZaloApiError("Failed to encrypt params");
55
+ const response = await utils.request(serviceURL[type], {
56
+ method: "POST",
57
+ body: new URLSearchParams({
58
+ params: encryptedParams,
59
+ }),
60
+ });
61
+ return utils.resolve(response);
62
+ };
63
+ });
@@ -0,0 +1,9 @@
1
+ import { type ContextSession } from "../context.js";
2
+ import { type FactoryUtils } from "../utils.js";
3
+ export type CustomAPIProps<T, K> = {
4
+ ctx: ContextSession;
5
+ utils: FactoryUtils<T>;
6
+ props: K;
7
+ };
8
+ export type CustomAPICallback<T, K> = (props: CustomAPIProps<T, K>) => T | Promise<T>;
9
+ export declare const customFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => <T, K = any>(name: string, callback: CustomAPICallback<T, K>) => void;
@@ -0,0 +1,15 @@
1
+ import {} from "../context.js";
2
+ import { apiFactory } from "../utils.js";
3
+ /* eslint-disable */
4
+ export const customFactory = apiFactory()((api, ctx, utils) => {
5
+ return function custom(name, callback) {
6
+ Object.defineProperty(api, name, {
7
+ value: function (props) {
8
+ return callback({ ctx, utils, props });
9
+ },
10
+ writable: false,
11
+ enumerable: false,
12
+ configurable: false,
13
+ });
14
+ };
15
+ });
@@ -0,0 +1,5 @@
1
+ export type DeleteAutoReplyResponse = {
2
+ item: number;
3
+ version: number;
4
+ };
5
+ export declare const deleteAutoReplyFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (id: number) => Promise<DeleteAutoReplyResponse>;
@@ -0,0 +1,29 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const deleteAutoReplyFactory = apiFactory()((api, ctx, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.auto_reply[0]}/api/autoreply/delete`);
5
+ /**
6
+ * Delete auto reply
7
+ *
8
+ * @param id id of auto reply
9
+ *
10
+ * @note this API used for zBusiness
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function deleteAutoReply(id) {
14
+ const params = {
15
+ cliLang: ctx.language,
16
+ id: id,
17
+ };
18
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
19
+ if (!encryptedParams)
20
+ throw new ZaloApiError("Failed to encrypt params");
21
+ const response = await utils.request(serviceURL, {
22
+ method: "POST",
23
+ body: new URLSearchParams({
24
+ params: encryptedParams,
25
+ }),
26
+ });
27
+ return utils.resolve(response);
28
+ };
29
+ });
@@ -0,0 +1,9 @@
1
+ export type DeleteAvatarResponse = {
2
+ delPhotoIds: string[];
3
+ errMap: {
4
+ [key: string]: {
5
+ err: number;
6
+ };
7
+ };
8
+ };
9
+ export declare const deleteAvatarFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (photoId: string | string[]) => Promise<DeleteAvatarResponse>;
@@ -0,0 +1,27 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const deleteAvatarFactory = apiFactory()((api, ctx, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.profile[0]}/api/social/del-avatars`);
5
+ /**
6
+ * Delete avatar from avatar list
7
+ *
8
+ * @param photoId avatar photo ID(s) to delete - can be a single string or array of strings
9
+ *
10
+ * @throws {ZaloApiError}
11
+ */
12
+ return async function deleteAvatar(photoId) {
13
+ const photoIds = Array.isArray(photoId) ? photoId : [photoId];
14
+ const delPhotos = photoIds.map((id) => ({ photoId: id }));
15
+ const params = {
16
+ delPhotos: JSON.stringify(delPhotos),
17
+ imei: ctx.imei,
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,2 @@
1
+ export type DeleteCatalogResponse = "";
2
+ export declare const deleteCatalogFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (catalogId: string) => Promise<"">;
@@ -0,0 +1,28 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const deleteCatalogFactory = apiFactory()((api, _, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.catalog[0]}/api/prodcatalog/catalog/delete`);
5
+ /**
6
+ * Delete catalog?
7
+ *
8
+ * @param catalogId catalog id
9
+ *
10
+ * @note this API is used for zBusiness
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function deleteCatalog(catalogId) {
14
+ const params = {
15
+ catalog_id: catalogId,
16
+ };
17
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
18
+ if (!encryptedParams)
19
+ throw new ZaloApiError("Failed to encrypt params");
20
+ const response = await utils.request(serviceURL, {
21
+ method: "POST",
22
+ body: new URLSearchParams({
23
+ params: encryptedParams,
24
+ }),
25
+ });
26
+ return utils.resolve(response);
27
+ };
28
+ });
@@ -0,0 +1,19 @@
1
+ import { ThreadType } from "../models/index.js";
2
+ export type DeleteChatResponse = {
3
+ status: number;
4
+ };
5
+ export type DeleteChatLastMessage = {
6
+ /**
7
+ * Last message owner ID to delete backwards
8
+ */
9
+ ownerId: string;
10
+ /**
11
+ * Last message client ID to delete backwards
12
+ */
13
+ cliMsgId: string;
14
+ /**
15
+ * Last message global ID to delete backwards
16
+ */
17
+ globalMsgId: string;
18
+ };
19
+ export declare const deleteChatFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (lastMessage: DeleteChatLastMessage, threadId: string, type?: ThreadType) => Promise<DeleteChatResponse>;
@@ -0,0 +1,50 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { ThreadType } from "../models/index.js";
3
+ import { apiFactory } from "../utils.js";
4
+ export const deleteChatFactory = apiFactory()((api, ctx, utils) => {
5
+ const serviceURL = {
6
+ [ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.chat[0]}/api/message/deleteconver`, {
7
+ nretry: 0,
8
+ }),
9
+ [ThreadType.Group]: utils.makeURL(`${api.zpwServiceMap.group[0]}/api/group/deleteconver`, {
10
+ nretry: 0,
11
+ }),
12
+ };
13
+ /**
14
+ * Delete chat
15
+ *
16
+ * @param lastMessage Last message info
17
+ * @param threadId Thread ID
18
+ * @param type Thread type
19
+ *
20
+ * @throws {ZaloApiError}
21
+ */
22
+ return async function deleteChat(lastMessage, threadId, type = ThreadType.User) {
23
+ const timestampString = Date.now().toString();
24
+ const params = type === ThreadType.User
25
+ ? {
26
+ toid: threadId,
27
+ cliMsgId: timestampString,
28
+ conver: lastMessage,
29
+ onlyMe: 1,
30
+ imei: ctx.imei,
31
+ }
32
+ : {
33
+ grid: threadId,
34
+ cliMsgId: timestampString,
35
+ conver: lastMessage,
36
+ onlyMe: 1,
37
+ imei: ctx.imei,
38
+ };
39
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
40
+ if (!encryptedParams)
41
+ throw new ZaloApiError("Failed to encrypt params");
42
+ const response = await utils.request(serviceURL[type], {
43
+ method: "POST",
44
+ body: new URLSearchParams({
45
+ params: encryptedParams,
46
+ }),
47
+ });
48
+ return utils.resolve(response);
49
+ };
50
+ });