@kumbify/sdk 1.1.1 → 1.1.3

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
@@ -30,11 +30,15 @@ import { KMailClient, KSMSClient } from "@kumbify/sdk";
30
30
 
31
31
  ### Email — KMailClient
32
32
 
33
- #### 📍 Create an Email Client
33
+ #### Create an Email Client
34
34
 
35
35
  ```ts
36
36
  const mailClient = new KMailClient({
37
37
  apiKey: "YOUR_EMAIL_API_KEY",
38
+ api: {
39
+ lang: "en",
40
+ version: "v1",
41
+ },
38
42
  });
39
43
  ```
40
44
 
@@ -55,13 +59,13 @@ console.log("Email Response: ", sendMail);
55
59
 
56
60
  **Parameters explained:**
57
61
 
58
- | Property | Type | Description |
59
- | -------------- | -------- | --------------------------------- |
60
- | `body.html` | string | HTML email content |
61
- | `body.text` | string | Plain text email content |
62
- | `from` | string | Sender email address |
63
- | `subject` | string | Email subject |
64
- | `to` | string[] | List of recipient email addresses |
62
+ | Property | Type | Description |
63
+ | ----------- | -------- | --------------------------------- |
64
+ | `body.html` | string | HTML email content |
65
+ | `body.text` | string | Plain text email content |
66
+ | `from` | string | Sender email address |
67
+ | `subject` | string | Email subject |
68
+ | `to` | string[] | List of recipient email addresses |
65
69
 
66
70
  ---
67
71
 
@@ -75,14 +79,13 @@ const sendMail = await mailClient.sendTemplateMail({
75
79
  data: {
76
80
  customer: {
77
81
  name: "Ricardo Castle",
78
- email: "doe@gmail.com"
79
- }
82
+ email: "doe@gmail.com",
83
+ },
80
84
  },
81
85
  },
82
86
  });
83
87
 
84
88
  console.log("Email Response: ", sendMail);
85
-
86
89
  ```
87
90
 
88
91
  **Parameters explained:**
@@ -98,11 +101,15 @@ console.log("Email Response: ", sendMail);
98
101
 
99
102
  ### SMS — KSMSClient
100
103
 
101
- #### 📍 Create an SMS Client
104
+ #### Create an SMS Client
102
105
 
103
106
  ```ts
104
107
  const smsClient = new KSMSClient({
105
108
  apiKey: "YOUR_SMS_API_KEY",
109
+ api: {
110
+ lang: "en",
111
+ version: "v1",
112
+ },
106
113
  });
