@zyphr-dev/node-sdk 0.1.38 → 0.1.40
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/dist/index.cjs +1793 -626
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1766 -604
- package/dist/index.d.ts +1766 -604
- package/dist/index.js +1668 -609
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/.openapi-generator/FILES +25 -4
- package/src/src/apis/AuthRegistrationApi.ts +69 -4
- package/src/src/apis/WorkflowsApi.ts +912 -0
- package/src/src/apis/index.ts +1 -1
- package/src/src/models/AddWorkflowStep201Response.ts +88 -0
- package/src/src/models/AddWorkflowStepRequest.ts +136 -0
- package/src/src/models/CreateWorkflow201Response.ts +88 -0
- package/src/src/models/CreateWorkflowRequest.ts +98 -0
- package/src/src/models/DeleteWorkflow200Response.ts +88 -0
- package/src/src/models/{TopicDeleteResponseData.ts → DeleteWorkflow200ResponseData.ts} +12 -12
- package/src/src/models/DeleteWorkflowStep200Response.ts +88 -0
- package/src/src/models/DeleteWorkflowStep200ResponseData.ts +81 -0
- package/src/src/models/ListWorkflowExecutions200Response.ts +88 -0
- package/src/src/models/{SmsListResponseMeta.ts → ListWorkflowExecutions200ResponseMeta.ts} +15 -15
- package/src/src/models/ListWorkflows200Response.ts +88 -0
- package/src/src/models/ListWorkflows200ResponseMeta.ts +121 -0
- package/src/src/models/ReorderWorkflowStepsRequest.ts +66 -0
- package/src/src/models/SignInWithGameCenterRequest.ts +1 -1
- package/src/src/models/SignInWithGooglePlayGamesRequest.ts +66 -0
- package/src/src/models/SmsListResponse.ts +10 -10
- package/src/src/models/TopicDeleteResponse.ts +10 -10
- package/src/src/models/TriggerWorkflow202Response.ts +88 -0
- package/src/src/models/TriggerWorkflow202ResponseData.ts +81 -0
- package/src/src/models/TriggerWorkflowRequest.ts +90 -0
- package/src/src/models/UpdateWorkflowRequest.ts +89 -0
- package/src/src/models/UpdateWorkflowStatusRequest.ts +76 -0
- package/src/src/models/UpdateWorkflowStepRequest.ts +73 -0
- package/src/src/models/Workflow.ts +187 -0
- package/src/src/models/WorkflowStatus.ts +55 -0
- package/src/src/models/WorkflowStep.ts +176 -0
- package/src/src/models/WorkflowStepType.ts +60 -0
- package/src/src/models/index.ts +24 -3
- package/src/src/apis/MuseApi.ts +0 -531
- package/src/src/models/V1MuseSubjectsSuggestPostRequest.ts +0 -105
|
@@ -0,0 +1,187 @@
|
|
|
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 ## Account Sending Status Every authenticated response carries the account\'s current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## 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 { WorkflowStep } from './WorkflowStep';
|
|
17
|
+
import {
|
|
18
|
+
WorkflowStepFromJSON,
|
|
19
|
+
WorkflowStepFromJSONTyped,
|
|
20
|
+
WorkflowStepToJSON,
|
|
21
|
+
WorkflowStepToJSONTyped,
|
|
22
|
+
} from './WorkflowStep';
|
|
23
|
+
import type { WorkflowStatus } from './WorkflowStatus';
|
|
24
|
+
import {
|
|
25
|
+
WorkflowStatusFromJSON,
|
|
26
|
+
WorkflowStatusFromJSONTyped,
|
|
27
|
+
WorkflowStatusToJSON,
|
|
28
|
+
WorkflowStatusToJSONTyped,
|
|
29
|
+
} from './WorkflowStatus';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @export
|
|
34
|
+
* @interface Workflow
|
|
35
|
+
*/
|
|
36
|
+
export interface Workflow {
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @type {string}
|
|
40
|
+
* @memberof Workflow
|
|
41
|
+
*/
|
|
42
|
+
id: string;
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* @type {string}
|
|
46
|
+
* @memberof Workflow
|
|
47
|
+
*/
|
|
48
|
+
accountId: string;
|
|
49
|
+
/**
|
|
50
|
+
* Unique workflow key within the project.
|
|
51
|
+
* @type {string}
|
|
52
|
+
* @memberof Workflow
|
|
53
|
+
*/
|
|
54
|
+
key: string;
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @type {string}
|
|
58
|
+
* @memberof Workflow
|
|
59
|
+
*/
|
|
60
|
+
name: string;
|
|
61
|
+
/**
|
|
62
|
+
*
|
|
63
|
+
* @type {string}
|
|
64
|
+
* @memberof Workflow
|
|
65
|
+
*/
|
|
66
|
+
description?: string | null;
|
|
67
|
+
/**
|
|
68
|
+
*
|
|
69
|
+
* @type {WorkflowStatus}
|
|
70
|
+
* @memberof Workflow
|
|
71
|
+
*/
|
|
72
|
+
status: WorkflowStatus;
|
|
73
|
+
/**
|
|
74
|
+
*
|
|
75
|
+
* @type {boolean}
|
|
76
|
+
* @memberof Workflow
|
|
77
|
+
*/
|
|
78
|
+
isCritical: boolean;
|
|
79
|
+
/**
|
|
80
|
+
*
|
|
81
|
+
* @type {{ [key: string]: any; }}
|
|
82
|
+
* @memberof Workflow
|
|
83
|
+
*/
|
|
84
|
+
triggerSchema?: { [key: string]: any; } | null;
|
|
85
|
+
/**
|
|
86
|
+
*
|
|
87
|
+
* @type {Array<string>}
|
|
88
|
+
* @memberof Workflow
|
|
89
|
+
*/
|
|
90
|
+
tags: Array<string>;
|
|
91
|
+
/**
|
|
92
|
+
* Number of steps in the workflow (present in list responses).
|
|
93
|
+
* @type {number}
|
|
94
|
+
* @memberof Workflow
|
|
95
|
+
*/
|
|
96
|
+
stepCount?: number;
|
|
97
|
+
/**
|
|
98
|
+
* Ordered workflow steps (present when fetching a single workflow).
|
|
99
|
+
* @type {Array<WorkflowStep>}
|
|
100
|
+
* @memberof Workflow
|
|
101
|
+
*/
|
|
102
|
+
steps?: Array<WorkflowStep>;
|
|
103
|
+
/**
|
|
104
|
+
*
|
|
105
|
+
* @type {Date}
|
|
106
|
+
* @memberof Workflow
|
|
107
|
+
*/
|
|
108
|
+
createdAt: Date;
|
|
109
|
+
/**
|
|
110
|
+
*
|
|
111
|
+
* @type {Date}
|
|
112
|
+
* @memberof Workflow
|
|
113
|
+
*/
|
|
114
|
+
updatedAt: Date;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Check if a given object implements the Workflow interface.
|
|
121
|
+
*/
|
|
122
|
+
export function instanceOfWorkflow(value: object): value is Workflow {
|
|
123
|
+
if (!('id' in value) || value['id'] === undefined) return false;
|
|
124
|
+
if (!('accountId' in value) || value['accountId'] === undefined) return false;
|
|
125
|
+
if (!('key' in value) || value['key'] === undefined) return false;
|
|
126
|
+
if (!('name' in value) || value['name'] === undefined) return false;
|
|
127
|
+
if (!('status' in value) || value['status'] === undefined) return false;
|
|
128
|
+
if (!('isCritical' in value) || value['isCritical'] === undefined) return false;
|
|
129
|
+
if (!('tags' in value) || value['tags'] === undefined) return false;
|
|
130
|
+
if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
|
|
131
|
+
if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export function WorkflowFromJSON(json: any): Workflow {
|
|
136
|
+
return WorkflowFromJSONTyped(json, false);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export function WorkflowFromJSONTyped(json: any, ignoreDiscriminator: boolean): Workflow {
|
|
140
|
+
if (json == null) {
|
|
141
|
+
return json;
|
|
142
|
+
}
|
|
143
|
+
return {
|
|
144
|
+
|
|
145
|
+
'id': json['id'],
|
|
146
|
+
'accountId': json['account_id'],
|
|
147
|
+
'key': json['key'],
|
|
148
|
+
'name': json['name'],
|
|
149
|
+
'description': json['description'] == null ? undefined : json['description'],
|
|
150
|
+
'status': WorkflowStatusFromJSON(json['status']),
|
|
151
|
+
'isCritical': json['is_critical'],
|
|
152
|
+
'triggerSchema': json['trigger_schema'] == null ? undefined : json['trigger_schema'],
|
|
153
|
+
'tags': json['tags'],
|
|
154
|
+
'stepCount': json['step_count'] == null ? undefined : json['step_count'],
|
|
155
|
+
'steps': json['steps'] == null ? undefined : ((json['steps'] as Array<any>).map(WorkflowStepFromJSON)),
|
|
156
|
+
'createdAt': (new Date(json['created_at'])),
|
|
157
|
+
'updatedAt': (new Date(json['updated_at'])),
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export function WorkflowToJSON(json: any): Workflow {
|
|
162
|
+
return WorkflowToJSONTyped(json, false);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export function WorkflowToJSONTyped(value?: Workflow | null, ignoreDiscriminator: boolean = false): any {
|
|
166
|
+
if (value == null) {
|
|
167
|
+
return value;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return {
|
|
171
|
+
|
|
172
|
+
'id': value['id'],
|
|
173
|
+
'account_id': value['accountId'],
|
|
174
|
+
'key': value['key'],
|
|
175
|
+
'name': value['name'],
|
|
176
|
+
'description': value['description'],
|
|
177
|
+
'status': WorkflowStatusToJSON(value['status']),
|
|
178
|
+
'is_critical': value['isCritical'],
|
|
179
|
+
'trigger_schema': value['triggerSchema'],
|
|
180
|
+
'tags': value['tags'],
|
|
181
|
+
'step_count': value['stepCount'],
|
|
182
|
+
'steps': value['steps'] == null ? undefined : ((value['steps'] as Array<any>).map(WorkflowStepToJSON)),
|
|
183
|
+
'created_at': ((value['createdAt']).toISOString()),
|
|
184
|
+
'updated_at': ((value['updatedAt']).toISOString()),
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
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 ## Account Sending Status Every authenticated response carries the account\'s current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## 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
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Lifecycle status of a workflow.
|
|
18
|
+
* @export
|
|
19
|
+
*/
|
|
20
|
+
export const WorkflowStatus = {
|
|
21
|
+
DRAFT: 'draft',
|
|
22
|
+
ACTIVE: 'active',
|
|
23
|
+
PAUSED: 'paused',
|
|
24
|
+
ARCHIVED: 'archived'
|
|
25
|
+
} as const;
|
|
26
|
+
export type WorkflowStatus = typeof WorkflowStatus[keyof typeof WorkflowStatus];
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
export function instanceOfWorkflowStatus(value: any): boolean {
|
|
30
|
+
for (const key in WorkflowStatus) {
|
|
31
|
+
if (Object.prototype.hasOwnProperty.call(WorkflowStatus, key)) {
|
|
32
|
+
if (WorkflowStatus[key as keyof typeof WorkflowStatus] === value) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function WorkflowStatusFromJSON(json: any): WorkflowStatus {
|
|
41
|
+
return WorkflowStatusFromJSONTyped(json, false);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function WorkflowStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): WorkflowStatus {
|
|
45
|
+
return json as WorkflowStatus;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function WorkflowStatusToJSON(value?: WorkflowStatus | null): any {
|
|
49
|
+
return value as any;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function WorkflowStatusToJSONTyped(value: any, ignoreDiscriminator: boolean): WorkflowStatus {
|
|
53
|
+
return value as WorkflowStatus;
|
|
54
|
+
}
|
|
55
|
+
|
|
@@ -0,0 +1,176 @@
|
|
|
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 ## Account Sending Status Every authenticated response carries the account\'s current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## 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 { WorkflowStepType } from './WorkflowStepType';
|
|
17
|
+
import {
|
|
18
|
+
WorkflowStepTypeFromJSON,
|
|
19
|
+
WorkflowStepTypeFromJSONTyped,
|
|
20
|
+
WorkflowStepTypeToJSON,
|
|
21
|
+
WorkflowStepTypeToJSONTyped,
|
|
22
|
+
} from './WorkflowStepType';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface WorkflowStep
|
|
28
|
+
*/
|
|
29
|
+
export interface WorkflowStep {
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof WorkflowStep
|
|
34
|
+
*/
|
|
35
|
+
id: string;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof WorkflowStep
|
|
40
|
+
*/
|
|
41
|
+
workflowId: string;
|
|
42
|
+
/**
|
|
43
|
+
* Unique step identifier within the workflow.
|
|
44
|
+
* @type {string}
|
|
45
|
+
* @memberof WorkflowStep
|
|
46
|
+
*/
|
|
47
|
+
stepKey: string;
|
|
48
|
+
/**
|
|
49
|
+
* Human-readable step name.
|
|
50
|
+
* @type {string}
|
|
51
|
+
* @memberof WorkflowStep
|
|
52
|
+
*/
|
|
53
|
+
name: string;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {WorkflowStepType}
|
|
57
|
+
* @memberof WorkflowStep
|
|
58
|
+
*/
|
|
59
|
+
type: WorkflowStepType;
|
|
60
|
+
/**
|
|
61
|
+
* Ordering position of the step within the workflow.
|
|
62
|
+
* @type {number}
|
|
63
|
+
* @memberof WorkflowStep
|
|
64
|
+
*/
|
|
65
|
+
position: number;
|
|
66
|
+
/**
|
|
67
|
+
* Step configuration. The shape depends on `type` — channel steps carry
|
|
68
|
+
* message content (subject, body, template_id, etc.), `delay` steps carry
|
|
69
|
+
* `{ amount, unit }`, and `branch` steps carry `{ conditions }`.
|
|
70
|
+
*
|
|
71
|
+
* @type {{ [key: string]: any; }}
|
|
72
|
+
* @memberof WorkflowStep
|
|
73
|
+
*/
|
|
74
|
+
config: { [key: string]: any; };
|
|
75
|
+
/**
|
|
76
|
+
*
|
|
77
|
+
* @type {string}
|
|
78
|
+
* @memberof WorkflowStep
|
|
79
|
+
*/
|
|
80
|
+
parentStepId?: string | null;
|
|
81
|
+
/**
|
|
82
|
+
*
|
|
83
|
+
* @type {string}
|
|
84
|
+
* @memberof WorkflowStep
|
|
85
|
+
*/
|
|
86
|
+
branchPath?: WorkflowStepBranchPathEnum | null;
|
|
87
|
+
/**
|
|
88
|
+
*
|
|
89
|
+
* @type {Date}
|
|
90
|
+
* @memberof WorkflowStep
|
|
91
|
+
*/
|
|
92
|
+
createdAt: Date;
|
|
93
|
+
/**
|
|
94
|
+
*
|
|
95
|
+
* @type {Date}
|
|
96
|
+
* @memberof WorkflowStep
|
|
97
|
+
*/
|
|
98
|
+
updatedAt: Date;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* @export
|
|
104
|
+
*/
|
|
105
|
+
export const WorkflowStepBranchPathEnum = {
|
|
106
|
+
TRUE: 'true',
|
|
107
|
+
FALSE: 'false'
|
|
108
|
+
} as const;
|
|
109
|
+
export type WorkflowStepBranchPathEnum = typeof WorkflowStepBranchPathEnum[keyof typeof WorkflowStepBranchPathEnum];
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Check if a given object implements the WorkflowStep interface.
|
|
114
|
+
*/
|
|
115
|
+
export function instanceOfWorkflowStep(value: object): value is WorkflowStep {
|
|
116
|
+
if (!('id' in value) || value['id'] === undefined) return false;
|
|
117
|
+
if (!('workflowId' in value) || value['workflowId'] === undefined) return false;
|
|
118
|
+
if (!('stepKey' in value) || value['stepKey'] === undefined) return false;
|
|
119
|
+
if (!('name' in value) || value['name'] === undefined) return false;
|
|
120
|
+
if (!('type' in value) || value['type'] === undefined) return false;
|
|
121
|
+
if (!('position' in value) || value['position'] === undefined) return false;
|
|
122
|
+
if (!('config' in value) || value['config'] === undefined) return false;
|
|
123
|
+
if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
|
|
124
|
+
if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export function WorkflowStepFromJSON(json: any): WorkflowStep {
|
|
129
|
+
return WorkflowStepFromJSONTyped(json, false);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export function WorkflowStepFromJSONTyped(json: any, ignoreDiscriminator: boolean): WorkflowStep {
|
|
133
|
+
if (json == null) {
|
|
134
|
+
return json;
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
|
|
138
|
+
'id': json['id'],
|
|
139
|
+
'workflowId': json['workflow_id'],
|
|
140
|
+
'stepKey': json['step_key'],
|
|
141
|
+
'name': json['name'],
|
|
142
|
+
'type': WorkflowStepTypeFromJSON(json['type']),
|
|
143
|
+
'position': json['position'],
|
|
144
|
+
'config': json['config'],
|
|
145
|
+
'parentStepId': json['parent_step_id'] == null ? undefined : json['parent_step_id'],
|
|
146
|
+
'branchPath': json['branch_path'] == null ? undefined : json['branch_path'],
|
|
147
|
+
'createdAt': (new Date(json['created_at'])),
|
|
148
|
+
'updatedAt': (new Date(json['updated_at'])),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export function WorkflowStepToJSON(json: any): WorkflowStep {
|
|
153
|
+
return WorkflowStepToJSONTyped(json, false);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export function WorkflowStepToJSONTyped(value?: WorkflowStep | null, ignoreDiscriminator: boolean = false): any {
|
|
157
|
+
if (value == null) {
|
|
158
|
+
return value;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return {
|
|
162
|
+
|
|
163
|
+
'id': value['id'],
|
|
164
|
+
'workflow_id': value['workflowId'],
|
|
165
|
+
'step_key': value['stepKey'],
|
|
166
|
+
'name': value['name'],
|
|
167
|
+
'type': WorkflowStepTypeToJSON(value['type']),
|
|
168
|
+
'position': value['position'],
|
|
169
|
+
'config': value['config'],
|
|
170
|
+
'parent_step_id': value['parentStepId'],
|
|
171
|
+
'branch_path': value['branchPath'],
|
|
172
|
+
'created_at': ((value['createdAt']).toISOString()),
|
|
173
|
+
'updated_at': ((value['updatedAt']).toISOString()),
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
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 ## Account Sending Status Every authenticated response carries the account\'s current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## 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
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The kind of action a workflow step performs.
|
|
18
|
+
* @export
|
|
19
|
+
*/
|
|
20
|
+
export const WorkflowStepType = {
|
|
21
|
+
EMAIL: 'email',
|
|
22
|
+
PUSH: 'push',
|
|
23
|
+
SMS: 'sms',
|
|
24
|
+
IN_APP: 'in_app',
|
|
25
|
+
SLACK: 'slack',
|
|
26
|
+
DISCORD: 'discord',
|
|
27
|
+
TEAMS: 'teams',
|
|
28
|
+
DELAY: 'delay',
|
|
29
|
+
BRANCH: 'branch'
|
|
30
|
+
} as const;
|
|
31
|
+
export type WorkflowStepType = typeof WorkflowStepType[keyof typeof WorkflowStepType];
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
export function instanceOfWorkflowStepType(value: any): boolean {
|
|
35
|
+
for (const key in WorkflowStepType) {
|
|
36
|
+
if (Object.prototype.hasOwnProperty.call(WorkflowStepType, key)) {
|
|
37
|
+
if (WorkflowStepType[key as keyof typeof WorkflowStepType] === value) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function WorkflowStepTypeFromJSON(json: any): WorkflowStepType {
|
|
46
|
+
return WorkflowStepTypeFromJSONTyped(json, false);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function WorkflowStepTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): WorkflowStepType {
|
|
50
|
+
return json as WorkflowStepType;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function WorkflowStepTypeToJSON(value?: WorkflowStepType | null): any {
|
|
54
|
+
return value as any;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function WorkflowStepTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): WorkflowStepType {
|
|
58
|
+
return value as WorkflowStepType;
|
|
59
|
+
}
|
|
60
|
+
|
package/src/src/models/index.ts
CHANGED
|
@@ -5,6 +5,8 @@ export * from './AddDomain200ResponseMeta';
|
|
|
5
5
|
export * from './AddDomainRequest';
|
|
6
6
|
export * from './AddOrganizationMemberRequest';
|
|
7
7
|
export * from './AddTopicSubscribersRequest';
|
|
8
|
+
export * from './AddWorkflowStep201Response';
|
|
9
|
+
export * from './AddWorkflowStepRequest';
|
|
8
10
|
export * from './ApiError';
|
|
9
11
|
export * from './ApiErrorError';
|
|
10
12
|
export * from './ApiErrorMeta';
|
|
@@ -71,10 +73,16 @@ export * from './CreateWaaSEndpointResponse';
|
|
|
71
73
|
export * from './CreateWaaSEventType201Response';
|
|
72
74
|
export * from './CreateWaaSEventTypeRequest';
|
|
73
75
|
export * from './CreateWebhookRequest';
|
|
76
|
+
export * from './CreateWorkflow201Response';
|
|
77
|
+
export * from './CreateWorkflowRequest';
|
|
74
78
|
export * from './DeleteDomainResponse';
|
|
75
79
|
export * from './DeleteDomainResponseData';
|
|
76
80
|
export * from './DeleteResult';
|
|
77
81
|
export * from './DeleteResultData';
|
|
82
|
+
export * from './DeleteWorkflow200Response';
|
|
83
|
+
export * from './DeleteWorkflow200ResponseData';
|
|
84
|
+
export * from './DeleteWorkflowStep200Response';
|
|
85
|
+
export * from './DeleteWorkflowStep200ResponseData';
|
|
78
86
|
export * from './Device';
|
|
79
87
|
export * from './DeviceListResponse';
|
|
80
88
|
export * from './DevicePushTopic';
|
|
@@ -132,6 +140,10 @@ export * from './ListWaaSApplications200Response';
|
|
|
132
140
|
export * from './ListWaaSEndpointDeliveries200Response';
|
|
133
141
|
export * from './ListWaaSEndpoints200Response';
|
|
134
142
|
export * from './ListWaaSEventTypes200Response';
|
|
143
|
+
export * from './ListWorkflowExecutions200Response';
|
|
144
|
+
export * from './ListWorkflowExecutions200ResponseMeta';
|
|
145
|
+
export * from './ListWorkflows200Response';
|
|
146
|
+
export * from './ListWorkflows200ResponseMeta';
|
|
135
147
|
export * from './LoginRequest';
|
|
136
148
|
export * from './MagicLinkSendRequest';
|
|
137
149
|
export * from './MagicLinkVerifyRequest';
|
|
@@ -226,6 +238,7 @@ export * from './RegisterRequest';
|
|
|
226
238
|
export * from './RemoveTopicSubscribersRequest';
|
|
227
239
|
export * from './RenameWebAuthnCredentialRequest';
|
|
228
240
|
export * from './RenderTemplateRequest';
|
|
241
|
+
export * from './ReorderWorkflowStepsRequest';
|
|
229
242
|
export * from './ReplayWebhookEventsRequest';
|
|
230
243
|
export * from './RequestMeta';
|
|
231
244
|
export * from './ResetPasswordRequest';
|
|
@@ -281,6 +294,7 @@ export * from './SetPreferencesRequest';
|
|
|
281
294
|
export * from './SetPreferencesRequestPreferencesInner';
|
|
282
295
|
export * from './SignInAnonymouslyRequest';
|
|
283
296
|
export * from './SignInWithGameCenterRequest';
|
|
297
|
+
export * from './SignInWithGooglePlayGamesRequest';
|
|
284
298
|
export * from './SlackMessage';
|
|
285
299
|
export * from './SlackMessageListResponse';
|
|
286
300
|
export * from './SlackMessageListResponseMeta';
|
|
@@ -295,7 +309,6 @@ export * from './SmsConfigDeleteResponseData';
|
|
|
295
309
|
export * from './SmsConfigResponse';
|
|
296
310
|
export * from './SmsDetailResponse';
|
|
297
311
|
export * from './SmsListResponse';
|
|
298
|
-
export * from './SmsListResponseMeta';
|
|
299
312
|
export * from './SmsMessage';
|
|
300
313
|
export * from './SmsMessageDetail';
|
|
301
314
|
export * from './SubscribePushTopicRequest';
|
|
@@ -317,7 +330,6 @@ export * from './TemplateResponse';
|
|
|
317
330
|
export * from './TestWebhookTransformRequest';
|
|
318
331
|
export * from './Topic';
|
|
319
332
|
export * from './TopicDeleteResponse';
|
|
320
|
-
export * from './TopicDeleteResponseData';
|
|
321
333
|
export * from './TopicListResponse';
|
|
322
334
|
export * from './TopicResponse';
|
|
323
335
|
export * from './TopicStatsData';
|
|
@@ -329,6 +341,9 @@ export * from './TopicSubscribersAddResponse';
|
|
|
329
341
|
export * from './TopicSubscribersAddResult';
|
|
330
342
|
export * from './TopicSubscribersRemoveResponse';
|
|
331
343
|
export * from './TopicSubscribersRemoveResult';
|
|
344
|
+
export * from './TriggerWorkflow202Response';
|
|
345
|
+
export * from './TriggerWorkflow202ResponseData';
|
|
346
|
+
export * from './TriggerWorkflowRequest';
|
|
332
347
|
export * from './UnreadCountData';
|
|
333
348
|
export * from './UnreadCountResponse';
|
|
334
349
|
export * from './Unsubscribe';
|
|
@@ -349,11 +364,13 @@ export * from './UpdateWaaSApplicationRequest';
|
|
|
349
364
|
export * from './UpdateWaaSEndpointRequest';
|
|
350
365
|
export * from './UpdateWaaSEventTypeRequest';
|
|
351
366
|
export * from './UpdateWebhookRequest';
|
|
367
|
+
export * from './UpdateWorkflowRequest';
|
|
368
|
+
export * from './UpdateWorkflowStatusRequest';
|
|
369
|
+
export * from './UpdateWorkflowStepRequest';
|
|
352
370
|
export * from './UpsertAuthEmailTemplateRequest';
|
|
353
371
|
export * from './UpsertSmsConfigRequest';
|
|
354
372
|
export * from './UserDevicesDeleteResponse';
|
|
355
373
|
export * from './UserDevicesDeleteResponseData';
|
|
356
|
-
export * from './V1MuseSubjectsSuggestPostRequest';
|
|
357
374
|
export * from './ValidateResetTokenRequest';
|
|
358
375
|
export * from './ValidateResetTokenResponse';
|
|
359
376
|
export * from './ValidateResetTokenResponseData';
|
|
@@ -429,7 +446,11 @@ export * from './WebhookVersion';
|
|
|
429
446
|
export * from './WebhookVersionsResponse';
|
|
430
447
|
export * from './WebhookVersionsResponseData';
|
|
431
448
|
export * from './WithdrawSubscriberConsentRequest';
|
|
449
|
+
export * from './Workflow';
|
|
432
450
|
export * from './WorkflowExecution';
|
|
433
451
|
export * from './WorkflowExecutionStatus';
|
|
452
|
+
export * from './WorkflowStatus';
|
|
453
|
+
export * from './WorkflowStep';
|
|
434
454
|
export * from './WorkflowStepExecution';
|
|
435
455
|
export * from './WorkflowStepExecutionStatus';
|
|
456
|
+
export * from './WorkflowStepType';
|