trycourier 4.4.0 → 4.6.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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +9 -9
  4. data/lib/trycourier/internal/transport/pooled_net_requester.rb +12 -10
  5. data/lib/trycourier/internal/type/base_model.rb +4 -3
  6. data/lib/trycourier/internal/type/union.rb +7 -9
  7. data/lib/trycourier/internal/util.rb +7 -2
  8. data/lib/trycourier/models/airship_profile.rb +21 -0
  9. data/lib/trycourier/models/airship_profile_audience.rb +15 -0
  10. data/lib/trycourier/models/audience.rb +3 -3
  11. data/lib/trycourier/models/audience_filter.rb +52 -0
  12. data/lib/trycourier/models/audience_recipient.rb +36 -0
  13. data/lib/trycourier/models/audience_update_params.rb +3 -3
  14. data/lib/trycourier/models/automation_list_params.rb +47 -0
  15. data/lib/trycourier/models/automation_template.rb +61 -0
  16. data/lib/trycourier/models/automation_template_list_response.rb +24 -0
  17. data/lib/trycourier/models/device_type.rb +7 -0
  18. data/lib/trycourier/models/discord.rb +16 -0
  19. data/lib/trycourier/models/expo.rb +16 -0
  20. data/lib/trycourier/models/filter.rb +8 -51
  21. data/lib/trycourier/models/filter_config.rb +8 -51
  22. data/lib/trycourier/models/intercom.rb +21 -0
  23. data/lib/trycourier/models/intercom_recipient.rb +15 -0
  24. data/lib/trycourier/models/list_filter.rb +52 -0
  25. data/lib/trycourier/models/list_pattern_recipient.rb +23 -0
  26. data/lib/trycourier/models/list_recipient.rb +29 -0
  27. data/lib/trycourier/models/ms_teams.rb +22 -0
  28. data/lib/trycourier/models/ms_teams_base_properties.rb +21 -0
  29. data/lib/trycourier/models/ms_teams_recipient.rb +17 -0
  30. data/lib/trycourier/models/multiple_tokens.rb +15 -0
  31. data/lib/trycourier/models/nested_filter_config.rb +49 -0
  32. data/lib/trycourier/models/pagerduty.rb +33 -0
  33. data/lib/trycourier/models/pagerduty_recipient.rb +17 -0
  34. data/lib/trycourier/models/send_direct_message.rb +15 -0
  35. data/lib/trycourier/models/send_message_params.rb +24 -7
  36. data/lib/trycourier/models/send_to_channel.rb +15 -0
  37. data/lib/trycourier/models/send_to_ms_teams_channel_id.rb +27 -0
  38. data/lib/trycourier/models/send_to_ms_teams_channel_name.rb +33 -0
  39. data/lib/trycourier/models/send_to_ms_teams_conversation_id.rb +27 -0
  40. data/lib/trycourier/models/send_to_ms_teams_email.rb +27 -0
  41. data/lib/trycourier/models/send_to_ms_teams_user_id.rb +27 -0
  42. data/lib/trycourier/models/send_to_slack_channel.rb +21 -0
  43. data/lib/trycourier/models/send_to_slack_email.rb +21 -0
  44. data/lib/trycourier/models/send_to_slack_user_id.rb +21 -0
  45. data/lib/trycourier/models/single_filter_config.rb +62 -0
  46. data/lib/trycourier/models/slack.rb +18 -0
  47. data/lib/trycourier/models/slack_base_properties.rb +15 -0
  48. data/lib/trycourier/models/slack_recipient.rb +17 -0
  49. data/lib/trycourier/models/token.rb +15 -0
  50. data/lib/trycourier/models/user_profile.rb +274 -0
  51. data/lib/trycourier/models/user_profile_firebase_token.rb +19 -0
  52. data/lib/trycourier/models/webhook_auth_mode.rb +16 -0
  53. data/lib/trycourier/models/webhook_authentication.rb +40 -0
  54. data/lib/trycourier/models/webhook_method.rb +15 -0
  55. data/lib/trycourier/models/webhook_profile.rb +53 -0
  56. data/lib/trycourier/models/webhook_profile_type.rb +15 -0
  57. data/lib/trycourier/models/webhook_recipient.rb +17 -0
  58. data/lib/trycourier/models.rb +90 -2
  59. data/lib/trycourier/resources/audiences.rb +1 -1
  60. data/lib/trycourier/resources/automations.rb +27 -0
  61. data/lib/trycourier/version.rb +1 -1
  62. data/lib/trycourier.rb +45 -1
  63. data/rbi/trycourier/models/airship_profile.rbi +41 -0
  64. data/rbi/trycourier/models/airship_profile_audience.rbi +26 -0
  65. data/rbi/trycourier/models/audience.rbi +8 -7
  66. data/rbi/trycourier/models/audience_filter.rbi +88 -0
  67. data/rbi/trycourier/models/audience_recipient.rbi +52 -0
  68. data/rbi/trycourier/models/audience_update_params.rbi +25 -7
  69. data/rbi/trycourier/models/automation_list_params.rbi +95 -0
  70. data/rbi/trycourier/models/automation_template.rbi +102 -0
  71. data/rbi/trycourier/models/automation_template_list_response.rbi +54 -0
  72. data/rbi/trycourier/models/device_type.rbi +7 -0
  73. data/rbi/trycourier/models/discord.rbi +18 -0
  74. data/rbi/trycourier/models/expo.rbi +16 -0
  75. data/rbi/trycourier/models/filter.rbi +8 -78
  76. data/rbi/trycourier/models/filter_config.rbi +8 -83
  77. data/rbi/trycourier/models/intercom.rbi +35 -0
  78. data/rbi/trycourier/models/intercom_recipient.rbi +23 -0
  79. data/rbi/trycourier/models/list_filter.rbi +86 -0
  80. data/rbi/trycourier/models/list_pattern_recipient.rbi +39 -0
  81. data/rbi/trycourier/models/list_recipient.rbi +44 -0
  82. data/rbi/trycourier/models/ms_teams.rbi +24 -0
  83. data/rbi/trycourier/models/ms_teams_base_properties.rbi +31 -0
  84. data/rbi/trycourier/models/ms_teams_recipient.rbi +58 -0
  85. data/rbi/trycourier/models/multiple_tokens.rbi +27 -0
  86. data/rbi/trycourier/models/nested_filter_config.rbi +104 -0
  87. data/rbi/trycourier/models/pagerduty.rbi +53 -0
  88. data/rbi/trycourier/models/pagerduty_recipient.rbi +31 -0
  89. data/rbi/trycourier/models/send_direct_message.rbi +23 -0
  90. data/rbi/trycourier/models/send_message_params.rbi +34 -10
  91. data/rbi/trycourier/models/send_to_channel.rbi +23 -0
  92. data/rbi/trycourier/models/send_to_ms_teams_channel_id.rbi +42 -0
  93. data/rbi/trycourier/models/send_to_ms_teams_channel_name.rbi +51 -0
  94. data/rbi/trycourier/models/send_to_ms_teams_conversation_id.rbi +42 -0
  95. data/rbi/trycourier/models/send_to_ms_teams_email.rbi +37 -0
  96. data/rbi/trycourier/models/send_to_ms_teams_user_id.rbi +37 -0
  97. data/rbi/trycourier/models/send_to_slack_channel.rbi +28 -0
  98. data/rbi/trycourier/models/send_to_slack_email.rbi +28 -0
  99. data/rbi/trycourier/models/send_to_slack_user_id.rbi +28 -0
  100. data/rbi/trycourier/models/single_filter_config.rbi +116 -0
  101. data/rbi/trycourier/models/slack.rbi +22 -0
  102. data/rbi/trycourier/models/slack_base_properties.rbi +23 -0
  103. data/rbi/trycourier/models/slack_recipient.rbi +52 -0
  104. data/rbi/trycourier/models/token.rbi +21 -0
  105. data/rbi/trycourier/models/user_profile.rbi +377 -0
  106. data/rbi/trycourier/models/user_profile_firebase_token.rbi +25 -0
  107. data/rbi/trycourier/models/webhook_auth_mode.rbi +22 -0
  108. data/rbi/trycourier/models/webhook_authentication.rbi +64 -0
  109. data/rbi/trycourier/models/webhook_method.rbi +21 -0
  110. data/rbi/trycourier/models/webhook_profile.rbi +80 -0
  111. data/rbi/trycourier/models/webhook_profile_type.rbi +22 -0
  112. data/rbi/trycourier/models/webhook_recipient.rbi +31 -0
  113. data/rbi/trycourier/models.rbi +91 -2
  114. data/rbi/trycourier/resources/audiences.rbi +7 -1
  115. data/rbi/trycourier/resources/automations.rbi +19 -0
  116. data/sig/trycourier/models/airship_profile.rbs +25 -0
  117. data/sig/trycourier/models/airship_profile_audience.rbs +13 -0
  118. data/sig/trycourier/models/audience.rbs +4 -4
  119. data/sig/trycourier/models/audience_filter.rbs +50 -0
  120. data/sig/trycourier/models/audience_recipient.rbs +30 -0
  121. data/sig/trycourier/models/audience_update_params.rbs +8 -4
  122. data/sig/trycourier/models/automation_list_params.rbs +48 -0
  123. data/sig/trycourier/models/automation_template.rbs +55 -0
  124. data/sig/trycourier/models/automation_template_list_response.rbs +28 -0
  125. data/sig/trycourier/models/device_type.rbs +5 -0
  126. data/sig/trycourier/models/discord.rbs +11 -0
  127. data/sig/trycourier/models/expo.rbs +11 -0
  128. data/sig/trycourier/models/filter.rbs +4 -61
  129. data/sig/trycourier/models/filter_config.rbs +4 -61
  130. data/sig/trycourier/models/intercom.rbs +15 -0
  131. data/sig/trycourier/models/intercom_recipient.rbs +13 -0
  132. data/sig/trycourier/models/list_filter.rbs +50 -0
  133. data/sig/trycourier/models/list_pattern_recipient.rbs +19 -0
  134. data/sig/trycourier/models/list_recipient.rbs +30 -0
  135. data/sig/trycourier/models/ms_teams.rbs +16 -0
  136. data/sig/trycourier/models/ms_teams_base_properties.rbs +15 -0
  137. data/sig/trycourier/models/ms_teams_recipient.rbs +13 -0
  138. data/sig/trycourier/models/multiple_tokens.rbs +13 -0
  139. data/sig/trycourier/models/nested_filter_config.rbs +64 -0
  140. data/sig/trycourier/models/pagerduty.rbs +35 -0
  141. data/sig/trycourier/models/pagerduty_recipient.rbs +13 -0
  142. data/sig/trycourier/models/send_direct_message.rbs +13 -0
  143. data/sig/trycourier/models/send_message_params.rbs +9 -3
  144. data/sig/trycourier/models/send_to_channel.rbs +13 -0
  145. data/sig/trycourier/models/send_to_ms_teams_channel_id.rbs +26 -0
  146. data/sig/trycourier/models/send_to_ms_teams_channel_name.rbs +35 -0
  147. data/sig/trycourier/models/send_to_ms_teams_conversation_id.rbs +26 -0
  148. data/sig/trycourier/models/send_to_ms_teams_email.rbs +22 -0
  149. data/sig/trycourier/models/send_to_ms_teams_user_id.rbs +26 -0
  150. data/sig/trycourier/models/send_to_slack_channel.rbs +15 -0
  151. data/sig/trycourier/models/send_to_slack_email.rbs +15 -0
  152. data/sig/trycourier/models/send_to_slack_user_id.rbs +15 -0
  153. data/sig/trycourier/models/single_filter_config.rbs +69 -0
  154. data/sig/trycourier/models/slack.rbs +14 -0
  155. data/sig/trycourier/models/slack_base_properties.rbs +13 -0
  156. data/sig/trycourier/models/slack_recipient.rbs +13 -0
  157. data/sig/trycourier/models/token.rbs +13 -0
  158. data/sig/trycourier/models/user_profile.rbs +212 -0
  159. data/sig/trycourier/models/user_profile_firebase_token.rbs +13 -0
  160. data/sig/trycourier/models/webhook_auth_mode.rbs +15 -0
  161. data/sig/trycourier/models/webhook_authentication.rbs +35 -0
  162. data/sig/trycourier/models/webhook_method.rbs +14 -0
  163. data/sig/trycourier/models/webhook_profile.rbs +40 -0
  164. data/sig/trycourier/models/webhook_profile_type.rbs +14 -0
  165. data/sig/trycourier/models/webhook_recipient.rbs +13 -0
  166. data/sig/trycourier/models.rbs +92 -4
  167. data/sig/trycourier/resources/audiences.rbs +1 -1
  168. data/sig/trycourier/resources/automations.rbs +6 -0
  169. metadata +137 -5
  170. data/lib/trycourier/models/recipient.rb +0 -113
  171. data/rbi/trycourier/models/recipient.rbi +0 -161
  172. data/sig/trycourier/models/recipient.rbs +0 -92
