@zyphr-dev/node-sdk 0.1.39 → 0.1.41
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 +2315 -1220
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1724 -622
- package/dist/index.d.ts +1724 -622
- package/dist/index.js +2195 -1203
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/.openapi-generator/FILES +24 -4
- package/src/src/apis/AuthRegistrationApi.ts +4 -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/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 +23 -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';
|
|
@@ -296,7 +309,6 @@ export * from './SmsConfigDeleteResponseData';
|
|
|
296
309
|
export * from './SmsConfigResponse';
|
|
297
310
|
export * from './SmsDetailResponse';
|
|
298
311
|
export * from './SmsListResponse';
|
|
299
|
-
export * from './SmsListResponseMeta';
|
|
300
312
|
export * from './SmsMessage';
|
|
301
313
|
export * from './SmsMessageDetail';
|
|
302
314
|
export * from './SubscribePushTopicRequest';
|
|
@@ -318,7 +330,6 @@ export * from './TemplateResponse';
|
|
|
318
330
|
export * from './TestWebhookTransformRequest';
|
|
319
331
|
export * from './Topic';
|
|
320
332
|
export * from './TopicDeleteResponse';
|
|
321
|
-
export * from './TopicDeleteResponseData';
|
|
322
333
|
export * from './TopicListResponse';
|
|
323
334
|
export * from './TopicResponse';
|
|
324
335
|
export * from './TopicStatsData';
|
|
@@ -330,6 +341,9 @@ export * from './TopicSubscribersAddResponse';
|
|
|
330
341
|
export * from './TopicSubscribersAddResult';
|
|
331
342
|
export * from './TopicSubscribersRemoveResponse';
|
|
332
343
|
export * from './TopicSubscribersRemoveResult';
|
|
344
|
+
export * from './TriggerWorkflow202Response';
|
|
345
|
+
export * from './TriggerWorkflow202ResponseData';
|
|
346
|
+
export * from './TriggerWorkflowRequest';
|
|
333
347
|
export * from './UnreadCountData';
|
|
334
348
|
export * from './UnreadCountResponse';
|
|
335
349
|
export * from './Unsubscribe';
|
|
@@ -350,11 +364,13 @@ export * from './UpdateWaaSApplicationRequest';
|
|
|
350
364
|
export * from './UpdateWaaSEndpointRequest';
|
|
351
365
|
export * from './UpdateWaaSEventTypeRequest';
|
|
352
366
|
export * from './UpdateWebhookRequest';
|
|
367
|
+
export * from './UpdateWorkflowRequest';
|
|
368
|
+
export * from './UpdateWorkflowStatusRequest';
|
|
369
|
+
export * from './UpdateWorkflowStepRequest';
|
|
353
370
|
export * from './UpsertAuthEmailTemplateRequest';
|
|
354
371
|
export * from './UpsertSmsConfigRequest';
|
|
355
372
|
export * from './UserDevicesDeleteResponse';
|
|
356
373
|
export * from './UserDevicesDeleteResponseData';
|
|
357
|
-
export * from './V1MuseSubjectsSuggestPostRequest';
|
|
358
374
|
export * from './ValidateResetTokenRequest';
|
|
359
375
|
export * from './ValidateResetTokenResponse';
|
|
360
376
|
export * from './ValidateResetTokenResponseData';
|
|
@@ -430,7 +446,11 @@ export * from './WebhookVersion';
|
|
|
430
446
|
export * from './WebhookVersionsResponse';
|
|
431
447
|
export * from './WebhookVersionsResponseData';
|
|
432
448
|
export * from './WithdrawSubscriberConsentRequest';
|
|
449
|
+
export * from './Workflow';
|
|
433
450
|
export * from './WorkflowExecution';
|
|
434
451
|
export * from './WorkflowExecutionStatus';
|
|
452
|
+
export * from './WorkflowStatus';
|
|
453
|
+
export * from './WorkflowStep';
|
|
435
454
|
export * from './WorkflowStepExecution';
|
|
436
455
|
export * from './WorkflowStepExecutionStatus';
|
|
456
|
+
export * from './WorkflowStepType';
|