@warriorteam/redai-zalo-sdk 1.3.0 → 1.4.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.
Files changed (76) hide show
  1. package/README.md +565 -550
  2. package/dist/index.d.ts +0 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -5
  5. package/dist/index.js.map +1 -1
  6. package/dist/services/article.service.d.ts +1 -1
  7. package/dist/services/article.service.d.ts.map +1 -1
  8. package/dist/services/article.service.js +24 -16
  9. package/dist/services/article.service.js.map +1 -1
  10. package/dist/services/auth.service.d.ts +1 -0
  11. package/dist/services/auth.service.d.ts.map +1 -1
  12. package/dist/services/auth.service.js +23 -9
  13. package/dist/services/auth.service.js.map +1 -1
  14. package/dist/services/consultation.service.d.ts +63 -16
  15. package/dist/services/consultation.service.d.ts.map +1 -1
  16. package/dist/services/consultation.service.js +264 -49
  17. package/dist/services/consultation.service.js.map +1 -1
  18. package/dist/services/general-message.service.d.ts +2 -25
  19. package/dist/services/general-message.service.d.ts.map +1 -1
  20. package/dist/services/general-message.service.js +11 -112
  21. package/dist/services/general-message.service.js.map +1 -1
  22. package/dist/services/group-management.service.d.ts +1 -1
  23. package/dist/services/group-management.service.d.ts.map +1 -1
  24. package/dist/services/group-management.service.js +59 -27
  25. package/dist/services/group-management.service.js.map +1 -1
  26. package/dist/services/group-message.service.d.ts +1 -1
  27. package/dist/services/group-message.service.d.ts.map +1 -1
  28. package/dist/services/group-message.service.js +49 -23
  29. package/dist/services/group-message.service.js.map +1 -1
  30. package/dist/services/message-management.service.d.ts +21 -2
  31. package/dist/services/message-management.service.d.ts.map +1 -1
  32. package/dist/services/message-management.service.js +83 -7
  33. package/dist/services/message-management.service.js.map +1 -1
  34. package/dist/services/oa.service.d.ts +1 -0
  35. package/dist/services/oa.service.d.ts.map +1 -1
  36. package/dist/services/oa.service.js +23 -5
  37. package/dist/services/oa.service.js.map +1 -1
  38. package/dist/services/user.service.d.ts +108 -18
  39. package/dist/services/user.service.d.ts.map +1 -1
  40. package/dist/services/user.service.js +260 -59
  41. package/dist/services/user.service.js.map +1 -1
  42. package/dist/services/video-upload.service.d.ts +1 -1
  43. package/dist/services/video-upload.service.d.ts.map +1 -1
  44. package/dist/services/video-upload.service.js +11 -8
  45. package/dist/services/video-upload.service.js.map +1 -1
  46. package/dist/services/zns.service.d.ts +88 -21
  47. package/dist/services/zns.service.d.ts.map +1 -1
  48. package/dist/services/zns.service.js +157 -42
  49. package/dist/services/zns.service.js.map +1 -1
  50. package/dist/types/group.d.ts +5 -5
  51. package/dist/types/group.d.ts.map +1 -1
  52. package/dist/types/user.d.ts +155 -12
  53. package/dist/types/user.d.ts.map +1 -1
  54. package/dist/types/user.js.map +1 -1
  55. package/dist/types/webhook.d.ts +8 -0
  56. package/dist/types/webhook.d.ts.map +1 -1
  57. package/dist/types/webhook.js.map +1 -1
  58. package/dist/types/zns.d.ts +67 -33
  59. package/dist/types/zns.d.ts.map +1 -1
  60. package/dist/zalo-sdk.d.ts +3 -11
  61. package/dist/zalo-sdk.d.ts.map +1 -1
  62. package/dist/zalo-sdk.js +0 -10
  63. package/dist/zalo-sdk.js.map +1 -1
  64. package/docs/CONSULTATION_SERVICE.md +512 -330
  65. package/docs/GROUP_MANAGEMENT.md +2 -2
  66. package/docs/USER_MANAGEMENT.md +481 -1248
  67. package/docs/WEBHOOK_EVENTS.md +55 -3
  68. package/package.json +1 -1
  69. package/dist/services/tag.service.d.ts +0 -144
  70. package/dist/services/tag.service.d.ts.map +0 -1
  71. package/dist/services/tag.service.js +0 -184
  72. package/dist/services/tag.service.js.map +0 -1
  73. package/dist/services/user-management.service.d.ts +0 -117
  74. package/dist/services/user-management.service.d.ts.map +0 -1
  75. package/dist/services/user-management.service.js +0 -239
  76. package/dist/services/user-management.service.js.map +0 -1