@@ -39,16 +39,24 @@ module Trycourier
39
39
  mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
40
  end
41
41
 
42
+ AirshipProfile = Trycourier::Models::AirshipProfile
43
+
44
+ AirshipProfileAudience = Trycourier::Models::AirshipProfileAudience
45
+
42
46
  Alignment = Trycourier::Models::Alignment
43
47
 
44
48
  Audience = Trycourier::Models::Audience
45
49
 
46
50
  AudienceDeleteParams = Trycourier::Models::AudienceDeleteParams
47
51
 
52
+ AudienceFilter = Trycourier::Models::AudienceFilter
53
+
48
54
  AudienceListMembersParams = Trycourier::Models::AudienceListMembersParams
49
55
 
50
56
  AudienceListParams = Trycourier::Models::AudienceListParams
51
57
 
58
+ AudienceRecipient = Trycourier::Models::AudienceRecipient
59
+
52
60
  AudienceRetrieveParams = Trycourier::Models::AudienceRetrieveParams
53
61
 
54
62
  AudienceUpdateParams = Trycourier::Models::AudienceUpdateParams
@@ -63,8 +71,14 @@ module Trycourier
63
71
 
64
72
  AutomationInvokeResponse = Trycourier::Models::AutomationInvokeResponse
65
73
 
