trycourier 4.10.2 → 4.12.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.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/lib/courier/client.rb +15 -1
  4. data/lib/courier/internal/transport/base_client.rb +2 -0
  5. data/lib/courier/models/brand_create_params.rb +7 -7
  6. data/lib/courier/models/create_journey_request.rb +39 -0
  7. data/lib/courier/models/journey_ai_node.rb +77 -0
  8. data/lib/courier/models/journey_api_invoke_trigger_node.rb +73 -0
  9. data/lib/courier/models/journey_archive_params.rb +20 -0
  10. data/lib/courier/models/journey_condition_atom.rb +8 -0
  11. data/lib/courier/models/journey_condition_group.rb +26 -0
  12. data/lib/courier/models/journey_condition_nested_group.rb +24 -0
  13. data/lib/courier/models/journey_conditions_field.rb +37 -0
  14. data/lib/courier/models/journey_create_params.rb +14 -0
  15. data/lib/courier/models/journey_delay_duration_node.rb +71 -0
  16. data/lib/courier/models/journey_delay_until_node.rb +71 -0
  17. data/lib/courier/models/journey_exit_node.rb +33 -0
  18. data/lib/courier/models/journey_fetch_get_delete_node.rb +103 -0
  19. data/lib/courier/models/journey_fetch_post_put_node.rb +110 -0
  20. data/lib/courier/models/journey_list_versions_params.rb +20 -0
  21. data/lib/courier/models/journey_merge_strategy.rb +18 -0
  22. data/lib/courier/models/journey_node.rb +295 -0
  23. data/lib/courier/models/journey_publish_params.rb +20 -0
  24. data/lib/courier/models/journey_publish_request.rb +18 -0
  25. data/lib/courier/models/journey_replace_params.rb +20 -0
  26. data/lib/courier/models/journey_response.rb +82 -0
  27. data/lib/courier/models/journey_retrieve_params.rb +29 -0
  28. data/lib/courier/models/journey_segment_trigger_node.rb +90 -0
  29. data/lib/courier/models/journey_send_node.rb +124 -0
  30. data/lib/courier/models/journey_state.rb +16 -0
  31. data/lib/courier/models/journey_template_create_request.rb +138 -0
  32. data/lib/courier/models/journey_template_get_response.rb +154 -0
  33. data/lib/courier/models/journey_template_list_response.rb +23 -0
  34. data/lib/courier/models/journey_template_publish_request.rb +18 -0
  35. data/lib/courier/models/journey_template_replace_request.rb +126 -0
  36. data/lib/courier/models/journey_template_summary.rb +60 -0
  37. data/lib/courier/models/journey_throttle_dynamic_node.rb +86 -0
  38. data/lib/courier/models/journey_throttle_static_node.rb +80 -0
  39. data/lib/courier/models/journey_version_item.rb +41 -0
  40. data/lib/courier/models/journey_versions_list_response.rb +24 -0
  41. data/lib/courier/models/journeys/template_archive_params.rb +28 -0
  42. data/lib/courier/models/journeys/template_create_params.rb +22 -0
  43. data/lib/courier/models/journeys/template_list_params.rb +39 -0
  44. data/lib/courier/models/journeys/template_list_versions_params.rb +28 -0
  45. data/lib/courier/models/journeys/template_publish_params.rb +28 -0
  46. data/lib/courier/models/journeys/template_replace_params.rb +28 -0
  47. data/lib/courier/models/journeys/template_retrieve_params.rb +28 -0
  48. data/lib/courier/models/tenants/template_delete_params.rb +28 -0
  49. data/lib/courier/models.rb +73 -0
  50. data/lib/courier/resources/brands.rb +4 -3
  51. data/lib/courier/resources/journeys/templates.rb +224 -0
  52. data/lib/courier/resources/journeys.rb +167 -2
  53. data/lib/courier/resources/tenants/templates.rb +32 -0
  54. data/lib/courier/version.rb +1 -1
  55. data/lib/courier.rb +44 -0
  56. data/rbi/courier/models/brand_create_params.rbi +8 -8
  57. data/rbi/courier/models/create_journey_request.rbi +116 -0
  58. data/rbi/courier/models/journey_ai_node.rbi +141 -0
  59. data/rbi/courier/models/journey_api_invoke_trigger_node.rbi +164 -0
  60. data/rbi/courier/models/journey_archive_params.rbi +35 -0
  61. data/rbi/courier/models/journey_condition_atom.rbi +11 -0
  62. data/rbi/courier/models/journey_condition_group.rbi +43 -0
  63. data/rbi/courier/models/journey_condition_nested_group.rbi +51 -0
  64. data/rbi/courier/models/journey_conditions_field.rbi +27 -0
  65. data/rbi/courier/models/journey_create_params.rbi +27 -0
  66. data/rbi/courier/models/journey_delay_duration_node.rbi +146 -0
  67. data/rbi/courier/models/journey_delay_until_node.rbi +139 -0
  68. data/rbi/courier/models/journey_exit_node.rbi +57 -0
  69. data/rbi/courier/models/journey_fetch_get_delete_node.rbi +186 -0
  70. data/rbi/courier/models/journey_fetch_post_put_node.rbi +190 -0
  71. data/rbi/courier/models/journey_list_versions_params.rbi +35 -0
  72. data/rbi/courier/models/journey_merge_strategy.rbi +26 -0
  73. data/rbi/courier/models/journey_node.rbi +542 -0
  74. data/rbi/courier/models/journey_publish_params.rbi +35 -0
  75. data/rbi/courier/models/journey_publish_request.rbi +28 -0
  76. data/rbi/courier/models/journey_replace_params.rbi +35 -0
  77. data/rbi/courier/models/journey_response.rbi +109 -0
  78. data/rbi/courier/models/journey_retrieve_params.rbi +52 -0
  79. data/rbi/courier/models/journey_segment_trigger_node.rbi +200 -0
  80. data/rbi/courier/models/journey_send_node.rbi +254 -0
  81. data/rbi/courier/models/journey_state.rbi +20 -0
  82. data/rbi/courier/models/journey_template_create_request.rbi +381 -0
  83. data/rbi/courier/models/journey_template_get_response.rbi +334 -0
  84. data/rbi/courier/models/journey_template_list_response.rbi +45 -0
  85. data/rbi/courier/models/journey_template_publish_request.rbi +31 -0
  86. data/rbi/courier/models/journey_template_replace_request.rbi +368 -0
  87. data/rbi/courier/models/journey_template_summary.rbi +85 -0
  88. data/rbi/courier/models/journey_throttle_dynamic_node.rbi +162 -0
  89. data/rbi/courier/models/journey_throttle_static_node.rbi +158 -0
  90. data/rbi/courier/models/journey_version_item.rbi +54 -0
  91. data/rbi/courier/models/journey_versions_list_response.rbi +45 -0
  92. data/rbi/courier/models/journeys/template_archive_params.rbi +48 -0
  93. data/rbi/courier/models/journeys/template_create_params.rbi +40 -0
  94. data/rbi/courier/models/journeys/template_list_params.rbi +68 -0
  95. data/rbi/courier/models/journeys/template_list_versions_params.rbi +48 -0
  96. data/rbi/courier/models/journeys/template_publish_params.rbi +48 -0
  97. data/rbi/courier/models/journeys/template_replace_params.rbi +48 -0
  98. data/rbi/courier/models/journeys/template_retrieve_params.rbi +48 -0
  99. data/rbi/courier/models/tenants/template_delete_params.rbi +48 -0
  100. data/rbi/courier/models.rbi +76 -0
  101. data/rbi/courier/resources/brands.rbi +4 -9
  102. data/rbi/courier/resources/journeys/templates.rbi +160 -0
  103. data/rbi/courier/resources/journeys.rbi +158 -3
  104. data/rbi/courier/resources/tenants/templates.rbi +22 -0
  105. data/sig/courier/models/brand_create_params.rbs +5 -5
  106. data/sig/courier/models/create_journey_request.rbs +41 -0
  107. data/sig/courier/models/journey_ai_node.rbs +72 -0
  108. data/sig/courier/models/journey_api_invoke_trigger_node.rbs +68 -0
  109. data/sig/courier/models/journey_archive_params.rbs +23 -0
  110. data/sig/courier/models/journey_condition_atom.rbs +7 -0
  111. data/sig/courier/models/journey_condition_group.rbs +33 -0
  112. data/sig/courier/models/journey_condition_nested_group.rbs +33 -0
  113. data/sig/courier/models/journey_conditions_field.rbs +14 -0
  114. data/sig/courier/models/journey_create_params.rbs +15 -0
  115. data/sig/courier/models/journey_delay_duration_node.rbs +66 -0
  116. data/sig/courier/models/journey_delay_until_node.rbs +66 -0
  117. data/sig/courier/models/journey_exit_node.rbs +34 -0
  118. data/sig/courier/models/journey_fetch_get_delete_node.rbs +93 -0
  119. data/sig/courier/models/journey_fetch_post_put_node.rbs +100 -0
  120. data/sig/courier/models/journey_list_versions_params.rbs +23 -0
  121. data/sig/courier/models/journey_merge_strategy.rbs +16 -0
  122. data/sig/courier/models/journey_node.rbs +247 -0
  123. data/sig/courier/models/journey_publish_params.rbs +25 -0
  124. data/sig/courier/models/journey_publish_request.rbs +15 -0
  125. data/sig/courier/models/journey_replace_params.rbs +25 -0
  126. data/sig/courier/models/journey_response.rbs +65 -0
  127. data/sig/courier/models/journey_retrieve_params.rbs +30 -0
  128. data/sig/courier/models/journey_segment_trigger_node.rbs +85 -0
  129. data/sig/courier/models/journey_send_node.rbs +140 -0
  130. data/sig/courier/models/journey_state.rbs +14 -0
  131. data/sig/courier/models/journey_template_create_request.rbs +148 -0
  132. data/sig/courier/models/journey_template_get_response.rbs +157 -0
  133. data/sig/courier/models/journey_template_list_response.rbs +25 -0
  134. data/sig/courier/models/journey_template_publish_request.rbs +15 -0
  135. data/sig/courier/models/journey_template_replace_request.rbs +136 -0
  136. data/sig/courier/models/journey_template_summary.rbs +59 -0
  137. data/sig/courier/models/journey_throttle_dynamic_node.rbs +76 -0
  138. data/sig/courier/models/journey_throttle_static_node.rbs +72 -0
  139. data/sig/courier/models/journey_version_item.rbs +40 -0
  140. data/sig/courier/models/journey_versions_list_response.rbs +22 -0
  141. data/sig/courier/models/journeys/template_archive_params.rbs +30 -0
  142. data/sig/courier/models/journeys/template_create_params.rbs +27 -0
  143. data/sig/courier/models/journeys/template_list_params.rbs +38 -0
  144. data/sig/courier/models/journeys/template_list_versions_params.rbs +30 -0
  145. data/sig/courier/models/journeys/template_publish_params.rbs +34 -0
  146. data/sig/courier/models/journeys/template_replace_params.rbs +34 -0
  147. data/sig/courier/models/journeys/template_retrieve_params.rbs +30 -0
  148. data/sig/courier/models/tenants/template_delete_params.rbs +30 -0
  149. data/sig/courier/models.rbs +72 -0
  150. data/sig/courier/resources/brands.rbs +1 -1
  151. data/sig/courier/resources/journeys/templates.rbs +58 -0
  152. data/sig/courier/resources/journeys.rbs +41 -0
  153. data/sig/courier/resources/tenants/templates.rbs +6 -0
  154. metadata +134 -2
