picked 0.0.101 → 0.0.102-next.2
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/docs/reference/dashboard/workflow-test-runs.md +40 -17
- package/docs/reference/management-api/schema/action.md +67 -79
- package/docs/reference/management-api/schema/analytics-session.md +77 -94
- package/docs/reference/management-api/schema/analytics.md +16 -14
- package/docs/reference/management-api/schema/api-key.md +43 -51
- package/docs/reference/management-api/schema/auth.md +271 -404
- package/docs/reference/management-api/schema/cms-fields.md +348 -245
- package/docs/reference/management-api/schema/cms-models.md +369 -378
- package/docs/reference/management-api/schema/common.md +69 -130
- package/docs/reference/management-api/schema/condition.md +63 -74
- package/docs/reference/management-api/schema/design-system.md +59 -51
- package/docs/reference/management-api/schema/experience.md +388 -364
- package/docs/reference/management-api/schema/external-api.md +153 -171
- package/docs/reference/management-api/schema/feature.md +85 -103
- package/docs/reference/management-api/schema/feedback.md +27 -31
- package/docs/reference/management-api/schema/field.md +117 -135
- package/docs/reference/management-api/schema/index.md +184 -184
- package/docs/reference/management-api/schema/integration.md +72 -78
- package/docs/reference/management-api/schema/label.md +81 -137
- package/docs/reference/management-api/schema/lead.md +80 -119
- package/docs/reference/management-api/schema/mcp-server.md +73 -71
- package/docs/reference/management-api/schema/metric.md +6 -9
- package/docs/reference/management-api/schema/operation.md +17 -26
- package/docs/reference/management-api/schema/organization.md +198 -220
- package/docs/reference/management-api/schema/project.md +177 -186
- package/docs/reference/management-api/schema/report.md +69 -65
- package/docs/reference/management-api/schema/saved-view.md +71 -71
- package/docs/reference/management-api/schema/shopify.md +331 -204
- package/docs/reference/management-api/schema/step.md +72 -80
- package/docs/reference/management-api/schema/tenant-branding.md +48 -70
- package/docs/reference/management-api/schema/workbench.md +54 -66
- package/docs/reference/management-api/schema/workflow-run.md +66 -79
- package/docs/reference/management-api/schema/workflow.md +310 -353
- package/docs/reference/management-api/schema/workspace-version.md +212 -261
- package/docs/reference/management-api/schema/workspace.md +275 -328
- package/package.json +4 -4
|
@@ -6,13 +6,14 @@ generated: true
|
|
|
6
6
|
|
|
7
7
|
# Experience schema
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
See [Management API schema](/reference/management-api/schema) for every domain, the endpoint and authentication.
|
|
10
10
|
|
|
11
11
|
## Queries
|
|
12
12
|
|
|
13
13
|
### `experience`
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Reads an experience.
|
|
16
|
+
Scope: `ORGANIZATION_WORKSPACE_READ`.
|
|
16
17
|
|
|
17
18
|
```graphql
|
|
18
19
|
experience(id: ID!, workspaceId: ID!): Experience @auth
|
|
@@ -20,18 +21,32 @@ experience(id: ID!, workspaceId: ID!): Experience @auth
|
|
|
20
21
|
|
|
21
22
|
### `experiences`
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
Lists the experiences in a workspace. `search` matches a case-insensitive substring of the name;
|
|
25
|
+
`sortKey` and `reverse` set the order.
|
|
26
|
+
Scope: `ORGANIZATION_WORKSPACE_READ`.
|
|
25
27
|
|
|
26
28
|
```graphql
|
|
27
|
-
experiences(
|
|
29
|
+
experiences(
|
|
30
|
+
workspaceId: ID!
|
|
31
|
+
"""Only experiences of this kind. Null lists every kind."""
|
|
32
|
+
type: ExperienceType
|
|
33
|
+
first: Int
|
|
34
|
+
after: String
|
|
35
|
+
last: Int
|
|
36
|
+
before: String
|
|
37
|
+
search: String
|
|
38
|
+
sortKey: ExperienceSortKeys = NAME
|
|
39
|
+
reverse: Boolean = false
|
|
40
|
+
): ExperienceConnection! @auth
|
|
28
41
|
```
|
|
29
42
|
|
|
30
43
|
## Mutations
|
|
31
44
|
|
|
32
45
|
### `experienceCreate`
|
|
33
46
|
|
|
34
|
-
|
|
47
|
+
Creates an experience in a workspace. A `PAGE` experience gets its single step and flow graph
|
|
48
|
+
automatically.
|
|
49
|
+
Scope: `ORGANIZATION_WORKSPACE_UPDATE`.
|
|
35
50
|
|
|
36
51
|
```graphql
|
|
37
52
|
experienceCreate(input: ExperienceCreateInput!): ExperienceCreatePayload! @auth
|
|
@@ -39,7 +54,8 @@ experienceCreate(input: ExperienceCreateInput!): ExperienceCreatePayload! @auth
|
|
|
39
54
|
|
|
40
55
|
### `experienceUpdate`
|
|
41
56
|
|
|
42
|
-
|
|
57
|
+
Updates an experience's settings. `experienceFlowUpdate` changes its flow graph.
|
|
58
|
+
Scope: `ORGANIZATION_WORKSPACE_UPDATE`.
|
|
43
59
|
|
|
44
60
|
```graphql
|
|
45
61
|
experienceUpdate(input: ExperienceUpdateInput!): ExperienceUpdatePayload! @auth
|
|
@@ -47,7 +63,8 @@ experienceUpdate(input: ExperienceUpdateInput!): ExperienceUpdatePayload! @auth
|
|
|
47
63
|
|
|
48
64
|
### `experienceDelete`
|
|
49
65
|
|
|
50
|
-
|
|
66
|
+
Deletes an experience. Its steps, conditions and actions stay in the workspace.
|
|
67
|
+
Scope: `ORGANIZATION_WORKSPACE_UPDATE`.
|
|
51
68
|
|
|
52
69
|
```graphql
|
|
53
70
|
experienceDelete(input: ExperienceDeleteInput!): ExperienceDeletePayload! @auth
|
|
@@ -55,7 +72,10 @@ experienceDelete(input: ExperienceDeleteInput!): ExperienceDeletePayload! @auth
|
|
|
55
72
|
|
|
56
73
|
### `experienceFlowUpdate`
|
|
57
74
|
|
|
58
|
-
|
|
75
|
+
Updates an experience's settings and flow graph, with the steps, conditions, actions and fields
|
|
76
|
+
it uses, in one call. Validation runs before any write, and a change that fails it fails the
|
|
77
|
+
whole call.
|
|
78
|
+
Scope: `ORGANIZATION_WORKSPACE_UPDATE`.
|
|
59
79
|
|
|
60
80
|
```graphql
|
|
61
81
|
experienceFlowUpdate(input: ExperienceFlowUpdateInput!): ExperienceFlowUpdatePayload! @auth
|
|
@@ -66,15 +86,15 @@ experienceFlowUpdate(input: ExperienceFlowUpdateInput!): ExperienceFlowUpdatePay
|
|
|
66
86
|
### `ExperienceNodeType`
|
|
67
87
|
|
|
68
88
|
```graphql
|
|
69
|
-
"""
|
|
89
|
+
"""The kinds of node in a flow graph."""
|
|
70
90
|
enum ExperienceNodeType {
|
|
71
|
-
"""The
|
|
91
|
+
"""The node where every flow starts. One per experience."""
|
|
72
92
|
ORIGIN
|
|
73
|
-
"""A node that
|
|
93
|
+
"""A node that shows a step."""
|
|
74
94
|
STEP
|
|
75
|
-
"""A node that
|
|
95
|
+
"""A node that branches on a condition."""
|
|
76
96
|
CONDITION
|
|
77
|
-
"""A node that
|
|
97
|
+
"""A node that starts an action."""
|
|
78
98
|
ACTION
|
|
79
99
|
"""A node that launches another experience."""
|
|
80
100
|
EXPERIENCE
|
|
@@ -84,14 +104,11 @@ enum ExperienceNodeType {
|
|
|
84
104
|
### `ExperienceEdgeHandle`
|
|
85
105
|
|
|
86
106
|
```graphql
|
|
87
|
-
"""
|
|
88
|
-
Edge handle for `ConditionNode` outgoing edges. Picks which branch of a
|
|
89
|
-
condition the flow follows when the condition resolves true / false.
|
|
90
|
-
"""
|
|
107
|
+
"""The branch of a condition node that an edge leaves from."""
|
|
91
108
|
enum ExperienceEdgeHandle {
|
|
92
|
-
"""The
|
|
109
|
+
"""The branch the flow takes when the condition is true."""
|
|
93
110
|
TRUE
|
|
94
|
-
"""The
|
|
111
|
+
"""The branch the flow takes when the condition is false."""
|
|
95
112
|
FALSE
|
|
96
113
|
}
|
|
97
114
|
```
|
|
@@ -99,13 +116,11 @@ enum ExperienceEdgeHandle {
|
|
|
99
116
|
### `Position`
|
|
100
117
|
|
|
101
118
|
```graphql
|
|
102
|
-
"""
|
|
103
|
-
Position of a node on the flow graph canvas. Used purely for layout in the dashboard editor.
|
|
104
|
-
"""
|
|
119
|
+
"""A point on the flow canvas. It affects layout on the canvas only."""
|
|
105
120
|
type Position {
|
|
106
|
-
"""
|
|
121
|
+
"""The horizontal coordinate. Can be negative."""
|
|
107
122
|
x: Float!
|
|
108
|
-
"""
|
|
123
|
+
"""The vertical coordinate. Can be negative."""
|
|
109
124
|
y: Float!
|
|
110
125
|
}
|
|
111
126
|
```
|
|
@@ -113,11 +128,11 @@ type Position {
|
|
|
113
128
|
### `PositionInput`
|
|
114
129
|
|
|
115
130
|
```graphql
|
|
116
|
-
"""
|
|
131
|
+
"""A point on the flow canvas, as input."""
|
|
117
132
|
input PositionInput {
|
|
118
|
-
"""
|
|
133
|
+
"""The horizontal coordinate."""
|
|
119
134
|
x: Float!
|
|
120
|
-
"""
|
|
135
|
+
"""The vertical coordinate."""
|
|
121
136
|
y: Float!
|
|
122
137
|
}
|
|
123
138
|
```
|
|
@@ -125,17 +140,17 @@ input PositionInput {
|
|
|
125
140
|
### `ExperienceTargetPlacement`
|
|
126
141
|
|
|
127
142
|
```graphql
|
|
128
|
-
"""
|
|
129
|
-
Where the experience content is placed relative to the target DOM element.
|
|
130
|
-
|
|
131
|
-
`REPLACE` swaps the target node out. `APPEND` / `PREPEND` add children
|
|
132
|
-
inside the target. `BEFORE` / `AFTER` insert siblings around the target.
|
|
133
|
-
"""
|
|
143
|
+
"""Where an experience renders relative to its target element."""
|
|
134
144
|
enum ExperienceTargetPlacement {
|
|
145
|
+
"""In place of the target."""
|
|
135
146
|
REPLACE
|
|
147
|
+
"""Inside the target, after its children."""
|
|
136
148
|
APPEND
|
|
149
|
+
"""Inside the target, before its children."""
|
|
137
150
|
PREPEND
|
|
151
|
+
"""Before the target, as a sibling."""
|
|
138
152
|
BEFORE
|
|
153
|
+
"""After the target, as a sibling."""
|
|
139
154
|
AFTER
|
|
140
155
|
}
|
|
141
156
|
```
|
|
@@ -144,12 +159,12 @@ enum ExperienceTargetPlacement {
|
|
|
144
159
|
|
|
145
160
|
```graphql
|
|
146
161
|
"""
|
|
147
|
-
|
|
162
|
+
An element an experience renders against, and where it renders relative to it.
|
|
148
163
|
"""
|
|
149
164
|
type ExperienceTarget {
|
|
150
|
-
"""CSS selector
|
|
165
|
+
"""The CSS selector that finds the target element."""
|
|
151
166
|
selector: String!
|
|
152
|
-
"""
|
|
167
|
+
"""Where the experience renders relative to the target element."""
|
|
153
168
|
placement: ExperienceTargetPlacement!
|
|
154
169
|
}
|
|
155
170
|
```
|
|
@@ -157,11 +172,11 @@ type ExperienceTarget {
|
|
|
157
172
|
### `ExperienceTargetInput`
|
|
158
173
|
|
|
159
174
|
```graphql
|
|
160
|
-
"""
|
|
175
|
+
"""An element an experience renders against, as input."""
|
|
161
176
|
input ExperienceTargetInput {
|
|
162
|
-
"""CSS selector
|
|
177
|
+
"""The CSS selector that finds the target element."""
|
|
163
178
|
selector: String!
|
|
164
|
-
"""
|
|
179
|
+
"""Where the experience renders relative to the target element."""
|
|
165
180
|
placement: ExperienceTargetPlacement!
|
|
166
181
|
}
|
|
167
182
|
```
|
|
@@ -169,17 +184,15 @@ input ExperienceTargetInput {
|
|
|
169
184
|
### `ExperienceType`
|
|
170
185
|
|
|
171
186
|
```graphql
|
|
172
|
-
"""
|
|
173
|
-
Experience kind discriminator.
|
|
174
|
-
|
|
175
|
-
`FLOW` is a multi-step user journey driven by a flow graph. `PAGE` is a
|
|
176
|
-
CMS-backed dynamic landing page with a single auto-created step.
|
|
177
|
-
Mutations branch on this discriminator at create time.
|
|
178
|
-
"""
|
|
187
|
+
"""The kinds of experience. Fixed when the experience is created."""
|
|
179
188
|
enum ExperienceType {
|
|
180
|
-
"""
|
|
189
|
+
"""
|
|
190
|
+
An interactive experience of one or more steps, driven by a flow graph.
|
|
191
|
+
"""
|
|
181
192
|
FLOW
|
|
182
|
-
"""
|
|
193
|
+
"""
|
|
194
|
+
A standalone experience that your server renders from a content entry, with a single step.
|
|
195
|
+
"""
|
|
183
196
|
PAGE
|
|
184
197
|
}
|
|
185
198
|
```
|
|
@@ -188,20 +201,16 @@ enum ExperienceType {
|
|
|
188
201
|
|
|
189
202
|
```graphql
|
|
190
203
|
"""
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
`ACTIVE` is delivered to every request. `DRAFT` is omitted from the published
|
|
194
|
-
payload, along with the steps, fields and actions only it references, and
|
|
195
|
-
delivered only to a request carrying a valid preview token for the owning
|
|
196
|
-
workspace.
|
|
197
|
-
|
|
198
|
-
Status is captured in the published snapshot, so a change takes effect once the
|
|
199
|
-
workspace is published again.
|
|
204
|
+
Whether visitors receive an experience. The status is part of the published snapshot, so a change
|
|
205
|
+
takes effect when the workspace is next published.
|
|
200
206
|
"""
|
|
201
207
|
enum ExperienceStatus {
|
|
202
208
|
"""Delivered to every request."""
|
|
203
209
|
ACTIVE
|
|
204
|
-
"""
|
|
210
|
+
"""
|
|
211
|
+
Delivered only to a request carrying a valid preview token for the workspace. Left out of the
|
|
212
|
+
published payload, with the steps, fields and actions only it uses.
|
|
213
|
+
"""
|
|
205
214
|
DRAFT
|
|
206
215
|
}
|
|
207
216
|
```
|
|
@@ -210,61 +219,52 @@ enum ExperienceStatus {
|
|
|
210
219
|
|
|
211
220
|
```graphql
|
|
212
221
|
"""
|
|
213
|
-
|
|
214
|
-
is stored opaquely in `flowJson` and exposed structurally via `nodes` and
|
|
215
|
-
`edges`.
|
|
216
|
-
|
|
217
|
-
`targets` selects which DOM elements the experience attaches to. `key`
|
|
218
|
-
is a stable identifier SDK consumers use to opt in to specific
|
|
219
|
-
experiences. `condition` is a JSON Logic expression gating whether the
|
|
220
|
-
experience renders at all.
|
|
222
|
+
Personalised content that Picked serves to a visitor: a flow or a page.
|
|
221
223
|
"""
|
|
222
224
|
type Experience {
|
|
223
|
-
"""
|
|
225
|
+
"""The ID of the experience."""
|
|
224
226
|
id: ID!
|
|
225
|
-
"""
|
|
227
|
+
"""The name of the experience."""
|
|
226
228
|
name: String!
|
|
227
|
-
"""
|
|
229
|
+
"""The elements the experience renders against."""
|
|
228
230
|
targets: [ExperienceTarget!]!
|
|
229
|
-
"""
|
|
231
|
+
"""The stable identifier of the experience, unique within its workspace."""
|
|
230
232
|
key: String!
|
|
231
|
-
"""
|
|
232
|
-
Discriminator: `FLOW` (multi-step journey) or `PAGE` (CMS-backed landing).
|
|
233
|
-
"""
|
|
233
|
+
"""The kind of experience."""
|
|
234
234
|
type: ExperienceType!
|
|
235
|
+
"""Whether visitors receive the experience."""
|
|
236
|
+
status: ExperienceStatus!
|
|
235
237
|
"""
|
|
236
|
-
|
|
238
|
+
The flow graph as stored JSON. `nodes` and `edges` carry the same graph, typed.
|
|
237
239
|
"""
|
|
238
|
-
status: ExperienceStatus!
|
|
239
|
-
"""Opaque flow graph blob. Use `nodes` + `edges` for structured access."""
|
|
240
240
|
flowJson: JSON
|
|
241
|
-
"""
|
|
241
|
+
"""
|
|
242
|
+
A JSON Logic rule that decides whether the experience renders. Null when none is set.
|
|
243
|
+
"""
|
|
242
244
|
condition: JSON
|
|
243
245
|
"""
|
|
244
|
-
JSON
|
|
246
|
+
A JSON Logic rule that decides whether the experience starts open. Null when none is set.
|
|
245
247
|
"""
|
|
246
248
|
initializeOpen: JSON
|
|
247
249
|
"""
|
|
248
|
-
|
|
250
|
+
The component name that points the experience at a component in your application. Empty when none is set.
|
|
249
251
|
"""
|
|
250
252
|
componentName: String!
|
|
251
|
-
"""The workspace
|
|
253
|
+
"""The workspace the experience belongs to."""
|
|
252
254
|
workspace: Workspace!
|
|
253
|
-
"""
|
|
255
|
+
"""The nodes of the flow graph."""
|
|
254
256
|
nodes: [ExperienceNode!]!
|
|
255
|
-
"""
|
|
257
|
+
"""The edges of the flow graph."""
|
|
256
258
|
edges: [ExperienceEdge!]!
|
|
257
|
-
"""
|
|
259
|
+
"""The steps the flow's step nodes show."""
|
|
258
260
|
steps: [Step!]!
|
|
259
|
-
"""
|
|
260
|
-
All conditions referenced by `CONDITION` nodes in this experience's flow.
|
|
261
|
-
"""
|
|
261
|
+
"""The conditions the flow's condition nodes branch on."""
|
|
262
262
|
conditions: [Condition!]!
|
|
263
|
-
"""
|
|
263
|
+
"""The actions the flow's action nodes start."""
|
|
264
264
|
actions: [Action!]!
|
|
265
|
-
"""When
|
|
265
|
+
"""When the experience was created."""
|
|
266
266
|
createdAt: DateTime!
|
|
267
|
-
"""When
|
|
267
|
+
"""When the experience last changed."""
|
|
268
268
|
updatedAt: DateTime!
|
|
269
269
|
}
|
|
270
270
|
```
|
|
@@ -272,19 +272,15 @@ type Experience {
|
|
|
272
272
|
### `ExperienceConnection`
|
|
273
273
|
|
|
274
274
|
```graphql
|
|
275
|
-
"""
|
|
276
|
-
Relay-style connection of experiences, with both an `edges` list and a flat `nodes` accessor.
|
|
277
|
-
"""
|
|
275
|
+
"""A page of experiences."""
|
|
278
276
|
type ExperienceConnection {
|
|
279
|
-
"""
|
|
277
|
+
"""The edges in this page."""
|
|
280
278
|
edges: [ExperienceConnectionEdge!]!
|
|
281
|
-
"""
|
|
282
|
-
Flat list of experiences, equivalent to `edges[].node`. Convenience accessor.
|
|
283
|
-
"""
|
|
279
|
+
"""The experiences in this page."""
|
|
284
280
|
nodes: [Experience!]!
|
|
285
|
-
"""
|
|
281
|
+
"""Where this page sits in the list."""
|
|
286
282
|
pageInfo: PageInfo!
|
|
287
|
-
"""
|
|
283
|
+
"""The number of experiences across all pages, ignoring `search`."""
|
|
288
284
|
totalCount: Int!
|
|
289
285
|
}
|
|
290
286
|
```
|
|
@@ -292,9 +288,9 @@ type ExperienceConnection {
|
|
|
292
288
|
### `ExperienceConnectionEdge`
|
|
293
289
|
|
|
294
290
|
```graphql
|
|
295
|
-
"""
|
|
291
|
+
"""An experience in a page of results."""
|
|
296
292
|
type ExperienceConnectionEdge {
|
|
297
|
-
"""
|
|
293
|
+
"""The cursor of this edge."""
|
|
298
294
|
cursor: String!
|
|
299
295
|
"""The experience."""
|
|
300
296
|
node: Experience!
|
|
@@ -304,15 +300,13 @@ type ExperienceConnectionEdge {
|
|
|
304
300
|
### `ExperienceNode`
|
|
305
301
|
|
|
306
302
|
```graphql
|
|
307
|
-
"""
|
|
308
|
-
A node in the experience flow graph. Use `__typename` to discriminate the implementation.
|
|
309
|
-
"""
|
|
303
|
+
"""A node in an experience's flow graph. `__typename` names the kind."""
|
|
310
304
|
interface ExperienceNode {
|
|
311
|
-
"""
|
|
305
|
+
"""The ID of the node, unique within the graph."""
|
|
312
306
|
id: ID!
|
|
313
|
-
"""
|
|
307
|
+
"""The kind of node."""
|
|
314
308
|
type: ExperienceNodeType!
|
|
315
|
-
"""
|
|
309
|
+
"""The position of the node on the canvas."""
|
|
316
310
|
position: Position!
|
|
317
311
|
}
|
|
318
312
|
```
|
|
@@ -320,10 +314,13 @@ interface ExperienceNode {
|
|
|
320
314
|
### `OriginNode`
|
|
321
315
|
|
|
322
316
|
```graphql
|
|
323
|
-
"""
|
|
317
|
+
"""The node where every flow starts. One per experience."""
|
|
324
318
|
type OriginNode implements ExperienceNode {
|
|
319
|
+
"""The ID of the node, unique within the graph."""
|
|
325
320
|
id: ID!
|
|
321
|
+
"""The kind of node."""
|
|
326
322
|
type: ExperienceNodeType!
|
|
323
|
+
"""The position of the node on the canvas."""
|
|
327
324
|
position: Position!
|
|
328
325
|
}
|
|
329
326
|
```
|
|
@@ -331,12 +328,15 @@ type OriginNode implements ExperienceNode {
|
|
|
331
328
|
### `StepNode`
|
|
332
329
|
|
|
333
330
|
```graphql
|
|
334
|
-
"""A node that
|
|
331
|
+
"""A node that shows a step."""
|
|
335
332
|
type StepNode implements ExperienceNode {
|
|
333
|
+
"""The ID of the node, unique within the graph."""
|
|
336
334
|
id: ID!
|
|
335
|
+
"""The kind of node."""
|
|
337
336
|
type: ExperienceNodeType!
|
|
337
|
+
"""The position of the node on the canvas."""
|
|
338
338
|
position: Position!
|
|
339
|
-
"""The step
|
|
339
|
+
"""The step the node shows."""
|
|
340
340
|
step: Step!
|
|
341
341
|
}
|
|
342
342
|
```
|
|
@@ -345,13 +345,16 @@ type StepNode implements ExperienceNode {
|
|
|
345
345
|
|
|
346
346
|
```graphql
|
|
347
347
|
"""
|
|
348
|
-
A node that
|
|
348
|
+
A node that branches on a condition. Its outgoing edges carry `sourceHandle` `TRUE` or `FALSE`.
|
|
349
349
|
"""
|
|
350
350
|
type ConditionNode implements ExperienceNode {
|
|
351
|
+
"""The ID of the node, unique within the graph."""
|
|
351
352
|
id: ID!
|
|
353
|
+
"""The kind of node."""
|
|
352
354
|
type: ExperienceNodeType!
|
|
355
|
+
"""The position of the node on the canvas."""
|
|
353
356
|
position: Position!
|
|
354
|
-
"""The condition
|
|
357
|
+
"""The condition the node evaluates."""
|
|
355
358
|
condition: Condition!
|
|
356
359
|
}
|
|
357
360
|
```
|
|
@@ -359,12 +362,15 @@ type ConditionNode implements ExperienceNode {
|
|
|
359
362
|
### `ActionNode`
|
|
360
363
|
|
|
361
364
|
```graphql
|
|
362
|
-
"""A node that
|
|
365
|
+
"""A node that starts an action."""
|
|
363
366
|
type ActionNode implements ExperienceNode {
|
|
367
|
+
"""The ID of the node, unique within the graph."""
|
|
364
368
|
id: ID!
|
|
369
|
+
"""The kind of node."""
|
|
365
370
|
type: ExperienceNodeType!
|
|
371
|
+
"""The position of the node on the canvas."""
|
|
366
372
|
position: Position!
|
|
367
|
-
"""The action
|
|
373
|
+
"""The action the node starts."""
|
|
368
374
|
action: Action!
|
|
369
375
|
}
|
|
370
376
|
```
|
|
@@ -372,12 +378,15 @@ type ActionNode implements ExperienceNode {
|
|
|
372
378
|
### `LaunchExperienceNode`
|
|
373
379
|
|
|
374
380
|
```graphql
|
|
375
|
-
"""A node that launches another experience.
|
|
381
|
+
"""A node that launches another experience."""
|
|
376
382
|
type LaunchExperienceNode implements ExperienceNode {
|
|
383
|
+
"""The ID of the node, unique within the graph."""
|
|
377
384
|
id: ID!
|
|
385
|
+
"""The kind of node."""
|
|
378
386
|
type: ExperienceNodeType!
|
|
387
|
+
"""The position of the node on the canvas."""
|
|
379
388
|
position: Position!
|
|
380
|
-
"""The experience
|
|
389
|
+
"""The experience the node launches."""
|
|
381
390
|
targetExperience: Experience!
|
|
382
391
|
}
|
|
383
392
|
```
|
|
@@ -385,20 +394,20 @@ type LaunchExperienceNode implements ExperienceNode {
|
|
|
385
394
|
### `ExperienceEdge`
|
|
386
395
|
|
|
387
396
|
```graphql
|
|
388
|
-
"""
|
|
397
|
+
"""A link between two nodes of a flow graph."""
|
|
389
398
|
type ExperienceEdge {
|
|
390
|
-
"""
|
|
399
|
+
"""The ID of the edge, unique within the graph."""
|
|
391
400
|
id: ID!
|
|
392
|
-
"""
|
|
401
|
+
"""The node the edge leaves."""
|
|
393
402
|
sourceNode: ExperienceNode!
|
|
394
|
-
"""
|
|
403
|
+
"""The node the edge enters."""
|
|
395
404
|
destinationNode: ExperienceNode!
|
|
396
|
-
"""
|
|
405
|
+
"""The ID of the node the edge leaves."""
|
|
397
406
|
sourceNodeId: ID!
|
|
398
|
-
"""
|
|
407
|
+
"""The ID of the node the edge enters."""
|
|
399
408
|
destinationNodeId: ID!
|
|
400
409
|
"""
|
|
401
|
-
|
|
410
|
+
The branch the edge leaves a condition node from. Null when the source is not a condition node.
|
|
402
411
|
"""
|
|
403
412
|
sourceHandle: ExperienceEdgeHandle
|
|
404
413
|
}
|
|
@@ -408,22 +417,22 @@ type ExperienceEdge {
|
|
|
408
417
|
|
|
409
418
|
```graphql
|
|
410
419
|
"""
|
|
411
|
-
|
|
420
|
+
A node of a flow graph, as input. Set only the reference that matches `type`.
|
|
412
421
|
"""
|
|
413
422
|
input ExperienceNodeInput {
|
|
414
|
-
"""
|
|
423
|
+
"""The ID of the node, unique within the graph."""
|
|
415
424
|
id: ID!
|
|
416
|
-
"""
|
|
425
|
+
"""The kind of node."""
|
|
417
426
|
type: ExperienceNodeType!
|
|
418
|
-
"""
|
|
427
|
+
"""The position of the node on the canvas."""
|
|
419
428
|
position: PositionInput!
|
|
420
|
-
"""
|
|
429
|
+
"""The ID of the step a `STEP` node shows."""
|
|
421
430
|
stepId: ID
|
|
422
|
-
"""
|
|
431
|
+
"""The ID of the condition a `CONDITION` node evaluates."""
|
|
423
432
|
conditionId: ID
|
|
424
|
-
"""
|
|
433
|
+
"""The ID of the action an `ACTION` node starts."""
|
|
425
434
|
actionId: ID
|
|
426
|
-
"""
|
|
435
|
+
"""The ID of the experience an `EXPERIENCE` node launches."""
|
|
427
436
|
targetExperienceId: ID
|
|
428
437
|
}
|
|
429
438
|
```
|
|
@@ -431,15 +440,15 @@ input ExperienceNodeInput {
|
|
|
431
440
|
### `ExperienceEdgeInput`
|
|
432
441
|
|
|
433
442
|
```graphql
|
|
434
|
-
"""
|
|
443
|
+
"""An edge of a flow graph, as input."""
|
|
435
444
|
input ExperienceEdgeInput {
|
|
436
|
-
"""
|
|
445
|
+
"""The ID of the edge, unique within the graph."""
|
|
437
446
|
id: ID!
|
|
438
|
-
"""
|
|
447
|
+
"""The ID of the node the edge leaves."""
|
|
439
448
|
sourceNodeId: ID!
|
|
440
|
-
"""
|
|
449
|
+
"""The ID of the node the edge enters."""
|
|
441
450
|
destinationNodeId: ID!
|
|
442
|
-
"""
|
|
451
|
+
"""The branch the edge leaves a condition node from."""
|
|
443
452
|
sourceHandle: ExperienceEdgeHandle
|
|
444
453
|
}
|
|
445
454
|
```
|
|
@@ -447,33 +456,35 @@ input ExperienceEdgeInput {
|
|
|
447
456
|
### `ExperienceCreateInput`
|
|
448
457
|
|
|
449
458
|
```graphql
|
|
450
|
-
"""
|
|
459
|
+
"""The input of `experienceCreate`."""
|
|
451
460
|
input ExperienceCreateInput {
|
|
452
|
-
"""
|
|
461
|
+
"""The ID of the workspace to create the experience in."""
|
|
453
462
|
workspaceId: ID!
|
|
454
|
-
"""
|
|
463
|
+
"""The name of the experience."""
|
|
455
464
|
name: String!
|
|
456
|
-
"""Stable, human-readable key for SDK consumers."""
|
|
457
|
-
key: String!
|
|
458
465
|
"""
|
|
459
|
-
|
|
466
|
+
The stable identifier of the experience, unique within the workspace. It cannot change later.
|
|
460
467
|
"""
|
|
468
|
+
key: String!
|
|
469
|
+
"""The kind of experience. Defaults to `FLOW`."""
|
|
461
470
|
type: ExperienceType
|
|
462
|
-
"""
|
|
471
|
+
"""Whether visitors receive the experience. Defaults to `ACTIVE`."""
|
|
463
472
|
status: ExperienceStatus
|
|
464
|
-
"""
|
|
473
|
+
"""A JSON Logic rule that decides whether the experience renders."""
|
|
465
474
|
condition: JSON
|
|
466
|
-
"""
|
|
475
|
+
"""A JSON Logic rule that decides whether the experience starts open."""
|
|
467
476
|
initializeOpen: JSON
|
|
468
|
-
"""Name of the React/Svelte component the SDK should render."""
|
|
469
|
-
componentName: String
|
|
470
477
|
"""
|
|
471
|
-
|
|
478
|
+
The component name that points the experience at a component in your application.
|
|
472
479
|
"""
|
|
480
|
+
componentName: String
|
|
481
|
+
"""The elements the experience renders against."""
|
|
473
482
|
targets: [ExperienceTargetInput!]
|
|
474
|
-
"""
|
|
483
|
+
"""
|
|
484
|
+
The nodes of the flow graph. An origin node is added when none is given. Rejected for a `PAGE`.
|
|
485
|
+
"""
|
|
475
486
|
nodes: [ExperienceNodeInput!]
|
|
476
|
-
"""
|
|
487
|
+
"""The edges of the flow graph. Rejected for a `PAGE`."""
|
|
477
488
|
edges: [ExperienceEdgeInput!]
|
|
478
489
|
}
|
|
479
490
|
```
|
|
@@ -481,7 +492,7 @@ input ExperienceCreateInput {
|
|
|
481
492
|
### `ExperienceCreatePayload`
|
|
482
493
|
|
|
483
494
|
```graphql
|
|
484
|
-
"""
|
|
495
|
+
"""The result of `experienceCreate`."""
|
|
485
496
|
type ExperienceCreatePayload {
|
|
486
497
|
"""The created experience."""
|
|
487
498
|
experience: Experience
|
|
@@ -491,21 +502,23 @@ type ExperienceCreatePayload {
|
|
|
491
502
|
### `ExperienceUpdateInput`
|
|
492
503
|
|
|
493
504
|
```graphql
|
|
494
|
-
"""
|
|
505
|
+
"""The input of `experienceUpdate`. Omit a field to keep its value."""
|
|
495
506
|
input ExperienceUpdateInput {
|
|
496
|
-
"""
|
|
507
|
+
"""The ID of the experience."""
|
|
497
508
|
id: ID!
|
|
498
|
-
"""
|
|
509
|
+
"""The name of the experience."""
|
|
499
510
|
name: String
|
|
500
|
-
"""
|
|
511
|
+
"""Whether visitors receive the experience."""
|
|
501
512
|
status: ExperienceStatus
|
|
502
|
-
"""
|
|
513
|
+
"""A JSON Logic rule that decides whether the experience renders."""
|
|
503
514
|
condition: JSON
|
|
504
|
-
"""
|
|
515
|
+
"""A JSON Logic rule that decides whether the experience starts open."""
|
|
505
516
|
initializeOpen: JSON
|
|
506
|
-
"""
|
|
517
|
+
"""
|
|
518
|
+
The component name that points the experience at a component in your application.
|
|
519
|
+
"""
|
|
507
520
|
componentName: String
|
|
508
|
-
"""
|
|
521
|
+
"""The elements the experience renders against."""
|
|
509
522
|
targets: [ExperienceTargetInput!]
|
|
510
523
|
}
|
|
511
524
|
```
|
|
@@ -513,7 +526,7 @@ input ExperienceUpdateInput {
|
|
|
513
526
|
### `ExperienceUpdatePayload`
|
|
514
527
|
|
|
515
528
|
```graphql
|
|
516
|
-
"""
|
|
529
|
+
"""The result of `experienceUpdate`."""
|
|
517
530
|
type ExperienceUpdatePayload {
|
|
518
531
|
"""The updated experience."""
|
|
519
532
|
experience: Experience
|
|
@@ -523,9 +536,9 @@ type ExperienceUpdatePayload {
|
|
|
523
536
|
### `ExperienceDeleteInput`
|
|
524
537
|
|
|
525
538
|
```graphql
|
|
526
|
-
"""
|
|
539
|
+
"""The input of `experienceDelete`."""
|
|
527
540
|
input ExperienceDeleteInput {
|
|
528
|
-
"""
|
|
541
|
+
"""The ID of the experience."""
|
|
529
542
|
id: ID!
|
|
530
543
|
}
|
|
531
544
|
```
|
|
@@ -533,9 +546,9 @@ input ExperienceDeleteInput {
|
|
|
533
546
|
### `ExperienceDeletePayload`
|
|
534
547
|
|
|
535
548
|
```graphql
|
|
536
|
-
"""
|
|
549
|
+
"""The result of `experienceDelete`."""
|
|
537
550
|
type ExperienceDeletePayload {
|
|
538
|
-
"""ID of the deleted experience."""
|
|
551
|
+
"""The ID of the deleted experience."""
|
|
539
552
|
deletedExperienceId: ID
|
|
540
553
|
}
|
|
541
554
|
```
|
|
@@ -543,36 +556,27 @@ type ExperienceDeletePayload {
|
|
|
543
556
|
### `ExperienceFlowUpdateInput`
|
|
544
557
|
|
|
545
558
|
```graphql
|
|
546
|
-
"""
|
|
547
|
-
Atomically save all changes to an experience flow in a single
|
|
548
|
-
operation. Handles creation, updates, and deletion of nodes, edges,
|
|
549
|
-
steps, conditions, actions, and fields.
|
|
550
|
-
|
|
551
|
-
Set `allowPartialSuccess: true` to persist valid changes even when some
|
|
552
|
-
fail validation; the failures appear in `errors` while successful
|
|
553
|
-
changes are committed. Default (`false`) treats the operation as
|
|
554
|
-
all-or-nothing.
|
|
555
|
-
"""
|
|
559
|
+
"""The input of `experienceFlowUpdate`. Omit a field to keep its value."""
|
|
556
560
|
input ExperienceFlowUpdateInput {
|
|
557
|
-
"""
|
|
561
|
+
"""The name of the experience."""
|
|
558
562
|
name: String
|
|
559
|
-
"""
|
|
563
|
+
"""Whether visitors receive the experience."""
|
|
560
564
|
status: ExperienceStatus
|
|
561
|
-
"""
|
|
565
|
+
"""A JSON Logic rule that decides whether the experience renders."""
|
|
562
566
|
condition: JSON
|
|
563
|
-
"""
|
|
567
|
+
"""A JSON Logic rule that decides whether the experience starts open."""
|
|
564
568
|
initializeOpen: JSON
|
|
565
|
-
"""
|
|
569
|
+
"""
|
|
570
|
+
The component name that points the experience at a component in your application.
|
|
571
|
+
"""
|
|
566
572
|
componentName: String
|
|
567
|
-
"""
|
|
573
|
+
"""The elements the experience renders against."""
|
|
568
574
|
targets: [ExperienceTargetInput!]
|
|
569
|
-
"""The
|
|
575
|
+
"""The ID of the experience."""
|
|
570
576
|
experienceId: ID!
|
|
571
|
-
"""
|
|
577
|
+
"""The changes to the flow and the items it uses."""
|
|
572
578
|
changes: ExperienceFlowChangesInput!
|
|
573
|
-
"""
|
|
574
|
-
When true, valid changes are persisted even if some fail validation. When false (default), the entire operation fails if any change fails.
|
|
575
|
-
"""
|
|
579
|
+
"""Has no effect."""
|
|
576
580
|
allowPartialSuccess: Boolean = false
|
|
577
581
|
}
|
|
578
582
|
```
|
|
@@ -580,19 +584,19 @@ input ExperienceFlowUpdateInput {
|
|
|
580
584
|
### `ExperienceFlowChangesInput`
|
|
581
585
|
|
|
582
586
|
```graphql
|
|
583
|
-
"""
|
|
587
|
+
"""The changes in an `experienceFlowUpdate`, by kind of item."""
|
|
584
588
|
input ExperienceFlowChangesInput {
|
|
585
|
-
"""
|
|
589
|
+
"""The step changes."""
|
|
586
590
|
steps: StepChangesInput
|
|
587
|
-
"""
|
|
591
|
+
"""The condition changes."""
|
|
588
592
|
conditions: ConditionChangesInput
|
|
589
|
-
"""
|
|
593
|
+
"""The action changes."""
|
|
590
594
|
actions: ActionChangesInput
|
|
591
|
-
"""
|
|
595
|
+
"""The field changes."""
|
|
592
596
|
fields: FieldChangesInput
|
|
593
|
-
"""
|
|
597
|
+
"""The node changes."""
|
|
594
598
|
nodes: ExperienceNodeChangesInput
|
|
595
|
-
"""
|
|
599
|
+
"""The edge changes."""
|
|
596
600
|
edges: ExperienceEdgeChangesInput
|
|
597
601
|
}
|
|
598
602
|
```
|
|
@@ -600,15 +604,15 @@ input ExperienceFlowChangesInput {
|
|
|
600
604
|
### `StepChangesInput`
|
|
601
605
|
|
|
602
606
|
```graphql
|
|
603
|
-
"""
|
|
607
|
+
"""The step changes in an `experienceFlowUpdate`."""
|
|
604
608
|
input StepChangesInput {
|
|
605
|
-
"""
|
|
606
|
-
Steps to create. Each entry carries a `clientId` for cross-referencing from `nodes`.
|
|
607
|
-
"""
|
|
609
|
+
"""The steps to create."""
|
|
608
610
|
create: [StepCreateData!]
|
|
609
|
-
"""
|
|
611
|
+
"""The steps to update."""
|
|
610
612
|
update: [StepUpdateData!]
|
|
611
|
-
"""
|
|
613
|
+
"""
|
|
614
|
+
The IDs of steps that no node may reference after the save. The steps stay in the workspace.
|
|
615
|
+
"""
|
|
612
616
|
delete: [ID!]
|
|
613
617
|
}
|
|
614
618
|
```
|
|
@@ -616,24 +620,30 @@ input StepChangesInput {
|
|
|
616
620
|
### `StepCreateData`
|
|
617
621
|
|
|
618
622
|
```graphql
|
|
619
|
-
"""
|
|
623
|
+
"""A step to create in an `experienceFlowUpdate`."""
|
|
620
624
|
input StepCreateData {
|
|
621
|
-
"""
|
|
625
|
+
"""
|
|
626
|
+
A client-chosen ID that other changes in the same call use to refer to the step.
|
|
627
|
+
"""
|
|
622
628
|
clientId: ID!
|
|
623
|
-
"""
|
|
629
|
+
"""The name of the step."""
|
|
624
630
|
name: String!
|
|
625
|
-
"""
|
|
631
|
+
"""
|
|
632
|
+
The stable identifier of the step, unique within the workspace. It cannot change later.
|
|
633
|
+
"""
|
|
626
634
|
key: String!
|
|
627
|
-
"""
|
|
635
|
+
"""A description of the step."""
|
|
628
636
|
description: String
|
|
629
|
-
"""
|
|
637
|
+
"""
|
|
638
|
+
The layout name: the component that renders the step, such as `card` or `modal`.
|
|
639
|
+
"""
|
|
630
640
|
layoutName: String
|
|
631
|
-
"""IDs of existing
|
|
641
|
+
"""The IDs of existing fields to put on the step, in order."""
|
|
632
642
|
fieldIds: [ID!]
|
|
633
|
-
"""
|
|
643
|
+
"""Has no effect."""
|
|
634
644
|
content: JSON
|
|
635
645
|
"""
|
|
636
|
-
ID of an existing step
|
|
646
|
+
The ID of an existing step to use instead. `clientId` then maps to it, and nothing is written.
|
|
637
647
|
"""
|
|
638
648
|
stepId: ID
|
|
639
649
|
}
|
|
@@ -642,19 +652,23 @@ input StepCreateData {
|
|
|
642
652
|
### `StepUpdateData`
|
|
643
653
|
|
|
644
654
|
```graphql
|
|
645
|
-
"""
|
|
655
|
+
"""
|
|
656
|
+
A step to update in an `experienceFlowUpdate`. Omit a field to keep its value.
|
|
657
|
+
"""
|
|
646
658
|
input StepUpdateData {
|
|
647
|
-
"""
|
|
659
|
+
"""The ID of the step."""
|
|
648
660
|
id: ID!
|
|
649
|
-
"""
|
|
661
|
+
"""The name of the step."""
|
|
650
662
|
name: String
|
|
651
|
-
"""
|
|
663
|
+
"""A description of the step."""
|
|
652
664
|
description: String
|
|
653
|
-
"""
|
|
665
|
+
"""The layout name: the component that renders the step."""
|
|
654
666
|
layoutName: String
|
|
655
|
-
"""
|
|
667
|
+
"""
|
|
668
|
+
The IDs of the fields on the step, in order. Replaces the current list.
|
|
669
|
+
"""
|
|
656
670
|
fieldIds: [ID!]
|
|
657
|
-
"""
|
|
671
|
+
"""Has no effect."""
|
|
658
672
|
content: JSON
|
|
659
673
|
}
|
|
660
674
|
```
|
|
@@ -662,15 +676,15 @@ input StepUpdateData {
|
|
|
662
676
|
### `ConditionChangesInput`
|
|
663
677
|
|
|
664
678
|
```graphql
|
|
665
|
-
"""
|
|
679
|
+
"""The condition changes in an `experienceFlowUpdate`."""
|
|
666
680
|
input ConditionChangesInput {
|
|
667
|
-
"""
|
|
668
|
-
Conditions to create. Each entry carries a `clientId` for cross-referencing from `nodes`.
|
|
669
|
-
"""
|
|
681
|
+
"""The conditions to create."""
|
|
670
682
|
create: [ConditionCreateData!]
|
|
671
|
-
"""
|
|
683
|
+
"""The conditions to update."""
|
|
672
684
|
update: [ConditionUpdateData!]
|
|
673
|
-
"""
|
|
685
|
+
"""
|
|
686
|
+
The IDs of conditions that no node may reference after the save. The conditions stay in the workspace.
|
|
687
|
+
"""
|
|
674
688
|
delete: [ID!]
|
|
675
689
|
}
|
|
676
690
|
```
|
|
@@ -678,18 +692,22 @@ input ConditionChangesInput {
|
|
|
678
692
|
### `ConditionCreateData`
|
|
679
693
|
|
|
680
694
|
```graphql
|
|
681
|
-
"""
|
|
695
|
+
"""A condition to create in an `experienceFlowUpdate`."""
|
|
682
696
|
input ConditionCreateData {
|
|
683
|
-
"""
|
|
697
|
+
"""
|
|
698
|
+
A client-chosen ID that other changes in the same call use to refer to the condition.
|
|
699
|
+
"""
|
|
684
700
|
clientId: ID!
|
|
685
|
-
"""
|
|
701
|
+
"""The name of the condition."""
|
|
686
702
|
name: String!
|
|
687
|
-
"""
|
|
703
|
+
"""
|
|
704
|
+
The stable identifier of the condition, unique within the workspace. It cannot change later.
|
|
705
|
+
"""
|
|
688
706
|
key: String!
|
|
689
|
-
"""JSON Logic expression
|
|
707
|
+
"""The rule, as a JSON Logic expression."""
|
|
690
708
|
logic: JSON!
|
|
691
709
|
"""
|
|
692
|
-
ID of an existing condition
|
|
710
|
+
The ID of an existing condition to use instead. `clientId` then maps to it, and nothing is written.
|
|
693
711
|
"""
|
|
694
712
|
conditionId: ID
|
|
695
713
|
}
|
|
@@ -698,13 +716,15 @@ input ConditionCreateData {
|
|
|
698
716
|
### `ConditionUpdateData`
|
|
699
717
|
|
|
700
718
|
```graphql
|
|
701
|
-
"""
|
|
719
|
+
"""
|
|
720
|
+
A condition to update in an `experienceFlowUpdate`. Omit a field to keep its value.
|
|
721
|
+
"""
|
|
702
722
|
input ConditionUpdateData {
|
|
703
|
-
"""
|
|
723
|
+
"""The ID of the condition."""
|
|
704
724
|
id: ID!
|
|
705
|
-
"""
|
|
725
|
+
"""The name of the condition."""
|
|
706
726
|
name: String
|
|
707
|
-
"""
|
|
727
|
+
"""The rule, as a JSON Logic expression."""
|
|
708
728
|
logic: JSON
|
|
709
729
|
}
|
|
710
730
|
```
|
|
@@ -712,15 +732,15 @@ input ConditionUpdateData {
|
|
|
712
732
|
### `ActionChangesInput`
|
|
713
733
|
|
|
714
734
|
```graphql
|
|
715
|
-
"""
|
|
735
|
+
"""The action changes in an `experienceFlowUpdate`."""
|
|
716
736
|
input ActionChangesInput {
|
|
717
|
-
"""
|
|
718
|
-
Actions to create. Each entry carries a `clientId` for cross-referencing from `nodes`.
|
|
719
|
-
"""
|
|
737
|
+
"""The actions to create."""
|
|
720
738
|
create: [ActionCreateData!]
|
|
721
|
-
"""
|
|
739
|
+
"""The actions to update."""
|
|
722
740
|
update: [ActionUpdateData!]
|
|
723
|
-
"""
|
|
741
|
+
"""
|
|
742
|
+
The IDs of actions that no node may reference after the save. The actions stay in the workspace.
|
|
743
|
+
"""
|
|
724
744
|
delete: [ID!]
|
|
725
745
|
}
|
|
726
746
|
```
|
|
@@ -728,18 +748,22 @@ input ActionChangesInput {
|
|
|
728
748
|
### `ActionCreateData`
|
|
729
749
|
|
|
730
750
|
```graphql
|
|
731
|
-
"""
|
|
751
|
+
"""An action to create in an `experienceFlowUpdate`."""
|
|
732
752
|
input ActionCreateData {
|
|
733
|
-
"""
|
|
753
|
+
"""
|
|
754
|
+
A client-chosen ID that other changes in the same call use to refer to the action.
|
|
755
|
+
"""
|
|
734
756
|
clientId: ID!
|
|
735
|
-
"""
|
|
757
|
+
"""The name of the action."""
|
|
736
758
|
name: String!
|
|
737
|
-
"""
|
|
759
|
+
"""
|
|
760
|
+
The stable identifier of the action, unique within the workspace. It cannot change later.
|
|
761
|
+
"""
|
|
738
762
|
key: String!
|
|
739
|
-
"""
|
|
763
|
+
"""A description of the action."""
|
|
740
764
|
description: String
|
|
741
765
|
"""
|
|
742
|
-
ID of an existing action
|
|
766
|
+
The ID of an existing action to use instead. `clientId` then maps to it, and nothing is written.
|
|
743
767
|
"""
|
|
744
768
|
actionId: ID
|
|
745
769
|
}
|
|
@@ -748,17 +772,18 @@ input ActionCreateData {
|
|
|
748
772
|
### `ActionUpdateData`
|
|
749
773
|
|
|
750
774
|
```graphql
|
|
751
|
-
"""
|
|
775
|
+
"""
|
|
776
|
+
An action to update in an `experienceFlowUpdate`. Omit a field to keep its value.
|
|
777
|
+
"""
|
|
752
778
|
input ActionUpdateData {
|
|
753
|
-
"""
|
|
779
|
+
"""The ID of the action."""
|
|
754
780
|
id: ID!
|
|
755
|
-
"""
|
|
781
|
+
"""The name of the action."""
|
|
756
782
|
name: String
|
|
757
|
-
"""
|
|
783
|
+
"""A description of the action."""
|
|
758
784
|
description: String
|
|
759
785
|
"""
|
|
760
|
-
|
|
761
|
-
Omit to leave the set unchanged; pass an empty list to request nothing.
|
|
786
|
+
The IDs of the fields whose answers the action receives. Replaces the current set; an empty list clears it.
|
|
762
787
|
"""
|
|
763
788
|
fieldIds: [ID!]
|
|
764
789
|
}
|
|
@@ -767,15 +792,13 @@ input ActionUpdateData {
|
|
|
767
792
|
### `FieldChangesInput`
|
|
768
793
|
|
|
769
794
|
```graphql
|
|
770
|
-
"""
|
|
795
|
+
"""The field changes in an `experienceFlowUpdate`."""
|
|
771
796
|
input FieldChangesInput {
|
|
772
|
-
"""
|
|
773
|
-
Fields to create. Each entry carries a `clientId` and a step reference.
|
|
774
|
-
"""
|
|
797
|
+
"""The fields to create."""
|
|
775
798
|
create: [FieldCreateData!]
|
|
776
|
-
"""
|
|
799
|
+
"""The fields to update."""
|
|
777
800
|
update: [FieldUpdateData!]
|
|
778
|
-
"""
|
|
801
|
+
"""Has no effect."""
|
|
779
802
|
delete: [ID!]
|
|
780
803
|
}
|
|
781
804
|
```
|
|
@@ -783,52 +806,52 @@ input FieldChangesInput {
|
|
|
783
806
|
### `FieldCreateData`
|
|
784
807
|
|
|
785
808
|
```graphql
|
|
786
|
-
"""
|
|
809
|
+
"""A field to create in an `experienceFlowUpdate`."""
|
|
787
810
|
input FieldCreateData {
|
|
788
|
-
"""
|
|
811
|
+
"""
|
|
812
|
+
A client-chosen ID that other changes in the same call use to refer to the field.
|
|
813
|
+
"""
|
|
789
814
|
clientId: ID!
|
|
790
815
|
"""
|
|
791
|
-
|
|
816
|
+
The ID of an existing step to put the field on. Excludes `stepClientId`.
|
|
792
817
|
"""
|
|
793
818
|
stepId: ID
|
|
794
819
|
"""
|
|
795
|
-
|
|
820
|
+
The `clientId` of a step created in the same call to put the field on. Excludes `stepId`.
|
|
796
821
|
"""
|
|
797
822
|
stepClientId: ID
|
|
798
|
-
"""
|
|
823
|
+
"""The machine-readable name of the field."""
|
|
799
824
|
name: String!
|
|
800
|
-
"""
|
|
825
|
+
"""
|
|
826
|
+
The stable identifier of the field, unique within the workspace. It cannot change later.
|
|
827
|
+
"""
|
|
801
828
|
key: String!
|
|
802
|
-
"""
|
|
829
|
+
"""The label shown next to the input."""
|
|
803
830
|
label: String!
|
|
804
|
-
"""The field
|
|
831
|
+
"""The kind of value the field captures."""
|
|
805
832
|
type: FieldType!
|
|
806
|
-
"""Whether
|
|
833
|
+
"""Whether the field accepts more than one value."""
|
|
807
834
|
multiple: Boolean
|
|
808
|
-
"""Whether the
|
|
835
|
+
"""Whether the visitor must answer the field."""
|
|
809
836
|
required: Boolean
|
|
810
|
-
"""
|
|
837
|
+
"""The validation rules, as a JSON string."""
|
|
811
838
|
validationString: String
|
|
812
|
-
"""
|
|
839
|
+
"""The value the field starts with."""
|
|
813
840
|
defaultValue: JSON
|
|
814
|
-
"""JSON Logic
|
|
841
|
+
"""A JSON Logic rule that decides whether the field renders."""
|
|
815
842
|
condition: JSON
|
|
816
|
-
"""
|
|
843
|
+
"""The text shown in the empty input."""
|
|
817
844
|
placeholder: String
|
|
818
|
-
"""
|
|
845
|
+
"""A description shown with the label."""
|
|
819
846
|
description: String
|
|
820
|
-
"""
|
|
847
|
+
"""A hint shown below the field."""
|
|
821
848
|
helpText: String
|
|
822
|
-
"""
|
|
823
|
-
When true, the captured value is excluded from analytics tracking. Omitted defaults to `true`: tracking is opt-in.
|
|
824
|
-
"""
|
|
849
|
+
"""Whether the answer is left out of analytics. Defaults to `true`."""
|
|
825
850
|
doNotTrack: Boolean
|
|
826
|
-
"""
|
|
827
|
-
When true, the captured value is excluded from persistence. Omitted defaults to `true`: persistence is opt-in.
|
|
828
|
-
"""
|
|
851
|
+
"""Whether the answer is left out of storage. Defaults to `true`."""
|
|
829
852
|
doNotStore: Boolean
|
|
830
853
|
"""
|
|
831
|
-
ID of an existing field
|
|
854
|
+
The ID of an existing field to use instead. `clientId` then maps to it, and nothing is written.
|
|
832
855
|
"""
|
|
833
856
|
fieldId: ID
|
|
834
857
|
}
|
|
@@ -837,39 +860,41 @@ input FieldCreateData {
|
|
|
837
860
|
### `FieldUpdateData`
|
|
838
861
|
|
|
839
862
|
```graphql
|
|
840
|
-
"""
|
|
863
|
+
"""
|
|
864
|
+
A field to update in an `experienceFlowUpdate`. Omit a field to keep its value. `type` is required.
|
|
865
|
+
"""
|
|
841
866
|
input FieldUpdateData {
|
|
842
|
-
"""
|
|
867
|
+
"""The ID of the field."""
|
|
843
868
|
id: ID!
|
|
844
|
-
"""
|
|
869
|
+
"""The machine-readable name of the field."""
|
|
845
870
|
name: String
|
|
846
|
-
"""
|
|
871
|
+
"""The label shown next to the input."""
|
|
847
872
|
label: String
|
|
848
873
|
"""
|
|
849
|
-
|
|
874
|
+
The kind of value the field captures. Required: send the current type to keep it.
|
|
850
875
|
"""
|
|
851
876
|
type: FieldType!
|
|
852
|
-
"""Whether
|
|
877
|
+
"""Whether the field accepts more than one value."""
|
|
853
878
|
multiple: Boolean
|
|
854
|
-
"""Whether the
|
|
879
|
+
"""Whether the visitor must answer the field."""
|
|
855
880
|
required: Boolean
|
|
856
|
-
"""
|
|
881
|
+
"""The validation rules, as a JSON string."""
|
|
857
882
|
validationString: String
|
|
858
|
-
"""
|
|
883
|
+
"""The value the field starts with."""
|
|
859
884
|
defaultValue: JSON
|
|
860
|
-
"""JSON Logic
|
|
885
|
+
"""A JSON Logic rule that decides whether the field renders."""
|
|
861
886
|
condition: JSON
|
|
862
|
-
"""
|
|
887
|
+
"""The text shown in the empty input."""
|
|
863
888
|
placeholder: String
|
|
864
|
-
"""
|
|
889
|
+
"""A description shown with the label."""
|
|
865
890
|
description: String
|
|
866
|
-
"""
|
|
891
|
+
"""A hint shown below the field."""
|
|
867
892
|
helpText: String
|
|
868
|
-
"""
|
|
893
|
+
"""Whether the answer is left out of analytics."""
|
|
869
894
|
doNotTrack: Boolean
|
|
870
|
-
"""
|
|
895
|
+
"""Whether the answer is left out of storage."""
|
|
871
896
|
doNotStore: Boolean
|
|
872
|
-
"""
|
|
897
|
+
"""The choices, as a JSON array."""
|
|
873
898
|
options: JSON
|
|
874
899
|
}
|
|
875
900
|
```
|
|
@@ -877,13 +902,13 @@ input FieldUpdateData {
|
|
|
877
902
|
### `ExperienceNodeChangesInput`
|
|
878
903
|
|
|
879
904
|
```graphql
|
|
880
|
-
"""
|
|
905
|
+
"""The node changes in an `experienceFlowUpdate`."""
|
|
881
906
|
input ExperienceNodeChangesInput {
|
|
882
|
-
"""
|
|
907
|
+
"""The nodes to create."""
|
|
883
908
|
create: [ExperienceNodeCreateData!]
|
|
884
|
-
"""
|
|
909
|
+
"""The nodes to update."""
|
|
885
910
|
update: [ExperienceNodeUpdateData!]
|
|
886
|
-
"""
|
|
911
|
+
"""The IDs of the nodes to delete."""
|
|
887
912
|
delete: [ID!]
|
|
888
913
|
}
|
|
889
914
|
```
|
|
@@ -892,47 +917,44 @@ input ExperienceNodeChangesInput {
|
|
|
892
917
|
|
|
893
918
|
```graphql
|
|
894
919
|
"""
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
- `STEP`: `stepId` or `stepClientId` (mutually exclusive).
|
|
899
|
-
- `CONDITION`: `conditionId` or `conditionClientId`.
|
|
900
|
-
- `ACTION`: `actionId` or `actionClientId`.
|
|
901
|
-
- `EXPERIENCE`: `targetExperienceId`.
|
|
902
|
-
- `ORIGIN`: no extras.
|
|
920
|
+
A node to create in an `experienceFlowUpdate`. Set only the reference that matches `type`: a step
|
|
921
|
+
for `STEP`, a condition for `CONDITION`, an action for `ACTION`, an experience for `EXPERIENCE`,
|
|
922
|
+
and none for `ORIGIN`.
|
|
903
923
|
"""
|
|
904
924
|
input ExperienceNodeCreateData {
|
|
905
|
-
"""
|
|
925
|
+
"""
|
|
926
|
+
A client-chosen ID that edges in the same call use to refer to the node.
|
|
927
|
+
"""
|
|
906
928
|
clientId: ID!
|
|
907
|
-
"""
|
|
929
|
+
"""The kind of node."""
|
|
908
930
|
type: ExperienceNodeType!
|
|
909
|
-
"""
|
|
931
|
+
"""The position of the node on the canvas."""
|
|
910
932
|
position: PositionInput!
|
|
911
933
|
"""
|
|
912
|
-
|
|
934
|
+
The ID of an existing step a `STEP` node shows. Excludes `stepClientId`.
|
|
913
935
|
"""
|
|
914
936
|
stepId: ID
|
|
915
937
|
"""
|
|
916
|
-
|
|
938
|
+
The `clientId` of a step created in the same call that a `STEP` node shows. Excludes `stepId`.
|
|
917
939
|
"""
|
|
918
940
|
stepClientId: ID
|
|
919
941
|
"""
|
|
920
|
-
|
|
942
|
+
The ID of an existing condition a `CONDITION` node evaluates. Excludes `conditionClientId`.
|
|
921
943
|
"""
|
|
922
944
|
conditionId: ID
|
|
923
945
|
"""
|
|
924
|
-
|
|
946
|
+
The `clientId` of a condition created in the same call that a `CONDITION` node evaluates. Excludes `conditionId`.
|
|
925
947
|
"""
|
|
926
948
|
conditionClientId: ID
|
|
927
949
|
"""
|
|
928
|
-
|
|
950
|
+
The ID of an existing action an `ACTION` node starts. Excludes `actionClientId`.
|
|
929
951
|
"""
|
|
930
952
|
actionId: ID
|
|
931
953
|
"""
|
|
932
|
-
|
|
954
|
+
The `clientId` of an action created in the same call that an `ACTION` node starts. Excludes `actionId`.
|
|
933
955
|
"""
|
|
934
956
|
actionClientId: ID
|
|
935
|
-
"""
|
|
957
|
+
"""The ID of the experience an `EXPERIENCE` node launches."""
|
|
936
958
|
targetExperienceId: ID
|
|
937
959
|
}
|
|
938
960
|
```
|
|
@@ -940,19 +962,21 @@ input ExperienceNodeCreateData {
|
|
|
940
962
|
### `ExperienceNodeUpdateData`
|
|
941
963
|
|
|
942
964
|
```graphql
|
|
943
|
-
"""
|
|
965
|
+
"""
|
|
966
|
+
A node to update in an `experienceFlowUpdate`. Only its position changes.
|
|
967
|
+
"""
|
|
944
968
|
input ExperienceNodeUpdateData {
|
|
945
|
-
"""
|
|
969
|
+
"""The ID of the node."""
|
|
946
970
|
id: ID!
|
|
947
|
-
"""
|
|
971
|
+
"""The position of the node on the canvas."""
|
|
948
972
|
position: PositionInput!
|
|
949
|
-
"""
|
|
973
|
+
"""Has no effect."""
|
|
950
974
|
stepId: ID
|
|
951
|
-
"""
|
|
975
|
+
"""Has no effect."""
|
|
952
976
|
conditionId: ID
|
|
953
|
-
"""
|
|
977
|
+
"""Has no effect."""
|
|
954
978
|
actionId: ID
|
|
955
|
-
"""
|
|
979
|
+
"""Has no effect."""
|
|
956
980
|
targetExperienceId: ID
|
|
957
981
|
}
|
|
958
982
|
```
|
|
@@ -960,13 +984,13 @@ input ExperienceNodeUpdateData {
|
|
|
960
984
|
### `ExperienceEdgeChangesInput`
|
|
961
985
|
|
|
962
986
|
```graphql
|
|
963
|
-
"""
|
|
987
|
+
"""The edge changes in an `experienceFlowUpdate`."""
|
|
964
988
|
input ExperienceEdgeChangesInput {
|
|
965
|
-
"""
|
|
989
|
+
"""The edges to create."""
|
|
966
990
|
create: [ExperienceEdgeCreateInput!]
|
|
967
|
-
"""
|
|
991
|
+
"""The edges to update."""
|
|
968
992
|
update: [ExperienceEdgeUpdateInput!]
|
|
969
|
-
"""
|
|
993
|
+
"""The IDs of the edges to delete."""
|
|
970
994
|
delete: [ID!]
|
|
971
995
|
}
|
|
972
996
|
```
|
|
@@ -974,27 +998,27 @@ input ExperienceEdgeChangesInput {
|
|
|
974
998
|
### `ExperienceEdgeCreateInput`
|
|
975
999
|
|
|
976
1000
|
```graphql
|
|
977
|
-
"""
|
|
1001
|
+
"""An edge to create in an `experienceFlowUpdate`."""
|
|
978
1002
|
input ExperienceEdgeCreateInput {
|
|
979
|
-
"""
|
|
1003
|
+
"""A client-chosen ID for the edge."""
|
|
980
1004
|
clientId: ID!
|
|
981
1005
|
"""
|
|
982
|
-
|
|
1006
|
+
The ID of an existing node the edge leaves. Excludes `sourceNodeClientId`.
|
|
983
1007
|
"""
|
|
984
1008
|
sourceNodeId: ID
|
|
985
1009
|
"""
|
|
986
|
-
|
|
1010
|
+
The `clientId` of a node created in the same call that the edge leaves. Excludes `sourceNodeId`.
|
|
987
1011
|
"""
|
|
988
1012
|
sourceNodeClientId: ID
|
|
989
1013
|
"""
|
|
990
|
-
|
|
1014
|
+
The ID of an existing node the edge enters. Excludes `destinationNodeClientId`.
|
|
991
1015
|
"""
|
|
992
1016
|
destinationNodeId: ID
|
|
993
1017
|
"""
|
|
994
|
-
|
|
1018
|
+
The `clientId` of a node created in the same call that the edge enters. Excludes `destinationNodeId`.
|
|
995
1019
|
"""
|
|
996
1020
|
destinationNodeClientId: ID
|
|
997
|
-
"""
|
|
1021
|
+
"""The branch the edge leaves a condition node from."""
|
|
998
1022
|
sourceHandle: ExperienceEdgeHandle
|
|
999
1023
|
}
|
|
1000
1024
|
```
|
|
@@ -1002,15 +1026,17 @@ input ExperienceEdgeCreateInput {
|
|
|
1002
1026
|
### `ExperienceEdgeUpdateInput`
|
|
1003
1027
|
|
|
1004
1028
|
```graphql
|
|
1005
|
-
"""
|
|
1029
|
+
"""
|
|
1030
|
+
An edge to update in an `experienceFlowUpdate`. Omit a field to keep its value.
|
|
1031
|
+
"""
|
|
1006
1032
|
input ExperienceEdgeUpdateInput {
|
|
1007
|
-
"""
|
|
1033
|
+
"""The ID of the edge."""
|
|
1008
1034
|
id: ID!
|
|
1009
|
-
"""
|
|
1035
|
+
"""The ID of the node the edge leaves."""
|
|
1010
1036
|
sourceNodeId: ID
|
|
1011
|
-
"""
|
|
1037
|
+
"""The ID of the node the edge enters."""
|
|
1012
1038
|
destinationNodeId: ID
|
|
1013
|
-
"""
|
|
1039
|
+
"""The branch the edge leaves a condition node from."""
|
|
1014
1040
|
sourceHandle: ExperienceEdgeHandle
|
|
1015
1041
|
}
|
|
1016
1042
|
```
|
|
@@ -1018,15 +1044,15 @@ input ExperienceEdgeUpdateInput {
|
|
|
1018
1044
|
### `ExperienceFlowUpdatePayload`
|
|
1019
1045
|
|
|
1020
1046
|
```graphql
|
|
1021
|
-
"""
|
|
1047
|
+
"""The result of `experienceFlowUpdate`."""
|
|
1022
1048
|
type ExperienceFlowUpdatePayload {
|
|
1023
|
-
"""The
|
|
1049
|
+
"""The experience with the changes applied."""
|
|
1024
1050
|
experience: Experience
|
|
1051
|
+
"""The server ID for each `clientId` in the input."""
|
|
1052
|
+
idMappings: ExperienceFlowIdMappings!
|
|
1025
1053
|
"""
|
|
1026
|
-
|
|
1054
|
+
Always empty. A change that fails validation fails the whole operation with an error.
|
|
1027
1055
|
"""
|
|
1028
|
-
idMappings: ExperienceFlowIdMappings!
|
|
1029
|
-
"""Validation errors. Empty array indicates success."""
|
|
1030
1056
|
errors: [UserError!]!
|
|
1031
1057
|
}
|
|
1032
1058
|
```
|
|
@@ -1035,20 +1061,20 @@ type ExperienceFlowUpdatePayload {
|
|
|
1035
1061
|
|
|
1036
1062
|
```graphql
|
|
1037
1063
|
"""
|
|
1038
|
-
|
|
1064
|
+
The server IDs that `experienceFlowUpdate` assigned to each `clientId`, by kind of item.
|
|
1039
1065
|
"""
|
|
1040
1066
|
type ExperienceFlowIdMappings {
|
|
1041
|
-
"""
|
|
1067
|
+
"""The step IDs."""
|
|
1042
1068
|
steps: [IdMapping!]!
|
|
1043
|
-
"""
|
|
1069
|
+
"""The condition IDs."""
|
|
1044
1070
|
conditions: [IdMapping!]!
|
|
1045
|
-
"""
|
|
1071
|
+
"""The action IDs."""
|
|
1046
1072
|
actions: [IdMapping!]!
|
|
1047
|
-
"""
|
|
1073
|
+
"""The field IDs."""
|
|
1048
1074
|
fields: [IdMapping!]!
|
|
1049
|
-
"""
|
|
1075
|
+
"""The node IDs."""
|
|
1050
1076
|
nodes: [IdMapping!]!
|
|
1051
|
-
"""
|
|
1077
|
+
"""The edge IDs."""
|
|
1052
1078
|
edges: [IdMapping!]!
|
|
1053
1079
|
}
|
|
1054
1080
|
```
|
|
@@ -1056,11 +1082,13 @@ type ExperienceFlowIdMappings {
|
|
|
1056
1082
|
### `IdMapping`
|
|
1057
1083
|
|
|
1058
1084
|
```graphql
|
|
1059
|
-
"""
|
|
1085
|
+
"""
|
|
1086
|
+
A client-chosen ID paired with the server ID of the item it stands for.
|
|
1087
|
+
"""
|
|
1060
1088
|
type IdMapping {
|
|
1061
|
-
"""The ID
|
|
1089
|
+
"""The ID the client chose."""
|
|
1062
1090
|
clientId: ID!
|
|
1063
|
-
"""The ID
|
|
1091
|
+
"""The server ID of the created or reused item."""
|
|
1064
1092
|
id: ID!
|
|
1065
1093
|
}
|
|
1066
1094
|
```
|
|
@@ -1069,14 +1097,12 @@ type IdMapping {
|
|
|
1069
1097
|
|
|
1070
1098
|
```graphql
|
|
1071
1099
|
"""
|
|
1072
|
-
An experience that references a workspace
|
|
1073
|
-
deletion. Returned in `ActionDeleteUserError`, `ConditionDeleteUserError`,
|
|
1074
|
-
and `StepDeleteUserError` when the delete is blocked by usage.
|
|
1100
|
+
An experience that references a workspace item and so blocks its delete.
|
|
1075
1101
|
"""
|
|
1076
1102
|
type ReferencingExperience {
|
|
1077
|
-
"""The experience
|
|
1103
|
+
"""The ID of the experience."""
|
|
1078
1104
|
id: ID!
|
|
1079
|
-
"""The experience
|
|
1105
|
+
"""The name of the experience."""
|
|
1080
1106
|
name: String!
|
|
1081
1107
|
}
|
|
1082
1108
|
```
|
|
@@ -1084,15 +1110,13 @@ type ReferencingExperience {
|
|
|
1084
1110
|
### `ExperienceSortKeys`
|
|
1085
1111
|
|
|
1086
1112
|
```graphql
|
|
1087
|
-
"""
|
|
1088
|
-
Sort keys for `experiences(...)`. Pair with `reverse: true` to flip the order (`NAME` + `reverse: false` sorts A→Z; `CREATED_AT` + `reverse: true` is newest-first).
|
|
1089
|
-
"""
|
|
1113
|
+
"""The orders `experiences` can sort by. `reverse: true` flips each."""
|
|
1090
1114
|
enum ExperienceSortKeys {
|
|
1091
|
-
"""
|
|
1115
|
+
"""By name, A to Z."""
|
|
1092
1116
|
NAME
|
|
1093
|
-
"""
|
|
1117
|
+
"""By creation time, oldest first."""
|
|
1094
1118
|
CREATED_AT
|
|
1095
|
-
"""
|
|
1119
|
+
"""By last change, oldest first."""
|
|
1096
1120
|
UPDATED_AT
|
|
1097
1121
|
}
|
|
1098
1122
|
```
|