trycourier 6.0.0 → 6.1.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +1 -1
- data/lib/courier/models/automation_run_list_item.rb +57 -0
- data/lib/courier/models/automation_run_list_response.rb +25 -0
- data/lib/courier/models/automation_run_step.rb +64 -0
- data/lib/courier/models/automation_run_steps_response.rb +17 -0
- data/lib/courier/models/automations/run_list_params.rb +71 -0
- data/lib/courier/models/automations/run_list_steps_params.rb +22 -0
- data/lib/courier/models/create_journey_request.rb +2 -2
- data/lib/courier/models/journey_audience_trigger_node.rb +77 -0
- data/lib/courier/models/journey_node.rb +8 -2
- data/lib/courier/models/journey_response.rb +2 -2
- data/lib/courier/models/journey_run.rb +66 -0
- data/lib/courier/models/journey_run_list_item.rb +50 -0
- data/lib/courier/models/journey_run_list_response.rb +33 -0
- data/lib/courier/models/journey_run_response.rb +22 -0
- data/lib/courier/models/journey_run_step.rb +65 -0
- data/lib/courier/models/journey_run_steps_response.rb +17 -0
- data/lib/courier/models/journey_segment_trigger_node.rb +5 -1
- data/lib/courier/models/journey_webhook_trigger_node.rb +85 -0
- data/lib/courier/models/journeys/run_list_params.rb +71 -0
- data/lib/courier/models/journeys/run_list_steps_params.rb +22 -0
- data/lib/courier/models/journeys/run_retrieve_params.rb +22 -0
- data/lib/courier/models/users/topic_preference.rb +21 -1
- data/lib/courier/models.rb +24 -0
- data/lib/courier/resources/automations/runs.rb +80 -0
- data/lib/courier/resources/automations.rb +6 -0
- data/lib/courier/resources/journeys/runs.rb +104 -0
- data/lib/courier/resources/journeys.rb +8 -2
- data/lib/courier/version.rb +1 -1
- data/lib/courier.rb +19 -0
- data/rbi/courier/models/automation_run_list_item.rbi +87 -0
- data/rbi/courier/models/automation_run_list_response.rbi +47 -0
- data/rbi/courier/models/automation_run_step.rbi +96 -0
- data/rbi/courier/models/automation_run_steps_response.rbi +28 -0
- data/rbi/courier/models/automations/run_list_params.rbi +114 -0
- data/rbi/courier/models/automations/run_list_steps_params.rbi +40 -0
- data/rbi/courier/models/create_journey_request.rbi +6 -0
- data/rbi/courier/models/journey_audience_trigger_node.rbi +162 -0
- data/rbi/courier/models/journey_node.rbi +2 -0
- data/rbi/courier/models/journey_response.rbi +2 -0
- data/rbi/courier/models/journey_run.rbi +97 -0
- data/rbi/courier/models/journey_run_list_item.rbi +79 -0
- data/rbi/courier/models/journey_run_list_response.rbi +58 -0
- data/rbi/courier/models/journey_run_response.rbi +33 -0
- data/rbi/courier/models/journey_run_step.rbi +97 -0
- data/rbi/courier/models/journey_run_steps_response.rbi +28 -0
- data/rbi/courier/models/journey_segment_trigger_node.rbi +9 -1
- data/rbi/courier/models/journey_webhook_trigger_node.rbi +174 -0
- data/rbi/courier/models/journeys/run_list_params.rbi +111 -0
- data/rbi/courier/models/journeys/run_list_steps_params.rbi +40 -0
- data/rbi/courier/models/journeys/run_retrieve_params.rbi +40 -0
- data/rbi/courier/models/users/topic_preference.rbi +33 -3
- data/rbi/courier/models.rbi +24 -0
- data/rbi/courier/resources/automations/runs.rbi +69 -0
- data/rbi/courier/resources/automations.rbi +5 -0
- data/rbi/courier/resources/journeys/runs.rbi +87 -0
- data/rbi/courier/resources/journeys.rbi +9 -0
- data/sig/courier/models/automation_run_list_item.rbs +46 -0
- data/sig/courier/models/automation_run_list_response.rbs +24 -0
- data/sig/courier/models/automation_run_step.rbs +53 -0
- data/sig/courier/models/automation_run_steps_response.rbs +14 -0
- data/sig/courier/models/automations/run_list_params.rbs +65 -0
- data/sig/courier/models/automations/run_list_steps_params.rbs +22 -0
- data/sig/courier/models/journey_audience_trigger_node.rbs +66 -0
- data/sig/courier/models/journey_node.rbs +2 -0
- data/sig/courier/models/journey_run.rbs +53 -0
- data/sig/courier/models/journey_run_list_item.rbs +46 -0
- data/sig/courier/models/journey_run_list_response.rbs +34 -0
- data/sig/courier/models/journey_run_response.rbs +13 -0
- data/sig/courier/models/journey_run_step.rbs +53 -0
- data/sig/courier/models/journey_run_steps_response.rbs +14 -0
- data/sig/courier/models/journey_segment_trigger_node.rbs +2 -1
- data/sig/courier/models/journey_webhook_trigger_node.rbs +73 -0
- data/sig/courier/models/journeys/run_list_params.rbs +65 -0
- data/sig/courier/models/journeys/run_list_steps_params.rbs +25 -0
- data/sig/courier/models/journeys/run_retrieve_params.rbs +25 -0
- data/sig/courier/models/users/topic_preference.rbs +17 -3
- data/sig/courier/models.rbs +24 -0
- data/sig/courier/resources/automations/runs.rbs +24 -0
- data/sig/courier/resources/automations.rbs +2 -0
- data/sig/courier/resources/journeys/runs.rbs +29 -0
- data/sig/courier/resources/journeys.rbs +2 -0
- metadata +59 -2
data/lib/courier.rb
CHANGED
|
@@ -113,8 +113,14 @@ require_relative "courier/models/auth_issue_token_params"
|
|
|
113
113
|
require_relative "courier/models/auth_issue_token_response"
|
|
114
114
|
require_relative "courier/models/automation_invoke_response"
|
|
115
115
|
require_relative "courier/models/automation_list_params"
|
|
116
|
+
require_relative "courier/models/automation_run_list_item"
|
|
117
|
+
require_relative "courier/models/automation_run_list_response"
|
|
118
|
+
require_relative "courier/models/automation_run_step"
|
|
119
|
+
require_relative "courier/models/automation_run_steps_response"
|
|
116
120
|
require_relative "courier/models/automations/invoke_invoke_ad_hoc_params"
|
|
117
121
|
require_relative "courier/models/automations/invoke_invoke_by_template_params"
|
|
122
|
+
require_relative "courier/models/automations/run_list_params"
|
|
123
|
+
require_relative "courier/models/automations/run_list_steps_params"
|
|
118
124
|
require_relative "courier/models/automation_template"
|
|
119
125
|
require_relative "courier/models/automation_template_list_response"
|
|
120
126
|
require_relative "courier/models/aws_sns"
|
|
@@ -194,6 +200,7 @@ require_relative "courier/models/journey"
|
|
|
194
200
|
require_relative "courier/models/journey_ai_node"
|
|
195
201
|
require_relative "courier/models/journey_api_invoke_trigger_node"
|
|
196
202
|
require_relative "courier/models/journey_archive_params"
|
|
203
|
+
require_relative "courier/models/journey_audience_trigger_node"
|
|
197
204
|
require_relative "courier/models/journey_cancel_params"
|
|
198
205
|
require_relative "courier/models/journey_condition_atom"
|
|
199
206
|
require_relative "courier/models/journey_condition_group"
|
|
@@ -216,6 +223,15 @@ require_relative "courier/models/journey_publish_params"
|
|
|
216
223
|
require_relative "courier/models/journey_replace_params"
|
|
217
224
|
require_relative "courier/models/journey_response"
|
|
218
225
|
require_relative "courier/models/journey_retrieve_params"
|
|
226
|
+
require_relative "courier/models/journey_run"
|
|
227
|
+
require_relative "courier/models/journey_run_list_item"
|
|
228
|
+
require_relative "courier/models/journey_run_list_response"
|
|
229
|
+
require_relative "courier/models/journey_run_response"
|
|
230
|
+
require_relative "courier/models/journey_run_step"
|
|
231
|
+
require_relative "courier/models/journey_run_steps_response"
|
|
232
|
+
require_relative "courier/models/journeys/run_list_params"
|
|
233
|
+
require_relative "courier/models/journeys/run_list_steps_params"
|
|
234
|
+
require_relative "courier/models/journeys/run_retrieve_params"
|
|
219
235
|
require_relative "courier/models/journeys/template_archive_params"
|
|
220
236
|
require_relative "courier/models/journeys/template_create_params"
|
|
221
237
|
require_relative "courier/models/journeys/template_list_params"
|
|
@@ -238,6 +254,7 @@ require_relative "courier/models/journey_throttle_dynamic_node"
|
|
|
238
254
|
require_relative "courier/models/journey_throttle_static_node"
|
|
239
255
|
require_relative "courier/models/journey_version_item"
|
|
240
256
|
require_relative "courier/models/journey_versions_list_response"
|
|
257
|
+
require_relative "courier/models/journey_webhook_trigger_node"
|
|
241
258
|
require_relative "courier/models/list_delete_params"
|
|
242
259
|
require_relative "courier/models/list_filter"
|
|
243
260
|
require_relative "courier/models/list_list_params"
|
|
@@ -451,6 +468,7 @@ require_relative "courier/resources/audit_events"
|
|
|
451
468
|
require_relative "courier/resources/auth"
|
|
452
469
|
require_relative "courier/resources/automations"
|
|
453
470
|
require_relative "courier/resources/automations/invoke"
|
|
471
|
+
require_relative "courier/resources/automations/runs"
|
|
454
472
|
require_relative "courier/resources/brands"
|
|
455
473
|
require_relative "courier/resources/broadcasts"
|
|
456
474
|
require_relative "courier/resources/bulk"
|
|
@@ -458,6 +476,7 @@ require_relative "courier/resources/digests"
|
|
|
458
476
|
require_relative "courier/resources/digests/schedules"
|
|
459
477
|
require_relative "courier/resources/inbound"
|
|
460
478
|
require_relative "courier/resources/journeys"
|
|
479
|
+
require_relative "courier/resources/journeys/runs"
|
|
461
480
|
require_relative "courier/resources/journeys/templates"
|
|
462
481
|
require_relative "courier/resources/lists"
|
|
463
482
|
require_relative "courier/resources/lists/subscriptions"
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
class AutomationRunListItem < Courier::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Courier::AutomationRunListItem, Courier::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# A unique identifier representing the run.
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :run_id
|
|
14
|
+
|
|
15
|
+
# Internal provenance strings describing what started the run, e.g.
|
|
16
|
+
# `invoke/<template_id>` or `segment/page/Pricing Page`. Diagnostic only — the
|
|
17
|
+
# format is unstable and should not be parsed.
|
|
18
|
+
sig { returns(T::Array[String]) }
|
|
19
|
+
attr_accessor :source
|
|
20
|
+
|
|
21
|
+
# When the run started, as an ISO 8601 timestamp.
|
|
22
|
+
sig { returns(T.nilable(String)) }
|
|
23
|
+
attr_reader :created_at
|
|
24
|
+
|
|
25
|
+
sig { params(created_at: String).void }
|
|
26
|
+
attr_writer :created_at
|
|
27
|
+
|
|
28
|
+
# The state of the run: `PROCESSING`, `PROCESSED`, `WAITING`, `CANCELED`, `ERROR`,
|
|
29
|
+
# `THROTTLED`, or `NOT PROCESSED`. Not an enum — new values have been added
|
|
30
|
+
# before.
|
|
31
|
+
sig { returns(T.nilable(String)) }
|
|
32
|
+
attr_reader :status
|
|
33
|
+
|
|
34
|
+
sig { params(status: String).void }
|
|
35
|
+
attr_writer :status
|
|
36
|
+
|
|
37
|
+
# The id of the Automation Template this run belongs to.
|
|
38
|
+
sig { returns(T.nilable(String)) }
|
|
39
|
+
attr_reader :template_id
|
|
40
|
+
|
|
41
|
+
sig { params(template_id: String).void }
|
|
42
|
+
attr_writer :template_id
|
|
43
|
+
|
|
44
|
+
# An Automation run as it appears in a list response.
|
|
45
|
+
sig do
|
|
46
|
+
params(
|
|
47
|
+
run_id: String,
|
|
48
|
+
source: T::Array[String],
|
|
49
|
+
created_at: String,
|
|
50
|
+
status: String,
|
|
51
|
+
template_id: String
|
|
52
|
+
).returns(T.attached_class)
|
|
53
|
+
end
|
|
54
|
+
def self.new(
|
|
55
|
+
# A unique identifier representing the run.
|
|
56
|
+
run_id:,
|
|
57
|
+
# Internal provenance strings describing what started the run, e.g.
|
|
58
|
+
# `invoke/<template_id>` or `segment/page/Pricing Page`. Diagnostic only — the
|
|
59
|
+
# format is unstable and should not be parsed.
|
|
60
|
+
source:,
|
|
61
|
+
# When the run started, as an ISO 8601 timestamp.
|
|
62
|
+
created_at: nil,
|
|
63
|
+
# The state of the run: `PROCESSING`, `PROCESSED`, `WAITING`, `CANCELED`, `ERROR`,
|
|
64
|
+
# `THROTTLED`, or `NOT PROCESSED`. Not an enum — new values have been added
|
|
65
|
+
# before.
|
|
66
|
+
status: nil,
|
|
67
|
+
# The id of the Automation Template this run belongs to.
|
|
68
|
+
template_id: nil
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
sig do
|
|
73
|
+
override.returns(
|
|
74
|
+
{
|
|
75
|
+
run_id: String,
|
|
76
|
+
source: T::Array[String],
|
|
77
|
+
created_at: String,
|
|
78
|
+
status: String,
|
|
79
|
+
template_id: String
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
def to_hash
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
class AutomationRunListResponse < Courier::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Courier::AutomationRunListResponse, Courier::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(T::Array[Courier::AutomationRunListItem]) }
|
|
12
|
+
attr_accessor :runs
|
|
13
|
+
|
|
14
|
+
# Pass back as `cursor` to fetch the next page. Absent on the last page.
|
|
15
|
+
sig { returns(T.nilable(String)) }
|
|
16
|
+
attr_reader :next_cursor
|
|
17
|
+
|
|
18
|
+
sig { params(next_cursor: String).void }
|
|
19
|
+
attr_writer :next_cursor
|
|
20
|
+
|
|
21
|
+
# A page of Automation runs.
|
|
22
|
+
sig do
|
|
23
|
+
params(
|
|
24
|
+
runs: T::Array[Courier::AutomationRunListItem::OrHash],
|
|
25
|
+
next_cursor: String
|
|
26
|
+
).returns(T.attached_class)
|
|
27
|
+
end
|
|
28
|
+
def self.new(
|
|
29
|
+
runs:,
|
|
30
|
+
# Pass back as `cursor` to fetch the next page. Absent on the last page.
|
|
31
|
+
next_cursor: nil
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
sig do
|
|
36
|
+
override.returns(
|
|
37
|
+
{
|
|
38
|
+
runs: T::Array[Courier::AutomationRunListItem],
|
|
39
|
+
next_cursor: String
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
def to_hash
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
class AutomationRunStep < Courier::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Courier::AutomationRunStep, Courier::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The kind of step that ran, e.g. `send`, `delay`, or `update-profile`.
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :action
|
|
14
|
+
|
|
15
|
+
# The state of the step: the seven run statuses, plus `SKIPPED` and `COMPUTING`.
|
|
16
|
+
# Not an enum — new values have been added before.
|
|
17
|
+
sig { returns(String) }
|
|
18
|
+
attr_accessor :status
|
|
19
|
+
|
|
20
|
+
# When the step started, as an ISO 8601 timestamp.
|
|
21
|
+
sig { returns(T.nilable(String)) }
|
|
22
|
+
attr_reader :created_at
|
|
23
|
+
|
|
24
|
+
sig { params(created_at: String).void }
|
|
25
|
+
attr_writer :created_at
|
|
26
|
+
|
|
27
|
+
# The message this step produced, present on send steps. Pass it to
|
|
28
|
+
# `GET /messages/{message_id}` for delivery status. A send to a List or an
|
|
29
|
+
# Audience yields one id for the request, not one per recipient.
|
|
30
|
+
sig { returns(T.nilable(String)) }
|
|
31
|
+
attr_reader :message_id
|
|
32
|
+
|
|
33
|
+
sig { params(message_id: String).void }
|
|
34
|
+
attr_writer :message_id
|
|
35
|
+
|
|
36
|
+
# A unique identifier representing the step.
|
|
37
|
+
sig { returns(T.nilable(String)) }
|
|
38
|
+
attr_reader :step_id
|
|
39
|
+
|
|
40
|
+
sig { params(step_id: String).void }
|
|
41
|
+
attr_writer :step_id
|
|
42
|
+
|
|
43
|
+
# When the step last changed state, as an ISO 8601 timestamp.
|
|
44
|
+
sig { returns(T.nilable(String)) }
|
|
45
|
+
attr_reader :updated_at
|
|
46
|
+
|
|
47
|
+
sig { params(updated_at: String).void }
|
|
48
|
+
attr_writer :updated_at
|
|
49
|
+
|
|
50
|
+
# One executed step of an Automation run.
|
|
51
|
+
sig do
|
|
52
|
+
params(
|
|
53
|
+
action: String,
|
|
54
|
+
status: String,
|
|
55
|
+
created_at: String,
|
|
56
|
+
message_id: String,
|
|
57
|
+
step_id: String,
|
|
58
|
+
updated_at: String
|
|
59
|
+
).returns(T.attached_class)
|
|
60
|
+
end
|
|
61
|
+
def self.new(
|
|
62
|
+
# The kind of step that ran, e.g. `send`, `delay`, or `update-profile`.
|
|
63
|
+
action:,
|
|
64
|
+
# The state of the step: the seven run statuses, plus `SKIPPED` and `COMPUTING`.
|
|
65
|
+
# Not an enum — new values have been added before.
|
|
66
|
+
status:,
|
|
67
|
+
# When the step started, as an ISO 8601 timestamp.
|
|
68
|
+
created_at: nil,
|
|
69
|
+
# The message this step produced, present on send steps. Pass it to
|
|
70
|
+
# `GET /messages/{message_id}` for delivery status. A send to a List or an
|
|
71
|
+
# Audience yields one id for the request, not one per recipient.
|
|
72
|
+
message_id: nil,
|
|
73
|
+
# A unique identifier representing the step.
|
|
74
|
+
step_id: nil,
|
|
75
|
+
# When the step last changed state, as an ISO 8601 timestamp.
|
|
76
|
+
updated_at: nil
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
sig do
|
|
81
|
+
override.returns(
|
|
82
|
+
{
|
|
83
|
+
action: String,
|
|
84
|
+
status: String,
|
|
85
|
+
created_at: String,
|
|
86
|
+
message_id: String,
|
|
87
|
+
step_id: String,
|
|
88
|
+
updated_at: String
|
|
89
|
+
}
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
def to_hash
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
class AutomationRunStepsResponse < Courier::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Courier::AutomationRunStepsResponse, Courier::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(T::Array[Courier::AutomationRunStep]) }
|
|
12
|
+
attr_accessor :steps
|
|
13
|
+
|
|
14
|
+
# Every step of an Automation run. Not paginated.
|
|
15
|
+
sig do
|
|
16
|
+
params(steps: T::Array[Courier::AutomationRunStep::OrHash]).returns(
|
|
17
|
+
T.attached_class
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
def self.new(steps:)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
sig { override.returns({ steps: T::Array[Courier::AutomationRunStep] }) }
|
|
24
|
+
def to_hash
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
module Automations
|
|
6
|
+
class RunListParams < Courier::Internal::Type::BaseModel
|
|
7
|
+
extend Courier::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Courier::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Courier::Automations::RunListParams,
|
|
14
|
+
Courier::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# A cursor token for pagination. Use the `next_cursor` from the previous response
|
|
19
|
+
# to fetch the next page of results. Treat it as opaque.
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_reader :cursor
|
|
22
|
+
|
|
23
|
+
sig { params(cursor: String).void }
|
|
24
|
+
attr_writer :cursor
|
|
25
|
+
|
|
26
|
+
# An inclusive upper bound on `created_at`, in the same format as `start_date`.
|
|
27
|
+
sig { returns(T.nilable(String)) }
|
|
28
|
+
attr_reader :end_date
|
|
29
|
+
|
|
30
|
+
sig { params(end_date: String).void }
|
|
31
|
+
attr_writer :end_date
|
|
32
|
+
|
|
33
|
+
# The number of runs to return per page, between `1` and `50`. Defaults to `20`.
|
|
34
|
+
# Values outside the range are clamped, and a non-numeric value falls back to
|
|
35
|
+
# `20`.
|
|
36
|
+
sig { returns(T.nilable(String)) }
|
|
37
|
+
attr_reader :limit
|
|
38
|
+
|
|
39
|
+
sig { params(limit: String).void }
|
|
40
|
+
attr_writer :limit
|
|
41
|
+
|
|
42
|
+
# An inclusive lower bound on `created_at`, as an ISO 8601 date or timestamp (e.g.
|
|
43
|
+
# `2026-08-18` or `2026-08-18T20:06:36.259Z`). Any other format returns `400`.
|
|
44
|
+
sig { returns(T.nilable(String)) }
|
|
45
|
+
attr_reader :start_date
|
|
46
|
+
|
|
47
|
+
sig { params(start_date: String).void }
|
|
48
|
+
attr_writer :start_date
|
|
49
|
+
|
|
50
|
+
# A comma-separated list of run statuses to filter on, e.g. `PROCESSED,ERROR`.
|
|
51
|
+
sig { returns(T.nilable(String)) }
|
|
52
|
+
attr_reader :status
|
|
53
|
+
|
|
54
|
+
sig { params(status: String).void }
|
|
55
|
+
attr_writer :status
|
|
56
|
+
|
|
57
|
+
# A comma-separated list of Automation Template ids to filter on.
|
|
58
|
+
sig { returns(T.nilable(String)) }
|
|
59
|
+
attr_reader :template_id
|
|
60
|
+
|
|
61
|
+
sig { params(template_id: String).void }
|
|
62
|
+
attr_writer :template_id
|
|
63
|
+
|
|
64
|
+
sig do
|
|
65
|
+
params(
|
|
66
|
+
cursor: String,
|
|
67
|
+
end_date: String,
|
|
68
|
+
limit: String,
|
|
69
|
+
start_date: String,
|
|
70
|
+
status: String,
|
|
71
|
+
template_id: String,
|
|
72
|
+
request_options: Courier::RequestOptions::OrHash
|
|
73
|
+
).returns(T.attached_class)
|
|
74
|
+
end
|
|
75
|
+
def self.new(
|
|
76
|
+
# A cursor token for pagination. Use the `next_cursor` from the previous response
|
|
77
|
+
# to fetch the next page of results. Treat it as opaque.
|
|
78
|
+
cursor: nil,
|
|
79
|
+
# An inclusive upper bound on `created_at`, in the same format as `start_date`.
|
|
80
|
+
end_date: nil,
|
|
81
|
+
# The number of runs to return per page, between `1` and `50`. Defaults to `20`.
|
|
82
|
+
# Values outside the range are clamped, and a non-numeric value falls back to
|
|
83
|
+
# `20`.
|
|
84
|
+
limit: nil,
|
|
85
|
+
# An inclusive lower bound on `created_at`, as an ISO 8601 date or timestamp (e.g.
|
|
86
|
+
# `2026-08-18` or `2026-08-18T20:06:36.259Z`). Any other format returns `400`.
|
|
87
|
+
start_date: nil,
|
|
88
|
+
# A comma-separated list of run statuses to filter on, e.g. `PROCESSED,ERROR`.
|
|
89
|
+
status: nil,
|
|
90
|
+
# A comma-separated list of Automation Template ids to filter on.
|
|
91
|
+
template_id: nil,
|
|
92
|
+
request_options: {}
|
|
93
|
+
)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
sig do
|
|
97
|
+
override.returns(
|
|
98
|
+
{
|
|
99
|
+
cursor: String,
|
|
100
|
+
end_date: String,
|
|
101
|
+
limit: String,
|
|
102
|
+
start_date: String,
|
|
103
|
+
status: String,
|
|
104
|
+
template_id: String,
|
|
105
|
+
request_options: Courier::RequestOptions
|
|
106
|
+
}
|
|
107
|
+
)
|
|
108
|
+
end
|
|
109
|
+
def to_hash
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
module Automations
|
|
6
|
+
class RunListStepsParams < Courier::Internal::Type::BaseModel
|
|
7
|
+
extend Courier::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Courier::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Courier::Automations::RunListStepsParams,
|
|
14
|
+
Courier::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :id
|
|
20
|
+
|
|
21
|
+
sig do
|
|
22
|
+
params(
|
|
23
|
+
id: String,
|
|
24
|
+
request_options: Courier::RequestOptions::OrHash
|
|
25
|
+
).returns(T.attached_class)
|
|
26
|
+
end
|
|
27
|
+
def self.new(id:, request_options: {})
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
override.returns(
|
|
32
|
+
{ id: String, request_options: Courier::RequestOptions }
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
def to_hash
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -17,6 +17,8 @@ module Courier
|
|
|
17
17
|
T.any(
|
|
18
18
|
Courier::JourneyAPIInvokeTriggerNode,
|
|
19
19
|
Courier::JourneySegmentTriggerNode,
|
|
20
|
+
Courier::JourneyAudienceTriggerNode,
|
|
21
|
+
Courier::JourneyWebhookTriggerNode,
|
|
20
22
|
Courier::JourneySendNode,
|
|
21
23
|
Courier::JourneyDelayDurationNode,
|
|
22
24
|
Courier::JourneyDelayUntilNode,
|
|
@@ -57,6 +59,8 @@ module Courier
|
|
|
57
59
|
T.any(
|
|
58
60
|
Courier::JourneyAPIInvokeTriggerNode::OrHash,
|
|
59
61
|
Courier::JourneySegmentTriggerNode::OrHash,
|
|
62
|
+
Courier::JourneyAudienceTriggerNode::OrHash,
|
|
63
|
+
Courier::JourneyWebhookTriggerNode::OrHash,
|
|
60
64
|
Courier::JourneySendNode::OrHash,
|
|
61
65
|
Courier::JourneyDelayDurationNode::OrHash,
|
|
62
66
|
Courier::JourneyDelayUntilNode::OrHash,
|
|
@@ -93,6 +97,8 @@ module Courier
|
|
|
93
97
|
T.any(
|
|
94
98
|
Courier::JourneyAPIInvokeTriggerNode,
|
|
95
99
|
Courier::JourneySegmentTriggerNode,
|
|
100
|
+
Courier::JourneyAudienceTriggerNode,
|
|
101
|
+
Courier::JourneyWebhookTriggerNode,
|
|
96
102
|
Courier::JourneySendNode,
|
|
97
103
|
Courier::JourneyDelayDurationNode,
|
|
98
104
|
Courier::JourneyDelayUntilNode,
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
class JourneyAudienceTriggerNode < Courier::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Courier::JourneyAudienceTriggerNode, Courier::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The Audience to watch. Must name a single Audience; wildcards are not supported.
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :audience_id
|
|
14
|
+
|
|
15
|
+
sig do
|
|
16
|
+
returns(Courier::JourneyAudienceTriggerNode::TriggerType::OrSymbol)
|
|
17
|
+
end
|
|
18
|
+
attr_accessor :trigger_type
|
|
19
|
+
|
|
20
|
+
sig { returns(Courier::JourneyAudienceTriggerNode::Type::OrSymbol) }
|
|
21
|
+
attr_accessor :type
|
|
22
|
+
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_reader :id
|
|
25
|
+
|
|
26
|
+
sig { params(id: String).void }
|
|
27
|
+
attr_writer :id
|
|
28
|
+
|
|
29
|
+
# Condition spec for a journey node. Accepts a single condition atom, an AND/OR
|
|
30
|
+
# group, or an AND/OR nested group. Omit the `conditions` property entirely to
|
|
31
|
+
# express "no conditions".
|
|
32
|
+
sig do
|
|
33
|
+
returns(
|
|
34
|
+
T.nilable(
|
|
35
|
+
T.any(
|
|
36
|
+
T::Array[String],
|
|
37
|
+
Courier::JourneyConditionGroup,
|
|
38
|
+
Courier::JourneyConditionNestedGroup
|
|
39
|
+
)
|
|
40
|
+
)
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
attr_reader :conditions
|
|
44
|
+
|
|
45
|
+
sig do
|
|
46
|
+
params(
|
|
47
|
+
conditions:
|
|
48
|
+
T.any(
|
|
49
|
+
T::Array[String],
|
|
50
|
+
Courier::JourneyConditionGroup::OrHash,
|
|
51
|
+
Courier::JourneyConditionNestedGroup::OrHash
|
|
52
|
+
)
|
|
53
|
+
).void
|
|
54
|
+
end
|
|
55
|
+
attr_writer :conditions
|
|
56
|
+
|
|
57
|
+
# Trigger fired when a user newly matches an Audience. Leaving and re-joining the
|
|
58
|
+
# Audience re-enters the Journey. Membership is new-members-only: users already in
|
|
59
|
+
# the Audience when the Journey is published do not enter. Unlike the v2
|
|
60
|
+
# Automations audience trigger, there is no member scope, event type, or frequency
|
|
61
|
+
# mode to configure, and `audience_id` must name one Audience — wildcards are not
|
|
62
|
+
# supported.
|
|
63
|
+
sig do
|
|
64
|
+
params(
|
|
65
|
+
audience_id: String,
|
|
66
|
+
trigger_type:
|
|
67
|
+
Courier::JourneyAudienceTriggerNode::TriggerType::OrSymbol,
|
|
68
|
+
type: Courier::JourneyAudienceTriggerNode::Type::OrSymbol,
|
|
69
|
+
id: String,
|
|
70
|
+
conditions:
|
|
71
|
+
T.any(
|
|
72
|
+
T::Array[String],
|
|
73
|
+
Courier::JourneyConditionGroup::OrHash,
|
|
74
|
+
Courier::JourneyConditionNestedGroup::OrHash
|
|
75
|
+
)
|
|
76
|
+
).returns(T.attached_class)
|
|
77
|
+
end
|
|
78
|
+
def self.new(
|
|
79
|
+
# The Audience to watch. Must name a single Audience; wildcards are not supported.
|
|
80
|
+
audience_id:,
|
|
81
|
+
trigger_type:,
|
|
82
|
+
type:,
|
|
83
|
+
id: nil,
|
|
84
|
+
# Condition spec for a journey node. Accepts a single condition atom, an AND/OR
|
|
85
|
+
# group, or an AND/OR nested group. Omit the `conditions` property entirely to
|
|
86
|
+
# express "no conditions".
|
|
87
|
+
conditions: nil
|
|
88
|
+
)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
sig do
|
|
92
|
+
override.returns(
|
|
93
|
+
{
|
|
94
|
+
audience_id: String,
|
|
95
|
+
trigger_type:
|
|
96
|
+
Courier::JourneyAudienceTriggerNode::TriggerType::OrSymbol,
|
|
97
|
+
type: Courier::JourneyAudienceTriggerNode::Type::OrSymbol,
|
|
98
|
+
id: String,
|
|
99
|
+
conditions:
|
|
100
|
+
T.any(
|
|
101
|
+
T::Array[String],
|
|
102
|
+
Courier::JourneyConditionGroup,
|
|
103
|
+
Courier::JourneyConditionNestedGroup
|
|
104
|
+
)
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
end
|
|
108
|
+
def to_hash
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
module TriggerType
|
|
112
|
+
extend Courier::Internal::Type::Enum
|
|
113
|
+
|
|
114
|
+
TaggedSymbol =
|
|
115
|
+
T.type_alias do
|
|
116
|
+
T.all(Symbol, Courier::JourneyAudienceTriggerNode::TriggerType)
|
|
117
|
+
end
|
|
118
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
119
|
+
|
|
120
|
+
AUDIENCE =
|
|
121
|
+
T.let(
|
|
122
|
+
:audience,
|
|
123
|
+
Courier::JourneyAudienceTriggerNode::TriggerType::TaggedSymbol
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
sig do
|
|
127
|
+
override.returns(
|
|
128
|
+
T::Array[
|
|
129
|
+
Courier::JourneyAudienceTriggerNode::TriggerType::TaggedSymbol
|
|
130
|
+
]
|
|
131
|
+
)
|
|
132
|
+
end
|
|
133
|
+
def self.values
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
module Type
|
|
138
|
+
extend Courier::Internal::Type::Enum
|
|
139
|
+
|
|
140
|
+
TaggedSymbol =
|
|
141
|
+
T.type_alias do
|
|
142
|
+
T.all(Symbol, Courier::JourneyAudienceTriggerNode::Type)
|
|
143
|
+
end
|
|
144
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
145
|
+
|
|
146
|
+
TRIGGER =
|
|
147
|
+
T.let(
|
|
148
|
+
:trigger,
|
|
149
|
+
Courier::JourneyAudienceTriggerNode::Type::TaggedSymbol
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
sig do
|
|
153
|
+
override.returns(
|
|
154
|
+
T::Array[Courier::JourneyAudienceTriggerNode::Type::TaggedSymbol]
|
|
155
|
+
)
|
|
156
|
+
end
|
|
157
|
+
def self.values
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
end
|
|
@@ -13,6 +13,8 @@ module Courier
|
|
|
13
13
|
T.any(
|
|
14
14
|
Courier::JourneyAPIInvokeTriggerNode,
|
|
15
15
|
Courier::JourneySegmentTriggerNode,
|
|
16
|
+
Courier::JourneyAudienceTriggerNode,
|
|
17
|
+
Courier::JourneyWebhookTriggerNode,
|
|
16
18
|
Courier::JourneySendNode,
|
|
17
19
|
Courier::JourneyDelayDurationNode,
|
|
18
20
|
Courier::JourneyDelayUntilNode,
|
|
@@ -52,6 +52,8 @@ module Courier
|
|
|
52
52
|
T.any(
|
|
53
53
|
Courier::JourneyAPIInvokeTriggerNode::OrHash,
|
|
54
54
|
Courier::JourneySegmentTriggerNode::OrHash,
|
|
55
|
+
Courier::JourneyAudienceTriggerNode::OrHash,
|
|
56
|
+
Courier::JourneyWebhookTriggerNode::OrHash,
|
|
55
57
|
Courier::JourneySendNode::OrHash,
|
|
56
58
|
Courier::JourneyDelayDurationNode::OrHash,
|
|
57
59
|
Courier::JourneyDelayUntilNode::OrHash,
|