redai-automation-web-sdk
Version:
TypeScript SDK for RedAI Automation Web API - Zalo Personal automation, messaging, advanced sticker search, and bulk operations. 100% compatible with automation-web backend. v1.8.1: Updated GroupInfo interface to match backend controller with complete gro
165 lines • 5.2 kB
JavaScript
"use strict";
/**
* Zalo Personal Messaging Service
* 100% khớp với automation-web/src/module/zalo-messaging
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.MessagingService = void 0;
/**
* Zalo Personal Messaging Service Class
* 100% khớp với automation-web ZaloMessagingController
*/
class MessagingService {
constructor(httpClient) {
this.httpClient = httpClient;
}
/**
* Gửi tin nhắn qua Zalo Personal
* POST /zalo-personal/messaging/send
*/
async sendMessage(request) {
const response = await this.httpClient.post('/zalo-personal/messaging/send', {
msg: request.msg,
threadId: request.threadId,
type: request.type,
sessionId: request.sessionId,
styles: request.styles,
mentions: request.mentions,
quote: request.quote,
attachments: request.attachments,
urgency: request.urgency,
ttl: request.ttl,
});
return response;
}
/**
* Gửi sticker
* POST /zalo-personal/messaging/sticker
*/
async sendSticker(request) {
const response = await this.httpClient.post('/zalo-personal/messaging/sticker', {
sessionId: request.sessionId,
threadId: request.threadId,
type: request.type,
stickerId: request.stickerId,
});
return response;
}
/**
* Gửi voice message
* POST /zalo-personal/messaging/voice
*/
async sendVoice(request) {
const response = await this.httpClient.post('/zalo-personal/messaging/voice', {
sessionId: request.sessionId,
threadId: request.threadId,
type: request.type,
fileUrl: request.fileUrl,
duration: request.duration,
});
return response;
}
/**
* Gửi video message
* POST /zalo-personal/messaging/video
*/
async sendVideo(request) {
const response = await this.httpClient.post('/zalo-personal/messaging/video', {
sessionId: request.sessionId,
threadId: request.threadId,
type: request.type,
videoUrl: request.videoUrl,
duration: request.duration,
width: request.width,
height: request.height,
});
return response;
}
/**
* Gửi link message
* POST /zalo-personal/messaging/link
*/
async sendLink(request) {
const response = await this.httpClient.post('/zalo-personal/messaging/link', {
sessionId: request.sessionId,
threadId: request.threadId,
type: request.type,
link: request.link,
msg: request.msg,
ttl: request.ttl,
});
return response;
}
/**
* Gửi contact card
* POST /zalo-personal/messaging/card
*/
async sendCard(request) {
const response = await this.httpClient.post('/zalo-personal/messaging/card', {
sessionId: request.sessionId,
threadId: request.threadId,
type: request.type,
userId: request.userId,
phoneNumber: request.phoneNumber,
});
return response;
}
/**
* Chuyển tiếp tin nhắn
* POST /zalo-personal/messaging/forward
*/
async forwardMessage(request) {
const response = await this.httpClient.post('/zalo-personal/messaging/forward', {
sessionId: request.sessionId,
message: request.message,
threadIds: request.threadIds,
type: request.type,
reference: request.reference,
});
return response;
}
/**
* Xóa tin nhắn
* DELETE /zalo-personal/messaging/delete
*/
async deleteMessage(request) {
const response = await this.httpClient.delete('/zalo-personal/messaging/delete', {
sessionId: request.sessionId,
messageId: request.messageId,
threadId: request.threadId,
type: request.type,
});
return response;
}
/**
* Thu hồi tin nhắn (undo)
* POST /zalo-personal/messaging/undo
*/
async undoMessage(request) {
const response = await this.httpClient.post('/zalo-personal/messaging/undo', {
sessionId: request.sessionId,
msgId: request.msgId,
cliMsgId: request.cliMsgId,
threadId: request.threadId,
type: request.type,
});
return response;
}
/**
* Thêm reaction vào tin nhắn
* POST /zalo-personal/messaging/reaction
*/
async addReaction(request) {
const response = await this.httpClient.post('/zalo-personal/messaging/reaction', {
sessionId: request.sessionId,
reaction: request.reaction,
msgId: request.msgId,
cliMsgId: request.cliMsgId,
threadId: request.threadId,
type: request.type,
});
return response;
}
}
exports.MessagingService = MessagingService;
//# sourceMappingURL=messaging.service.js.map