@warriorteam/redai-zalo-sdk 1.1.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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +448 -0
  3. package/dist/clients/base-client.d.ts +67 -0
  4. package/dist/clients/base-client.d.ts.map +1 -0
  5. package/dist/clients/base-client.js +297 -0
  6. package/dist/clients/base-client.js.map +1 -0
  7. package/dist/clients/zalo-client.d.ts +131 -0
  8. package/dist/clients/zalo-client.d.ts.map +1 -0
  9. package/dist/clients/zalo-client.js +215 -0
  10. package/dist/clients/zalo-client.js.map +1 -0
  11. package/dist/index.d.ts +40 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +82 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/services/article.service.d.ts +144 -0
  16. package/dist/services/article.service.d.ts.map +1 -0
  17. package/dist/services/article.service.js +518 -0
  18. package/dist/services/article.service.js.map +1 -0
  19. package/dist/services/auth.service.d.ts +55 -0
  20. package/dist/services/auth.service.d.ts.map +1 -0
  21. package/dist/services/auth.service.js +269 -0
  22. package/dist/services/auth.service.js.map +1 -0
  23. package/dist/services/consultation.service.d.ts +73 -0
  24. package/dist/services/consultation.service.d.ts.map +1 -0
  25. package/dist/services/consultation.service.js +208 -0
  26. package/dist/services/consultation.service.js.map +1 -0
  27. package/dist/services/general-message.service.d.ts +85 -0
  28. package/dist/services/general-message.service.d.ts.map +1 -0
  29. package/dist/services/general-message.service.js +248 -0
  30. package/dist/services/general-message.service.js.map +1 -0
  31. package/dist/services/group-management.service.d.ts +220 -0
  32. package/dist/services/group-management.service.d.ts.map +1 -0
  33. package/dist/services/group-management.service.js +562 -0
  34. package/dist/services/group-management.service.js.map +1 -0
  35. package/dist/services/group-message.service.d.ts +102 -0
  36. package/dist/services/group-message.service.d.ts.map +1 -0
  37. package/dist/services/group-message.service.js +233 -0
  38. package/dist/services/group-message.service.js.map +1 -0
  39. package/dist/services/message-management.service.d.ts +135 -0
  40. package/dist/services/message-management.service.d.ts.map +1 -0
  41. package/dist/services/message-management.service.js +237 -0
  42. package/dist/services/message-management.service.js.map +1 -0
  43. package/dist/services/oa.service.d.ts +67 -0
  44. package/dist/services/oa.service.d.ts.map +1 -0
  45. package/dist/services/oa.service.js +223 -0
  46. package/dist/services/oa.service.js.map +1 -0
  47. package/dist/services/promotion.service.d.ts +114 -0
  48. package/dist/services/promotion.service.d.ts.map +1 -0
  49. package/dist/services/promotion.service.js +247 -0
  50. package/dist/services/promotion.service.js.map +1 -0
  51. package/dist/services/tag.service.d.ts +144 -0
  52. package/dist/services/tag.service.d.ts.map +1 -0
  53. package/dist/services/tag.service.js +184 -0
  54. package/dist/services/tag.service.js.map +1 -0
  55. package/dist/services/transaction.service.d.ts +110 -0
  56. package/dist/services/transaction.service.d.ts.map +1 -0
  57. package/dist/services/transaction.service.js +231 -0
  58. package/dist/services/transaction.service.js.map +1 -0
  59. package/dist/services/user-management.service.d.ts +117 -0
  60. package/dist/services/user-management.service.d.ts.map +1 -0
  61. package/dist/services/user-management.service.js +239 -0
  62. package/dist/services/user-management.service.js.map +1 -0
  63. package/dist/services/user.service.d.ts +84 -0
  64. package/dist/services/user.service.d.ts.map +1 -0
  65. package/dist/services/user.service.js +323 -0
  66. package/dist/services/user.service.js.map +1 -0
  67. package/dist/services/video-upload.service.d.ts +83 -0
  68. package/dist/services/video-upload.service.d.ts.map +1 -0
  69. package/dist/services/video-upload.service.js +267 -0
  70. package/dist/services/video-upload.service.js.map +1 -0
  71. package/dist/services/zns.service.d.ts +116 -0
  72. package/dist/services/zns.service.d.ts.map +1 -0
  73. package/dist/services/zns.service.js +234 -0
  74. package/dist/services/zns.service.js.map +1 -0
  75. package/dist/types/article.d.ts +352 -0
  76. package/dist/types/article.d.ts.map +1 -0
  77. package/dist/types/article.js +70 -0
  78. package/dist/types/article.js.map +1 -0
  79. package/dist/types/auth.d.ts +233 -0
  80. package/dist/types/auth.d.ts.map +1 -0
  81. package/dist/types/auth.js +39 -0
  82. package/dist/types/auth.js.map +1 -0
  83. package/dist/types/common.d.ts +237 -0
  84. package/dist/types/common.d.ts.map +1 -0
  85. package/dist/types/common.js +42 -0
  86. package/dist/types/common.js.map +1 -0
  87. package/dist/types/group.d.ts +523 -0
  88. package/dist/types/group.d.ts.map +1 -0
  89. package/dist/types/group.js +6 -0
  90. package/dist/types/group.js.map +1 -0
  91. package/dist/types/message.d.ts +333 -0
  92. package/dist/types/message.d.ts.map +1 -0
  93. package/dist/types/message.js +17 -0
  94. package/dist/types/message.js.map +1 -0
  95. package/dist/types/oa.d.ts +285 -0
  96. package/dist/types/oa.d.ts.map +1 -0
  97. package/dist/types/oa.js +25 -0
  98. package/dist/types/oa.js.map +1 -0
  99. package/dist/types/social.d.ts +427 -0
  100. package/dist/types/social.d.ts.map +1 -0
  101. package/dist/types/social.js +6 -0
  102. package/dist/types/social.js.map +1 -0
  103. package/dist/types/user-management.d.ts +280 -0
  104. package/dist/types/user-management.d.ts.map +1 -0
  105. package/dist/types/user-management.js +6 -0
  106. package/dist/types/user-management.js.map +1 -0
  107. package/dist/types/user.d.ts +365 -0
  108. package/dist/types/user.d.ts.map +1 -0
  109. package/dist/types/user.js +17 -0
  110. package/dist/types/user.js.map +1 -0
  111. package/dist/types/webhook.d.ts +1972 -0
  112. package/dist/types/webhook.d.ts.map +1 -0
  113. package/dist/types/webhook.js +419 -0
  114. package/dist/types/webhook.js.map +1 -0
  115. package/dist/types/zns.d.ts +277 -0
  116. package/dist/types/zns.d.ts.map +1 -0
  117. package/dist/types/zns.js +6 -0
  118. package/dist/types/zns.js.map +1 -0
  119. package/dist/zalo-sdk.d.ts +228 -0
  120. package/dist/zalo-sdk.d.ts.map +1 -0
  121. package/dist/zalo-sdk.js +307 -0
  122. package/dist/zalo-sdk.js.map +1 -0
  123. package/package.json +59 -0
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ /**
3
+ * Main Zalo SDK class
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ZaloSDK = void 0;
7
+ const zalo_client_1 = require("./clients/zalo-client");
8
+ const auth_service_1 = require("./services/auth.service");
9
+ const oa_service_1 = require("./services/oa.service");
10
+ // import { MessageService } from "./services/message.service"; // Replaced by specialized services
11
+ const user_service_1 = require("./services/user.service");
12
+ // import { WebhookService } from "./services/webhook.service";
13
+ const zns_service_1 = require("./services/zns.service");
14
+ const group_message_service_1 = require("./services/group-message.service");
15
+ const group_management_service_1 = require("./services/group-management.service");
16
+ const user_management_service_1 = require("./services/user-management.service");
17
+ const tag_service_1 = require("./services/tag.service");
18
+ const article_service_1 = require("./services/article.service");
19
+ const video_upload_service_1 = require("./services/video-upload.service");
20
+ // Message Services
21
+ const consultation_service_1 = require("./services/consultation.service");
22
+ const transaction_service_1 = require("./services/transaction.service");
23
+ const promotion_service_1 = require("./services/promotion.service");
24
+ const general_message_service_1 = require("./services/general-message.service");
25
+ const message_management_service_1 = require("./services/message-management.service");
26
+ const common_1 = require("./types/common");
27
+ // import { WebhookHandlers } from "./types/webhook";
28
+ /**
29
+ * Main Zalo SDK class providing access to all Zalo APIs
30
+ */
31
+ class ZaloSDK {
32
+ constructor(config) {
33
+ // Validate required configuration
34
+ if (!config.appId) {
35
+ throw new common_1.ZaloSDKError("appId is required in SDK configuration");
36
+ }
37
+ if (!config.appSecret) {
38
+ throw new common_1.ZaloSDKError("appSecret is required in SDK configuration");
39
+ }
40
+ // Set default configuration
41
+ this.config = {
42
+ appId: config.appId,
43
+ appSecret: config.appSecret,
44
+ timeout: config.timeout || 30000,
45
+ debug: config.debug || false,
46
+ apiBaseUrl: config.apiBaseUrl || "https://openapi.zalo.me",
47
+ retry: {
48
+ attempts: config.retry?.attempts || 3,
49
+ delay: config.retry?.delay || 1000,
50
+ ...config.retry,
51
+ },
52
+ };
53
+ this.logger = new common_1.ConsoleLogger(this.config.debug);
54
+ this.client = new zalo_client_1.ZaloClient(this.config);
55
+ // Initialize services
56
+ this.auth = new auth_service_1.AuthService(this.client, this.config.appId, this.config.appSecret);
57
+ this.oa = new oa_service_1.OAService(this.client);
58
+ // this.message = new MessageService(this.client); // Replaced by specialized message services
59
+ this.user = new user_service_1.UserService(this.client);
60
+ // this.webhook = new WebhookService(this.config.appSecret, this.config.debug);
61
+ this.zns = new zns_service_1.ZNSService(this.client);
62
+ this.groupMessage = new group_message_service_1.GroupMessageService(this.client);
63
+ this.groupManagement = new group_management_service_1.GroupManagementService(this.client);
64
+ this.userManagement = new user_management_service_1.UserManagementService(this.client);
65
+ this.tag = new tag_service_1.TagService(this.client);
66
+ this.article = new article_service_1.ArticleService(this.client);
67
+ this.videoUpload = new video_upload_service_1.VideoUploadService(this.client);
68
+ // Initialize message services
69
+ this.consultation = new consultation_service_1.ConsultationService(this.client);
70
+ this.transaction = new transaction_service_1.TransactionService(this.client);
71
+ this.promotion = new promotion_service_1.PromotionService(this.client);
72
+ this.generalMessage = new general_message_service_1.GeneralMessageService(this.client);
73
+ this.messageManagement = new message_management_service_1.MessageManagementService(this.client);
74
+ this.logger.info("Zalo SDK initialized", {
75
+ appId: this.config.appId,
76
+ debug: this.config.debug,
77
+ timeout: this.config.timeout,
78
+ });
79
+ }
80
+ /**
81
+ * Quick method to get OA access token from authorization code
82
+ */
83
+ async getOAAccessToken(code, redirectUri) {
84
+ const params = {
85
+ app_id: this.config.appId,
86
+ app_secret: this.config.appSecret,
87
+ code,
88
+ redirect_uri: redirectUri,
89
+ };
90
+ return this.auth.getOAAccessToken(params);
91
+ }
92
+ /**
93
+ * Quick method to get Social access token from authorization code
94
+ */
95
+ async getSocialAccessToken(code, redirectUri, codeVerifier) {
96
+ const params = {
97
+ app_id: this.config.appId,
98
+ app_secret: this.config.appSecret,
99
+ code,
100
+ redirect_uri: redirectUri,
101
+ code_verifier: codeVerifier || "",
102
+ };
103
+ return this.auth.getSocialAccessToken(params);
104
+ }
105
+ /**
106
+ * Quick method to refresh OA access token
107
+ */
108
+ async refreshOAAccessToken(refreshToken) {
109
+ const params = {
110
+ app_id: this.config.appId,
111
+ app_secret: this.config.appSecret,
112
+ refresh_token: refreshToken,
113
+ };
114
+ return this.auth.refreshOAAccessToken(params);
115
+ }
116
+ /**
117
+ * Quick method to refresh Social access token
118
+ */
119
+ async refreshSocialAccessToken(refreshToken) {
120
+ const params = {
121
+ app_id: this.config.appId,
122
+ app_secret: this.config.appSecret,
123
+ refresh_token: refreshToken,
124
+ };
125
+ return this.auth.refreshSocialAccessToken(params);
126
+ }
127
+ /**
128
+ * Quick method to get OA information
129
+ */
130
+ async getOAInfo(accessToken) {
131
+ return this.oa.getOAInfo(accessToken);
132
+ }
133
+ /**
134
+ * Quick method to get message quota
135
+ */
136
+ async getMessageQuota(accessToken) {
137
+ return this.oa.getMessageQuota(accessToken);
138
+ }
139
+ /**
140
+ * Quick method to get Social user information
141
+ */
142
+ async getSocialUserInfo(accessToken, fields) {
143
+ return this.auth.getSocialUserInfo(accessToken, fields);
144
+ }
145
+ /**
146
+ * Quick method to send consultation text message
147
+ */
148
+ async sendConsultationText(accessToken, userId, text) {
149
+ return this.consultation.sendTextMessage(accessToken, { user_id: userId }, { type: "text", text });
150
+ }
151
+ /**
152
+ * Quick method to send consultation image message
153
+ */
154
+ async sendConsultationImage(accessToken, userId, imageUrl) {
155
+ return this.consultation.sendImageMessage(accessToken, { user_id: userId }, { type: "image", attachment_id: imageUrl });
156
+ }
157
+ /**
158
+ * Quick method to get user information
159
+ */
160
+ async getUserInfo(accessToken, userId) {
161
+ return this.user.getUserInfo(accessToken, userId);
162
+ }
163
+ /**
164
+ * Quick method to get user list
165
+ */
166
+ async getUserList(accessToken, request) {
167
+ return this.user.getUserList(accessToken, request);
168
+ }
169
+ /**
170
+ * Quick method to get all followers
171
+ */
172
+ async getFollowers(accessToken) {
173
+ return this.user.getFollowers(accessToken);
174
+ }
175
+ /**
176
+ * Quick method to register webhook handlers
177
+ */
178
+ // public registerWebhookHandlers(handlers: WebhookHandlers): void {
179
+ // this.webhook.registerHandlers(handlers);
180
+ // }
181
+ /**
182
+ * Quick method to process webhook
183
+ */
184
+ // public async processWebhook(
185
+ // payload: string,
186
+ // signature?: string,
187
+ // timestamp?: string
188
+ // ): Promise<void> {
189
+ // return this.webhook.processWebhook(payload, signature, timestamp);
190
+ // }
191
+ /**
192
+ * Create OA authorization URL
193
+ */
194
+ createOAAuthUrl(redirectUri, state) {
195
+ return this.auth.createOAAuthUrl(redirectUri, state);
196
+ }
197
+ /**
198
+ * Create Social authorization URL
199
+ */
200
+ createSocialAuthUrl(redirectUri, state) {
201
+ return this.auth.createSocialAuthUrl(redirectUri, state);
202
+ }
203
+ /**
204
+ * Generate PKCE for Social API
205
+ */
206
+ generatePKCE() {
207
+ return this.auth.generatePKCE();
208
+ }
209
+ /**
210
+ * Validate access token
211
+ */
212
+ async validateAccessToken(accessToken, scope = "social") {
213
+ try {
214
+ if (scope === "oa") {
215
+ return this.oa.validateOAToken(accessToken);
216
+ }
217
+ else {
218
+ const validation = await this.auth.validateAccessToken(accessToken);
219
+ return validation.valid;
220
+ }
221
+ }
222
+ catch (error) {
223
+ this.logger.warn(`Token validation failed: ${error.message}`);
224
+ return false;
225
+ }
226
+ }
227
+ /**
228
+ * Get SDK version
229
+ */
230
+ getVersion() {
231
+ return "1.0.0";
232
+ }
233
+ /**
234
+ * Get SDK configuration (without sensitive data)
235
+ */
236
+ getConfig() {
237
+ const { appSecret, ...safeConfig } = this.config;
238
+ return safeConfig;
239
+ }
240
+ /**
241
+ * Enable or disable debug logging
242
+ */
243
+ setDebug(enabled) {
244
+ this.config.debug = enabled;
245
+ // Note: ConsoleLogger debug setting is read-only, create new logger if needed
246
+ if (enabled !== this.config.debug) {
247
+ this.logger.info(`Debug mode ${enabled ? "enabled" : "disabled"}`);
248
+ }
249
+ }
250
+ /**
251
+ * Test SDK connectivity
252
+ */
253
+ async testConnection() {
254
+ try {
255
+ // Try to make a simple request to test connectivity
256
+ const testUrl = `${this.config.apiBaseUrl}/v2.0/oa/getoa`;
257
+ await this.client.apiGet(testUrl, "test-token");
258
+ return true;
259
+ }
260
+ catch (error) {
261
+ // We expect this to fail with authentication error, not network error
262
+ if (error.message.includes("access_token") ||
263
+ error.message.includes("401")) {
264
+ return true; // Network is working, just auth failed as expected
265
+ }
266
+ this.logger.error(`Connection test failed: ${error.message}`);
267
+ return false;
268
+ }
269
+ }
270
+ /**
271
+ * Get available API endpoints
272
+ */
273
+ getEndpoints() {
274
+ return this.client.endpoints;
275
+ }
276
+ /**
277
+ * Make a custom API request (advanced usage)
278
+ */
279
+ async customRequest(method, endpoint, accessToken, data, params) {
280
+ switch (method) {
281
+ case "GET":
282
+ return this.client.apiGet(endpoint, accessToken, params);
283
+ case "POST":
284
+ return this.client.apiPost(endpoint, accessToken, data, params);
285
+ case "PUT":
286
+ return this.client.apiPut(endpoint, accessToken, data, params);
287
+ case "DELETE":
288
+ return this.client.apiDelete(endpoint, accessToken, params);
289
+ default:
290
+ throw new common_1.ZaloSDKError(`Unsupported HTTP method: ${method}`);
291
+ }
292
+ }
293
+ /**
294
+ * Upload file to Zalo API
295
+ */
296
+ async uploadFile(endpoint, accessToken, file, filename, additionalFields) {
297
+ return this.client.apiUploadFile(endpoint, accessToken, file, filename, additionalFields);
298
+ }
299
+ /**
300
+ * Dispose SDK resources
301
+ */
302
+ dispose() {
303
+ this.logger.info("Zalo SDK disposed");
304
+ }
305
+ }
306
+ exports.ZaloSDK = ZaloSDK;
307
+ //# sourceMappingURL=zalo-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zalo-sdk.js","sourceRoot":"","sources":["../src/zalo-sdk.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@warriorteam/redai-zalo-sdk",
3
+ "version": "1.1.0",
4
+ "description": "Zalo API SDK for TypeScript/JavaScript - Comprehensive SDK for Zalo Official Account, ZNS, and Social APIs",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "dev": "tsc --watch",
10
+ "clean": "rimraf dist",
11
+ "prepublishOnly": "npm run clean && npm run build",
12
+ "test": "jest",
13
+ "lint": "eslint src/**/*.ts",
14
+ "lint:fix": "eslint src/**/*.ts --fix"
15
+ },
16
+ "keywords": [
17
+ "zalo",
18
+ "zalo-api",
19
+ "zalo-oa",
20
+ "zalo-zns",
21
+ "zalo-sdk",
22
+ "typescript",
23
+ "official-account",
24
+ "notification-service"
25
+ ],
26
+ "author": "RedAI Team",
27
+ "license": "MIT",
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/redai/redai-zalo-sdk.git"
31
+ },
32
+ "bugs": {
33
+ "url": "https://github.com/redai/redai-zalo-sdk/issues"
34
+ },
35
+ "homepage": "https://github.com/redai/redai-zalo-sdk#readme",
36
+ "dependencies": {
37
+ "axios": "^1.11.0",
38
+ "form-data": "^4.0.4"
39
+ },
40
+ "devDependencies": {
41
+ "@types/jest": "^29.0.0",
42
+ "@types/node": "^20.19.9",
43
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
44
+ "@typescript-eslint/parser": "^6.0.0",
45
+ "eslint": "^8.0.0",
46
+ "jest": "^29.0.0",
47
+ "rimraf": "^5.0.0",
48
+ "ts-jest": "^29.0.0",
49
+ "typescript": "^5.0.0"
50
+ },
51
+ "files": [
52
+ "dist/**/*",
53
+ "README.md",
54
+ "LICENSE"
55
+ ],
56
+ "engines": {
57
+ "node": ">=16.0.0"
58
+ }
59
+ }