74
+ AutomationListParams = Trycourier::Models::AutomationListParams
75
+
66
76
  Automations = Trycourier::Models::Automations
67
77
 
78
+ AutomationTemplate = Trycourier::Models::AutomationTemplate
79
+
80
+ AutomationTemplateListResponse = Trycourier::Models::AutomationTemplateListResponse
81
+
68
82
  BaseCheck = Trycourier::Models::BaseCheck
69
83
 
70
84
  BaseTemplateTenantAssociation = Trycourier::Models::BaseTemplateTenantAssociation
@@ -113,6 +127,10 @@ module Trycourier
113
127
 
114
128
  DefaultPreferences = Trycourier::Models::DefaultPreferences
115
129
 
130
+ DeviceType = Trycourier::Models::DeviceType
131
+
132
+ Discord = Trycourier::Models::Discord
133
+
116
134
  ElementalActionNodeWithType = Trycourier::Models::ElementalActionNodeWithType
117
135
 
118
136
  ElementalBaseNode = Trycourier::Models::ElementalBaseNode
@@ -143,6 +161,8 @@ module Trycourier
143
161
 
144
162
  EmailHeader = Trycourier::Models::EmailHeader
145
163
 
164
+ Expo = Trycourier::Models::Expo
165
+
146
166
  Filter = Trycourier::Models::Filter