@@ -0,0 +1,247 @@
1
+ module Courier
2
+ module Models
3
+ type journey_node =
4
+ Courier::JourneyAPIInvokeTriggerNode
5
+ | Courier::JourneySegmentTriggerNode
6
+ | Courier::JourneySendNode
7
+ | Courier::JourneyDelayDurationNode
8
+ | Courier::JourneyDelayUntilNode
9
+ | Courier::JourneyFetchGetDeleteNode
10
+ | Courier::JourneyFetchPostPutNode
11
+ | Courier::JourneyAINode
12
+ | Courier::JourneyThrottleStaticNode
13
+ | Courier::JourneyThrottleDynamicNode
14
+ | Courier::JourneyNode::JourneyBatchNode
15
+ | Courier::JourneyExitNode
16
+ | Courier::JourneyNode::JourneyBranchNode
17
+
18
+ module JourneyNode
19
+ extend Courier::Internal::Type::Union
20
+
21
+ type journey_batch_node =
22
+ {
23
+ max_wait_period: String,
24
+ retain: Courier::JourneyNode::JourneyBatchNode::Retain,
25
+ scope: Courier::Models::JourneyNode::JourneyBatchNode::scope,
26
+ type: Courier::Models::JourneyNode::JourneyBatchNode::type_,
27
+ wait_period: String,
28
+ id: String,
29
+ category_key: String,
30
+ conditions: Courier::Models::journey_conditions_field,
31
+ max_items: Integer
32
+ }
33
+
34
+ class JourneyBatchNode < Courier::Internal::Type::BaseModel
35
+ attr_accessor max_wait_period: String
36
+
37
+ attr_accessor retain: Courier::JourneyNode::JourneyBatchNode::Retain
38
+
39
+ attr_accessor scope: Courier::Models::JourneyNode::JourneyBatchNode::scope
40
+
41
+ attr_accessor type: Courier::Models::JourneyNode::JourneyBatchNode::type_
42
+
43
+ attr_accessor wait_period: String
44
+
45
+ attr_reader id: String?
46
+
47
+ def id=: (String) -> String
48
+
49
+ attr_reader category_key: String?
50
+
51
+ def category_key=: (String) -> String
52
+
53
+ attr_reader conditions: Courier::Models::journey_conditions_field?
54
+
55
+ def conditions=: (
56
+ Courier::Models::journey_conditions_field
57
+ ) -> Courier::Models::journey_conditions_field
58
+
59
+ attr_reader max_items: Integer?
60
+
61
+ def max_items=: (Integer) -> Integer
62
+
63
+ def initialize: (
64
+ max_wait_period: String,
65
+ retain: Courier::JourneyNode::JourneyBatchNode::Retain,
66
+ scope: Courier::Models::JourneyNode::JourneyBatchNode::scope,
67
+ type: Courier::Models::JourneyNode::JourneyBatchNode::type_,
68
+ wait_period: String,
69
+ ?id: String,
70
+ ?category_key: String,
71
+ ?conditions: Courier::Models::journey_conditions_field,
72
+ ?max_items: Integer
73
+ ) -> void
74
+
75
+ def to_hash: -> {
76
+ max_wait_period: String,
77
+ retain: Courier::JourneyNode::JourneyBatchNode::Retain,
78
+ scope: Courier::Models::JourneyNode::JourneyBatchNode::scope,
79
+ type: Courier::Models::JourneyNode::JourneyBatchNode::type_,
80
+ wait_period: String,
81
+ id: String,
82
+ category_key: String,
83
+ conditions: Courier::Models::journey_conditions_field,
84
+ max_items: Integer
85
+ }
86
+
87
+ type retain =
88
+ {
89
+ count: Integer,
90
+ type: Courier::Models::JourneyNode::JourneyBatchNode::Retain::type_,
91
+ sort_key: String
92
+ }
93
+
94
+ class Retain < Courier::Internal::Type::BaseModel
95
+ attr_accessor count: Integer
96
+
97
+ attr_accessor type: Courier::Models::JourneyNode::JourneyBatchNode::Retain::type_
98
+
99
+ attr_reader sort_key: String?
100
+
101
+ def sort_key=: (String) -> String
102
+
103
+ def initialize: (
104
+ count: Integer,
105
+ type: Courier::Models::JourneyNode::JourneyBatchNode::Retain::type_,
106
+ ?sort_key: String
107
+ ) -> void
108
+
109
+ def to_hash: -> {
110
+ count: Integer,
111
+ type: Courier::Models::JourneyNode::JourneyBatchNode::Retain::type_,
112
+ sort_key: String
113
+ }
114
+
115
+ type type_ = :first | :last | :highest | :lowest
116
+
117
+ module Type
118
+ extend Courier::Internal::Type::Enum
119
+
120
+ FIRST: :first
121
+ LAST: :last
122
+ HIGHEST: :highest
123
+ LOWEST: :lowest
124
+
125
+ def self?.values: -> ::Array[Courier::Models::JourneyNode::JourneyBatchNode::Retain::type_]
126
+ end
127
+ end
128
+
129
+ type scope = :user
130
+
131
+ module Scope
132
+ extend Courier::Internal::Type::Enum
133
+
134
+ USER: :user
135
+
136
+ def self?.values: -> ::Array[Courier::Models::JourneyNode::JourneyBatchNode::scope]
137
+ end
138
+
139
+ type type_ = :batch
140
+
141
+ module Type
142
+ extend Courier::Internal::Type::Enum
143
+
144
+ BATCH: :batch
145
+
146
+ def self?.values: -> ::Array[Courier::Models::JourneyNode::JourneyBatchNode::type_]
147
+ end
148
+ end
149
+
150
+ type journey_branch_node =
151
+ {
152
+ default: Courier::JourneyNode::JourneyBranchNode::Default,
153
+ paths: ::Array[Courier::JourneyNode::JourneyBranchNode::Path],
154
+ type: Courier::Models::JourneyNode::JourneyBranchNode::type_,
155
+ id: String
156
+ }
157
+
158
+ class JourneyBranchNode < Courier::Internal::Type::BaseModel
159
+ attr_accessor default: Courier::JourneyNode::JourneyBranchNode::Default
160
+
161
+ attr_accessor paths: ::Array[Courier::JourneyNode::JourneyBranchNode::Path]
162
+
163
+ attr_accessor type: Courier::Models::JourneyNode::JourneyBranchNode::type_
164
+
165
+ attr_reader id: String?
166
+
167
+ def id=: (String) -> String
168
+
169
+ def initialize: (
170
+ default: Courier::JourneyNode::JourneyBranchNode::Default,
171
+ paths: ::Array[Courier::JourneyNode::JourneyBranchNode::Path],
172
+ type: Courier::Models::JourneyNode::JourneyBranchNode::type_,
173
+ ?id: String
174
+ ) -> void
175
+
176
+ def to_hash: -> {
177
+ default: Courier::JourneyNode::JourneyBranchNode::Default,
178
+ paths: ::Array[Courier::JourneyNode::JourneyBranchNode::Path],
179
+ type: Courier::Models::JourneyNode::JourneyBranchNode::type_,
180
+ id: String
181
+ }
182
+
183
+ type default =
184
+ { nodes: ::Array[Courier::Models::journey_node], label: String }
185
+
186
+ class Default < Courier::Internal::Type::BaseModel
187
+ attr_accessor nodes: ::Array[Courier::Models::journey_node]
188
+
189
+ attr_reader label: String?
190
+
191
+ def label=: (String) -> String
192
+
193
+ def initialize: (
194
+ nodes: ::Array[Courier::Models::journey_node],
195
+ ?label: String
196
+ ) -> void
197
+
198
+ def to_hash: -> {
199
+ nodes: ::Array[Courier::Models::journey_node],
200
+ label: String
201
+ }
202
+ end
203
+
204
+ type path =
205
+ {
206
+ conditions: Courier::Models::journey_conditions_field,
207
+ nodes: ::Array[Courier::Models::journey_node],
208
+ label: String
209
+ }
210
+
211
+ class Path < Courier::Internal::Type::BaseModel
212
+ attr_accessor conditions: Courier::Models::journey_conditions_field
213
+
214
+ attr_accessor nodes: ::Array[Courier::Models::journey_node]
215
+
216
+ attr_reader label: String?
217
+
218
+ def label=: (String) -> String
219
+
220
+ def initialize: (
221
+ conditions: Courier::Models::journey_conditions_field,
222
+ nodes: ::Array[Courier::Models::journey_node],
223
+ ?label: String
224
+ ) -> void
225
+
226
+ def to_hash: -> {
227
+ conditions: Courier::Models::journey_conditions_field,
228
+ nodes: ::Array[Courier::Models::journey_node],
229
+ label: String
230
+ }
231
+ end
232
+
233
+ type type_ = :branch
234
+
235
+ module Type
236
+ extend Courier::Internal::Type::Enum
237
+
238
+ BRANCH: :branch
239
+
240
+ def self?.values: -> ::Array[Courier::Models::JourneyNode::JourneyBranchNode::type_]
241
+ end
242
+ end
243
+
244
+ def self?.variants: -> ::Array[Courier::Models::journey_node]
245
+ end
246
+ end
247
+ end
@@ -0,0 +1,25 @@
1
+ module Courier
2
+ module Models
3
+ type journey_publish_params =
4
+ { template_id: String } & Courier::Internal::Type::request_parameters
5
+
6
+ class JourneyPublishParams < Courier::Models::JourneyPublishRequest
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ def template_id: -> String
11
+
12
+ def template_id=: (String _) -> String
13
+
14
+ def initialize: (
15
+ template_id: String,
16
+ ?request_options: Courier::request_opts
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ template_id: String,
21
+ request_options: Courier::RequestOptions
22
+ }
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,15 @@
1
+ module Courier
2
+ module Models
3
+ type journey_publish_request = { version: String }
4
+
5
+ class JourneyPublishRequest < Courier::Internal::Type::BaseModel
6
+ attr_reader version: String?
7
+
8
+ def version=: (String) -> String
9
+
10
+ def initialize: (?version: String) -> void
11
+
12
+ def to_hash: -> { version: String }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,25 @@
1
+ module Courier
2
+ module Models
3
+ type journey_replace_params =
4
+ { template_id: String } & Courier::Internal::Type::request_parameters
5
+
6
+ class JourneyReplaceParams < Courier::Models::CreateJourneyRequest
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ def template_id: -> String
11
+
12
+ def template_id=: (String _) -> String
13
+
14
+ def initialize: (
15
+ template_id: String,
16
+ ?request_options: Courier::request_opts
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ template_id: String,
21
+ request_options: Courier::RequestOptions
22
+ }
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,65 @@
1
+ module Courier
2
+ module Models
3
+ type journey_response =
4
+ {
5
+ id: String,
6
+ created: Integer?,
7
+ creator: String?,
8
+ enabled: bool,
9
+ name: String,
10
+ nodes: ::Array[Courier::Models::journey_node],
11
+ published: Integer?,
12
+ state: Courier::Models::journey_state,
13
+ updated: Integer?,
14
+ updater: String?
15
+ }
16
+
17
+ class JourneyResponse < Courier::Internal::Type::BaseModel
18
+ attr_accessor id: String
19
+
20
+ attr_accessor created: Integer?
21
+
22
+ attr_accessor creator: String?
23
+
24
+ attr_accessor enabled: bool
25
+
26
+ attr_accessor name: String
27
+
28
+ attr_accessor nodes: ::Array[Courier::Models::journey_node]
29
+
30
+ attr_accessor published: Integer?
31
+
32
+ attr_accessor state: Courier::Models::journey_state
33
+
34
+ attr_accessor updated: Integer?
35
+
36
+ attr_accessor updater: String?
37
+
38
+ def initialize: (
39
+ id: String,
40
+ created: Integer?,
41
+ creator: String?,
42
+ enabled: bool,
43
+ name: String,
44
+ nodes: ::Array[Courier::Models::journey_node],
45
+ published: Integer?,
46
+ state: Courier::Models::journey_state,
47
+ updated: Integer?,
48
+ updater: String?
49
+ ) -> void
50
+
51
+ def to_hash: -> {
52
+ id: String,
53
+ created: Integer?,
54
+ creator: String?,
55
+ enabled: bool,
56
+ name: String,
57
+ nodes: ::Array[Courier::Models::journey_node],
58
+ published: Integer?,
59
+ state: Courier::Models::journey_state,
60
+ updated: Integer?,
61
+ updater: String?
62
+ }
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,30 @@
1
+ module Courier
2
+ module Models
3
+ type journey_retrieve_params =
4
+ { template_id: String, version: String }
5
+ & Courier::Internal::Type::request_parameters
6
+
7
+ class JourneyRetrieveParams < Courier::Internal::Type::BaseModel
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ attr_accessor template_id: String
12
+
13
+ attr_reader version: String?
14
+
15
+ def version=: (String) -> String
16
+
17
+ def initialize: (
18
+ template_id: String,
19
+ ?version: String,
20
+ ?request_options: Courier::request_opts
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ template_id: String,
25
+ version: String,
26
+ request_options: Courier::RequestOptions
27
+ }
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,85 @@
1
+ module Courier
2
+ module Models
3
+ type journey_segment_trigger_node =
4
+ {
5
+ request_type: Courier::Models::JourneySegmentTriggerNode::request_type,
6
+ trigger_type: Courier::Models::JourneySegmentTriggerNode::trigger_type,
7
+ type: Courier::Models::JourneySegmentTriggerNode::type_,
8
+ id: String,
9
+ conditions: Courier::Models::journey_conditions_field,
10
+ event_id: String
11
+ }
12
+
13
+ class JourneySegmentTriggerNode < Courier::Internal::Type::BaseModel
14
+ attr_accessor request_type: Courier::Models::JourneySegmentTriggerNode::request_type
15
+
16
+ attr_accessor trigger_type: Courier::Models::JourneySegmentTriggerNode::trigger_type
17
+
18
+ attr_accessor type: Courier::Models::JourneySegmentTriggerNode::type_
19
+
20
+ attr_reader id: String?
21
+
22
+ def id=: (String) -> String
23
+
24
+ attr_reader conditions: Courier::Models::journey_conditions_field?
25
+
26
+ def conditions=: (
27
+ Courier::Models::journey_conditions_field
28
+ ) -> Courier::Models::journey_conditions_field
29
+
30
+ attr_reader event_id: String?
31
+
32
+ def event_id=: (String) -> String
33
+
34
+ def initialize: (
35
+ request_type: Courier::Models::JourneySegmentTriggerNode::request_type,
36
+ trigger_type: Courier::Models::JourneySegmentTriggerNode::trigger_type,
37
+ type: Courier::Models::JourneySegmentTriggerNode::type_,
38
+ ?id: String,
39
+ ?conditions: Courier::Models::journey_conditions_field,
40
+ ?event_id: String
41
+ ) -> void
42
+
43
+ def to_hash: -> {
44
+ request_type: Courier::Models::JourneySegmentTriggerNode::request_type,
45
+ trigger_type: Courier::Models::JourneySegmentTriggerNode::trigger_type,
46
+ type: Courier::Models::JourneySegmentTriggerNode::type_,
47
+ id: String,
48
+ conditions: Courier::Models::journey_conditions_field,
49
+ event_id: String
50
+ }
51
+
52
+ type request_type = :identify | :group | :track
53
+
54
+ module RequestType
55
+ extend Courier::Internal::Type::Enum
56
+
57
+ IDENTIFY: :identify
58
+ GROUP: :group
59
+ TRACK: :track
60
+
61
+ def self?.values: -> ::Array[Courier::Models::JourneySegmentTriggerNode::request_type]
62
+ end
63
+
64
+ type trigger_type = :segment
65
+
66
+ module TriggerType
67
+ extend Courier::Internal::Type::Enum
68
+
69
+ SEGMENT: :segment
70
+
71
+ def self?.values: -> ::Array[Courier::Models::JourneySegmentTriggerNode::trigger_type]
72
+ end
73
+
74
+ type type_ = :trigger
75
+
76
+ module Type
77
+ extend Courier::Internal::Type::Enum
78
+
79
+ TRIGGER: :trigger
80
+
81
+ def self?.values: -> ::Array[Courier::Models::JourneySegmentTriggerNode::type_]
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,140 @@
1
+ module Courier
2
+ module Models
3
+ type journey_send_node =
4
+ {
5
+ message: Courier::JourneySendNode::Message,
6
+ type: Courier::Models::JourneySendNode::type_,
7
+ id: String,
8
+ conditions: Courier::Models::journey_conditions_field
9
+ }
10
+
11
+ class JourneySendNode < Courier::Internal::Type::BaseModel
12
+ attr_accessor message: Courier::JourneySendNode::Message
13
+
14
+ attr_accessor type: Courier::Models::JourneySendNode::type_
15
+
16
+ attr_reader id: String?
17
+
18
+ def id=: (String) -> String
19
+
20
+ attr_reader conditions: Courier::Models::journey_conditions_field?
21
+
22
+ def conditions=: (
23
+ Courier::Models::journey_conditions_field
24
+ ) -> Courier::Models::journey_conditions_field
25
+
26
+ def initialize: (
27
+ message: Courier::JourneySendNode::Message,
28
+ type: Courier::Models::JourneySendNode::type_,
29
+ ?id: String,
30
+ ?conditions: Courier::Models::journey_conditions_field
31
+ ) -> void
32
+
33
+ def to_hash: -> {
34
+ message: Courier::JourneySendNode::Message,
35
+ type: Courier::Models::JourneySendNode::type_,
36
+ id: String,
37
+ conditions: Courier::Models::journey_conditions_field
38
+ }
39
+
40
+ type message =
41
+ {
42
+ template: String,
43
+ data: ::Hash[Symbol, top],
44
+ delay: Courier::JourneySendNode::Message::Delay,
45
+ to: Courier::JourneySendNode::Message::To
46
+ }
47
+
48
+ class Message < Courier::Internal::Type::BaseModel
49
+ attr_accessor template: String
50
+
51
+ attr_reader data: ::Hash[Symbol, top]?
52
+
53
+ def data=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
54
+
55
+ attr_reader delay: Courier::JourneySendNode::Message::Delay?
56
+
57
+ def delay=: (
58
+ Courier::JourneySendNode::Message::Delay
59
+ ) -> Courier::JourneySendNode::Message::Delay
60
+
61
+ attr_reader to: Courier::JourneySendNode::Message::To?
62
+
63
+ def to=: (
64
+ Courier::JourneySendNode::Message::To
65
+ ) -> Courier::JourneySendNode::Message::To
66
+
67
+ def initialize: (
68
+ template: String,
69
+ ?data: ::Hash[Symbol, top],
70
+ ?delay: Courier::JourneySendNode::Message::Delay,
71
+ ?to: Courier::JourneySendNode::Message::To
72
+ ) -> void
73
+
74
+ def to_hash: -> {
75
+ template: String,
76
+ data: ::Hash[Symbol, top],
77
+ delay: Courier::JourneySendNode::Message::Delay,
78
+ to: Courier::JourneySendNode::Message::To
79
+ }
80
+
81
+ type delay = { until_: String, timezone: String }
82
+
83
+ class Delay < Courier::Internal::Type::BaseModel
84
+ attr_accessor until_: String
85
+
86
+ attr_reader timezone: String?
87
+
88
+ def timezone=: (String) -> String
89
+
90
+ def initialize: (until_: String, ?timezone: String) -> void
91
+
92
+ def to_hash: -> { until_: String, timezone: String }
93
+ end
94
+
95
+ type to =
96
+ {
97
+ email_override: String,
98
+ phone_number_override: String,
99
+ user_id_override: String
100
+ }
101
+
102
+ class To < Courier::Internal::Type::BaseModel
103
+ attr_reader email_override: String?
104
+
105
+ def email_override=: (String) -> String
106
+
107
+ attr_reader phone_number_override: String?
108
+
109
+ def phone_number_override=: (String) -> String
110
+
111
+ attr_reader user_id_override: String?
112
+
113
+ def user_id_override=: (String) -> String
114
+
115
+ def initialize: (
116
+ ?email_override: String,
117
+ ?phone_number_override: String,
118
+ ?user_id_override: String
119
+ ) -> void
120
+
121
+ def to_hash: -> {
122
+ email_override: String,
123
+ phone_number_override: String,
124
+ user_id_override: String
125
+ }
126
+ end
127
+ end
128
+
129
+ type type_ = :send
130
+
131
+ module Type
132
+ extend Courier::Internal::Type::Enum
133
+
134
+ SEND: :send
135
+
136
+ def self?.values: -> ::Array[Courier::Models::JourneySendNode::type_]
137
+ end
138
+ end
139
+ end
140
+ end
@@ -0,0 +1,14 @@
1
+ module Courier
2
+ module Models
3
+ type journey_state = :DRAFT | :PUBLISHED
4
+
5
+ module JourneyState
6
+ extend Courier::Internal::Type::Enum
7
+
8
+ DRAFT: :DRAFT
9
+ PUBLISHED: :PUBLISHED
10
+
11
+ def self?.values: -> ::Array[Courier::Models::journey_state]
12
+ end
13
+ end
14
+ end