@kumbify/sdk 1.0.3 → 1.0.5

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 CHANGED
@@ -8,7 +8,7 @@ This SDK makes it easy to integrate messaging (email + SMS) into your apps with
8
8
 
9
9
  ---
10
10
 
11
- ## 📌 Installation
11
+ ### Installation
12
12
 
13
13
  Install using npm:
14
14
 
@@ -22,17 +22,16 @@ or using Yarn:
22
22
  yarn add @kumbify/sdk
23
23
  ```
24
24
 
25
- ## 🚀 Importing
25
+ ### Importing
26
26
 
27
27
  ```ts
28
28
  import { KMailClient, KSMSClient } from "@kumbify/sdk";
29
29
  ```
30
30
 
31
- ---
32
31
 
33
- ## ✉️ Email — KMailClient
32
+ ### Email — KMailClient
34
33
 
35
- ### 📍 Create an Email Client
34
+ #### 📍 Create an Email Client
36
35
 
37
36
  ```ts
38
37
  const mailClient = new KMailClient({
@@ -40,9 +39,8 @@ const mailClient = new KMailClient({
40
39
  });
41
40
  ```
42
41
 
43
- ### 📤 Send a Simple Email
44
-
45
42
  ```ts
43
+ // 📤 Send a Simple Email
46
44
  const sendMail = await mailClient.sendSimpleMail({
47
45
  body_html: "<h1>Hello from Kumbify</h1><p>This is a test email</p>",
48
46
  body_text: "Hello from Kumbify — this is a test email.",
@@ -66,9 +64,9 @@ console.log("Email Response:", sendMail);
66
64
 
67
65
  ---
68
66
 
69
- ## 📱 SMS — KSMSClient
67
+ ### SMS — KSMSClient
70
68
 
71
- ### 📍 Create an SMS Client
69
+ #### 📍 Create an SMS Client
72
70
 
73
71
  ```ts
74
72
  const smsClient = new KSMSClient({
@@ -76,9 +74,9 @@ const smsClient = new KSMSClient({
76
74
  });
77
75
  ```
78
76
 
79
- ### 📤 Send an SMS Message
80
-
81
77
  ```ts
78
+ // 📤 Send an SMS Message
79
+
82
80
  await smsClient.sendSMS({
83
81
  message: "Your verification code is 123456",
84
82
  from: "kumbify-app",
@@ -98,7 +96,7 @@ console.log("SMS sent successfully!");
98
96
 
99
97
  ---
100
98
 
101
- ## 💡 Example Usage All Together
99
+ ### Example Usage All Together
102
100
 
103
101
  ```ts
104
102
  import { KMailClient, KSMSClient } from "@kumbify/sdk";
@@ -125,7 +123,7 @@ await smsClient.sendSMS({
125
123
 
126
124
  ---
127
125
 
128
- ## 🧠 Tips & Best Practices
126
+ ### Tips & Best Practices
129
127
 
130
128
  ✔️ Store your API keys in environment variables (never hardcode them).
131
129
  ✔️ Always handle promise rejections with `try/catch`.
@@ -133,7 +131,7 @@ await smsClient.sendSMS({
133
131
 
134
132
  ---
135
133
 
136
- ## 💼 Supported Environments
134
+ ### Supported Environments
137
135
 
138
136
  ✔ Node.js
139
137
  ✔ TypeScript
@@ -1,6 +1,6 @@
1
1
  import { IKMailResponseMail, IKMailSendMailSimpleMessage, IKMailSendMailTemplateMessage } from "../utils/types";
2
2
  export declare class KMailClient {
3
- apiKey: string;
3
+ private apiKey;
4
4
  constructor({ apiKey }: {
5
5
  apiKey: string;
6
6
  });
@@ -14,23 +14,40 @@ class KMailClient {
14
14
  async sendSimpleMail({ ...data }) {
15
15
  try {
16
16
  const response = await axios_1.default.post(helpers_1.APP_CONFIG.KMAIL_URL + "/send", {
17
- ...data,
17
+ from_address: data.from,
18
+ to_address: data.to,
19
+ subject: data.subject,
20
+ body_html: data.body_html,
21
+ body_text: data.body_text,
18
22
  }, { headers: { "kumbi-api-key": "Bearer " + this.apiKey } });
19
23
  return response.data;
20
24
  }
21
- catch (err) {
22
- throw new Error("Failed while send simple mail: " + err);
25
+ catch (error) {
26
+ if (axios_1.default.isAxiosError(error)) {
27
+ const status = error.response?.status;
28
+ const data = error.response?.data;
29
+ throw new Error(`Mail failed (status: ${status}): ${JSON.stringify(data)}`);
30
+ }
31
+ throw new Error(`Mail failed: ${String(error)}`);
23
32
  }
24
33
  }
25
34
  async sendTemplateMail({ ...data }) {
26
35
  try {
27
36
  const response = await axios_1.default.post(helpers_1.APP_CONFIG.KMAIL_URL + "/send", {
28
- ...data,
37
+ from_address: data.from,
38
+ to_address: data.to,
39
+ template_name: data.template.name,
40
+ template_data: data.template.data,
29
41
  }, { headers: { "kumbi-api-key": "Bearer " + this.apiKey } });
30
42
  return response.data;
31
43
  }
32
- catch (err) {
33
- throw new Error("Failed while send template mail: " + err);
44
+ catch (error) {
45
+ if (axios_1.default.isAxiosError(error)) {
46
+ const status = error.response?.status;
47
+ const data = error.response?.data;
48
+ throw new Error(`Mail failed (status: ${status}): ${JSON.stringify(data)}`);
49
+ }
50
+ throw new Error(`Mail failed: ${String(error)}`);
34
51
  }
35
52
  }
36
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"KMailClient.js","sourceRoot":"","sources":["../../src/kmail/KMailClient.ts"],"names":[],"mappings":";;;;;;AAKA,8CAA8C;AAE9C,kDAA0B;AAE1B,MAAa,WAAW;IACtB,MAAM,CAAC;IACP,YAAY,EAAE,MAAM,EAAsB;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAE,GAAG,IAAI,EAA+B;QAC3D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,oBAAU,CAAC,SAAS,GAAG,OAAO,EAC9B;gBACE,GAAG,IAAI;aACR,EACD,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAC1D,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,GAAG,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAiC;QAC/D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,oBAAU,CAAC,SAAS,GAAG,OAAO,EAC9B;gBACE,GAAG,IAAI;aACR,EACD,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAC1D,CAAC;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,GAAG,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF;AApCD,kCAoCC"}
1
+ {"version":3,"file":"KMailClient.js","sourceRoot":"","sources":["../../src/kmail/KMailClient.ts"],"names":[],"mappings":";;;;;;AAKA,8CAA8C;AAE9C,kDAA0B;AAE1B,MAAa,WAAW;IACd,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAsB;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAE,GAAG,IAAI,EAA+B;QAC3D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,oBAAU,CAAC,SAAS,GAAG,OAAO,EAC9B;gBACE,YAAY,EAAE,IAAI,CAAC,IAAI;gBACvB,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,EACD,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAC1D,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,wBAAwB,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC3D,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAiC;QAC/D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,oBAAU,CAAC,SAAS,GAAG,OAAO,EAC9B;gBACE,YAAY,EAAE,IAAI,CAAC,IAAI;gBACvB,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACjC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;aAClC,EACD,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAC1D,CAAC;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,wBAAwB,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC3D,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CACF;AA3DD,kCA2DC"}
@@ -1,6 +1,6 @@
1
1
  import { IKSMSSendMessage } from "../utils/types";
2
2
  export declare class KSMSClient {
3
- apiKey: string;
3
+ private apiKey;
4
4
  constructor({ apiKey }: {
5
5
  apiKey: string;
6
6
  });
@@ -21,7 +21,12 @@ class KSMSClient {
21
21
  return response.data;
22
22
  }
23
23
  catch (error) {
24
- throw new Error("Failed while send sms: ", error);
24
+ if (axios_1.default.isAxiosError(error)) {
25
+ const status = error.response?.status;
26
+ const data = error.response?.data;
27
+ throw new Error(`SMS failed (status: ${status}): ${JSON.stringify(data)}`);
28
+ }
29
+ throw new Error(`SMS failed: ${String(error)}`);
25
30
  }
26
31
  }
27
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"KSMSClient.js","sourceRoot":"","sources":["../../src/ksms/KSMSClient.ts"],"names":[],"mappings":";;;;;;AAAA,8CAA8C;AAE9C,kDAA0B;AAE1B,MAAa,UAAU;IACrB,MAAM,CAAC;IAEP,YAAY,EAAE,MAAM,EAAsB;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAoB;QACzC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,oBAAU,CAAC,QAAQ,GAAG,OAAO,EAC7B;gBACE,IAAI,EAAE,IAAI,CAAC,OAAO;gBAClB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,EACD,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAC1D,CAAC;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;CACF;AAxBD,gCAwBC"}
1
+ {"version":3,"file":"KSMSClient.js","sourceRoot":"","sources":["../../src/ksms/KSMSClient.ts"],"names":[],"mappings":";;;;;;AAAA,8CAA8C;AAE9C,kDAA0B;AAE1B,MAAa,UAAU;IACb,MAAM,CAAC;IAEf,YAAY,EAAE,MAAM,EAAsB;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAoB;QACzC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,oBAAU,CAAC,QAAQ,GAAG,OAAO,EAC7B;gBACE,IAAI,EAAE,IAAI,CAAC,OAAO;gBAClB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,EACD,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAC1D,CAAC;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,uBAAuB,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC1D,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;CACF;AAhCD,gCAgCC"}
@@ -1,15 +1,17 @@
1
1
  export type IKMailSendMailSimpleMessage = {
2
- from_address: string;
3
- to_address: string[];
2
+ from: string;
3
+ to: string[];
4
4
  subject: string;
5
5
  body_html: string;
6
6
  body_text: string;
7
7
  };
8
8
  export type IKMailSendMailTemplateMessage = {
9
- from_address: string;
10
- to_address: string[];
11
- template_name: string;
12
- template_data: Record<string, any>;
9
+ from: string;
10
+ to: string[];
11
+ template: {
12
+ name: string;
13
+ data: Record<string, any>;
14
+ };
13
15
  };
14
16
  export type IKMailResponseMail = {
15
17
  success: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kumbify/sdk",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Oficial Kumbify SDK to integrate our services in your applications",
5
5
  "homepage": "https://github.com/ricardocastl3/kumbify-sdk#readme",
6
6
  "bugs": {