147
167
 
148
168
  FilterConfig = Trycourier::Models::FilterConfig
@@ -155,10 +175,20 @@ module Trycourier
155
175
 
156
176
  InboundTrackEventParams = Trycourier::Models::InboundTrackEventParams
157
177
 
178
+ Intercom = Trycourier::Models::Intercom
179
+
180
+ IntercomRecipient = Trycourier::Models::IntercomRecipient
181
+
158
182
  ListDeleteParams = Trycourier::Models::ListDeleteParams
159
183
 
184
+ ListFilter = Trycourier::Models::ListFilter
185
+
160
186
  ListListParams = Trycourier::Models::ListListParams
161
187
 
188
+ ListPatternRecipient = Trycourier::Models::ListPatternRecipient
189
+
190
+ ListRecipient = Trycourier::Models::ListRecipient
191
+
162
192
  ListRestoreParams = Trycourier::Models::ListRestoreParams
163
193
 
164
194
  ListRetrieveParams = Trycourier::Models::ListRetrieveParams
@@ -187,6 +217,16 @@ module Trycourier
187
217
 
188
218
  MessageRoutingChannel = Trycourier::Models::MessageRoutingChannel
189
219
 
220
+ MsTeams = Trycourier::Models::MsTeams
221
+
222
+ MsTeamsBaseProperties = Trycourier::Models::MsTeamsBaseProperties
223
+
224
+ MsTeamsRecipient = Trycourier::Models::MsTeamsRecipient
225
+
226
+ MultipleTokens = Trycourier::Models::MultipleTokens
227
+
228
+ NestedFilterConfig = Trycourier::Models::NestedFilterConfig
229
+
190
230
  NotificationGetContent = Trycourier::Models::NotificationGetContent
191
231
 
192
232
  NotificationListParams = Trycourier::Models::NotificationListParams
@@ -197,6 +237,10 @@ module Trycourier
197
237
 
198
238
  Notifications = Trycourier::Models::Notifications
199
239
 
240
+ Pagerduty = Trycourier::Models::Pagerduty
241
+
242
+ PagerdutyRecipient = Trycourier::Models::PagerdutyRecipient
243
+
200
244
  Paging = Trycourier::Models::Paging
201
245
 
202
246
  Preference = Trycourier::Models::Preference
@@ -217,16 +261,42 @@ module Trycourier
217
261
 
218
262
  PutSubscriptionsRecipient = Trycourier::Models::PutSubscriptionsRecipient
219
263
 
220
- Recipient = Trycourier::Models::Recipient
221
-
222
264
  RecipientPreferences = Trycourier::Models::RecipientPreferences
223
265
 
224
266
  RequestArchiveParams = Trycourier::Models::RequestArchiveParams
225
267
 
226
268
  Rule = Trycourier::Models::Rule
227
269
 
270
+ SendDirectMessage = Trycourier::Models::SendDirectMessage
271
+
228
272
  SendMessageParams = Trycourier::Models::SendMessageParams
229
273
 
274
+ SendToChannel = Trycourier::Models::SendToChannel
275
+
276
+ SendToMsTeamsChannelID = Trycourier::Models::SendToMsTeamsChannelID
277
+
278
+ SendToMsTeamsChannelName = Trycourier::Models::SendToMsTeamsChannelName
279
+
280
+ SendToMsTeamsConversationID = Trycourier::Models::SendToMsTeamsConversationID
281
+
282
+ SendToMsTeamsEmail = Trycourier::Models::SendToMsTeamsEmail
283
+
284
+ SendToMsTeamsUserID = Trycourier::Models::SendToMsTeamsUserID
285
+
286
+ SendToSlackChannel = Trycourier::Models::SendToSlackChannel
287
+
288
+ SendToSlackEmail = Trycourier::Models::SendToSlackEmail
289
+
290
+ SendToSlackUserID = Trycourier::Models::SendToSlackUserID
291
+
292
+ SingleFilterConfig = Trycourier::Models::SingleFilterConfig
293
+
294
+ Slack = Trycourier::Models::Slack
295
+
296
+ SlackBaseProperties = Trycourier::Models::SlackBaseProperties
297
+
298
+ SlackRecipient = Trycourier::Models::SlackRecipient
299
+
230
300
  SubscribeToListsRequestItem = Trycourier::Models::SubscribeToListsRequestItem
231
301
 
232
302
  SubscriptionList = Trycourier::Models::SubscriptionList
@@ -251,15 +321,33 @@ module Trycourier
251
321
 
252
322
  TextStyle = Trycourier::Models::TextStyle
253
323
 
324
+ Token = Trycourier::Models::Token
325
+
254
326
  TranslationRetrieveParams = Trycourier::Models::TranslationRetrieveParams
255
327
 
256
328
  TranslationUpdateParams = Trycourier::Models::TranslationUpdateParams
257
329
 
