@catalisa/wpp-sdk 0.2.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 (82) hide show
  1. package/README.md +486 -0
  2. package/dist/client.d.ts +81 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +97 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/errors/index.d.ts +42 -0
  7. package/dist/errors/index.d.ts.map +1 -0
  8. package/dist/errors/index.js +70 -0
  9. package/dist/errors/index.js.map +1 -0
  10. package/dist/http/client.d.ts +48 -0
  11. package/dist/http/client.d.ts.map +1 -0
  12. package/dist/http/client.js +125 -0
  13. package/dist/http/client.js.map +1 -0
  14. package/dist/index.d.ts +33 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +66 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/resources/apiTokens.d.ts +29 -0
  19. package/dist/resources/apiTokens.d.ts.map +1 -0
  20. package/dist/resources/apiTokens.js +38 -0
  21. package/dist/resources/apiTokens.js.map +1 -0
  22. package/dist/resources/auth.d.ts +29 -0
  23. package/dist/resources/auth.d.ts.map +1 -0
  24. package/dist/resources/auth.js +43 -0
  25. package/dist/resources/auth.js.map +1 -0
  26. package/dist/resources/branding.d.ts +27 -0
  27. package/dist/resources/branding.d.ts.map +1 -0
  28. package/dist/resources/branding.js +36 -0
  29. package/dist/resources/branding.js.map +1 -0
  30. package/dist/resources/health.d.ts +16 -0
  31. package/dist/resources/health.d.ts.map +1 -0
  32. package/dist/resources/health.js +19 -0
  33. package/dist/resources/health.js.map +1 -0
  34. package/dist/resources/tenants.d.ts +36 -0
  35. package/dist/resources/tenants.d.ts.map +1 -0
  36. package/dist/resources/tenants.js +51 -0
  37. package/dist/resources/tenants.js.map +1 -0
  38. package/dist/resources/users.d.ts +33 -0
  39. package/dist/resources/users.d.ts.map +1 -0
  40. package/dist/resources/users.js +46 -0
  41. package/dist/resources/users.js.map +1 -0
  42. package/dist/resources/webhooks.d.ts +113 -0
  43. package/dist/resources/webhooks.d.ts.map +1 -0
  44. package/dist/resources/webhooks.js +216 -0
  45. package/dist/resources/webhooks.js.map +1 -0
  46. package/dist/resources/whatsapp.d.ts +121 -0
  47. package/dist/resources/whatsapp.d.ts.map +1 -0
  48. package/dist/resources/whatsapp.js +183 -0
  49. package/dist/resources/whatsapp.js.map +1 -0
  50. package/dist/resources/whatsappAdmin.d.ts +110 -0
  51. package/dist/resources/whatsappAdmin.d.ts.map +1 -0
  52. package/dist/resources/whatsappAdmin.js +140 -0
  53. package/dist/resources/whatsappAdmin.js.map +1 -0
  54. package/dist/types/admin.d.ts +57 -0
  55. package/dist/types/admin.d.ts.map +1 -0
  56. package/dist/types/admin.js +6 -0
  57. package/dist/types/admin.js.map +1 -0
  58. package/dist/types/auth.d.ts +31 -0
  59. package/dist/types/auth.d.ts.map +1 -0
  60. package/dist/types/auth.js +6 -0
  61. package/dist/types/auth.js.map +1 -0
  62. package/dist/types/branding.d.ts +30 -0
  63. package/dist/types/branding.d.ts.map +1 -0
  64. package/dist/types/branding.js +6 -0
  65. package/dist/types/branding.js.map +1 -0
  66. package/dist/types/common.d.ts +27 -0
  67. package/dist/types/common.d.ts.map +1 -0
  68. package/dist/types/common.js +6 -0
  69. package/dist/types/common.js.map +1 -0
  70. package/dist/types/index.d.ts +10 -0
  71. package/dist/types/index.d.ts.map +1 -0
  72. package/dist/types/index.js +26 -0
  73. package/dist/types/index.js.map +1 -0
  74. package/dist/types/webhook.d.ts +126 -0
  75. package/dist/types/webhook.d.ts.map +1 -0
  76. package/dist/types/webhook.js +6 -0
  77. package/dist/types/webhook.js.map +1 -0
  78. package/dist/types/whatsapp.d.ts +154 -0
  79. package/dist/types/whatsapp.d.ts.map +1 -0
  80. package/dist/types/whatsapp.js +6 -0
  81. package/dist/types/whatsapp.js.map +1 -0
  82. package/package.json +49 -0
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Base API Error class
3
+ */
4
+ export declare class APIError extends Error {
5
+ statusCode?: number | undefined;
6
+ response?: any | undefined;
7
+ constructor(message: string, statusCode?: number | undefined, response?: any | undefined);
8
+ }
9
+ /**
10
+ * Authentication/Authorization errors (401, 403)
11
+ */
12
+ export declare class AuthError extends APIError {
13
+ constructor(message: string, statusCode?: number, response?: any);
14
+ }
15
+ /**
16
+ * Validation errors (400, 422)
17
+ */
18
+ export declare class ValidationError extends APIError {
19
+ errors?: Record<string, string[]> | undefined;
20
+ constructor(message: string, errors?: Record<string, string[]> | undefined, statusCode?: number, response?: any);
21
+ }
22
+ /**
23
+ * Not Found errors (404)
24
+ */
25
+ export declare class NotFoundError extends APIError {
26
+ constructor(message: string, response?: any);
27
+ }
28
+ /**
29
+ * Rate Limit errors (429)
30
+ */
31
+ export declare class RateLimitError extends APIError {
32
+ retryAfter?: number | undefined;
33
+ constructor(message: string, retryAfter?: number | undefined, response?: any);
34
+ }
35
+ /**
36
+ * Network/Connection errors
37
+ */
38
+ export declare class NetworkError extends APIError {
39
+ originalError?: Error | undefined;
40
+ constructor(message: string, originalError?: Error | undefined);
41
+ }
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAGxB,UAAU,CAAC,EAAE,MAAM;IACnB,QAAQ,CAAC,EAAE,GAAG;gBAFrB,OAAO,EAAE,MAAM,EACR,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,QAAQ,CAAC,EAAE,GAAG,YAAA;CAMxB;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,QAAQ;gBACzB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG;CAIjE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAGlC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBADxC,OAAO,EAAE,MAAM,EACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,YAAA,EACxC,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,GAAG;CAKjB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG;CAI5C;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAGjC,UAAU,CAAC,EAAE,MAAM;gBAD1B,OAAO,EAAE,MAAM,EACR,UAAU,CAAC,EAAE,MAAM,YAAA,EAC1B,QAAQ,CAAC,EAAE,GAAG;CAKjB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACJ,aAAa,CAAC,EAAE,KAAK;gBAA7C,OAAO,EAAE,MAAM,EAAS,aAAa,CAAC,EAAE,KAAK,YAAA;CAI1D"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NetworkError = exports.RateLimitError = exports.NotFoundError = exports.ValidationError = exports.AuthError = exports.APIError = void 0;
4
+ /**
5
+ * Base API Error class
6
+ */
7
+ class APIError extends Error {
8
+ constructor(message, statusCode, response) {
9
+ super(message);
10
+ this.statusCode = statusCode;
11
+ this.response = response;
12
+ this.name = 'APIError';
13
+ Error.captureStackTrace(this, this.constructor);
14
+ }
15
+ }
16
+ exports.APIError = APIError;
17
+ /**
18
+ * Authentication/Authorization errors (401, 403)
19
+ */
20
+ class AuthError extends APIError {
21
+ constructor(message, statusCode, response) {
22
+ super(message, statusCode, response);
23
+ this.name = 'AuthError';
24
+ }
25
+ }
26
+ exports.AuthError = AuthError;
27
+ /**
28
+ * Validation errors (400, 422)
29
+ */
30
+ class ValidationError extends APIError {
31
+ constructor(message, errors, statusCode, response) {
32
+ super(message, statusCode, response);
33
+ this.errors = errors;
34
+ this.name = 'ValidationError';
35
+ }
36
+ }
37
+ exports.ValidationError = ValidationError;
38
+ /**
39
+ * Not Found errors (404)
40
+ */
41
+ class NotFoundError extends APIError {
42
+ constructor(message, response) {
43
+ super(message, 404, response);
44
+ this.name = 'NotFoundError';
45
+ }
46
+ }
47
+ exports.NotFoundError = NotFoundError;
48
+ /**
49
+ * Rate Limit errors (429)
50
+ */
51
+ class RateLimitError extends APIError {
52
+ constructor(message, retryAfter, response) {
53
+ super(message, 429, response);
54
+ this.retryAfter = retryAfter;
55
+ this.name = 'RateLimitError';
56
+ }
57
+ }
58
+ exports.RateLimitError = RateLimitError;
59
+ /**
60
+ * Network/Connection errors
61
+ */
62
+ class NetworkError extends APIError {
63
+ constructor(message, originalError) {
64
+ super(message);
65
+ this.originalError = originalError;
66
+ this.name = 'NetworkError';
67
+ }
68
+ }
69
+ exports.NetworkError = NetworkError;
70
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,QAAS,SAAQ,KAAK;IACjC,YACE,OAAe,EACR,UAAmB,EACnB,QAAc;QAErB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,eAAU,GAAV,UAAU,CAAS;QACnB,aAAQ,GAAR,QAAQ,CAAM;QAGrB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAVD,4BAUC;AAED;;GAEG;AACH,MAAa,SAAU,SAAQ,QAAQ;IACrC,YAAY,OAAe,EAAE,UAAmB,EAAE,QAAc;QAC9D,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AALD,8BAKC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,QAAQ;IAC3C,YACE,OAAe,EACR,MAAiC,EACxC,UAAmB,EACnB,QAAc;QAEd,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAJ9B,WAAM,GAAN,MAAM,CAA2B;QAKxC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAVD,0CAUC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,QAAQ;IACzC,YAAY,OAAe,EAAE,QAAc;QACzC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC;AAED;;GAEG;AACH,MAAa,cAAe,SAAQ,QAAQ;IAC1C,YACE,OAAe,EACR,UAAmB,EAC1B,QAAc;QAEd,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAHvB,eAAU,GAAV,UAAU,CAAS;QAI1B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AATD,wCASC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,QAAQ;IACxC,YAAY,OAAe,EAAS,aAAqB;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,kBAAa,GAAb,aAAa,CAAQ;QAEvD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AALD,oCAKC"}
@@ -0,0 +1,48 @@
1
+ import { AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from 'axios';
2
+ export interface HTTPClientConfig {
3
+ baseURL: string;
4
+ timeout?: number;
5
+ headers?: Record<string, string>;
6
+ onRequest?: (config: InternalAxiosRequestConfig) => InternalAxiosRequestConfig | Promise<InternalAxiosRequestConfig>;
7
+ onResponse?: (response: AxiosResponse) => AxiosResponse | Promise<AxiosResponse>;
8
+ onError?: (error: any) => void;
9
+ }
10
+ /**
11
+ * HTTP Client wrapper around axios with error handling
12
+ */
13
+ export declare class HTTPClient {
14
+ private client;
15
+ private config;
16
+ constructor(config: HTTPClientConfig);
17
+ private setupInterceptors;
18
+ private handleError;
19
+ /**
20
+ * Set authorization header (JWT or API Token)
21
+ */
22
+ setAuth(token: string, type?: 'jwt' | 'apiToken'): void;
23
+ /**
24
+ * Clear authorization header
25
+ */
26
+ clearAuth(): void;
27
+ /**
28
+ * GET request
29
+ */
30
+ get<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
31
+ /**
32
+ * POST request
33
+ */
34
+ post<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
35
+ /**
36
+ * PUT request
37
+ */
38
+ put<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
39
+ /**
40
+ * PATCH request
41
+ */
42
+ patch<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
43
+ /**
44
+ * DELETE request
45
+ */
46
+ delete<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
47
+ }
48
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAiB,kBAAkB,EAAE,aAAa,EAAc,0BAA0B,EAAE,MAAM,OAAO,CAAC;AAUxH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACrH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,gBAAgB;IAcpC,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,WAAW;IA0CnB;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,KAAK,GAAG,UAAkB,GAAG,IAAI;IAQ9D;;OAEG;IACH,SAAS,IAAI,IAAI;IAKjB;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKxE;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKrF;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKpF;;OAEG;IACG,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKtF;;OAEG;IACG,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;CAI5E"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HTTPClient = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const errors_1 = require("../errors");
9
+ /**
10
+ * HTTP Client wrapper around axios with error handling
11
+ */
12
+ class HTTPClient {
13
+ constructor(config) {
14
+ this.config = config;
15
+ this.client = axios_1.default.create({
16
+ baseURL: config.baseURL,
17
+ timeout: config.timeout || 30000,
18
+ headers: {
19
+ 'Content-Type': 'application/json',
20
+ ...config.headers,
21
+ },
22
+ });
23
+ this.setupInterceptors();
24
+ }
25
+ setupInterceptors() {
26
+ // Request interceptor
27
+ this.client.interceptors.request.use(async (config) => {
28
+ if (this.config.onRequest) {
29
+ return await this.config.onRequest(config);
30
+ }
31
+ return config;
32
+ }, (error) => Promise.reject(error));
33
+ // Response interceptor
34
+ this.client.interceptors.response.use(async (response) => {
35
+ if (this.config.onResponse) {
36
+ return await this.config.onResponse(response);
37
+ }
38
+ return response;
39
+ }, async (error) => {
40
+ const handledError = this.handleError(error);
41
+ if (this.config.onError) {
42
+ this.config.onError(handledError);
43
+ }
44
+ return Promise.reject(handledError);
45
+ });
46
+ }
47
+ handleError(error) {
48
+ // Network errors (no response)
49
+ if (!error.response) {
50
+ return new errors_1.NetworkError(error.message || 'Network error occurred', error);
51
+ }
52
+ const { status, data } = error.response;
53
+ const message = data?.message || error.message || 'An error occurred';
54
+ // Map HTTP status codes to custom errors
55
+ switch (status) {
56
+ case 400:
57
+ case 422:
58
+ return new errors_1.ValidationError(message, data?.errors, status, data);
59
+ case 401:
60
+ case 403:
61
+ return new errors_1.AuthError(message, status, data);
62
+ case 404:
63
+ return new errors_1.NotFoundError(message, data);
64
+ case 429:
65
+ return new errors_1.RateLimitError(message, parseInt(error.response.headers?.['retry-after'] || '60'), data);
66
+ default:
67
+ return new errors_1.APIError(message, status, data);
68
+ }
69
+ }
70
+ /**
71
+ * Set authorization header (JWT or API Token)
72
+ */
73
+ setAuth(token, type = 'jwt') {
74
+ if (type === 'jwt') {
75
+ this.client.defaults.headers.common['Authorization'] = `Bearer ${token}`;
76
+ }
77
+ else {
78
+ this.client.defaults.headers.common['x-api-key'] = token;
79
+ }
80
+ }
81
+ /**
82
+ * Clear authorization header
83
+ */
84
+ clearAuth() {
85
+ delete this.client.defaults.headers.common['Authorization'];
86
+ delete this.client.defaults.headers.common['x-api-key'];
87
+ }
88
+ /**
89
+ * GET request
90
+ */
91
+ async get(url, config) {
92
+ const response = await this.client.get(url, config);
93
+ return response.data;
94
+ }
95
+ /**
96
+ * POST request
97
+ */
98
+ async post(url, data, config) {
99
+ const response = await this.client.post(url, data, config);
100
+ return response.data;
101
+ }
102
+ /**
103
+ * PUT request
104
+ */
105
+ async put(url, data, config) {
106
+ const response = await this.client.put(url, data, config);
107
+ return response.data;
108
+ }
109
+ /**
110
+ * PATCH request
111
+ */
112
+ async patch(url, data, config) {
113
+ const response = await this.client.patch(url, data, config);
114
+ return response.data;
115
+ }
116
+ /**
117
+ * DELETE request
118
+ */
119
+ async delete(url, config) {
120
+ const response = await this.client.delete(url, config);
121
+ return response.data;
122
+ }
123
+ }
124
+ exports.HTTPClient = HTTPClient;
125
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @wpp/sdk - TypeScript SDK for WhatsApp Multi-tenant API
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * import { WhatsAppAPIClient } from '@wpp/sdk';
7
+ *
8
+ * const client = new WhatsAppAPIClient({
9
+ * baseURL: 'https://api.example.com',
10
+ * auth: { type: 'apiToken', token: 'wpp_live_xxx' }
11
+ * });
12
+ *
13
+ * await client.whatsapp.connect();
14
+ * await client.whatsapp.send({
15
+ * jid: '5511999999999@s.whatsapp.net',
16
+ * text: 'Hello from SDK!'
17
+ * });
18
+ * ```
19
+ */
20
+ export { WhatsAppAPIClient, WhatsAppAPIClientConfig } from './client';
21
+ export * from './types';
22
+ export * from './errors';
23
+ export { AuthResource } from './resources/auth';
24
+ export { UsersResource } from './resources/users';
25
+ export { TenantsResource } from './resources/tenants';
26
+ export { ApiTokensResource } from './resources/apiTokens';
27
+ export { WhatsAppResource } from './resources/whatsapp';
28
+ export { WhatsAppAdminResource } from './resources/whatsappAdmin';
29
+ export { WebhooksResource } from './resources/webhooks';
30
+ export { BrandingResource } from './resources/branding';
31
+ export { HealthResource } from './resources/health';
32
+ export { HTTPClient, HTTPClientConfig } from './http/client';
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGtE,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ /**
3
+ * @wpp/sdk - TypeScript SDK for WhatsApp Multi-tenant API
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * import { WhatsAppAPIClient } from '@wpp/sdk';
8
+ *
9
+ * const client = new WhatsAppAPIClient({
10
+ * baseURL: 'https://api.example.com',
11
+ * auth: { type: 'apiToken', token: 'wpp_live_xxx' }
12
+ * });
13
+ *
14
+ * await client.whatsapp.connect();
15
+ * await client.whatsapp.send({
16
+ * jid: '5511999999999@s.whatsapp.net',
17
+ * text: 'Hello from SDK!'
18
+ * });
19
+ * ```
20
+ */
21
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ var desc = Object.getOwnPropertyDescriptor(m, k);
24
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
25
+ desc = { enumerable: true, get: function() { return m[k]; } };
26
+ }
27
+ Object.defineProperty(o, k2, desc);
28
+ }) : (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ o[k2] = m[k];
31
+ }));
32
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
33
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
34
+ };
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.HTTPClient = exports.HealthResource = exports.BrandingResource = exports.WebhooksResource = exports.WhatsAppAdminResource = exports.WhatsAppResource = exports.ApiTokensResource = exports.TenantsResource = exports.UsersResource = exports.AuthResource = exports.WhatsAppAPIClient = void 0;
37
+ // Export main client
38
+ var client_1 = require("./client");
39
+ Object.defineProperty(exports, "WhatsAppAPIClient", { enumerable: true, get: function () { return client_1.WhatsAppAPIClient; } });
40
+ // Export all types
41
+ __exportStar(require("./types"), exports);
42
+ // Export errors
43
+ __exportStar(require("./errors"), exports);
44
+ // Export resources (for advanced use cases)
45
+ var auth_1 = require("./resources/auth");
46
+ Object.defineProperty(exports, "AuthResource", { enumerable: true, get: function () { return auth_1.AuthResource; } });
47
+ var users_1 = require("./resources/users");
48
+ Object.defineProperty(exports, "UsersResource", { enumerable: true, get: function () { return users_1.UsersResource; } });
49
+ var tenants_1 = require("./resources/tenants");
50
+ Object.defineProperty(exports, "TenantsResource", { enumerable: true, get: function () { return tenants_1.TenantsResource; } });
51
+ var apiTokens_1 = require("./resources/apiTokens");
52
+ Object.defineProperty(exports, "ApiTokensResource", { enumerable: true, get: function () { return apiTokens_1.ApiTokensResource; } });
53
+ var whatsapp_1 = require("./resources/whatsapp");
54
+ Object.defineProperty(exports, "WhatsAppResource", { enumerable: true, get: function () { return whatsapp_1.WhatsAppResource; } });
55
+ var whatsappAdmin_1 = require("./resources/whatsappAdmin");
56
+ Object.defineProperty(exports, "WhatsAppAdminResource", { enumerable: true, get: function () { return whatsappAdmin_1.WhatsAppAdminResource; } });
57
+ var webhooks_1 = require("./resources/webhooks");
58
+ Object.defineProperty(exports, "WebhooksResource", { enumerable: true, get: function () { return webhooks_1.WebhooksResource; } });
59
+ var branding_1 = require("./resources/branding");
60
+ Object.defineProperty(exports, "BrandingResource", { enumerable: true, get: function () { return branding_1.BrandingResource; } });
61
+ var health_1 = require("./resources/health");
62
+ Object.defineProperty(exports, "HealthResource", { enumerable: true, get: function () { return health_1.HealthResource; } });
63
+ // Export HTTP client (for advanced use cases)
64
+ var client_2 = require("./http/client");
65
+ Object.defineProperty(exports, "HTTPClient", { enumerable: true, get: function () { return client_2.HTTPClient; } });
66
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;;;;;;;;;;;;;;;AAEH,qBAAqB;AACrB,mCAAsE;AAA7D,2GAAA,iBAAiB,OAAA;AAE1B,mBAAmB;AACnB,0CAAwB;AAExB,gBAAgB;AAChB,2CAAyB;AAEzB,4CAA4C;AAC5C,yCAAgD;AAAvC,oGAAA,YAAY,OAAA;AACrB,2CAAkD;AAAzC,sGAAA,aAAa,OAAA;AACtB,+CAAsD;AAA7C,0GAAA,eAAe,OAAA;AACxB,mDAA0D;AAAjD,8GAAA,iBAAiB,OAAA;AAC1B,iDAAwD;AAA/C,4GAAA,gBAAgB,OAAA;AACzB,2DAAkE;AAAzD,sHAAA,qBAAqB,OAAA;AAC9B,iDAAwD;AAA/C,4GAAA,gBAAgB,OAAA;AACzB,iDAAwD;AAA/C,4GAAA,gBAAgB,OAAA;AACzB,6CAAoD;AAA3C,wGAAA,cAAc,OAAA;AAEvB,8CAA8C;AAC9C,wCAA6D;AAApD,oGAAA,UAAU,OAAA"}
@@ -0,0 +1,29 @@
1
+ import { HTTPClient } from '../http/client';
2
+ import { APIToken, CreateAPITokenRequest } from '../types';
3
+ /**
4
+ * API Token management resource (admin only)
5
+ * Requires JWT authentication with admin role
6
+ */
7
+ export declare class ApiTokensResource {
8
+ private http;
9
+ constructor(http: HTTPClient);
10
+ /**
11
+ * List all API tokens for a tenant
12
+ * @param tenantId Tenant ID
13
+ */
14
+ list(tenantId: string): Promise<APIToken[]>;
15
+ /**
16
+ * Create new API token for tenant
17
+ * @param tenantId Tenant ID
18
+ * @param data Token configuration
19
+ * @returns Token with secret key (only shown once - store securely!)
20
+ */
21
+ create(tenantId: string, data?: CreateAPITokenRequest): Promise<APIToken>;
22
+ /**
23
+ * Revoke/delete API token
24
+ * @param tenantId Tenant ID
25
+ * @param tokenId Token ID to delete
26
+ */
27
+ delete(tenantId: string, tokenId: string): Promise<void>;
28
+ }
29
+ //# sourceMappingURL=apiTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiTokens.d.ts","sourceRoot":"","sources":["../../src/resources/apiTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAE3D;;;GAGG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;;OAGG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAIjD;;;;;OAKG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,QAAQ,CAAC;IAInF;;;;OAIG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/D"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiTokensResource = void 0;
4
+ /**
5
+ * API Token management resource (admin only)
6
+ * Requires JWT authentication with admin role
7
+ */
8
+ class ApiTokensResource {
9
+ constructor(http) {
10
+ this.http = http;
11
+ }
12
+ /**
13
+ * List all API tokens for a tenant
14
+ * @param tenantId Tenant ID
15
+ */
16
+ async list(tenantId) {
17
+ return this.http.get(`/admin/tenants/${tenantId}/tokens`);
18
+ }
19
+ /**
20
+ * Create new API token for tenant
21
+ * @param tenantId Tenant ID
22
+ * @param data Token configuration
23
+ * @returns Token with secret key (only shown once - store securely!)
24
+ */
25
+ async create(tenantId, data = {}) {
26
+ return this.http.post(`/admin/tenants/${tenantId}/tokens`, data);
27
+ }
28
+ /**
29
+ * Revoke/delete API token
30
+ * @param tenantId Tenant ID
31
+ * @param tokenId Token ID to delete
32
+ */
33
+ async delete(tenantId, tokenId) {
34
+ await this.http.delete(`/admin/tenants/${tenantId}/tokens/${tokenId}`);
35
+ }
36
+ }
37
+ exports.ApiTokensResource = ApiTokensResource;
38
+ //# sourceMappingURL=apiTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiTokens.js","sourceRoot":"","sources":["../../src/resources/apiTokens.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAa,iBAAiB;IAC5B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,kBAAkB,QAAQ,SAAS,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,OAA8B,EAAE;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,kBAAkB,QAAQ,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,OAAe;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,QAAQ,WAAW,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;CACF;AA7BD,8CA6BC"}
@@ -0,0 +1,29 @@
1
+ import { HTTPClient } from '../http/client';
2
+ import { LoginResponse, CurrentUserResponse } from '../types';
3
+ /**
4
+ * Authentication resource
5
+ * Handles login, password reset, and current user
6
+ */
7
+ export declare class AuthResource {
8
+ private http;
9
+ constructor(http: HTTPClient);
10
+ /**
11
+ * Login with email and password
12
+ * @returns JWT token and user info
13
+ */
14
+ login(email: string, password: string): Promise<LoginResponse>;
15
+ /**
16
+ * Request password reset email
17
+ */
18
+ forgotPassword(email: string): Promise<void>;
19
+ /**
20
+ * Reset password with token from email
21
+ */
22
+ resetPassword(token: string, newPassword: string): Promise<void>;
23
+ /**
24
+ * Get current user info and refresh token
25
+ * Requires JWT authentication
26
+ */
27
+ me(): Promise<CurrentUserResponse>;
28
+ }
29
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/resources/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAEL,aAAa,EAGb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;;OAGG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAKpE;;OAEG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtE;;;OAGG;IACG,EAAE,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAGzC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthResource = void 0;
4
+ /**
5
+ * Authentication resource
6
+ * Handles login, password reset, and current user
7
+ */
8
+ class AuthResource {
9
+ constructor(http) {
10
+ this.http = http;
11
+ }
12
+ /**
13
+ * Login with email and password
14
+ * @returns JWT token and user info
15
+ */
16
+ async login(email, password) {
17
+ const data = { email, password };
18
+ return this.http.post('/auth/login', data);
19
+ }
20
+ /**
21
+ * Request password reset email
22
+ */
23
+ async forgotPassword(email) {
24
+ const data = { email };
25
+ await this.http.post('/auth/forgot-password', data);
26
+ }
27
+ /**
28
+ * Reset password with token from email
29
+ */
30
+ async resetPassword(token, newPassword) {
31
+ const data = { token, newPassword };
32
+ await this.http.post('/auth/reset-password', data);
33
+ }
34
+ /**
35
+ * Get current user info and refresh token
36
+ * Requires JWT authentication
37
+ */
38
+ async me() {
39
+ return this.http.get('/auth/me');
40
+ }
41
+ }
42
+ exports.AuthResource = AuthResource;
43
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/resources/auth.ts"],"names":[],"mappings":";;;AASA;;;GAGG;AACH,MAAa,YAAY;IACvB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,QAAgB;QACzC,MAAM,IAAI,GAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgB,aAAa,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,MAAM,IAAI,GAA0B,EAAE,KAAK,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,WAAmB;QACpD,MAAM,IAAI,GAAyB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QAC1D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,UAAU,CAAC,CAAC;IACxD,CAAC;CACF;AAnCD,oCAmCC"}
@@ -0,0 +1,27 @@
1
+ import { HTTPClient } from '../http/client';
2
+ import { Branding, UpdateBrandingRequest } from '../types';
3
+ /**
4
+ * Branding resource
5
+ * Customize public-facing pages (QR code pages, etc.)
6
+ */
7
+ export declare class BrandingResource {
8
+ private http;
9
+ constructor(http: HTTPClient);
10
+ /**
11
+ * Get branding configuration for a tenant (public endpoint)
12
+ * @param tenantId Tenant ID
13
+ */
14
+ get(tenantId: string): Promise<Branding>;
15
+ /**
16
+ * Update branding configuration (admin only)
17
+ * Requires JWT authentication with admin role
18
+ */
19
+ update(data: UpdateBrandingRequest): Promise<Branding>;
20
+ /**
21
+ * Delete tenant branding (revert to defaults) (admin only)
22
+ * Requires JWT authentication with admin role
23
+ * @param tenantId Tenant ID
24
+ */
25
+ delete(tenantId: string): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=branding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branding.d.ts","sourceRoot":"","sources":["../../src/resources/branding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAE3D;;;GAGG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;;OAGG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI9C;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI5D;;;;OAIG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9C"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BrandingResource = void 0;
4
+ /**
5
+ * Branding resource
6
+ * Customize public-facing pages (QR code pages, etc.)
7
+ */
8
+ class BrandingResource {
9
+ constructor(http) {
10
+ this.http = http;
11
+ }
12
+ /**
13
+ * Get branding configuration for a tenant (public endpoint)
14
+ * @param tenantId Tenant ID
15
+ */
16
+ async get(tenantId) {
17
+ return this.http.get(`/branding?tenantId=${tenantId}`);
18
+ }
19
+ /**
20
+ * Update branding configuration (admin only)
21
+ * Requires JWT authentication with admin role
22
+ */
23
+ async update(data) {
24
+ return this.http.post('/admin/branding', data);
25
+ }
26
+ /**
27
+ * Delete tenant branding (revert to defaults) (admin only)
28
+ * Requires JWT authentication with admin role
29
+ * @param tenantId Tenant ID
30
+ */
31
+ async delete(tenantId) {
32
+ await this.http.delete(`/admin/branding/${tenantId}`);
33
+ }
34
+ }
35
+ exports.BrandingResource = BrandingResource;
36
+ //# sourceMappingURL=branding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branding.js","sourceRoot":"","sources":["../../src/resources/branding.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAa,gBAAgB;IAC3B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,IAA2B;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;CACF;AA3BD,4CA2BC"}