@@ -1,239 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserManagementService = void 0;
4
- /**
5
- * Service for managing Zalo OA users
6
- * Provides comprehensive user management capabilities including:
7
- * - User profile management
8
- * - User tagging and segmentation
9
- * - User notes and interactions
10
- * - User analytics and insights
11
- */
12
- class UserManagementService {
13
- constructor(client) {
14
- this.client = client;
15
- this.apiUrl = "https://openapi.zalo.me/v3.0/oa";
16
- }
17
- /**
18
- * Get user profile information
19
- * @param accessToken OA access token
20
- * @param userId User ID
21
- * @returns User profile
22
- */
23
- async getUserProfile(accessToken, userId) {
24
- try {
25
- const response = await this.client.apiGet(`${this.apiUrl}/getprofile`, accessToken, {
26
- user_id: userId,
27
- });
28
- return response;
29
- }
30
- catch (error) {
31
- throw this.handleUserManagementError(error, "Failed to get user profile");
32
- }
33
- }
34
- /**
35
- * Get list of users who follow the OA
36
- * @param accessToken OA access token
37
- * @param offset Offset for pagination
38
- * @param count Number of users to retrieve
39
- * @returns User list
40
- */
41
- async getFollowersList(accessToken, offset = 0, count = 50) {
42
- try {
43
- const response = await this.client.apiGet(`${this.apiUrl}/getfollowers`, accessToken, {
44
- offset,
45
- count,
46
- });
47
- return response;
48
- }
49
- catch (error) {
50
- throw this.handleUserManagementError(error, "Failed to get followers list");
51
- }
52
- }
53
- /**
54
- * Search users by phone number
55
- * @param accessToken OA access token
56
- * @param phoneNumber Phone number to search
57
- * @returns User profile if found
58
- */
59
- async searchUserByPhone(accessToken, phoneNumber) {
60
- try {
61
- const response = await this.client.apiGet(`${this.apiUrl}/searchuser`, accessToken, {
62
- phone: phoneNumber,
63
- });
64
- return response.data;
65
- }
66
- catch (error) {
67
- throw this.handleUserManagementError(error, "Failed to search user by phone");
68
- }
69
- }
70
- /**
71
- * Get user tags
72
- * @param accessToken OA access token
73
- * @param userId User ID
74
- * @returns User tags
75
- */
76
- async getUserTags(accessToken, userId) {
77
- try {
78
- const response = await this.client.apiGet(`${this.apiUrl}/tag/gettagsofuser`, accessToken, {
79
- user_id: userId,
80
- });
81
- return response.data;
82
- }
83
- catch (error) {
84
- throw this.handleUserManagementError(error, "Failed to get user tags");
85
- }
86
- }
87
- /**
88
- * Tag user with specific tags
89
- * @param accessToken OA access token
90
- * @param userId User ID
91
- * @param tagNames Array of tag names
92
- * @returns Tag result
93
- */
94
- async tagUser(accessToken, userId, tagNames) {
95
- try {
96
- const response = await this.client.apiPost(`${this.apiUrl}/tag/taguser`, accessToken, {
97
- user_id: userId,
98
- tag_names: tagNames,
99
- });
100
- return response;
101
- }
102
- catch (error) {
103
- throw this.handleUserManagementError(error, "Failed to tag user");
104
- }
105
- }
106
- /**
107
- * Remove tags from user
108
- * @param accessToken OA access token
109
- * @param userId User ID
110
- * @param tagNames Array of tag names to remove
111
- * @returns Untag result
112
- */
113
- async untagUser(accessToken, userId, tagNames) {
114
- try {
115
- const response = await this.client.apiPost(`${this.apiUrl}/tag/rmtaguser`, accessToken, {
116
- user_id: userId,
117
- tag_names: tagNames,
118
- });
119
- return response;
120
- }
121
- catch (error) {
122
- throw this.handleUserManagementError(error, "Failed to untag user");
123
- }
124
- }
125
- /**
126
- * Get all available tags
127
- * @param accessToken OA access token
128
- * @returns List of all tags
129
- */
130
- async getAllTags(accessToken) {
131
- try {
132
- const response = await this.client.apiGet(`${this.apiUrl}/tag/gettagsofoa`, accessToken);
133
- return response;
134
- }
135
- catch (error) {
136
- throw this.handleUserManagementError(error, "Failed to get all tags");
137
- }
138
- }
139
- /**
140
- * Create new tag
141
- * @param accessToken OA access token
142
- * @param tagName Tag name
143
- * @returns Created tag
144
- */
145
- async createTag(accessToken, tagName) {
146
- try {
147
- const response = await this.client.apiPost(`${this.apiUrl}/tag/create`, accessToken, {
148
- tag_name: tagName,
149
- });
150
- return response;
151
- }
152
- catch (error) {
153
- throw this.handleUserManagementError(error, "Failed to create tag");
154
- }
155
- }
156
- /**
157
- * Delete tag
158
- * @param accessToken OA access token
159
- * @param tagName Tag name to delete
160
- * @returns Deletion result
161
- */
162
- async deleteTag(accessToken, tagName) {
163
- try {
164
- const response = await this.client.apiPost(`${this.apiUrl}/tag/delete`, accessToken, {
165
- tag_name: tagName,
166
- });
167
- return response;
168
- }
169
- catch (error) {
170
- throw this.handleUserManagementError(error, "Failed to delete tag");
171
- }
172
- }
173
- /**
174
- * Add note to user
175
- * @param accessToken OA access token
176
- * @param userId User ID
177
- * @param note Note content
178
- * @returns Note result
179
- */
180
- async addUserNote(accessToken, userId, note) {
181
- try {
182
- const response = await this.client.apiPost(`${this.apiUrl}/user/addnote`, accessToken, {
183
- user_id: userId,
184
- note,
185
- });
186
- return response;
187
- }
188
- catch (error) {
189
- throw this.handleUserManagementError(error, "Failed to add user note");
190
- }
191
- }
192
- /**
193
- * Get user notes
194
- * @param accessToken OA access token
195
- * @param userId User ID
196
- * @returns User notes
197
- */
198
- async getUserNotes(accessToken, userId) {
199
- try {
200
- const response = await this.client.apiGet(`${this.apiUrl}/user/getnotes`, accessToken, {
201
- user_id: userId,
202
- });
203
- return response.data;
204
- }
205
- catch (error) {
206
- throw this.handleUserManagementError(error, "Failed to get user notes");
207
- }
208
- }
209
- /**
210
- * Get user interaction history
211
- * @param accessToken OA access token
212
- * @param userId User ID
213
- * @param offset Offset for pagination
214
- * @param count Number of interactions to retrieve
215
- * @returns User interactions
216
- */
217
- async getUserInteractions(accessToken, userId, offset = 0, count = 50) {
218
- try {
219
- const response = await this.client.apiGet(`${this.apiUrl}/user/getinteractions`, accessToken, {
220
- user_id: userId,
221
- offset,
222
- count,
223
- });
224
- return response;
225
- }
226
- catch (error) {
227
- throw this.handleUserManagementError(error, "Failed to get user interactions");
228
- }
229
- }
230
- handleUserManagementError(error, defaultMessage) {
231
- if (error.response?.data) {
232
- const errorData = error.response.data;
233
- return new Error(`${defaultMessage}: ${errorData.message || errorData.error || "Unknown error"}`);
234
- }
235
- return new Error(`${defaultMessage}: ${error.message || "Unknown error"}`);
236
- }
237
- }
238
- exports.UserManagementService = UserManagementService;
239
- //# sourceMappingURL=user-management.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-management.service.js","sourceRoot":"","sources":["../../src/services/user-management.service.ts"],"names":[],"mappings":"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"}