330
+ UserProfile = Trycourier::Models::UserProfile
331
+
332
+ UserProfileFirebaseToken = Trycourier::Models::UserProfileFirebaseToken
333
+
258
334
  UserRecipient = Trycourier::Models::UserRecipient
259
335
 
260
336
  Users = Trycourier::Models::Users
261
337
 
262
338
  Utm = Trycourier::Models::Utm
263
339
 
340
+ WebhookAuthentication = Trycourier::Models::WebhookAuthentication
341
+
342
+ WebhookAuthMode = Trycourier::Models::WebhookAuthMode
343
+
344
+ WebhookMethod = Trycourier::Models::WebhookMethod
345
+
346
+ WebhookProfile = Trycourier::Models::WebhookProfile
347
+
348
+ WebhookProfileType = Trycourier::Models::WebhookProfileType
349
+
350
+ WebhookRecipient = Trycourier::Models::WebhookRecipient
351
+
264
352
  WidgetBackground = Trycourier::Models::WidgetBackground
265
353
  end
@@ -31,7 +31,7 @@ module Trycourier
31
31
  #
32
32
  # @param description [String, nil] A description of the audience
33
33
  #
34
- # @param filter [Trycourier::Models::Filter, nil] A single filter to use for filtering
34
+ # @param filter [Trycourier::Models::SingleFilterConfig, Trycourier::Models::NestedFilterConfig, nil] A single filter to use for filtering
35
35
  #
36
36
  # @param name [String, nil] The name of the audience
37
37
  #
@@ -6,6 +6,33 @@ module Trycourier
6
6
  # @return [Trycourier::Resources::Automations::Invoke]
7
7
  attr_reader :invoke
8
8
 
9
+ # Some parameter documentations has been truncated, see
10
+ # {Trycourier::Models::AutomationListParams} for more details.
11
+ #
12
+ # Get the list of automations.
13
+ #
14
+ # @overload list(cursor: nil, version: nil, request_options: {})
15
+ #
16
+ # @param cursor [String] A cursor token for pagination. Use the cursor from the previous response to fetc
17
+ #
18
+ # @param version [Symbol, Trycourier::Models::AutomationListParams::Version] The version of templates to retrieve. Accepted values are published (for publish
19
+ #
20
+ # @param request_options [Trycourier::RequestOptions, Hash{Symbol=>Object}, nil]
21
+ #
22
+ # @return [Trycourier::Models::AutomationTemplateListResponse]
23
+ #
24
+ # @see Trycourier::Models::AutomationListParams
25
+ def list(params = {})
26
+ parsed, options = Trycourier::AutomationListParams.dump_request(params)
27
+ @client.request(
28
+ method: :get,
29
+ path: "automations",
30
+ query: parsed,
31
+ model: Trycourier::AutomationTemplateListResponse,
32
+ options: options
33
+ )
34
+ end
35
+
9
36
  # @api private
10
37
  #
11
38
  # @param client [Trycourier::Client]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Trycourier
4
- VERSION = "4.4.0"
4
+ VERSION = "4.6.0"
5
5
  end
data/lib/trycourier.rb CHANGED
@@ -61,13 +61,17 @@ require_relative "trycourier/models/elemental_channel_node"
61
61
  require_relative "trycourier/models/message_details"
62
62
  require_relative "trycourier/models/base_template_tenant_association"
63
63
  require_relative "trycourier/models/users/user_token"
64
+ require_relative "trycourier/models/airship_profile"
65
+ require_relative "trycourier/models/airship_profile_audience"
64
66
  require_relative "trycourier/models/alignment"
65
67
  require_relative "trycourier/models/audience"
66
68
  require_relative "trycourier/models/audience_delete_params"
69
+ require_relative "trycourier/models/audience_filter"
67
70
  require_relative "trycourier/models/audience_list_members_params"
68
71
  require_relative "trycourier/models/audience_list_members_response"
69
72
  require_relative "trycourier/models/audience_list_params"
70
73
  require_relative "trycourier/models/audience_list_response"
74
+ require_relative "trycourier/models/audience_recipient"
71
75
  require_relative "trycourier/models/audience_retrieve_params"
72
76
  require_relative "trycourier/models/audience_update_params"
73
77
  require_relative "trycourier/models/audience_update_response"
@@ -78,8 +82,11 @@ require_relative "trycourier/models/audit_event_retrieve_params"
78
82
  require_relative "trycourier/models/auth_issue_token_params"
79
83
  require_relative "trycourier/models/auth_issue_token_response"
80
84
  require_relative "trycourier/models/automation_invoke_response"
85
+ require_relative "trycourier/models/automation_list_params"
81
86
  require_relative "trycourier/models/automations/invoke_invoke_ad_hoc_params"
82
87
  require_relative "trycourier/models/automations/invoke_invoke_by_template_params"
88
+ require_relative "trycourier/models/automation_template"
89
+ require_relative "trycourier/models/automation_template_list_response"
83
90
  require_relative "trycourier/models/brand"
84
91
  require_relative "trycourier/models/brand_colors"
85
92
  require_relative "trycourier/models/brand_create_params"
@@ -105,6 +112,8 @@ require_relative "trycourier/models/channel_classification"
105
112
  require_relative "trycourier/models/channel_preference"
