@zyphr-dev/node-sdk 0.1.8 → 0.1.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zyphr-dev/node-sdk",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Official Zyphr SDK for Node.js, React, and React Native",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -97,6 +97,9 @@ src/models/EmailTrackingResponse.ts
97
97
  src/models/EndUserDeleteResponse.ts
98
98
  src/models/EndUserDeleteResponseData.ts
99
99
  src/models/ForgotPasswordRequest.ts
100
+ src/models/GenerateSubscriberToken200Response.ts
101
+ src/models/GenerateSubscriberToken200ResponseData.ts
102
+ src/models/GenerateSubscriberTokenRequest.ts
100
103
  src/models/GenerateWaaSPortalToken201Response.ts
101
104
  src/models/GetWaaSEndpoint200Response.ts
102
105
  src/models/GetWaaSUsage200Response.ts
@@ -15,6 +15,9 @@
15
15
 
16
16
  import * as runtime from '../runtime';
17
17
  import type {
18
+ ApiError,
19
+ GenerateSubscriberToken200Response,
20
+ GenerateSubscriberTokenRequest,
18
21
  InboxListResponse,
19
22
  InboxNotificationResponse,
20
23
  MarkAllInboxReadRequest,
@@ -27,6 +30,12 @@ import type {
27
30
  UnreadCountResponse,
28
31
  } from '../models/index';
29
32
  import {
33
+ ApiErrorFromJSON,
34
+ ApiErrorToJSON,
35
+ GenerateSubscriberToken200ResponseFromJSON,
36
+ GenerateSubscriberToken200ResponseToJSON,
37
+ GenerateSubscriberTokenRequestFromJSON,
38
+ GenerateSubscriberTokenRequestToJSON,
30
39
  InboxListResponseFromJSON,
31
40
  InboxListResponseToJSON,
32
41
  InboxNotificationResponseFromJSON,
@@ -60,6 +69,10 @@ export interface InboxApiDeleteInboxNotificationRequest {
60
69
  externalId?: string;
61
70
  }
62
71
 
72
+ export interface InboxApiGenerateSubscriberTokenOperationRequest {
73
+ generateSubscriberTokenRequest: GenerateSubscriberTokenRequest;
74
+ }
75
+
63
76
  export interface InboxApiGetInboxNotificationRequest {
64
77
  id: string;
65
78
  subscriberId?: string;
@@ -141,6 +154,22 @@ export interface InboxApiInterface {
141
154
  */
142
155
  deleteInboxNotification(id: string, subscriberId?: string, externalId?: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
143
156
 
157
+ /**
158
+ * Generate a JWT token for client-side inbox authentication. This is a server-side call that requires your API key. Pass the returned token to `@zyphr/inbox-react`\'s `<ZyphrProvider subscriberToken=\"...\">` or use it as `Authorization: Bearer <token>` for client-side inbox API calls and WebSocket connections. The token expires in 7 days.
159
+ * @summary Generate a subscriber token
160
+ * @param {GenerateSubscriberTokenRequest} generateSubscriberTokenRequest
161
+ * @param {*} [options] Override http request option.
162
+ * @throws {RequiredError}
163
+ * @memberof InboxApiInterface
164
+ */
165
+ generateSubscriberTokenRaw(requestParameters: InboxApiGenerateSubscriberTokenOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GenerateSubscriberToken200Response>>;
166
+
167
+ /**
168
+ * Generate a JWT token for client-side inbox authentication. This is a server-side call that requires your API key. Pass the returned token to `@zyphr/inbox-react`\'s `<ZyphrProvider subscriberToken=\"...\">` or use it as `Authorization: Bearer <token>` for client-side inbox API calls and WebSocket connections. The token expires in 7 days.
169
+ * Generate a subscriber token
170
+ */
171
+ generateSubscriberToken(generateSubscriberTokenRequest: GenerateSubscriberTokenRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GenerateSubscriberToken200Response>;
172
+
144
173
  /**
145
174
  * Get a specific in-app notification by ID.
146
175
  * @summary Get a notification
@@ -359,6 +388,48 @@ export class InboxApi extends runtime.BaseAPI implements InboxApiInterface {
359
388
  await this.deleteInboxNotificationRaw({ id: id, subscriberId: subscriberId, externalId: externalId }, initOverrides);
360
389
  }
361
390
 
391
+ /**
392
+ * Generate a JWT token for client-side inbox authentication. This is a server-side call that requires your API key. Pass the returned token to `@zyphr/inbox-react`\'s `<ZyphrProvider subscriberToken=\"...\">` or use it as `Authorization: Bearer <token>` for client-side inbox API calls and WebSocket connections. The token expires in 7 days.
393
+ * Generate a subscriber token
394
+ */
395
+ async generateSubscriberTokenRaw(requestParameters: InboxApiGenerateSubscriberTokenOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GenerateSubscriberToken200Response>> {
396
+ if (requestParameters['generateSubscriberTokenRequest'] == null) {
397
+ throw new runtime.RequiredError(
398
+ 'generateSubscriberTokenRequest',
399
+ 'Required parameter "generateSubscriberTokenRequest" was null or undefined when calling generateSubscriberToken().'
400
+ );
401
+ }
402
+
403
+ const queryParameters: any = {};
404
+
405
+ const headerParameters: runtime.HTTPHeaders = {};
406
+
407
+ headerParameters['Content-Type'] = 'application/json';
408
+
409
+ if (this.configuration && this.configuration.apiKey) {
410
+ headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
411
+ }
412
+
413
+ const response = await this.request({
414
+ path: `/subscriber-inbox/token`,
415
+ method: 'POST',
416
+ headers: headerParameters,
417
+ query: queryParameters,
418
+ body: GenerateSubscriberTokenRequestToJSON(requestParameters['generateSubscriberTokenRequest']),
419
+ }, initOverrides);
420
+
421
+ return new runtime.JSONApiResponse(response, (jsonValue) => GenerateSubscriberToken200ResponseFromJSON(jsonValue));
422
+ }
423
+
424
+ /**
425
+ * Generate a JWT token for client-side inbox authentication. This is a server-side call that requires your API key. Pass the returned token to `@zyphr/inbox-react`\'s `<ZyphrProvider subscriberToken=\"...\">` or use it as `Authorization: Bearer <token>` for client-side inbox API calls and WebSocket connections. The token expires in 7 days.
426
+ * Generate a subscriber token
427
+ */
428
+ async generateSubscriberToken(generateSubscriberTokenRequest: GenerateSubscriberTokenRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GenerateSubscriberToken200Response> {
429
+ const response = await this.generateSubscriberTokenRaw({ generateSubscriberTokenRequest: generateSubscriberTokenRequest }, initOverrides);
430
+ return await response.value();
431
+ }
432
+
362
433
  /**
363
434
  * Get a specific in-app notification by ID.
364
435
  * Get a notification
@@ -0,0 +1,73 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Zyphr API
5
+ * Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@zyphr.dev
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { GenerateSubscriberToken200ResponseData } from './GenerateSubscriberToken200ResponseData';
17
+ import {
18
+ GenerateSubscriberToken200ResponseDataFromJSON,
19
+ GenerateSubscriberToken200ResponseDataFromJSONTyped,
20
+ GenerateSubscriberToken200ResponseDataToJSON,
21
+ GenerateSubscriberToken200ResponseDataToJSONTyped,
22
+ } from './GenerateSubscriberToken200ResponseData';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GenerateSubscriberToken200Response
28
+ */
29
+ export interface GenerateSubscriberToken200Response {
30
+ /**
31
+ *
32
+ * @type {GenerateSubscriberToken200ResponseData}
33
+ * @memberof GenerateSubscriberToken200Response
34
+ */
35
+ data?: GenerateSubscriberToken200ResponseData;
36
+ }
37
+
38
+ /**
39
+ * Check if a given object implements the GenerateSubscriberToken200Response interface.
40
+ */
41
+ export function instanceOfGenerateSubscriberToken200Response(value: object): value is GenerateSubscriberToken200Response {
42
+ return true;
43
+ }
44
+
45
+ export function GenerateSubscriberToken200ResponseFromJSON(json: any): GenerateSubscriberToken200Response {
46
+ return GenerateSubscriberToken200ResponseFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function GenerateSubscriberToken200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateSubscriberToken200Response {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'data': json['data'] == null ? undefined : GenerateSubscriberToken200ResponseDataFromJSON(json['data']),
56
+ };
57
+ }
58
+
59
+ export function GenerateSubscriberToken200ResponseToJSON(json: any): GenerateSubscriberToken200Response {
60
+ return GenerateSubscriberToken200ResponseToJSONTyped(json, false);
61
+ }
62
+
63
+ export function GenerateSubscriberToken200ResponseToJSONTyped(value?: GenerateSubscriberToken200Response | null, ignoreDiscriminator: boolean = false): any {
64
+ if (value == null) {
65
+ return value;
66
+ }
67
+
68
+ return {
69
+
70
+ 'data': GenerateSubscriberToken200ResponseDataToJSON(value['data']),
71
+ };
72
+ }
73
+
@@ -0,0 +1,81 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Zyphr API
5
+ * Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@zyphr.dev
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface GenerateSubscriberToken200ResponseData
20
+ */
21
+ export interface GenerateSubscriberToken200ResponseData {
22
+ /**
23
+ * JWT subscriber token for client-side authentication
24
+ * @type {string}
25
+ * @memberof GenerateSubscriberToken200ResponseData
26
+ */
27
+ token?: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof GenerateSubscriberToken200ResponseData
32
+ */
33
+ subscriberId?: string;
34
+ /**
35
+ * Token lifetime in seconds
36
+ * @type {number}
37
+ * @memberof GenerateSubscriberToken200ResponseData
38
+ */
39
+ expiresIn?: number;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the GenerateSubscriberToken200ResponseData interface.
44
+ */
45
+ export function instanceOfGenerateSubscriberToken200ResponseData(value: object): value is GenerateSubscriberToken200ResponseData {
46
+ return true;
47
+ }
48
+
49
+ export function GenerateSubscriberToken200ResponseDataFromJSON(json: any): GenerateSubscriberToken200ResponseData {
50
+ return GenerateSubscriberToken200ResponseDataFromJSONTyped(json, false);
51
+ }
52
+
53
+ export function GenerateSubscriberToken200ResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateSubscriberToken200ResponseData {
54
+ if (json == null) {
55
+ return json;
56
+ }
57
+ return {
58
+
59
+ 'token': json['token'] == null ? undefined : json['token'],
60
+ 'subscriberId': json['subscriber_id'] == null ? undefined : json['subscriber_id'],
61
+ 'expiresIn': json['expires_in'] == null ? undefined : json['expires_in'],
62
+ };
63
+ }
64
+
65
+ export function GenerateSubscriberToken200ResponseDataToJSON(json: any): GenerateSubscriberToken200ResponseData {
66
+ return GenerateSubscriberToken200ResponseDataToJSONTyped(json, false);
67
+ }
68
+
69
+ export function GenerateSubscriberToken200ResponseDataToJSONTyped(value?: GenerateSubscriberToken200ResponseData | null, ignoreDiscriminator: boolean = false): any {
70
+ if (value == null) {
71
+ return value;
72
+ }
73
+
74
+ return {
75
+
76
+ 'token': value['token'],
77
+ 'subscriber_id': value['subscriberId'],
78
+ 'expires_in': value['expiresIn'],
79
+ };
80
+ }
81
+
@@ -0,0 +1,73 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Zyphr API
5
+ * Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@zyphr.dev
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Provide either subscriber_id or external_id
18
+ * @export
19
+ * @interface GenerateSubscriberTokenRequest
20
+ */
21
+ export interface GenerateSubscriberTokenRequest {
22
+ /**
23
+ * Internal subscriber ID
24
+ * @type {string}
25
+ * @memberof GenerateSubscriberTokenRequest
26
+ */
27
+ subscriberId?: string;
28
+ /**
29
+ * Your external subscriber ID
30
+ * @type {string}
31
+ * @memberof GenerateSubscriberTokenRequest
32
+ */
33
+ externalId?: string;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the GenerateSubscriberTokenRequest interface.
38
+ */
39
+ export function instanceOfGenerateSubscriberTokenRequest(value: object): value is GenerateSubscriberTokenRequest {
40
+ return true;
41
+ }
42
+
43
+ export function GenerateSubscriberTokenRequestFromJSON(json: any): GenerateSubscriberTokenRequest {
44
+ return GenerateSubscriberTokenRequestFromJSONTyped(json, false);
45
+ }
46
+
47
+ export function GenerateSubscriberTokenRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateSubscriberTokenRequest {
48
+ if (json == null) {
49
+ return json;
50
+ }
51
+ return {
52
+
53
+ 'subscriberId': json['subscriber_id'] == null ? undefined : json['subscriber_id'],
54
+ 'externalId': json['external_id'] == null ? undefined : json['external_id'],
55
+ };
56
+ }
57
+
58
+ export function GenerateSubscriberTokenRequestToJSON(json: any): GenerateSubscriberTokenRequest {
59
+ return GenerateSubscriberTokenRequestToJSONTyped(json, false);
60
+ }
61
+
62
+ export function GenerateSubscriberTokenRequestToJSONTyped(value?: GenerateSubscriberTokenRequest | null, ignoreDiscriminator: boolean = false): any {
63
+ if (value == null) {
64
+ return value;
65
+ }
66
+
67
+ return {
68
+
69
+ 'subscriber_id': value['subscriberId'],
70
+ 'external_id': value['externalId'],
71
+ };
72
+ }
73
+
@@ -66,6 +66,9 @@ export * from './EmailTrackingResponse';
66
66
  export * from './EndUserDeleteResponse';
67
67
  export * from './EndUserDeleteResponseData';
68
68
  export * from './ForgotPasswordRequest';
69
+ export * from './GenerateSubscriberToken200Response';
70
+ export * from './GenerateSubscriberToken200ResponseData';
71
+ export * from './GenerateSubscriberTokenRequest';
69
72
  export * from './GenerateWaaSPortalToken201Response';
70
73
  export * from './GetWaaSEndpoint200Response';
71
74
  export * from './GetWaaSUsage200Response';