107
114
  ```
108
115
 
@@ -119,11 +126,12 @@ console.log("SMS sent successfully!");
119
126
 
120
127
  **Parameters explained:**
121
128
 
122
- | Property | Type | Description |
123
- | --------- | ------ | ------------------------------------ |
124
- | `message` | string | SMS content |
125
- | `from` | string | Sender identifier (visible to users) |
126
- | `to` | string[] | List of recipient phone numbers |
129
+ | Property | Type | Description |
130
+ | --------- | -------- | ------------------------------------ |
131
+ | `message` | string | SMS content |
132
+ | `from` | string | Sender identifier (visible to users) |
133
+ | `to` | string[] | List of recipient phone numbers |
134
+
127
135
  ---
128
136
 
129
137
  ### Example Usage All Together
@@ -155,6 +163,45 @@ await smsClient.sendSMS({
155
163
 
156
164
  ---
157
165
 
166
+ ### OAuth2Client
167
+
168
+ #### Create an OAuth2 Client
169
+
170
+ ```ts
171
+ const oauthClient = new OAuth2Client({
172
+ clientId: process.env.KUMBIFY_CLIENT_ID,
173
+ clientSecret: process.env.KUMBIFY_CLIENT_SECRET,
174
+ redirectUri: {
175
+ account: "",
176
+ service: "",
177
+ },
178
+ scopes: {
179
+ account: ["profile", "subscription.read"],
180
+ services: ["gmail.send.email"],
181
+ },
182
+ api: {
183
+ lang: "pt",
184
+ version: "v1",
185
+ },
186
+ });
187
+
188
+ // Generate OAuth Account URL
189
+ const oauthAccountUrl = oauthClient.generateOAuthAccountUrl({});
190
+
191
+ // Generate OAuth Service URL
192
+ const oauthServiceUrl = oauthClient.generateOAuthServiceUrl({});
193
+ ```
194
+
195
+ | Property | Type | Description |
196
+ | -------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
197
+ | `clientId` | string | SMS content |
198
+ | `clientSecret` | string | Sender identifier (visible to users) |
199
+ | `redirectUri` | object | URL redirect type, choose the one that meets your needs. **Service** if using the client to obtain service permissions. **Account** if using it for sign-in |
200
+ | `scopes` | object | Scope type: choose the one that meets your needs. **Service**: if using the client to obtain service permissions, such as sending emails. **Account**: if using it for user account permissions, such as profile access |
201
+ | `api` | object | API Definitions |
202
+
203
+ ---
204
+
158
205
  ### Tips & Best Practices
159
206
 
160
207
  - Store your API keys in environment variables (never hardcode them).
@@ -23,7 +23,7 @@ interface IOAuthClientProps {
23
23
  api?: IAPIConfig;
24
24
  }
25
25
  type OAuthServiceScopes = "gmail.send.email";
26
- type OAuthAccountScopes = "profile,subscription.read";
26
+ type OAuthAccountScopes = "profile" | "subscription.read";
27
27
  export declare class OAuth2Client {
28
28
  private clientId;
29
29
  private clientSecret;
@@ -36,9 +36,7 @@ export declare class OAuth2Client {
36
36
  }): {
37
37
  url: string;
38
38
  };
39
- generateOAuthServiceUrl({ state, }: {
40
- redirect_url: string;
41
- scopes: OAuthServiceScopes;
39
+ generateOAuthServiceUrl({ state }: {
42
40
  state?: string;
43
41
  }): {
44
42
  url: string;
@@ -21,11 +21,11 @@ class OAuth2Client {
21
21
  this.api = api;
22
22
  }
23
23
  generateOAuthAccountUrl({ state }) {
24
- const url = `${helpers_1.APP_CONFIG.OAUTH.ACCOUNT}?client_id=${this.clientId}&scopes=${this.scopes.account.join(",")}${state ? `&state=${state}` : ""}&redirect=${this.redirectUri.account}`;
24
+ const url = `https://kumbify.com/${this.api.lang}/oauth?client_id=${this.clientId}&scopes=${this.scopes.account.join(",")}${state ? `&state=${state}` : ""}&redirect=${this.redirectUri.account}`;
25
25
  return { url };
26
26
  }
27
- generateOAuthServiceUrl({ state, }) {
28
- const url = `${helpers_1.APP_CONFIG.OAUTH.ACCOUNT}?client_id=${this.clientId}&scopes=${this.scopes.services.join(",")}${state ? `&state=${state}` : ""}&redirect=${this.redirectUri.service}`;
27
+ generateOAuthServiceUrl({ state }) {
28
+ const url = `https://kumbify.com/${this.api.lang}/oauth/services?client_id=${this.clientId}&scopes=${this.scopes.services.join(",")}${state ? `&state=${state}` : ""}&redirect=${this.redirectUri.service}`;
29
29
  return { url };
30
30
  }
31
31
  async generateToken({ ...data }) {
@@ -1 +1 @@
1
- {"version":3,"file":"OAuth2Client.js","sourceRoot":"","sources":["../../src/oauth/OAuth2Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OAuth2Client.js","sourceRoot":"","sources":["../../src/oauth/OAuth2Client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kumbify/sdk",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "Oficial Kumbify SDK to integrate our services in your applications",
5
5
  "homepage": "https://github.com/kumbify-oficial/kumbi-sdk#readme",
6
6
  "bugs": {