106
113
  require_relative "trycourier/models/check"
107
114
  require_relative "trycourier/models/default_preferences"
115
+ require_relative "trycourier/models/device_type"
116
+ require_relative "trycourier/models/discord"
108
117
  require_relative "trycourier/models/elemental_action_node_with_type"
109
118
  require_relative "trycourier/models/elemental_channel_node_with_type"
110
119
  require_relative "trycourier/models/elemental_content"
@@ -118,15 +127,21 @@ require_relative "trycourier/models/elemental_text_node_with_type"
118
127
  require_relative "trycourier/models/email_footer"
119
128
  require_relative "trycourier/models/email_head"
120
129
  require_relative "trycourier/models/email_header"
130
+ require_relative "trycourier/models/expo"
121
131
  require_relative "trycourier/models/filter"
122
132
  require_relative "trycourier/models/filter_config"
123
133
  require_relative "trycourier/models/icons"
124
134
  require_relative "trycourier/models/inbound_bulk_message"
125
135
  require_relative "trycourier/models/inbound_track_event_params"
126
136
  require_relative "trycourier/models/inbound_track_event_response"
137
+ require_relative "trycourier/models/intercom"
138
+ require_relative "trycourier/models/intercom_recipient"
127
139
  require_relative "trycourier/models/list_delete_params"
140
+ require_relative "trycourier/models/list_filter"
128
141
  require_relative "trycourier/models/list_list_params"
129
142
  require_relative "trycourier/models/list_list_response"
143
+ require_relative "trycourier/models/list_pattern_recipient"
144
+ require_relative "trycourier/models/list_recipient"
130
145
  require_relative "trycourier/models/list_restore_params"
131
146
  require_relative "trycourier/models/list_retrieve_params"
132
147
  require_relative "trycourier/models/lists/subscription_add_params"
@@ -149,6 +164,11 @@ require_relative "trycourier/models/message_retrieve_params"
149
164
  require_relative "trycourier/models/message_retrieve_response"
150
165
  require_relative "trycourier/models/message_routing"
151
166
  require_relative "trycourier/models/message_routing_channel"
167
+ require_relative "trycourier/models/ms_teams"
168
+ require_relative "trycourier/models/ms_teams_base_properties"
169
+ require_relative "trycourier/models/ms_teams_recipient"
170
+ require_relative "trycourier/models/multiple_tokens"
171
+ require_relative "trycourier/models/nested_filter_config"
152
172
  require_relative "trycourier/models/notification_get_content"
153
173
  require_relative "trycourier/models/notification_list_params"
154
174
  require_relative "trycourier/models/notification_list_response"
@@ -160,6 +180,8 @@ require_relative "trycourier/models/notifications/check_list_response"
160
180
  require_relative "trycourier/models/notifications/check_update_params"
161
181
  require_relative "trycourier/models/notifications/check_update_response"
162
182
  require_relative "trycourier/models/notifications/draft_retrieve_content_params"
183
+ require_relative "trycourier/models/pagerduty"
184
+ require_relative "trycourier/models/pagerduty_recipient"
163
185
  require_relative "trycourier/models/paging"
164
186
  require_relative "trycourier/models/preference"
165
187
  require_relative "trycourier/models/preference_status"
@@ -178,12 +200,25 @@ require_relative "trycourier/models/profiles/list_subscribe_params"
178
200
  require_relative "trycourier/models/profiles/list_subscribe_response"
179
201
  require_relative "trycourier/models/profile_update_params"
180
202
  require_relative "trycourier/models/put_subscriptions_recipient"
181
- require_relative "trycourier/models/recipient"
182
203
  require_relative "trycourier/models/recipient_preferences"
183
204
  require_relative "trycourier/models/request_archive_params"
184
205
  require_relative "trycourier/models/rule"
206
+ require_relative "trycourier/models/send_direct_message"
185
207
  require_relative "trycourier/models/send_message_params"
186
208
  require_relative "trycourier/models/send_message_response"
209
+ require_relative "trycourier/models/send_to_channel"
210
+ require_relative "trycourier/models/send_to_ms_teams_channel_id"
211
+ require_relative "trycourier/models/send_to_ms_teams_channel_name"
212
+ require_relative "trycourier/models/send_to_ms_teams_conversation_id"
213
+ require_relative "trycourier/models/send_to_ms_teams_email"
214
+ require_relative "trycourier/models/send_to_ms_teams_user_id"
215
+ require_relative "trycourier/models/send_to_slack_channel"
216
+ require_relative "trycourier/models/send_to_slack_email"
217
+ require_relative "trycourier/models/send_to_slack_user_id"
218
+ require_relative "trycourier/models/single_filter_config"
219
+ require_relative "trycourier/models/slack"
220
+ require_relative "trycourier/models/slack_base_properties"
221
+ require_relative "trycourier/models/slack_recipient"
187
222
  require_relative "trycourier/models/subscribe_to_lists_request_item"
188
223
  require_relative "trycourier/models/subscription_list"
189
224
  require_relative "trycourier/models/tenant"
@@ -201,9 +236,12 @@ require_relative "trycourier/models/tenants/template_list_response"
201
236
  require_relative "trycourier/models/tenants/template_retrieve_params"
