wuzapi 1.4.0 → 1.5.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.
- package/README.md +513 -1217
- package/dist/client.d.ts +2 -1
- package/dist/client.js +91 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +12 -811
- package/dist/index.js.map +1 -1
- package/dist/modules/admin.d.ts +8 -0
- package/dist/modules/admin.js +37 -0
- package/dist/modules/admin.js.map +1 -0
- package/dist/modules/chat.d.ts +21 -1
- package/dist/modules/chat.js +173 -0
- package/dist/modules/chat.js.map +1 -0
- package/dist/modules/group.d.ts +25 -1
- package/dist/modules/group.js +142 -0
- package/dist/modules/group.js.map +1 -0
- package/dist/modules/newsletter.d.ts +9 -0
- package/dist/modules/newsletter.js +13 -0
- package/dist/modules/newsletter.js.map +1 -0
- package/dist/modules/session.d.ts +13 -1
- package/dist/modules/session.js +85 -0
- package/dist/modules/session.js.map +1 -0
- package/dist/modules/user.d.ts +5 -1
- package/dist/modules/user.js +40 -0
- package/dist/modules/user.js.map +1 -0
- package/dist/modules/webhook.d.ts +9 -1
- package/dist/modules/webhook.js +33 -0
- package/dist/modules/webhook.js.map +1 -0
- package/dist/types/chat.d.ts +55 -0
- package/dist/types/group.d.ts +52 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +396 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/newsletter.d.ts +17 -0
- package/dist/types/session.d.ts +16 -0
- package/dist/types/user.d.ts +5 -0
- package/dist/types/webhook.d.ts +9 -0
- package/dist/wuzapi-client.d.ts +2 -0
- package/dist/wuzapi-client.js +45 -0
- package/dist/wuzapi-client.js.map +1 -0
- package/package.json +1 -1
- package/dist/vite-env.d.ts +0 -1
package/dist/client.d.ts
CHANGED
|
@@ -14,8 +14,9 @@ export declare class BaseClient {
|
|
|
14
14
|
* Throws an error if no token is available
|
|
15
15
|
*/
|
|
16
16
|
private resolveToken;
|
|
17
|
-
protected request<T>(method: "GET" | "POST" | "DELETE", endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
|
|
17
|
+
protected request<T>(method: "GET" | "POST" | "DELETE" | "PUT", endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
|
|
18
18
|
protected get<T>(endpoint: string, options?: RequestOptions): Promise<T>;
|
|
19
19
|
protected post<T>(endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
|
|
20
|
+
protected put<T>(endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
|
|
20
21
|
protected delete<T>(endpoint: string, options?: RequestOptions): Promise<T>;
|
|
21
22
|
}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
class WuzapiError extends Error {
|
|
3
|
+
code;
|
|
4
|
+
details;
|
|
5
|
+
constructor(code, message, details) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = "WuzapiError";
|
|
8
|
+
this.code = code;
|
|
9
|
+
this.details = details;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
class BaseClient {
|
|
13
|
+
axios;
|
|
14
|
+
config;
|
|
15
|
+
constructor(config) {
|
|
16
|
+
this.config = config;
|
|
17
|
+
this.axios = axios.create({
|
|
18
|
+
baseURL: config.apiUrl,
|
|
19
|
+
headers: {
|
|
20
|
+
"Content-Type": "application/json"
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
this.axios.interceptors.response.use(
|
|
24
|
+
(response) => response,
|
|
25
|
+
(error) => {
|
|
26
|
+
if (error.response) {
|
|
27
|
+
const data = error.response.data;
|
|
28
|
+
throw new WuzapiError(
|
|
29
|
+
data.code || error.response.status,
|
|
30
|
+
data.message || error.message,
|
|
31
|
+
data
|
|
32
|
+
);
|
|
33
|
+
} else if (error.request) {
|
|
34
|
+
throw new WuzapiError(0, "Network error: No response from server");
|
|
35
|
+
} else {
|
|
36
|
+
throw new WuzapiError(0, error.message);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Resolve the token from request options or instance config
|
|
43
|
+
* Throws an error if no token is available
|
|
44
|
+
*/
|
|
45
|
+
resolveToken(options) {
|
|
46
|
+
const token = options?.token || this.config.token;
|
|
47
|
+
if (!token) {
|
|
48
|
+
throw new WuzapiError(
|
|
49
|
+
401,
|
|
50
|
+
"No authentication token provided. Either set a token in the client config or provide one in the request options."
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
return token;
|
|
54
|
+
}
|
|
55
|
+
async request(method, endpoint, data, options) {
|
|
56
|
+
const token = this.resolveToken(options);
|
|
57
|
+
const response = await this.axios.request({
|
|
58
|
+
method,
|
|
59
|
+
url: endpoint,
|
|
60
|
+
data,
|
|
61
|
+
headers: {
|
|
62
|
+
Authorization: token
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
if (!response.data.success) {
|
|
66
|
+
throw new WuzapiError(
|
|
67
|
+
response.data.code,
|
|
68
|
+
"API request failed",
|
|
69
|
+
response.data
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
return response.data.data;
|
|
73
|
+
}
|
|
74
|
+
async get(endpoint, options) {
|
|
75
|
+
return this.request("GET", endpoint, void 0, options);
|
|
76
|
+
}
|
|
77
|
+
async post(endpoint, data, options) {
|
|
78
|
+
return this.request("POST", endpoint, data, options);
|
|
79
|
+
}
|
|
80
|
+
async put(endpoint, data, options) {
|
|
81
|
+
return this.request("PUT", endpoint, data, options);
|
|
82
|
+
}
|
|
83
|
+
async delete(endpoint, options) {
|
|
84
|
+
return this.request("DELETE", endpoint, void 0, options);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
export {
|
|
88
|
+
BaseClient,
|
|
89
|
+
WuzapiError
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../src/client.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosResponse } from \"axios\";\nimport {\n WuzapiConfig,\n WuzapiResponse,\n RequestOptions,\n} from \"./types/common.js\";\n\nexport class WuzapiError extends Error {\n public code: number;\n public details?: unknown;\n\n constructor(code: number, message: string, details?: unknown) {\n super(message);\n this.name = \"WuzapiError\";\n this.code = code;\n this.details = details;\n }\n}\n\nexport class BaseClient {\n protected axios: AxiosInstance;\n protected config: WuzapiConfig;\n\n constructor(config: WuzapiConfig) {\n this.config = config;\n this.axios = axios.create({\n baseURL: config.apiUrl,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n\n // Add response interceptor for error handling\n this.axios.interceptors.response.use(\n (response: AxiosResponse) => response,\n (error) => {\n if (error.response) {\n // Server responded with error status\n const data = error.response.data;\n throw new WuzapiError(\n data.code || error.response.status,\n data.message || error.message,\n data\n );\n } else if (error.request) {\n // Request was made but no response received\n throw new WuzapiError(0, \"Network error: No response from server\");\n } else {\n // Something else happened\n throw new WuzapiError(0, error.message);\n }\n }\n );\n }\n\n /**\n * Resolve the token from request options or instance config\n * Throws an error if no token is available\n */\n private resolveToken(options?: RequestOptions): string {\n const token = options?.token || this.config.token;\n if (!token) {\n throw new WuzapiError(\n 401,\n \"No authentication token provided. Either set a token in the client config or provide one in the request options.\"\n );\n }\n return token;\n }\n\n protected async request<T>(\n method: \"GET\" | \"POST\" | \"DELETE\" | \"PUT\",\n endpoint: string,\n data?: unknown,\n options?: RequestOptions\n ): Promise<T> {\n const token = this.resolveToken(options);\n\n const response = await this.axios.request<WuzapiResponse<T>>({\n method,\n url: endpoint,\n data,\n headers: {\n Authorization: token,\n },\n });\n\n if (!response.data.success) {\n throw new WuzapiError(\n response.data.code,\n \"API request failed\",\n response.data\n );\n }\n\n return response.data.data;\n }\n\n protected async get<T>(\n endpoint: string,\n options?: RequestOptions\n ): Promise<T> {\n return this.request<T>(\"GET\", endpoint, undefined, options);\n }\n\n protected async post<T>(\n endpoint: string,\n data?: unknown,\n options?: RequestOptions\n ): Promise<T> {\n return this.request<T>(\"POST\", endpoint, data, options);\n }\n\n protected async put<T>(\n endpoint: string,\n data?: unknown,\n options?: RequestOptions\n ): Promise<T> {\n return this.request<T>(\"PUT\", endpoint, data, options);\n }\n\n protected async delete<T>(\n endpoint: string,\n options?: RequestOptions\n ): Promise<T> {\n return this.request<T>(\"DELETE\", endpoint, undefined, options);\n }\n}\n"],"names":[],"mappings":";AAOO,MAAM,oBAAoB,MAAM;AAAA,EAC9B;AAAA,EACA;AAAA,EAEP,YAAY,MAAc,SAAiB,SAAmB;AAC5D,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,UAAU;AAAA,EACjB;AACF;AAEO,MAAM,WAAW;AAAA,EACZ;AAAA,EACA;AAAA,EAEV,YAAY,QAAsB;AAChC,SAAK,SAAS;AACd,SAAK,QAAQ,MAAM,OAAO;AAAA,MACxB,SAAS,OAAO;AAAA,MAChB,SAAS;AAAA,QACP,gBAAgB;AAAA,MAAA;AAAA,IAClB,CACD;AAGD,SAAK,MAAM,aAAa,SAAS;AAAA,MAC/B,CAAC,aAA4B;AAAA,MAC7B,CAAC,UAAU;AACT,YAAI,MAAM,UAAU;AAElB,gBAAM,OAAO,MAAM,SAAS;AAC5B,gBAAM,IAAI;AAAA,YACR,KAAK,QAAQ,MAAM,SAAS;AAAA,YAC5B,KAAK,WAAW,MAAM;AAAA,YACtB;AAAA,UAAA;AAAA,QAEJ,WAAW,MAAM,SAAS;AAExB,gBAAM,IAAI,YAAY,GAAG,wCAAwC;AAAA,QACnE,OAAO;AAEL,gBAAM,IAAI,YAAY,GAAG,MAAM,OAAO;AAAA,QACxC;AAAA,MACF;AAAA,IAAA;AAAA,EAEJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,aAAa,SAAkC;AACrD,UAAM,QAAQ,SAAS,SAAS,KAAK,OAAO;AAC5C,QAAI,CAAC,OAAO;AACV,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,QACd,QACA,UACA,MACA,SACY;AACZ,UAAM,QAAQ,KAAK,aAAa,OAAO;AAEvC,UAAM,WAAW,MAAM,KAAK,MAAM,QAA2B;AAAA,MAC3D;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA,SAAS;AAAA,QACP,eAAe;AAAA,MAAA;AAAA,IACjB,CACD;AAED,QAAI,CAAC,SAAS,KAAK,SAAS;AAC1B,YAAM,IAAI;AAAA,QACR,SAAS,KAAK;AAAA,QACd;AAAA,QACA,SAAS;AAAA,MAAA;AAAA,IAEb;AAEA,WAAO,SAAS,KAAK;AAAA,EACvB;AAAA,EAEA,MAAgB,IACd,UACA,SACY;AACZ,WAAO,KAAK,QAAW,OAAO,UAAU,QAAW,OAAO;AAAA,EAC5D;AAAA,EAEA,MAAgB,KACd,UACA,MACA,SACY;AACZ,WAAO,KAAK,QAAW,QAAQ,UAAU,MAAM,OAAO;AAAA,EACxD;AAAA,EAEA,MAAgB,IACd,UACA,MACA,SACY;AACZ,WAAO,KAAK,QAAW,OAAO,UAAU,MAAM,OAAO;AAAA,EACvD;AAAA,EAEA,MAAgB,OACd,UACA,SACY;AACZ,WAAO,KAAK,QAAW,UAAU,UAAU,QAAW,OAAO;AAAA,EAC/D;AACF;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ export { UserModule } from './modules/user.js';
|
|
|
7
7
|
export { ChatModule } from './modules/chat.js';
|
|
8
8
|
export { GroupModule } from './modules/group.js';
|
|
9
9
|
export { WebhookModule } from './modules/webhook.js';
|
|
10
|
+
export { NewsletterModule } from './modules/newsletter.js';
|
|
10
11
|
export { WuzapiClient as default } from './wuzapi-client.js';
|