@raphaelvserafim/client-api-whatsapp 1.0.9 → 1.3.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.
- package/README.md +512 -297
- package/dist/WhatsApp.d.ts +177 -33
- package/dist/WhatsApp.js +146 -167
- package/dist/WhatsApp.js.map +1 -1
- package/dist/client/HttpClient.d.ts +6 -0
- package/dist/client/HttpClient.js +29 -0
- package/dist/client/HttpClient.js.map +1 -0
- package/dist/client/IHttpClient.d.ts +9 -0
- package/dist/client/IHttpClient.js +3 -0
- package/dist/client/IHttpClient.js.map +1 -0
- package/dist/errors.d.ts +5 -0
- package/dist/errors.js +13 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +16 -1
- package/dist/index.js +37 -3
- package/dist/index.js.map +1 -1
- package/dist/services/ActionService.d.ts +9 -0
- package/dist/services/ActionService.js +32 -0
- package/dist/services/ActionService.js.map +1 -0
- package/dist/services/BusinessService.d.ts +10 -0
- package/dist/services/BusinessService.js +43 -0
- package/dist/services/BusinessService.js.map +1 -0
- package/dist/services/CallService.d.ts +10 -0
- package/dist/services/CallService.js +38 -0
- package/dist/services/CallService.js.map +1 -0
- package/dist/services/ChatService.d.ts +19 -0
- package/dist/services/ChatService.js +63 -0
- package/dist/services/ChatService.js.map +1 -0
- package/dist/services/CommunityService.d.ts +35 -0
- package/dist/services/CommunityService.js +125 -0
- package/dist/services/CommunityService.js.map +1 -0
- package/dist/services/ContactService.d.ts +21 -0
- package/dist/services/ContactService.js +68 -0
- package/dist/services/ContactService.js.map +1 -0
- package/dist/services/GroupService.d.ts +37 -0
- package/dist/services/GroupService.js +117 -0
- package/dist/services/GroupService.js.map +1 -0
- package/dist/services/InstanceService.d.ts +29 -0
- package/dist/services/InstanceService.js +130 -0
- package/dist/services/InstanceService.js.map +1 -0
- package/dist/services/LabelService.d.ts +18 -0
- package/dist/services/LabelService.js +49 -0
- package/dist/services/LabelService.js.map +1 -0
- package/dist/services/MessageService.d.ts +60 -0
- package/dist/services/MessageService.js +171 -0
- package/dist/services/MessageService.js.map +1 -0
- package/dist/services/NewsletterService.d.ts +23 -0
- package/dist/services/NewsletterService.js +129 -0
- package/dist/services/NewsletterService.js.map +1 -0
- package/dist/services/StatusService.d.ts +14 -0
- package/dist/services/StatusService.js +46 -0
- package/dist/services/StatusService.js.map +1 -0
- package/dist/types/index.d.ts +206 -11
- package/dist/types/index.js +12 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +6 -11
- package/.babelrc +0 -3
- package/dist/exemple.d.ts +0 -1
- package/dist/exemple.js +0 -264
- package/dist/exemple.js.map +0 -1
- package/src/WhatsApp.ts +0 -245
- package/src/exemple.ts +0 -312
- package/src/index.ts +0 -2
- package/src/types/index.ts +0 -190
- package/tsconfig.compile.json +0 -15
- package/tsconfig.json +0 -35
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LabelService.js","sourceRoot":"","sources":["../../src/services/LabelService.ts"],"names":[],"mappings":";;;AACA,oCAAgF;AAEhF,MAAa,YAAY;IACvB,YAA6B,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;IAAG,CAAC;IAElD,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAwC;YAC9D,KAAK,EAAE,cAAM,CAAC,MAAM;YACpB,MAAM,EAAE,kBAAU,CAAC,GAAG;SACvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,OAAgB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc;YACpC,KAAK,EAAE,cAAM,CAAC,MAAM;YACpB,MAAM,EAAE,kBAAU,CAAC,IAAI;YACvB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuC;YAC7D,KAAK,EAAE,GAAG,cAAM,CAAC,MAAM,IAAI,OAAO,EAAE;YACpC,MAAM,EAAE,kBAAU,CAAC,GAAG;SACvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,EAAU;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc;YACpC,KAAK,EAAE,GAAG,cAAM,CAAC,MAAM,IAAI,OAAO,EAAE;YACpC,MAAM,EAAE,kBAAU,CAAC,IAAI;YACvB,IAAI,EAAE,EAAE,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc;YACpC,KAAK,EAAE,GAAG,cAAM,CAAC,MAAM,IAAI,OAAO,EAAE;YACpC,MAAM,EAAE,kBAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,EAAU;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc;YACpC,KAAK,EAAE,GAAG,cAAM,CAAC,MAAM,IAAI,OAAO,SAAS,EAAE,EAAE;YAC/C,MAAM,EAAE,kBAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;CACF;AA9CD,oCA8CC","sourcesContent":["import { IHttpClient } from '../client/IHttpClient';\nimport { Routes, HttpMethod, ApiResponse, LabelInfo, ChatInfo } from '../types';\n\nexport class LabelService {\n constructor(private readonly http: IHttpClient) {}\n\n async list(): Promise<{ status: number; data: LabelInfo[] }> {\n return this.http.request<{ status: number; data: LabelInfo[] }>({\n route: Routes.LABELS,\n method: HttpMethod.GET,\n });\n }\n\n async create(name: string, labelId?: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: Routes.LABELS,\n method: HttpMethod.POST,\n body: { name, labelId },\n });\n }\n\n async getChats(labelId: string): Promise<{ status: number; data: ChatInfo[] }> {\n return this.http.request<{ status: number; data: ChatInfo[] }>({\n route: `${Routes.LABELS}/${labelId}`,\n method: HttpMethod.GET,\n });\n }\n\n async addToChat(labelId: string, to: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.LABELS}/${labelId}`,\n method: HttpMethod.POST,\n body: { to },\n });\n }\n\n async delete(labelId: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.LABELS}/${labelId}`,\n method: HttpMethod.DELETE,\n });\n }\n\n async removeFromChat(labelId: string, to: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.LABELS}/${labelId}/chat/${to}`,\n method: HttpMethod.DELETE,\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { IHttpClient } from '../client/IHttpClient';
|
|
2
|
+
import { TypeMessage, StatusPresence, Contact, Section, Location, Buttons, Items, HeaderMedia, SendMessageRoot, ApiResponse, EventData, ListMessagesResponse, LiveLocationData, SendContactsData, ProductMessageData, GroupInviteMessageData } from '../types';
|
|
3
|
+
export declare class MessageService {
|
|
4
|
+
private readonly http;
|
|
5
|
+
constructor(http: IHttpClient);
|
|
6
|
+
list(phoneNumber: string, page?: number, limit?: number): Promise<ListMessagesResponse>;
|
|
7
|
+
send(data: {
|
|
8
|
+
type: TypeMessage;
|
|
9
|
+
body: {
|
|
10
|
+
to: string;
|
|
11
|
+
msgId?: string;
|
|
12
|
+
header?: HeaderMedia;
|
|
13
|
+
status?: StatusPresence;
|
|
14
|
+
text?: string;
|
|
15
|
+
url?: string;
|
|
16
|
+
caption?: string;
|
|
17
|
+
mimetype?: string;
|
|
18
|
+
fileName?: string;
|
|
19
|
+
contact?: Contact;
|
|
20
|
+
location?: Location;
|
|
21
|
+
name?: string;
|
|
22
|
+
options?: string[];
|
|
23
|
+
sections?: Section[];
|
|
24
|
+
buttons?: Buttons[];
|
|
25
|
+
footer?: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
title?: string;
|
|
28
|
+
buttonText?: string;
|
|
29
|
+
thumbnailUrl?: string;
|
|
30
|
+
sourceUrl?: string;
|
|
31
|
+
referenceId?: string;
|
|
32
|
+
code?: string;
|
|
33
|
+
key?: string;
|
|
34
|
+
merchantName?: string;
|
|
35
|
+
keyType?: "CNPJ" | "CPF" | "EMAIL" | "PHONE";
|
|
36
|
+
subtotal?: string;
|
|
37
|
+
totalAmount?: string;
|
|
38
|
+
items?: Items[];
|
|
39
|
+
};
|
|
40
|
+
}, reply?: boolean): Promise<SendMessageRoot>;
|
|
41
|
+
forward(to: string, msgId: string): Promise<SendMessageRoot>;
|
|
42
|
+
sendSticker(to: string, url: string): Promise<SendMessageRoot>;
|
|
43
|
+
sendVideoNote(to: string, url: string): Promise<SendMessageRoot>;
|
|
44
|
+
sendPoll(to: string, name: string, values: Array<string | number | boolean>, selectableCount?: number): Promise<SendMessageRoot>;
|
|
45
|
+
sendEvent(data: EventData): Promise<SendMessageRoot>;
|
|
46
|
+
pin(id: string, duration?: number): Promise<ApiResponse>;
|
|
47
|
+
sendCallLink(to: string, type: string, caption?: string): Promise<SendMessageRoot>;
|
|
48
|
+
sendImageBase64(to: string, base64: string, caption?: string): Promise<SendMessageRoot>;
|
|
49
|
+
sendAudioBase64(to: string, base64: string): Promise<SendMessageRoot>;
|
|
50
|
+
sendDocumentBase64(to: string, base64: string, mimetype: string, fileName?: string, caption?: string): Promise<SendMessageRoot>;
|
|
51
|
+
sendContacts(data: SendContactsData): Promise<SendMessageRoot>;
|
|
52
|
+
sendLiveLocation(data: LiveLocationData): Promise<SendMessageRoot>;
|
|
53
|
+
unpin(id: string): Promise<ApiResponse>;
|
|
54
|
+
getDetails(messageId: string): Promise<ApiResponse>;
|
|
55
|
+
getMedia(messageId: string, format?: string): Promise<ApiResponse>;
|
|
56
|
+
sendProduct(data: ProductMessageData): Promise<SendMessageRoot>;
|
|
57
|
+
sendGroupInvite(data: GroupInviteMessageData): Promise<SendMessageRoot>;
|
|
58
|
+
requestPhone(to: string): Promise<ApiResponse>;
|
|
59
|
+
createCallLink(type: string): Promise<ApiResponse>;
|
|
60
|
+
}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageService = void 0;
|
|
4
|
+
const errors_1 = require("../errors");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
class MessageService {
|
|
7
|
+
constructor(http) {
|
|
8
|
+
this.http = http;
|
|
9
|
+
}
|
|
10
|
+
async list(phoneNumber, page, limit) {
|
|
11
|
+
const params = { phoneNumber };
|
|
12
|
+
if (page !== undefined)
|
|
13
|
+
params.page = page;
|
|
14
|
+
if (limit !== undefined)
|
|
15
|
+
params.limit = limit;
|
|
16
|
+
return this.http.request({
|
|
17
|
+
route: types_1.Routes.MESSAGES,
|
|
18
|
+
method: types_1.HttpMethod.GET,
|
|
19
|
+
params,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async send(data, reply = false) {
|
|
23
|
+
if (data.type === types_1.TypeMessage.BUTTON_PIX) {
|
|
24
|
+
const { key, keyType, merchantName, subtotal, totalAmount, items } = data.body;
|
|
25
|
+
if (!key || !keyType || !merchantName || !subtotal || !totalAmount || !items || items.length === 0) {
|
|
26
|
+
throw new errors_1.WhatsAppError("Campos obrigatorios para pagamento via PIX estao ausentes.");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const route = reply
|
|
30
|
+
? `${types_1.Routes.MESSAGES}/${data.body.msgId}/${data.type}`
|
|
31
|
+
: `${types_1.Routes.MESSAGES}/${data.type}`;
|
|
32
|
+
return this.http.request({ route, method: types_1.HttpMethod.POST, body: data.body });
|
|
33
|
+
}
|
|
34
|
+
async forward(to, msgId) {
|
|
35
|
+
return this.http.request({
|
|
36
|
+
route: `${types_1.Routes.MESSAGES}/${msgId}/forwarding`,
|
|
37
|
+
method: types_1.HttpMethod.POST,
|
|
38
|
+
body: { to },
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async sendSticker(to, url) {
|
|
42
|
+
return this.http.request({
|
|
43
|
+
route: `${types_1.Routes.MESSAGES}/sticker`,
|
|
44
|
+
method: types_1.HttpMethod.POST,
|
|
45
|
+
body: { to, url },
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async sendVideoNote(to, url) {
|
|
49
|
+
return this.http.request({
|
|
50
|
+
route: `${types_1.Routes.MESSAGES}/video-note`,
|
|
51
|
+
method: types_1.HttpMethod.POST,
|
|
52
|
+
body: { to, url },
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
async sendPoll(to, name, values, selectableCount) {
|
|
56
|
+
return this.http.request({
|
|
57
|
+
route: `${types_1.Routes.MESSAGES}/poll`,
|
|
58
|
+
method: types_1.HttpMethod.POST,
|
|
59
|
+
body: { to, name, values, selectableCount },
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
async sendEvent(data) {
|
|
63
|
+
return this.http.request({
|
|
64
|
+
route: `${types_1.Routes.MESSAGES}/event`,
|
|
65
|
+
method: types_1.HttpMethod.POST,
|
|
66
|
+
body: data,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async pin(id, duration) {
|
|
70
|
+
return this.http.request({
|
|
71
|
+
route: `${types_1.Routes.MESSAGES}/pin`,
|
|
72
|
+
method: types_1.HttpMethod.POST,
|
|
73
|
+
body: { id, duration },
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
async sendCallLink(to, type, caption) {
|
|
77
|
+
return this.http.request({
|
|
78
|
+
route: `${types_1.Routes.MESSAGES}/call-link`,
|
|
79
|
+
method: types_1.HttpMethod.POST,
|
|
80
|
+
body: { to, type, caption },
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
async sendImageBase64(to, base64, caption) {
|
|
84
|
+
return this.http.request({
|
|
85
|
+
route: `${types_1.Routes.MESSAGES}/base64/image`,
|
|
86
|
+
method: types_1.HttpMethod.POST,
|
|
87
|
+
body: { to, base64, caption },
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
async sendAudioBase64(to, base64) {
|
|
91
|
+
return this.http.request({
|
|
92
|
+
route: `${types_1.Routes.MESSAGES}/base64/audio`,
|
|
93
|
+
method: types_1.HttpMethod.POST,
|
|
94
|
+
body: { to, base64 },
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
async sendDocumentBase64(to, base64, mimetype, fileName, caption) {
|
|
98
|
+
return this.http.request({
|
|
99
|
+
route: `${types_1.Routes.MESSAGES}/base64/document`,
|
|
100
|
+
method: types_1.HttpMethod.POST,
|
|
101
|
+
body: { to, base64, mimetype, fileName, caption },
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
async sendContacts(data) {
|
|
105
|
+
return this.http.request({
|
|
106
|
+
route: `${types_1.Routes.MESSAGES}/contacts`,
|
|
107
|
+
method: types_1.HttpMethod.POST,
|
|
108
|
+
body: data,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
async sendLiveLocation(data) {
|
|
112
|
+
return this.http.request({
|
|
113
|
+
route: `${types_1.Routes.MESSAGES}/live-location`,
|
|
114
|
+
method: types_1.HttpMethod.POST,
|
|
115
|
+
body: data,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
async unpin(id) {
|
|
119
|
+
return this.http.request({
|
|
120
|
+
route: `${types_1.Routes.MESSAGES}/unpin`,
|
|
121
|
+
method: types_1.HttpMethod.POST,
|
|
122
|
+
body: { id },
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
async getDetails(messageId) {
|
|
126
|
+
return this.http.request({
|
|
127
|
+
route: `${types_1.Routes.MESSAGES}/${messageId}`,
|
|
128
|
+
method: types_1.HttpMethod.GET,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
async getMedia(messageId, format) {
|
|
132
|
+
const params = {};
|
|
133
|
+
if (format)
|
|
134
|
+
params.format = format;
|
|
135
|
+
return this.http.request({
|
|
136
|
+
route: `${types_1.Routes.MESSAGES}/${messageId}/media`,
|
|
137
|
+
method: types_1.HttpMethod.GET,
|
|
138
|
+
params,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
async sendProduct(data) {
|
|
142
|
+
return this.http.request({
|
|
143
|
+
route: `${types_1.Routes.MESSAGES}/product`,
|
|
144
|
+
method: types_1.HttpMethod.POST,
|
|
145
|
+
body: data,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
async sendGroupInvite(data) {
|
|
149
|
+
return this.http.request({
|
|
150
|
+
route: `${types_1.Routes.MESSAGES}/group-invite`,
|
|
151
|
+
method: types_1.HttpMethod.POST,
|
|
152
|
+
body: data,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
async requestPhone(to) {
|
|
156
|
+
return this.http.request({
|
|
157
|
+
route: `${types_1.Routes.MESSAGES}/request-phone`,
|
|
158
|
+
method: types_1.HttpMethod.POST,
|
|
159
|
+
body: { to },
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
async createCallLink(type) {
|
|
163
|
+
return this.http.request({
|
|
164
|
+
route: `${types_1.Routes.MESSAGES}/create-call-link`,
|
|
165
|
+
method: types_1.HttpMethod.POST,
|
|
166
|
+
body: { type },
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
exports.MessageService = MessageService;
|
|
171
|
+
//# sourceMappingURL=MessageService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageService.js","sourceRoot":"","sources":["../../src/services/MessageService.ts"],"names":[],"mappings":"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","sourcesContent":["import { IHttpClient } from '../client/IHttpClient';\nimport { WhatsAppError } from '../errors';\nimport {\n Routes, HttpMethod, TypeMessage, StatusPresence, Contact, Section,\n Location, Buttons, Items, HeaderMedia, SendMessageRoot, ApiResponse,\n EventData, ListMessagesResponse, LiveLocationData, SendContactsData,\n ProductMessageData, GroupInviteMessageData,\n} from '../types';\n\nexport class MessageService {\n constructor(private readonly http: IHttpClient) {}\n\n async list(phoneNumber: string, page?: number, limit?: number): Promise<ListMessagesResponse> {\n const params: Record<string, string | number> = { phoneNumber };\n if (page !== undefined) params.page = page;\n if (limit !== undefined) params.limit = limit;\n return this.http.request<ListMessagesResponse>({\n route: Routes.MESSAGES,\n method: HttpMethod.GET,\n params,\n });\n }\n\n async send(\n data: {\n type: TypeMessage;\n body: {\n to: string;\n msgId?: string;\n header?: HeaderMedia;\n status?: StatusPresence;\n text?: string;\n url?: string;\n caption?: string;\n mimetype?: string;\n fileName?: string;\n contact?: Contact;\n location?: Location;\n name?: string;\n options?: string[];\n sections?: Section[];\n buttons?: Buttons[];\n footer?: string;\n description?: string;\n title?: string;\n buttonText?: string;\n thumbnailUrl?: string;\n sourceUrl?: string;\n referenceId?: string;\n code?: string;\n key?: string;\n merchantName?: string;\n keyType?: \"CNPJ\" | \"CPF\" | \"EMAIL\" | \"PHONE\";\n subtotal?: string;\n totalAmount?: string;\n items?: Items[];\n };\n },\n reply: boolean = false,\n ): Promise<SendMessageRoot> {\n if (data.type === TypeMessage.BUTTON_PIX) {\n const { key, keyType, merchantName, subtotal, totalAmount, items } = data.body;\n if (!key || !keyType || !merchantName || !subtotal || !totalAmount || !items || items.length === 0) {\n throw new WhatsAppError(\"Campos obrigatorios para pagamento via PIX estao ausentes.\");\n }\n }\n\n const route = reply\n ? `${Routes.MESSAGES}/${data.body.msgId}/${data.type}`\n : `${Routes.MESSAGES}/${data.type}`;\n\n return this.http.request<SendMessageRoot>({ route, method: HttpMethod.POST, body: data.body });\n }\n\n async forward(to: string, msgId: string): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/${msgId}/forwarding`,\n method: HttpMethod.POST,\n body: { to },\n });\n }\n\n async sendSticker(to: string, url: string): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/sticker`,\n method: HttpMethod.POST,\n body: { to, url },\n });\n }\n\n async sendVideoNote(to: string, url: string): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/video-note`,\n method: HttpMethod.POST,\n body: { to, url },\n });\n }\n\n async sendPoll(to: string, name: string, values: Array<string | number | boolean>, selectableCount?: number): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/poll`,\n method: HttpMethod.POST,\n body: { to, name, values, selectableCount },\n });\n }\n\n async sendEvent(data: EventData): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/event`,\n method: HttpMethod.POST,\n body: data,\n });\n }\n\n async pin(id: string, duration?: number): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.MESSAGES}/pin`,\n method: HttpMethod.POST,\n body: { id, duration },\n });\n }\n\n async sendCallLink(to: string, type: string, caption?: string): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/call-link`,\n method: HttpMethod.POST,\n body: { to, type, caption },\n });\n }\n\n async sendImageBase64(to: string, base64: string, caption?: string): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/base64/image`,\n method: HttpMethod.POST,\n body: { to, base64, caption },\n });\n }\n\n async sendAudioBase64(to: string, base64: string): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/base64/audio`,\n method: HttpMethod.POST,\n body: { to, base64 },\n });\n }\n\n async sendDocumentBase64(to: string, base64: string, mimetype: string, fileName?: string, caption?: string): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/base64/document`,\n method: HttpMethod.POST,\n body: { to, base64, mimetype, fileName, caption },\n });\n }\n\n async sendContacts(data: SendContactsData): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/contacts`,\n method: HttpMethod.POST,\n body: data,\n });\n }\n\n async sendLiveLocation(data: LiveLocationData): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/live-location`,\n method: HttpMethod.POST,\n body: data,\n });\n }\n\n async unpin(id: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.MESSAGES}/unpin`,\n method: HttpMethod.POST,\n body: { id },\n });\n }\n\n async getDetails(messageId: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.MESSAGES}/${messageId}`,\n method: HttpMethod.GET,\n });\n }\n\n async getMedia(messageId: string, format?: string): Promise<ApiResponse> {\n const params: Record<string, string> = {};\n if (format) params.format = format;\n return this.http.request<ApiResponse>({\n route: `${Routes.MESSAGES}/${messageId}/media`,\n method: HttpMethod.GET,\n params,\n });\n }\n\n async sendProduct(data: ProductMessageData): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/product`,\n method: HttpMethod.POST,\n body: data,\n });\n }\n\n async sendGroupInvite(data: GroupInviteMessageData): Promise<SendMessageRoot> {\n return this.http.request<SendMessageRoot>({\n route: `${Routes.MESSAGES}/group-invite`,\n method: HttpMethod.POST,\n body: data,\n });\n }\n\n async requestPhone(to: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.MESSAGES}/request-phone`,\n method: HttpMethod.POST,\n body: { to },\n });\n }\n\n async createCallLink(type: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.MESSAGES}/create-call-link`,\n method: HttpMethod.POST,\n body: { type },\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IHttpClient } from '../client/IHttpClient';
|
|
2
|
+
import { ApiResponse } from '../types';
|
|
3
|
+
export declare class NewsletterService {
|
|
4
|
+
private readonly http;
|
|
5
|
+
constructor(http: IHttpClient);
|
|
6
|
+
create(name: string, description?: string): Promise<ApiResponse>;
|
|
7
|
+
getMetadata(type: string, id: string): Promise<ApiResponse>;
|
|
8
|
+
getSubscribers(id: string): Promise<ApiResponse>;
|
|
9
|
+
getAdmins(id: string): Promise<ApiResponse>;
|
|
10
|
+
follow(id: string): Promise<ApiResponse>;
|
|
11
|
+
unfollow(id: string): Promise<ApiResponse>;
|
|
12
|
+
updateName(id: string, name: string): Promise<ApiResponse>;
|
|
13
|
+
updateDescription(id: string, description: string): Promise<ApiResponse>;
|
|
14
|
+
updatePicture(id: string, url: string): Promise<ApiResponse>;
|
|
15
|
+
removePicture(id: string): Promise<ApiResponse>;
|
|
16
|
+
transferOwnership(id: string, newOwnerJid: string): Promise<ApiResponse>;
|
|
17
|
+
demoteAdmin(id: string, userJid: string): Promise<ApiResponse>;
|
|
18
|
+
getMessages(id: string, count?: number, since?: number, after?: number): Promise<ApiResponse>;
|
|
19
|
+
react(id: string, serverId: string, reaction: string): Promise<ApiResponse>;
|
|
20
|
+
mute(id: string): Promise<ApiResponse>;
|
|
21
|
+
unmute(id: string): Promise<ApiResponse>;
|
|
22
|
+
delete(id: string): Promise<ApiResponse>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NewsletterService = void 0;
|
|
4
|
+
const types_1 = require("../types");
|
|
5
|
+
class NewsletterService {
|
|
6
|
+
constructor(http) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
}
|
|
9
|
+
async create(name, description) {
|
|
10
|
+
return this.http.request({
|
|
11
|
+
route: types_1.Routes.NEWSLETTER,
|
|
12
|
+
method: types_1.HttpMethod.POST,
|
|
13
|
+
body: { name, description },
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async getMetadata(type, id) {
|
|
17
|
+
return this.http.request({
|
|
18
|
+
route: `${types_1.Routes.NEWSLETTER}/metadata`,
|
|
19
|
+
method: types_1.HttpMethod.GET,
|
|
20
|
+
params: { type, id },
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async getSubscribers(id) {
|
|
24
|
+
return this.http.request({
|
|
25
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/subscribers`,
|
|
26
|
+
method: types_1.HttpMethod.GET,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async getAdmins(id) {
|
|
30
|
+
return this.http.request({
|
|
31
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/admins`,
|
|
32
|
+
method: types_1.HttpMethod.GET,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async follow(id) {
|
|
36
|
+
return this.http.request({
|
|
37
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/follow`,
|
|
38
|
+
method: types_1.HttpMethod.POST,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async unfollow(id) {
|
|
42
|
+
return this.http.request({
|
|
43
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/unfollow`,
|
|
44
|
+
method: types_1.HttpMethod.POST,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
async updateName(id, name) {
|
|
48
|
+
return this.http.request({
|
|
49
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/name`,
|
|
50
|
+
method: types_1.HttpMethod.PUT,
|
|
51
|
+
body: { name },
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
async updateDescription(id, description) {
|
|
55
|
+
return this.http.request({
|
|
56
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/description`,
|
|
57
|
+
method: types_1.HttpMethod.PUT,
|
|
58
|
+
body: { description },
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async updatePicture(id, url) {
|
|
62
|
+
return this.http.request({
|
|
63
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/picture`,
|
|
64
|
+
method: types_1.HttpMethod.PUT,
|
|
65
|
+
body: { url },
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
async removePicture(id) {
|
|
69
|
+
return this.http.request({
|
|
70
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/picture`,
|
|
71
|
+
method: types_1.HttpMethod.DELETE,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
async transferOwnership(id, newOwnerJid) {
|
|
75
|
+
return this.http.request({
|
|
76
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/owner`,
|
|
77
|
+
method: types_1.HttpMethod.PUT,
|
|
78
|
+
body: { newOwnerJid },
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
async demoteAdmin(id, userJid) {
|
|
82
|
+
return this.http.request({
|
|
83
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/demote`,
|
|
84
|
+
method: types_1.HttpMethod.PUT,
|
|
85
|
+
body: { userJid },
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
async getMessages(id, count, since, after) {
|
|
89
|
+
const params = {};
|
|
90
|
+
if (count !== undefined)
|
|
91
|
+
params.count = count;
|
|
92
|
+
if (since !== undefined)
|
|
93
|
+
params.since = since;
|
|
94
|
+
if (after !== undefined)
|
|
95
|
+
params.after = after;
|
|
96
|
+
return this.http.request({
|
|
97
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/messages`,
|
|
98
|
+
method: types_1.HttpMethod.GET,
|
|
99
|
+
params,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
async react(id, serverId, reaction) {
|
|
103
|
+
return this.http.request({
|
|
104
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/react`,
|
|
105
|
+
method: types_1.HttpMethod.POST,
|
|
106
|
+
body: { serverId, reaction },
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
async mute(id) {
|
|
110
|
+
return this.http.request({
|
|
111
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/mute`,
|
|
112
|
+
method: types_1.HttpMethod.POST,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
async unmute(id) {
|
|
116
|
+
return this.http.request({
|
|
117
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}/unmute`,
|
|
118
|
+
method: types_1.HttpMethod.POST,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
async delete(id) {
|
|
122
|
+
return this.http.request({
|
|
123
|
+
route: `${types_1.Routes.NEWSLETTER}/${id}`,
|
|
124
|
+
method: types_1.HttpMethod.DELETE,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
exports.NewsletterService = NewsletterService;
|
|
129
|
+
//# sourceMappingURL=NewsletterService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewsletterService.js","sourceRoot":"","sources":["../../src/services/NewsletterService.ts"],"names":[],"mappings":"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","sourcesContent":["import { IHttpClient } from '../client/IHttpClient';\nimport { Routes, HttpMethod, ApiResponse, NewsletterInfo } from '../types';\n\nexport class NewsletterService {\n constructor(private readonly http: IHttpClient) {}\n\n async create(name: string, description?: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: Routes.NEWSLETTER,\n method: HttpMethod.POST,\n body: { name, description },\n });\n }\n\n async getMetadata(type: string, id: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/metadata`,\n method: HttpMethod.GET,\n params: { type, id },\n });\n }\n\n async getSubscribers(id: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/subscribers`,\n method: HttpMethod.GET,\n });\n }\n\n async getAdmins(id: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/admins`,\n method: HttpMethod.GET,\n });\n }\n\n async follow(id: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/follow`,\n method: HttpMethod.POST,\n });\n }\n\n async unfollow(id: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/unfollow`,\n method: HttpMethod.POST,\n });\n }\n\n async updateName(id: string, name: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/name`,\n method: HttpMethod.PUT,\n body: { name },\n });\n }\n\n async updateDescription(id: string, description: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/description`,\n method: HttpMethod.PUT,\n body: { description },\n });\n }\n\n async updatePicture(id: string, url: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/picture`,\n method: HttpMethod.PUT,\n body: { url },\n });\n }\n\n async removePicture(id: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/picture`,\n method: HttpMethod.DELETE,\n });\n }\n\n async transferOwnership(id: string, newOwnerJid: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/owner`,\n method: HttpMethod.PUT,\n body: { newOwnerJid },\n });\n }\n\n async demoteAdmin(id: string, userJid: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/demote`,\n method: HttpMethod.PUT,\n body: { userJid },\n });\n }\n\n async getMessages(id: string, count?: number, since?: number, after?: number): Promise<ApiResponse> {\n const params: Record<string, number> = {};\n if (count !== undefined) params.count = count;\n if (since !== undefined) params.since = since;\n if (after !== undefined) params.after = after;\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/messages`,\n method: HttpMethod.GET,\n params,\n });\n }\n\n async react(id: string, serverId: string, reaction: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/react`,\n method: HttpMethod.POST,\n body: { serverId, reaction },\n });\n }\n\n async mute(id: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/mute`,\n method: HttpMethod.POST,\n });\n }\n\n async unmute(id: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}/unmute`,\n method: HttpMethod.POST,\n });\n }\n\n async delete(id: string): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.NEWSLETTER}/${id}`,\n method: HttpMethod.DELETE,\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IHttpClient } from '../client/IHttpClient';
|
|
2
|
+
import { ApiResponse, StatusTextData, StatusMediaData, StatusMentionData } from '../types';
|
|
3
|
+
export declare class StatusService {
|
|
4
|
+
private readonly http;
|
|
5
|
+
constructor(http: IHttpClient);
|
|
6
|
+
sendText(data: StatusTextData): Promise<ApiResponse>;
|
|
7
|
+
sendImage(data: StatusMediaData): Promise<ApiResponse>;
|
|
8
|
+
sendVideo(data: StatusMediaData): Promise<ApiResponse>;
|
|
9
|
+
sendAudio(data: {
|
|
10
|
+
url: string;
|
|
11
|
+
statusJidList?: string[];
|
|
12
|
+
}): Promise<ApiResponse>;
|
|
13
|
+
mention(data: StatusMentionData): Promise<ApiResponse>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StatusService = void 0;
|
|
4
|
+
const types_1 = require("../types");
|
|
5
|
+
class StatusService {
|
|
6
|
+
constructor(http) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
}
|
|
9
|
+
async sendText(data) {
|
|
10
|
+
return this.http.request({
|
|
11
|
+
route: `${types_1.Routes.STATUS}/text`,
|
|
12
|
+
method: types_1.HttpMethod.POST,
|
|
13
|
+
body: data,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async sendImage(data) {
|
|
17
|
+
return this.http.request({
|
|
18
|
+
route: `${types_1.Routes.STATUS}/image`,
|
|
19
|
+
method: types_1.HttpMethod.POST,
|
|
20
|
+
body: data,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async sendVideo(data) {
|
|
24
|
+
return this.http.request({
|
|
25
|
+
route: `${types_1.Routes.STATUS}/video`,
|
|
26
|
+
method: types_1.HttpMethod.POST,
|
|
27
|
+
body: data,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async sendAudio(data) {
|
|
31
|
+
return this.http.request({
|
|
32
|
+
route: `${types_1.Routes.STATUS}/audio`,
|
|
33
|
+
method: types_1.HttpMethod.POST,
|
|
34
|
+
body: data,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async mention(data) {
|
|
38
|
+
return this.http.request({
|
|
39
|
+
route: `${types_1.Routes.STATUS}/mention`,
|
|
40
|
+
method: types_1.HttpMethod.POST,
|
|
41
|
+
body: data,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.StatusService = StatusService;
|
|
46
|
+
//# sourceMappingURL=StatusService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusService.js","sourceRoot":"","sources":["../../src/services/StatusService.ts"],"names":[],"mappings":";;;AACA,oCAA+G;AAE/G,MAAa,aAAa;IACxB,YAA6B,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;IAAG,CAAC;IAElD,KAAK,CAAC,QAAQ,CAAC,IAAoB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc;YACpC,KAAK,EAAE,GAAG,cAAM,CAAC,MAAM,OAAO;YAC9B,MAAM,EAAE,kBAAU,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAqB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc;YACpC,KAAK,EAAE,GAAG,cAAM,CAAC,MAAM,QAAQ;YAC/B,MAAM,EAAE,kBAAU,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAqB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc;YACpC,KAAK,EAAE,GAAG,cAAM,CAAC,MAAM,QAAQ;YAC/B,MAAM,EAAE,kBAAU,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAA+C;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc;YACpC,KAAK,EAAE,GAAG,cAAM,CAAC,MAAM,QAAQ;YAC/B,MAAM,EAAE,kBAAU,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAuB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc;YACpC,KAAK,EAAE,GAAG,cAAM,CAAC,MAAM,UAAU;YACjC,MAAM,EAAE,kBAAU,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;CACF;AA1CD,sCA0CC","sourcesContent":["import { IHttpClient } from '../client/IHttpClient';\nimport { Routes, HttpMethod, ApiResponse, StatusTextData, StatusMediaData, StatusMentionData } from '../types';\n\nexport class StatusService {\n constructor(private readonly http: IHttpClient) {}\n\n async sendText(data: StatusTextData): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.STATUS}/text`,\n method: HttpMethod.POST,\n body: data,\n });\n }\n\n async sendImage(data: StatusMediaData): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.STATUS}/image`,\n method: HttpMethod.POST,\n body: data,\n });\n }\n\n async sendVideo(data: StatusMediaData): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.STATUS}/video`,\n method: HttpMethod.POST,\n body: data,\n });\n }\n\n async sendAudio(data: { url: string; statusJidList?: string[] }): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.STATUS}/audio`,\n method: HttpMethod.POST,\n body: data,\n });\n }\n\n async mention(data: StatusMentionData): Promise<ApiResponse> {\n return this.http.request<ApiResponse>({\n route: `${Routes.STATUS}/mention`,\n method: HttpMethod.POST,\n body: data,\n });\n }\n}\n"]}
|