202
237
  require_relative "trycourier/models/tenant_update_params"
203
238
  require_relative "trycourier/models/text_style"
239
+ require_relative "trycourier/models/token"
204
240
  require_relative "trycourier/models/translation_retrieve_params"
205
241
  require_relative "trycourier/models/translation_retrieve_response"
206
242
  require_relative "trycourier/models/translation_update_params"
243
+ require_relative "trycourier/models/user_profile"
244
+ require_relative "trycourier/models/user_profile_firebase_token"
207
245
  require_relative "trycourier/models/user_recipient"
208
246
  require_relative "trycourier/models/users/preference_retrieve_params"
209
247
  require_relative "trycourier/models/users/preference_retrieve_response"
@@ -227,6 +265,12 @@ require_relative "trycourier/models/users/token_retrieve_response"
227
265
  require_relative "trycourier/models/users/token_update_params"
228
266
  require_relative "trycourier/models/users/topic_preference"
229
267
  require_relative "trycourier/models/utm"
268
+ require_relative "trycourier/models/webhook_authentication"
269
+ require_relative "trycourier/models/webhook_auth_mode"
270
+ require_relative "trycourier/models/webhook_method"
271
+ require_relative "trycourier/models/webhook_profile"
272
+ require_relative "trycourier/models/webhook_profile_type"
273
+ require_relative "trycourier/models/webhook_recipient"
230
274
  require_relative "trycourier/models/widget_background"
231
275
  require_relative "trycourier/models"
232
276
  require_relative "trycourier/resources/audiences"
@@ -0,0 +1,41 @@
1
+ # typed: strong
2
+
3
+ module Trycourier
4
+ module Models
5
+ class AirshipProfile < Trycourier::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Trycourier::AirshipProfile, Trycourier::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(Trycourier::AirshipProfileAudience) }
12
+ attr_reader :audience
13
+
14
+ sig { params(audience: Trycourier::AirshipProfileAudience::OrHash).void }
15
+ attr_writer :audience
16
+
17
+ sig { returns(T::Array[String]) }
18
+ attr_accessor :device_types
19
+
20
+ sig do
21
+ params(
22
+ audience: Trycourier::AirshipProfileAudience::OrHash,
23
+ device_types: T::Array[String]
24
+ ).returns(T.attached_class)
25
+ end
26
+ def self.new(audience:, device_types:)
27
+ end
28
+
29
+ sig do
30
+ override.returns(
31
+ {
32
+ audience: Trycourier::AirshipProfileAudience,
33
+ device_types: T::Array[String]
34
+ }
35
+ )
36
+ end
37
+ def to_hash
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,26 @@
1
+ # typed: strong
2
+
3
+ module Trycourier
4
+ module Models
5
+ class AirshipProfileAudience < Trycourier::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Trycourier::AirshipProfileAudience,
10
+ Trycourier::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :named_user
16
+
17
+ sig { params(named_user: String).returns(T.attached_class) }
18
+ def self.new(named_user:)
19
+ end
20
+
21
+ sig { override.returns({ named_user: String }) }
22
+ def to_hash
23
+ end
24
+ end
25
+ end
26
+ end
@@ -20,11 +20,8 @@ module Trycourier
20
20
  attr_accessor :description
21
21
 
22
22
  # A single filter to use for filtering
23
- sig { returns(Trycourier::Filter) }
24
- attr_reader :filter
25
-
26
- sig { params(filter: Trycourier::Filter::OrHash).void }
27
- attr_writer :filter
23
+ sig { returns(Trycourier::Filter::Variants) }
24
+ attr_accessor :filter
28
25
 
29
26
  # The name of the audience
30
27
  sig { returns(String) }
@@ -38,7 +35,11 @@ module Trycourier
38
35
  id: String,
39
36
  created_at: String,
40
37
  description: String,
41
- filter: Trycourier::Filter::OrHash,
38
+ filter:
39
+ T.any(
40
+ Trycourier::SingleFilterConfig::OrHash,
41
+ Trycourier::NestedFilterConfig::OrHash
42
+ ),
42
43
  name: String,
43
44
  updated_at: String
44
45
  ).returns(T.attached_class)
@@ -63,7 +64,7 @@ module Trycourier
63
64
  id: String,
64
65
  created_at: String,
65
66
  description: String,
66
- filter: Trycourier::Filter,
67
+ filter: Trycourier::Filter::Variants,
67
68
  name: String,
68
69
  updated_at: String
69
70
  }
@@ -0,0 +1,88 @@
1
+ # typed: strong
2
+
3
+ module Trycourier
4
+ module Models
5
+ class AudienceFilter < Trycourier::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Trycourier::AudienceFilter, Trycourier::Internal::AnyHash)
9
+ end
10
+
11
+ # Send to users only if they are member of the account
12
+ sig { returns(Trycourier::AudienceFilter::Operator::OrSymbol) }
13
+ attr_accessor :operator
14
+
15
+ sig { returns(Trycourier::AudienceFilter::Path::OrSymbol) }
16
+ attr_accessor :path
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :value
20
+
21
+ sig do
22
+ params(
23
+ operator: Trycourier::AudienceFilter::Operator::OrSymbol,
24
+ path: Trycourier::AudienceFilter::Path::OrSymbol,
25
+ value: String
26
+ ).returns(T.attached_class)
27
+ end
28
+ def self.new(
29
+ # Send to users only if they are member of the account
30
+ operator:,
31
+ path:,
32
+ value:
33
+ )
34
+ end
35
+
36
+ sig do
37
+ override.returns(
38
+ {
39
+ operator: Trycourier::AudienceFilter::Operator::OrSymbol,
40
+ path: Trycourier::AudienceFilter::Path::OrSymbol,
41
+ value: String
42
+ }
43
+ )
44
+ end
45
+ def to_hash
46
+ end
47
+
48
+ # Send to users only if they are member of the account
49
+ module Operator
50
+ extend Trycourier::Internal::Type::Enum
51
+
52
+ TaggedSymbol =
53
+ T.type_alias { T.all(Symbol, Trycourier::AudienceFilter::Operator) }
54
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
55
+
56
+ MEMBER_OF =
57
+ T.let(:MEMBER_OF, Trycourier::AudienceFilter::Operator::TaggedSymbol)
58
+
59
+ sig do
60
+ override.returns(
61
+ T::Array[Trycourier::AudienceFilter::Operator::TaggedSymbol]
62
+ )
63
+ end
64
+ def self.values
65
+ end
66
+ end
67
+
68
+ module Path
69
+ extend Trycourier::Internal::Type::Enum
70
+
71
+ TaggedSymbol =
72
+ T.type_alias { T.all(Symbol, Trycourier::AudienceFilter::Path) }
73
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
74
+
75
+ ACCOUNT_ID =
76
+ T.let(:account_id, Trycourier::AudienceFilter::Path::TaggedSymbol)
77
+
78
+ sig do
79
+ override.returns(
80
+ T::Array[Trycourier::AudienceFilter::Path::TaggedSymbol]
81
+ )
82
+ end
83
+ def self.values
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,52 @@
1
+ # typed: strong
2
+
3
+ module Trycourier
4
+ module Models
5
+ class AudienceRecipient < Trycourier::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Trycourier::AudienceRecipient, Trycourier::Internal::AnyHash)
9
+ end
10
+
11
+ # A unique identifier associated with an Audience. A message will be sent to each
12
+ # user in the audience.
13
+ sig { returns(String) }
14
+ attr_accessor :audience_id
15
+
16
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
17
+ attr_accessor :data
18
+
19
+ sig { returns(T.nilable(T::Array[Trycourier::AudienceFilter])) }
20
+ attr_accessor :filters
21
+
22
+ # Send to all users in an audience
23
+ sig do
24
+ params(
25
+ audience_id: String,
26
+ data: T.nilable(T::Hash[Symbol, T.anything]),
27
+ filters: T.nilable(T::Array[Trycourier::AudienceFilter::OrHash])
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(
31
+ # A unique identifier associated with an Audience. A message will be sent to each
32
+ # user in the audience.
33
+ audience_id:,
34
+ data: nil,
35
+ filters: nil
36
+ )
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ audience_id: String,
43
+ data: T.nilable(T::Hash[Symbol, T.anything]),
44
+ filters: T.nilable(T::Array[Trycourier::AudienceFilter])
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+ end
51
+ end
52
+ end
@@ -16,11 +16,17 @@ module Trycourier
16
16
  attr_accessor :description
17
17
 
18
18
  # A single filter to use for filtering
19
- sig { returns(T.nilable(Trycourier::Filter)) }
20
- attr_reader :filter
21
-
22
- sig { params(filter: T.nilable(Trycourier::Filter::OrHash)).void }
23
- attr_writer :filter
19
+ sig do
20
+ returns(
21
+ T.nilable(
22
+ T.any(
23
+ Trycourier::SingleFilterConfig,
24
+ Trycourier::NestedFilterConfig
25
+ )
26
+ )
27
+ )
28
+ end
29
+ attr_accessor :filter
24
30
 
25
31
  # The name of the audience
26
32
  sig { returns(T.nilable(String)) }
@@ -29,7 +35,13 @@ module Trycourier
29
35
  sig do
30
36
  params(
31
37
  description: T.nilable(String),
32
- filter: T.nilable(Trycourier::Filter::OrHash),
38
+ filter:
39
+ T.nilable(
40
+ T.any(
41
+ Trycourier::SingleFilterConfig::OrHash,
42
+ Trycourier::NestedFilterConfig::OrHash
43
+ )
44
+ ),
33
45
  name: T.nilable(String),
34
46
  request_options: Trycourier::RequestOptions::OrHash
35
47
  ).returns(T.attached_class)
@@ -49,7 +61,13 @@ module Trycourier
49
61
  override.returns(
50
62
  {
51
63
  description: T.nilable(String),
52
- filter: T.nilable(Trycourier::Filter),
64
+ filter:
65
+ T.nilable(
66
+ T.any(
67
+ Trycourier::SingleFilterConfig,
68
+ Trycourier::NestedFilterConfig
69
+ )
70
+ ),
53
71
  name: T.nilable(String),
54
72
  request_options: Trycourier::RequestOptions
55
73
  }