trycourier 4.7.1 → 4.8.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 (260) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +25 -235
  4. data/lib/courier/client.rb +4 -0
  5. data/lib/courier/internal/util.rb +31 -0
  6. data/lib/courier/models/audience_delete_params.rb +7 -1
  7. data/lib/courier/models/audience_list_members_params.rb +8 -1
  8. data/lib/courier/models/audience_retrieve_params.rb +7 -1
  9. data/lib/courier/models/audience_update_params.rb +8 -1
  10. data/lib/courier/models/audit_event_retrieve_params.rb +7 -1
  11. data/lib/courier/models/automations/invoke_invoke_by_template_params.rb +7 -1
  12. data/lib/courier/models/brand_delete_params.rb +7 -1
  13. data/lib/courier/models/brand_retrieve_params.rb +7 -1
  14. data/lib/courier/models/brand_update_params.rb +8 -1
  15. data/lib/courier/models/bulk_add_users_params.rb +7 -1
  16. data/lib/courier/models/bulk_list_users_params.rb +8 -1
  17. data/lib/courier/models/bulk_retrieve_job_params.rb +7 -1
  18. data/lib/courier/models/bulk_run_job_params.rb +7 -1
  19. data/lib/courier/models/elemental_content.rb +1 -8
  20. data/lib/courier/models/journey.rb +63 -0
  21. data/lib/courier/models/journey_invoke_params.rb +20 -0
  22. data/lib/courier/models/journey_list_params.rb +47 -0
  23. data/lib/courier/models/journeys_invoke_request.rb +49 -0
  24. data/lib/courier/models/journeys_invoke_response.rb +17 -0
  25. data/lib/courier/models/journeys_list_response.rb +24 -0
  26. data/lib/courier/models/list_delete_params.rb +7 -1
  27. data/lib/courier/models/list_restore_params.rb +7 -1
  28. data/lib/courier/models/list_retrieve_params.rb +7 -1
  29. data/lib/courier/models/list_update_params.rb +7 -1
  30. data/lib/courier/models/lists/subscription_add_params.rb +7 -1
  31. data/lib/courier/models/lists/subscription_list_params.rb +8 -1
  32. data/lib/courier/models/lists/subscription_subscribe_params.rb +7 -1
  33. data/lib/courier/models/lists/subscription_subscribe_user_params.rb +7 -1
  34. data/lib/courier/models/lists/subscription_unsubscribe_user_params.rb +7 -1
  35. data/lib/courier/models/message_cancel_params.rb +7 -1
  36. data/lib/courier/models/message_content_params.rb +7 -1
  37. data/lib/courier/models/message_details.rb +37 -37
  38. data/lib/courier/models/message_history_params.rb +8 -1
  39. data/lib/courier/models/message_retrieve_params.rb +7 -1
  40. data/lib/courier/models/notification_retrieve_content_params.rb +7 -1
  41. data/lib/courier/models/notifications/check_delete_params.rb +7 -1
  42. data/lib/courier/models/notifications/check_list_params.rb +7 -1
  43. data/lib/courier/models/notifications/check_update_params.rb +7 -1
  44. data/lib/courier/models/notifications/draft_retrieve_content_params.rb +7 -1
  45. data/lib/courier/models/profile_create_params.rb +7 -1
  46. data/lib/courier/models/profile_delete_params.rb +7 -1
  47. data/lib/courier/models/profile_replace_params.rb +7 -1
  48. data/lib/courier/models/profile_retrieve_params.rb +7 -1
  49. data/lib/courier/models/profile_update_params.rb +8 -1
  50. data/lib/courier/models/profiles/list_delete_params.rb +7 -1
  51. data/lib/courier/models/profiles/list_retrieve_params.rb +8 -1
  52. data/lib/courier/models/profiles/list_subscribe_params.rb +7 -1
  53. data/lib/courier/models/request_archive_params.rb +7 -1
  54. data/lib/courier/models/tenant_delete_params.rb +7 -1
  55. data/lib/courier/models/tenant_list_users_params.rb +8 -1
  56. data/lib/courier/models/tenant_retrieve_params.rb +7 -1
  57. data/lib/courier/models/tenant_update_params.rb +8 -1
  58. data/lib/courier/models/tenants/preferences/item_delete_params.rb +7 -1
  59. data/lib/courier/models/tenants/preferences/item_update_params.rb +7 -1
  60. data/lib/courier/models/tenants/template_list_params.rb +8 -1
  61. data/lib/courier/models/tenants/template_publish_params.rb +7 -1
  62. data/lib/courier/models/tenants/template_replace_params.rb +7 -1
  63. data/lib/courier/models/tenants/template_retrieve_params.rb +7 -1
  64. data/lib/courier/models/tenants/templates/version_retrieve_params.rb +7 -1
  65. data/lib/courier/models/translation_retrieve_params.rb +7 -1
  66. data/lib/courier/models/translation_update_params.rb +7 -1
  67. data/lib/courier/models/users/preference_retrieve_params.rb +8 -1
  68. data/lib/courier/models/users/preference_retrieve_topic_params.rb +8 -1
  69. data/lib/courier/models/users/preference_update_or_create_topic_params.rb +8 -1
  70. data/lib/courier/models/users/tenant_add_multiple_params.rb +7 -1
  71. data/lib/courier/models/users/tenant_add_single_params.rb +7 -1
  72. data/lib/courier/models/users/tenant_list_params.rb +8 -1
  73. data/lib/courier/models/users/tenant_remove_all_params.rb +7 -1
  74. data/lib/courier/models/users/tenant_remove_single_params.rb +7 -1
  75. data/lib/courier/models/users/token_add_multiple_params.rb +7 -1
  76. data/lib/courier/models/users/token_add_single_params.rb +168 -2
  77. data/lib/courier/models/users/token_delete_params.rb +7 -1
  78. data/lib/courier/models/users/token_list_params.rb +7 -1
  79. data/lib/courier/models/users/token_retrieve_params.rb +7 -1
  80. data/lib/courier/models/users/token_update_params.rb +7 -1
  81. data/lib/courier/models.rb +12 -0
  82. data/lib/courier/resources/audiences.rb +4 -2
  83. data/lib/courier/resources/audit_events.rb +2 -1
  84. data/lib/courier/resources/automations.rb +2 -1
  85. data/lib/courier/resources/brands.rb +2 -1
  86. data/lib/courier/resources/bulk.rb +2 -1
  87. data/lib/courier/resources/journeys.rb +73 -0
  88. data/lib/courier/resources/lists/subscriptions.rb +2 -1
  89. data/lib/courier/resources/lists.rb +2 -1
  90. data/lib/courier/resources/messages.rb +4 -2
  91. data/lib/courier/resources/notifications.rb +2 -1
  92. data/lib/courier/resources/profiles/lists.rb +2 -1
  93. data/lib/courier/resources/tenants/templates.rb +2 -1
  94. data/lib/courier/resources/tenants.rb +4 -2
  95. data/lib/courier/resources/users/preferences.rb +7 -4
  96. data/lib/courier/resources/users/tenants.rb +2 -1
  97. data/lib/courier/resources/users/tokens.rb +7 -9
  98. data/lib/courier/version.rb +1 -1
  99. data/lib/courier.rb +7 -0
  100. data/rbi/courier/client.rbi +3 -0
  101. data/rbi/courier/internal/util.rbi +20 -0
  102. data/rbi/courier/models/audience_delete_params.rbi +13 -5
  103. data/rbi/courier/models/audience_list_members_params.rbi +6 -0
  104. data/rbi/courier/models/audience_retrieve_params.rbi +13 -5
  105. data/rbi/courier/models/audience_update_params.rbi +6 -0
  106. data/rbi/courier/models/audit_event_retrieve_params.rbi +13 -5
  107. data/rbi/courier/models/automations/invoke_invoke_by_template_params.rbi +6 -0
  108. data/rbi/courier/models/brand_delete_params.rbi +13 -5
  109. data/rbi/courier/models/brand_retrieve_params.rbi +13 -5
  110. data/rbi/courier/models/brand_update_params.rbi +6 -0
  111. data/rbi/courier/models/bulk_add_users_params.rbi +6 -1
  112. data/rbi/courier/models/bulk_list_users_params.rbi +6 -0
  113. data/rbi/courier/models/bulk_retrieve_job_params.rbi +13 -5
  114. data/rbi/courier/models/bulk_run_job_params.rbi +13 -5
  115. data/rbi/courier/models/elemental_content.rbi +3 -9
  116. data/rbi/courier/models/journey.rbi +91 -0
  117. data/rbi/courier/models/journey_invoke_params.rbi +35 -0
  118. data/rbi/courier/models/journey_list_params.rbi +85 -0
  119. data/rbi/courier/models/journeys_invoke_request.rbi +84 -0
  120. data/rbi/courier/models/journeys_invoke_response.rbi +27 -0
  121. data/rbi/courier/models/journeys_list_response.rbi +46 -0
  122. data/rbi/courier/models/list_delete_params.rbi +13 -5
  123. data/rbi/courier/models/list_restore_params.rbi +13 -5
  124. data/rbi/courier/models/list_retrieve_params.rbi +13 -5
  125. data/rbi/courier/models/list_update_params.rbi +6 -1
  126. data/rbi/courier/models/lists/subscription_add_params.rbi +6 -1
  127. data/rbi/courier/models/lists/subscription_list_params.rbi +6 -0
  128. data/rbi/courier/models/lists/subscription_subscribe_params.rbi +6 -1
  129. data/rbi/courier/models/lists/subscription_subscribe_user_params.rbi +6 -1
  130. data/rbi/courier/models/lists/subscription_unsubscribe_user_params.rbi +10 -2
  131. data/rbi/courier/models/message_cancel_params.rbi +13 -5
  132. data/rbi/courier/models/message_content_params.rbi +13 -5
  133. data/rbi/courier/models/message_details.rbi +55 -43
  134. data/rbi/courier/models/message_history_params.rbi +10 -1
  135. data/rbi/courier/models/message_retrieve_params.rbi +13 -5
  136. data/rbi/courier/models/notification_retrieve_content_params.rbi +13 -5
  137. data/rbi/courier/models/notifications/check_delete_params.rbi +10 -2
  138. data/rbi/courier/models/notifications/check_list_params.rbi +10 -2
  139. data/rbi/courier/models/notifications/check_update_params.rbi +6 -1
  140. data/rbi/courier/models/notifications/draft_retrieve_content_params.rbi +13 -5
  141. data/rbi/courier/models/profile_create_params.rbi +6 -1
  142. data/rbi/courier/models/profile_delete_params.rbi +13 -5
  143. data/rbi/courier/models/profile_replace_params.rbi +6 -1
  144. data/rbi/courier/models/profile_retrieve_params.rbi +13 -5
  145. data/rbi/courier/models/profile_update_params.rbi +6 -0
  146. data/rbi/courier/models/profiles/list_delete_params.rbi +13 -5
  147. data/rbi/courier/models/profiles/list_retrieve_params.rbi +6 -0
  148. data/rbi/courier/models/profiles/list_subscribe_params.rbi +6 -1
  149. data/rbi/courier/models/request_archive_params.rbi +13 -5
  150. data/rbi/courier/models/tenant_delete_params.rbi +13 -5
  151. data/rbi/courier/models/tenant_list_users_params.rbi +6 -0
  152. data/rbi/courier/models/tenant_retrieve_params.rbi +13 -5
  153. data/rbi/courier/models/tenant_update_params.rbi +6 -0
  154. data/rbi/courier/models/tenants/preferences/item_delete_params.rbi +10 -2
  155. data/rbi/courier/models/tenants/preferences/item_update_params.rbi +10 -2
  156. data/rbi/courier/models/tenants/template_list_params.rbi +6 -0
  157. data/rbi/courier/models/tenants/template_publish_params.rbi +10 -2
  158. data/rbi/courier/models/tenants/template_replace_params.rbi +10 -2
  159. data/rbi/courier/models/tenants/template_retrieve_params.rbi +10 -2
  160. data/rbi/courier/models/tenants/templates/version_retrieve_params.rbi +6 -1
  161. data/rbi/courier/models/translation_retrieve_params.rbi +10 -2
  162. data/rbi/courier/models/translation_update_params.rbi +6 -1
  163. data/rbi/courier/models/users/preference_retrieve_params.rbi +6 -0
  164. data/rbi/courier/models/users/preference_retrieve_topic_params.rbi +6 -0
  165. data/rbi/courier/models/users/preference_update_or_create_topic_params.rbi +6 -0
  166. data/rbi/courier/models/users/tenant_add_multiple_params.rbi +6 -1
  167. data/rbi/courier/models/users/tenant_add_single_params.rbi +6 -1
  168. data/rbi/courier/models/users/tenant_list_params.rbi +6 -0
  169. data/rbi/courier/models/users/tenant_remove_all_params.rbi +13 -5
  170. data/rbi/courier/models/users/tenant_remove_single_params.rbi +10 -2
  171. data/rbi/courier/models/users/token_add_multiple_params.rbi +13 -5
  172. data/rbi/courier/models/users/token_add_single_params.rbi +290 -3
  173. data/rbi/courier/models/users/token_delete_params.rbi +10 -2
  174. data/rbi/courier/models/users/token_list_params.rbi +13 -5
  175. data/rbi/courier/models/users/token_retrieve_params.rbi +10 -2
  176. data/rbi/courier/models/users/token_update_params.rbi +6 -1
  177. data/rbi/courier/models.rbi +12 -0
  178. data/rbi/courier/resources/journeys.rbi +64 -0
  179. data/rbi/courier/resources/users/tokens.rbi +11 -9
  180. data/sig/courier/client.rbs +2 -0
  181. data/sig/courier/internal/util.rbs +10 -0
  182. data/sig/courier/models/audience_delete_params.rbs +11 -3
  183. data/sig/courier/models/audience_list_members_params.rbs +6 -1
  184. data/sig/courier/models/audience_retrieve_params.rbs +11 -3
  185. data/sig/courier/models/audience_update_params.rbs +5 -0
  186. data/sig/courier/models/audit_event_retrieve_params.rbs +11 -3
  187. data/sig/courier/models/automations/invoke_invoke_by_template_params.rbs +5 -0
  188. data/sig/courier/models/brand_delete_params.rbs +11 -3
  189. data/sig/courier/models/brand_retrieve_params.rbs +11 -3
  190. data/sig/courier/models/brand_update_params.rbs +5 -0
  191. data/sig/courier/models/bulk_add_users_params.rbs +5 -1
  192. data/sig/courier/models/bulk_list_users_params.rbs +6 -1
  193. data/sig/courier/models/bulk_retrieve_job_params.rbs +11 -3
  194. data/sig/courier/models/bulk_run_job_params.rbs +11 -3
  195. data/sig/courier/models/elemental_content.rbs +3 -11
  196. data/sig/courier/models/journey.rbs +55 -0
  197. data/sig/courier/models/journey_invoke_params.rbs +25 -0
  198. data/sig/courier/models/journey_list_params.rbs +45 -0
  199. data/sig/courier/models/journeys_invoke_request.rbs +36 -0
  200. data/sig/courier/models/journeys_invoke_response.rbs +13 -0
  201. data/sig/courier/models/journeys_list_response.rbs +23 -0
  202. data/sig/courier/models/list_delete_params.rbs +12 -3
  203. data/sig/courier/models/list_restore_params.rbs +11 -3
  204. data/sig/courier/models/list_retrieve_params.rbs +11 -3
  205. data/sig/courier/models/list_update_params.rbs +9 -1
  206. data/sig/courier/models/lists/subscription_add_params.rbs +8 -1
  207. data/sig/courier/models/lists/subscription_list_params.rbs +6 -1
  208. data/sig/courier/models/lists/subscription_subscribe_params.rbs +8 -1
  209. data/sig/courier/models/lists/subscription_subscribe_user_params.rbs +9 -1
  210. data/sig/courier/models/lists/subscription_unsubscribe_user_params.rbs +6 -1
  211. data/sig/courier/models/message_cancel_params.rbs +11 -3
  212. data/sig/courier/models/message_content_params.rbs +11 -3
  213. data/sig/courier/models/message_details.rbs +31 -23
  214. data/sig/courier/models/message_history_params.rbs +6 -1
  215. data/sig/courier/models/message_retrieve_params.rbs +11 -3
  216. data/sig/courier/models/notification_retrieve_content_params.rbs +8 -3
  217. data/sig/courier/models/notifications/check_delete_params.rbs +10 -2
  218. data/sig/courier/models/notifications/check_list_params.rbs +10 -2
  219. data/sig/courier/models/notifications/check_update_params.rbs +9 -1
  220. data/sig/courier/models/notifications/draft_retrieve_content_params.rbs +8 -3
  221. data/sig/courier/models/profile_create_params.rbs +5 -1
  222. data/sig/courier/models/profile_delete_params.rbs +11 -3
  223. data/sig/courier/models/profile_replace_params.rbs +5 -1
  224. data/sig/courier/models/profile_retrieve_params.rbs +11 -3
  225. data/sig/courier/models/profile_update_params.rbs +5 -1
  226. data/sig/courier/models/profiles/list_delete_params.rbs +11 -3
  227. data/sig/courier/models/profiles/list_retrieve_params.rbs +6 -1
  228. data/sig/courier/models/profiles/list_subscribe_params.rbs +8 -1
  229. data/sig/courier/models/request_archive_params.rbs +11 -3
  230. data/sig/courier/models/tenant_delete_params.rbs +11 -3
  231. data/sig/courier/models/tenant_list_users_params.rbs +5 -1
  232. data/sig/courier/models/tenant_retrieve_params.rbs +11 -3
  233. data/sig/courier/models/tenant_update_params.rbs +5 -0
  234. data/sig/courier/models/tenants/preferences/item_delete_params.rbs +6 -1
  235. data/sig/courier/models/tenants/preferences/item_update_params.rbs +8 -1
  236. data/sig/courier/models/tenants/template_list_params.rbs +5 -1
  237. data/sig/courier/models/tenants/template_publish_params.rbs +8 -1
  238. data/sig/courier/models/tenants/template_replace_params.rbs +8 -1
  239. data/sig/courier/models/tenants/template_retrieve_params.rbs +6 -1
  240. data/sig/courier/models/tenants/templates/version_retrieve_params.rbs +5 -1
  241. data/sig/courier/models/translation_retrieve_params.rbs +6 -1
  242. data/sig/courier/models/translation_update_params.rbs +5 -1
  243. data/sig/courier/models/users/preference_retrieve_params.rbs +6 -1
  244. data/sig/courier/models/users/preference_retrieve_topic_params.rbs +5 -1
  245. data/sig/courier/models/users/preference_update_or_create_topic_params.rbs +5 -0
  246. data/sig/courier/models/users/tenant_add_multiple_params.rbs +5 -1
  247. data/sig/courier/models/users/tenant_add_single_params.rbs +5 -1
  248. data/sig/courier/models/users/tenant_list_params.rbs +5 -1
  249. data/sig/courier/models/users/tenant_remove_all_params.rbs +11 -3
  250. data/sig/courier/models/users/tenant_remove_single_params.rbs +6 -1
  251. data/sig/courier/models/users/token_add_multiple_params.rbs +11 -3
  252. data/sig/courier/models/users/token_add_single_params.rbs +127 -4
  253. data/sig/courier/models/users/token_delete_params.rbs +6 -1
  254. data/sig/courier/models/users/token_list_params.rbs +11 -3
  255. data/sig/courier/models/users/token_retrieve_params.rbs +6 -1
  256. data/sig/courier/models/users/token_update_params.rbs +5 -0
  257. data/sig/courier/models.rbs +12 -0
  258. data/sig/courier/resources/journeys.rbs +21 -0
  259. data/sig/courier/resources/users/tokens.rbs +5 -6
  260. metadata +23 -2
@@ -4,7 +4,7 @@ module Courier
4
4
  module Models
5
5
  module Users
6
6
  # @see Courier::Resources::Users::Tokens#add_single
7
- class TokenAddSingleParams < Courier::Models::Users::UserToken
7
+ class TokenAddSingleParams < Courier::Internal::Type::BaseModel
8
8
  extend Courier::Internal::Type::RequestParameters::Converter
9
9
  include Courier::Internal::Type::RequestParameters
10
10
 
@@ -13,9 +13,175 @@ module Courier
13
13
  # @return [String]
14
14
  required :user_id, String
15
15
 
16
- # @!method initialize(user_id:, request_options: {})
16
+ # @!attribute token
17
+ #
18
+ # @return [String]
19
+ required :token, String
20
+
21
+ # @!attribute provider_key
22
+ #
23
+ # @return [Symbol, Courier::Models::Users::TokenAddSingleParams::ProviderKey]
24
+ required :provider_key, enum: -> { Courier::Users::TokenAddSingleParams::ProviderKey }
25
+
26
+ # @!attribute device
27
+ # Information about the device the token came from.
28
+ #
29
+ # @return [Courier::Models::Users::TokenAddSingleParams::Device, nil]
30
+ optional :device, -> { Courier::Users::TokenAddSingleParams::Device }, nil?: true
31
+
32
+ # @!attribute expiry_date
33
+ # ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
34
+ # disable expiration.
35
+ #
36
+ # @return [String, Boolean, nil]
37
+ optional :expiry_date, union: -> { Courier::Users::TokenAddSingleParams::ExpiryDate }, nil?: true
38
+
39
+ # @!attribute properties
40
+ # Properties about the token.
41
+ #
42
+ # @return [Object, nil]
43
+ optional :properties, Courier::Internal::Type::Unknown
44
+
45
+ # @!attribute tracking
46
+ # Tracking information about the device the token came from.
47
+ #
48
+ # @return [Courier::Models::Users::TokenAddSingleParams::Tracking, nil]
49
+ optional :tracking, -> { Courier::Users::TokenAddSingleParams::Tracking }, nil?: true
50
+
51
+ # @!method initialize(user_id:, token:, provider_key:, device: nil, expiry_date: nil, properties: nil, tracking: nil, request_options: {})
52
+ # Some parameter documentations has been truncated, see
53
+ # {Courier::Models::Users::TokenAddSingleParams} for more details.
54
+ #
17
55
  # @param user_id [String]
56
+ #
57
+ # @param token [String]
58
+ #
59
+ # @param provider_key [Symbol, Courier::Models::Users::TokenAddSingleParams::ProviderKey]
60
+ #
61
+ # @param device [Courier::Models::Users::TokenAddSingleParams::Device, nil] Information about the device the token came from.
62
+ #
63
+ # @param expiry_date [String, Boolean, nil] ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
64
+ #
65
+ # @param properties [Object] Properties about the token.
66
+ #
67
+ # @param tracking [Courier::Models::Users::TokenAddSingleParams::Tracking, nil] Tracking information about the device the token came from.
68
+ #
18
69
  # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
70
+
71
+ module ProviderKey
72
+ extend Courier::Internal::Type::Enum
73
+
74
+ FIREBASE_FCM = :"firebase-fcm"
75
+ APN = :apn
76
+ EXPO = :expo
77
+ ONESIGNAL = :onesignal
78
+
79
+ # @!method self.values
80
+ # @return [Array<Symbol>]
81
+ end
82
+
83
+ class Device < Courier::Internal::Type::BaseModel
84
+ # @!attribute ad_id
85
+ # Id of the advertising identifier
86
+ #
87
+ # @return [String, nil]
88
+ optional :ad_id, String, nil?: true
89
+
90
+ # @!attribute app_id
91
+ # Id of the application the token is used for
92
+ #
93
+ # @return [String, nil]
94
+ optional :app_id, String, nil?: true
95
+
96
+ # @!attribute device_id
97
+ # Id of the device the token is associated with
98
+ #
99
+ # @return [String, nil]
100
+ optional :device_id, String, nil?: true
101
+
102
+ # @!attribute manufacturer
103
+ # The device manufacturer
104
+ #
105
+ # @return [String, nil]
106
+ optional :manufacturer, String, nil?: true
107
+
108
+ # @!attribute model
109
+ # The device model
110
+ #
111
+ # @return [String, nil]
112
+ optional :model, String, nil?: true
113
+
114
+ # @!attribute platform
115
+ # The device platform i.e. android, ios, web
116
+ #
117
+ # @return [String, nil]
118
+ optional :platform, String, nil?: true
119
+
120
+ # @!method initialize(ad_id: nil, app_id: nil, device_id: nil, manufacturer: nil, model: nil, platform: nil)
121
+ # Information about the device the token came from.
122
+ #
123
+ # @param ad_id [String, nil] Id of the advertising identifier
124
+ #
125
+ # @param app_id [String, nil] Id of the application the token is used for
126
+ #
127
+ # @param device_id [String, nil] Id of the device the token is associated with
128
+ #
129
+ # @param manufacturer [String, nil] The device manufacturer
130
+ #
131
+ # @param model [String, nil] The device model
132
+ #
133
+ # @param platform [String, nil] The device platform i.e. android, ios, web
134
+ end
135
+
136
+ # ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
137
+ # disable expiration.
138
+ module ExpiryDate
139
+ extend Courier::Internal::Type::Union
140
+
141
+ variant String
142
+
143
+ variant Courier::Internal::Type::Boolean
144
+
145
+ # @!method self.variants
146
+ # @return [Array(String, Boolean)]
147
+ end
148
+
149
+ class Tracking < Courier::Internal::Type::BaseModel
150
+ # @!attribute ip
151
+ # The IP address of the device
152
+ #
153
+ # @return [String, nil]
154
+ optional :ip, String, nil?: true
155
+
156
+ # @!attribute lat
157
+ # The latitude of the device
158
+ #
159
+ # @return [String, nil]
160
+ optional :lat, String, nil?: true
161
+
162
+ # @!attribute long
163
+ # The longitude of the device
164
+ #
165
+ # @return [String, nil]
166
+ optional :long, String, nil?: true
167
+
168
+ # @!attribute os_version
169
+ # The operating system version
170
+ #
171
+ # @return [String, nil]
172
+ optional :os_version, String, nil?: true
173
+
174
+ # @!method initialize(ip: nil, lat: nil, long: nil, os_version: nil)
175
+ # Tracking information about the device the token came from.
176
+ #
177
+ # @param ip [String, nil] The IP address of the device
178
+ #
179
+ # @param lat [String, nil] The latitude of the device
180
+ #
181
+ # @param long [String, nil] The longitude of the device
182
+ #
183
+ # @param os_version [String, nil] The operating system version
184
+ end
19
185
  end
20
186
  end
21
187
  end
@@ -13,8 +13,14 @@ module Courier
13
13
  # @return [String]
14
14
  required :user_id, String
15
15
 
16
- # @!method initialize(user_id:, request_options: {})
16
+ # @!attribute token
17
+ #
18
+ # @return [String]
19
+ required :token, String
20
+
21
+ # @!method initialize(user_id:, token:, request_options: {})
17
22
  # @param user_id [String]
23
+ # @param token [String]
18
24
  # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
19
25
  end
20
26
  end
@@ -8,7 +8,13 @@ module Courier
8
8
  extend Courier::Internal::Type::RequestParameters::Converter
9
9
  include Courier::Internal::Type::RequestParameters
10
10
 
11
- # @!method initialize(request_options: {})
11
+ # @!attribute user_id
12
+ #
13
+ # @return [String]
14
+ required :user_id, String
15
+
16
+ # @!method initialize(user_id:, request_options: {})
17
+ # @param user_id [String]
12
18
  # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
13
19
  end
14
20
  end
@@ -13,8 +13,14 @@ module Courier
13
13
  # @return [String]
14
14
  required :user_id, String
15
15
 
16
- # @!method initialize(user_id:, request_options: {})
16
+ # @!attribute token
17
+ #
18
+ # @return [String]
19
+ required :token, String
20
+
21
+ # @!method initialize(user_id:, token:, request_options: {})
17
22
  # @param user_id [String]
23
+ # @param token [String]
18
24
  # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
19
25
  end
20
26
  end
@@ -13,13 +13,19 @@ module Courier
13
13
  # @return [String]
14
14
  required :user_id, String
15
15
 
16
+ # @!attribute token
17
+ #
18
+ # @return [String]
19
+ required :token, String
20
+
16
21
  # @!attribute patch
17
22
  #
18
23
  # @return [Array<Courier::Models::Users::TokenUpdateParams::Patch>]
19
24
  required :patch, -> { Courier::Internal::Type::ArrayOf[Courier::Users::TokenUpdateParams::Patch] }
20
25
 
21
- # @!method initialize(user_id:, patch:, request_options: {})
26
+ # @!method initialize(user_id:, token:, patch:, request_options: {})
22
27
  # @param user_id [String]
28
+ # @param token [String]
23
29
  # @param patch [Array<Courier::Models::Users::TokenUpdateParams::Patch>]
24
30
  # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
25
31
 
@@ -179,6 +179,18 @@ module Courier
179
179
 
180
180
  IntercomRecipient = Courier::Models::IntercomRecipient
181
181
 
182
+ Journey = Courier::Models::Journey
183
+
184
+ JourneyInvokeParams = Courier::Models::JourneyInvokeParams
185
+
186
+ JourneyListParams = Courier::Models::JourneyListParams
187
+
188
+ JourneysInvokeRequest = Courier::Models::JourneysInvokeRequest
189
+
190
+ JourneysInvokeResponse = Courier::Models::JourneysInvokeResponse
191
+
192
+ JourneysListResponse = Courier::Models::JourneysListResponse
193
+
182
194
  ListDeleteParams = Courier::Models::ListDeleteParams
183
195
 
184
196
  ListFilter = Courier::Models::ListFilter
@@ -69,10 +69,11 @@ module Courier
69
69
  # @see Courier::Models::AudienceListParams
70
70
  def list(params = {})
71
71
  parsed, options = Courier::AudienceListParams.dump_request(params)
72
+ query = Courier::Internal::Util.encode_query_params(parsed)
72
73
  @client.request(
73
74
  method: :get,
74
75
  path: "audiences",
75
- query: parsed,
76
+ query: query,
76
77
  model: Courier::Models::AudienceListResponse,
77
78
  options: options
78
79
  )
@@ -113,10 +114,11 @@ module Courier
113
114
  # @see Courier::Models::AudienceListMembersParams
114
115
  def list_members(audience_id, params = {})
115
116
  parsed, options = Courier::AudienceListMembersParams.dump_request(params)
117
+ query = Courier::Internal::Util.encode_query_params(parsed)
116
118
  @client.request(
117
119
  method: :get,
118
120
  path: ["audiences/%1$s/members", audience_id],
119
- query: parsed,
121
+ query: query,
120
122
  model: Courier::Models::AudienceListMembersResponse,
121
123
  options: options
122
124
  )
@@ -36,10 +36,11 @@ module Courier
36
36
  # @see Courier::Models::AuditEventListParams
37
37
  def list(params = {})
38
38
  parsed, options = Courier::AuditEventListParams.dump_request(params)
39
+ query = Courier::Internal::Util.encode_query_params(parsed)
39
40
  @client.request(
40
41
  method: :get,
41
42
  path: "audit-events",
42
- query: parsed,
43
+ query: query,
43
44
  model: Courier::Models::AuditEventListResponse,
44
45
  options: options
45
46
  )
@@ -24,10 +24,11 @@ module Courier
24
24
  # @see Courier::Models::AutomationListParams
25
25
  def list(params = {})
26
26
  parsed, options = Courier::AutomationListParams.dump_request(params)
27
+ query = Courier::Internal::Util.encode_query_params(parsed)
27
28
  @client.request(
28
29
  method: :get,
29
30
  path: "automations",
30
- query: parsed,
31
+ query: query,
31
32
  model: Courier::AutomationTemplateListResponse,
32
33
  options: options
33
34
  )
@@ -82,10 +82,11 @@ module Courier
82
82
  # @see Courier::Models::BrandListParams
83
83
  def list(params = {})
84
84
  parsed, options = Courier::BrandListParams.dump_request(params)
85
+ query = Courier::Internal::Util.encode_query_params(parsed)
85
86
  @client.request(
86
87
  method: :get,
87
88
  path: "brands",
88
- query: parsed,
89
+ query: query,
89
90
  model: Courier::Models::BrandListResponse,
90
91
  options: options
91
92
  )
@@ -80,10 +80,11 @@ module Courier
80
80
  # @see Courier::Models::BulkListUsersParams
81
81
  def list_users(job_id, params = {})
82
82
  parsed, options = Courier::BulkListUsersParams.dump_request(params)
83
+ query = Courier::Internal::Util.encode_query_params(parsed)
83
84
  @client.request(
84
85
  method: :get,
85
86
  path: ["bulk/%1$s/users", job_id],
86
- query: parsed,
87
+ query: query,
87
88
  model: Courier::Models::BulkListUsersResponse,
88
89
  options: options
89
90
  )
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Resources
5
+ class Journeys
6
+ # Some parameter documentations has been truncated, see
7
+ # {Courier::Models::JourneyListParams} for more details.
8
+ #
9
+ # Get the list of journeys.
10
+ #
11
+ # @overload list(cursor: nil, version: nil, request_options: {})
12
+ #
13
+ # @param cursor [String] A cursor token for pagination. Use the cursor from the previous response to fetc
14
+ #
15
+ # @param version [Symbol, Courier::Models::JourneyListParams::Version] The version of journeys to retrieve. Accepted values are published (for publishe
16
+ #
17
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}, nil]
18
+ #
19
+ # @return [Courier::Models::JourneysListResponse]
20
+ #
21
+ # @see Courier::Models::JourneyListParams
22
+ def list(params = {})
23
+ parsed, options = Courier::JourneyListParams.dump_request(params)
24
+ query = Courier::Internal::Util.encode_query_params(parsed)
25
+ @client.request(
26
+ method: :get,
27
+ path: "journeys",
28
+ query: query,
29
+ model: Courier::JourneysListResponse,
30
+ options: options
31
+ )
32
+ end
33
+
34
+ # Some parameter documentations has been truncated, see
35
+ # {Courier::Models::JourneyInvokeParams} for more details.
36
+ #
37
+ # Invoke a journey run from a journey template.
38
+ #
39
+ # @overload invoke(template_id, data: nil, profile: nil, user_id: nil, request_options: {})
40
+ #
41
+ # @param template_id [String] A unique identifier representing the journey template to be invoked. This could
42
+ #
43
+ # @param data [Hash{Symbol=>Object}] Data payload passed to the journey. The expected shape can be predefined using t
44
+ #
45
+ # @param profile [Hash{Symbol=>Object}] Profile data for the user. Can contain contact information (email, phone_number)
46
+ #
47
+ # @param user_id [String] A unique identifier for the user. If not provided, the system will attempt to re
48
+ #
49
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}, nil]
50
+ #
51
+ # @return [Courier::Models::JourneysInvokeResponse]
52
+ #
53
+ # @see Courier::Models::JourneyInvokeParams
54
+ def invoke(template_id, params = {})
55
+ parsed, options = Courier::JourneyInvokeParams.dump_request(params)
56
+ @client.request(
57
+ method: :post,
58
+ path: ["journeys/%1$s/invoke", template_id],
59
+ body: parsed,
60
+ model: Courier::JourneysInvokeResponse,
61
+ options: options
62
+ )
63
+ end
64
+
65
+ # @api private
66
+ #
67
+ # @param client [Courier::Client]
68
+ def initialize(client:)
69
+ @client = client
70
+ end
71
+ end
72
+ end
73
+ end
@@ -19,10 +19,11 @@ module Courier
19
19
  # @see Courier::Models::Lists::SubscriptionListParams
20
20
  def list(list_id, params = {})
21
21
  parsed, options = Courier::Lists::SubscriptionListParams.dump_request(params)
22
+ query = Courier::Internal::Util.encode_query_params(parsed)
22
23
  @client.request(
23
24
  method: :get,
24
25
  path: ["lists/%1$s/subscriptions", list_id],
25
- query: parsed,
26
+ query: query,
26
27
  model: Courier::Models::Lists::SubscriptionListResponse,
27
28
  options: options
28
29
  )
@@ -70,10 +70,11 @@ module Courier
70
70
  # @see Courier::Models::ListListParams
71
71
  def list(params = {})
72
72
  parsed, options = Courier::ListListParams.dump_request(params)
73
+ query = Courier::Internal::Util.encode_query_params(parsed)
73
74
  @client.request(
74
75
  method: :get,
75
76
  path: "lists",
76
- query: parsed,
77
+ query: query,
77
78
  model: Courier::Models::ListListResponse,
78
79
  options: options
79
80
  )
@@ -68,10 +68,11 @@ module Courier
68
68
  # @see Courier::Models::MessageListParams
69
69
  def list(params = {})
70
70
  parsed, options = Courier::MessageListParams.dump_request(params)
71
+ query = Courier::Internal::Util.encode_query_params(parsed)
71
72
  @client.request(
72
73
  method: :get,
73
74
  path: "messages",
74
- query: parsed.transform_keys(message_id: "messageId", trace_id: "traceId"),
75
+ query: query.transform_keys(message_id: "messageId", trace_id: "traceId"),
75
76
  model: Courier::Models::MessageListResponse,
76
77
  options: options
77
78
  )
@@ -139,10 +140,11 @@ module Courier
139
140
  # @see Courier::Models::MessageHistoryParams
140
141
  def history(message_id, params = {})
141
142
  parsed, options = Courier::MessageHistoryParams.dump_request(params)
143
+ query = Courier::Internal::Util.encode_query_params(parsed)
142
144
  @client.request(
143
145
  method: :get,
144
146
  path: ["messages/%1$s/history", message_id],
145
- query: parsed,
147
+ query: query,
146
148
  model: Courier::Models::MessageHistoryResponse,
147
149
  options: options
148
150
  )
@@ -22,10 +22,11 @@ module Courier
22
22
  # @see Courier::Models::NotificationListParams
23
23
  def list(params = {})
24
24
  parsed, options = Courier::NotificationListParams.dump_request(params)
25
+ query = Courier::Internal::Util.encode_query_params(parsed)
25
26
  @client.request(
26
27
  method: :get,
27
28
  path: "notifications",
28
- query: parsed,
29
+ query: query,
29
30
  model: Courier::Models::NotificationListResponse,
30
31
  options: options
31
32
  )
@@ -22,10 +22,11 @@ module Courier
22
22
  # @see Courier::Models::Profiles::ListRetrieveParams
23
23
  def retrieve(user_id, params = {})
24
24
  parsed, options = Courier::Profiles::ListRetrieveParams.dump_request(params)
25
+ query = Courier::Internal::Util.encode_query_params(parsed)
25
26
  @client.request(
26
27
  method: :get,
27
28
  path: ["profiles/%1$s/lists", user_id],
28
- query: parsed,
29
+ query: query,
29
30
  model: Courier::Models::Profiles::ListRetrieveResponse,
30
31
  options: options
31
32
  )
@@ -51,10 +51,11 @@ module Courier
51
51
  # @see Courier::Models::Tenants::TemplateListParams
52
52
  def list(tenant_id, params = {})
53
53
  parsed, options = Courier::Tenants::TemplateListParams.dump_request(params)
54
+ query = Courier::Internal::Util.encode_query_params(parsed)
54
55
  @client.request(
55
56
  method: :get,
56
57
  path: ["tenants/%1$s/templates", tenant_id],
57
- query: parsed,
58
+ query: query,
58
59
  model: Courier::Models::Tenants::TemplateListResponse,
59
60
  options: options
60
61
  )
@@ -86,10 +86,11 @@ module Courier
86
86
  # @see Courier::Models::TenantListParams
87
87
  def list(params = {})
88
88
  parsed, options = Courier::TenantListParams.dump_request(params)
89
+ query = Courier::Internal::Util.encode_query_params(parsed)
89
90
  @client.request(
90
91
  method: :get,
91
92
  path: "tenants",
92
- query: parsed,
93
+ query: query,
93
94
  model: Courier::Models::TenantListResponse,
94
95
  options: options
95
96
  )
@@ -135,10 +136,11 @@ module Courier
135
136
  # @see Courier::Models::TenantListUsersParams
136
137
  def list_users(tenant_id, params = {})
137
138
  parsed, options = Courier::TenantListUsersParams.dump_request(params)
139
+ query = Courier::Internal::Util.encode_query_params(parsed)
138
140
  @client.request(
139
141
  method: :get,
140
142
  path: ["tenants/%1$s/users", tenant_id],
141
- query: parsed,
143
+ query: query,
142
144
  model: Courier::Models::TenantListUsersResponse,
143
145
  options: options
144
146
  )
@@ -22,10 +22,11 @@ module Courier
22
22
  # @see Courier::Models::Users::PreferenceRetrieveParams
23
23
  def retrieve(user_id, params = {})
24
24
  parsed, options = Courier::Users::PreferenceRetrieveParams.dump_request(params)
25
+ query = Courier::Internal::Util.encode_query_params(parsed)
25
26
  @client.request(
26
27
  method: :get,
27
28
  path: ["users/%1$s/preferences", user_id],
28
- query: parsed,
29
+ query: query,
29
30
  model: Courier::Models::Users::PreferenceRetrieveResponse,
30
31
  options: options
31
32
  )
@@ -51,6 +52,7 @@ module Courier
51
52
  # @see Courier::Models::Users::PreferenceRetrieveTopicParams
52
53
  def retrieve_topic(topic_id, params)
53
54
  parsed, options = Courier::Users::PreferenceRetrieveTopicParams.dump_request(params)
55
+ query = Courier::Internal::Util.encode_query_params(parsed)
54
56
  user_id =
55
57
  parsed.delete(:user_id) do
56
58
  raise ArgumentError.new("missing required path argument #{_1}")
@@ -58,7 +60,7 @@ module Courier
58
60
  @client.request(
59
61
  method: :get,
60
62
  path: ["users/%1$s/preferences/%2$s", user_id, topic_id],
61
- query: parsed,
63
+ query: query,
62
64
  model: Courier::Models::Users::PreferenceRetrieveTopicResponse,
63
65
  options: options
64
66
  )
@@ -85,16 +87,17 @@ module Courier
85
87
  #
86
88
  # @see Courier::Models::Users::PreferenceUpdateOrCreateTopicParams
87
89
  def update_or_create_topic(topic_id, params)
90
+ query_params = [:tenant_id]
88
91
  parsed, options = Courier::Users::PreferenceUpdateOrCreateTopicParams.dump_request(params)
92
+ query = Courier::Internal::Util.encode_query_params(parsed.slice(*query_params))
89
93
  user_id =
90
94
  parsed.delete(:user_id) do
91
95
  raise ArgumentError.new("missing required path argument #{_1}")
92
96
  end
93
- query_params = [:tenant_id]
94
97
  @client.request(
95
98
  method: :put,
96
99
  path: ["users/%1$s/preferences/%2$s", user_id, topic_id],
97
- query: parsed.slice(*query_params),
100
+ query: query,
98
101
  body: parsed.except(*query_params),
99
102
  model: Courier::Models::Users::PreferenceUpdateOrCreateTopicResponse,
100
103
  options: options
@@ -24,10 +24,11 @@ module Courier
24
24
  # @see Courier::Models::Users::TenantListParams
25
25
  def list(user_id, params = {})
26
26
  parsed, options = Courier::Users::TenantListParams.dump_request(params)
27
+ query = Courier::Internal::Util.encode_query_params(parsed)
27
28
  @client.request(
28
29
  method: :get,
29
30
  path: ["users/%1$s/tenants", user_id],
30
- query: parsed,
31
+ query: query,
31
32
  model: Courier::Models::Users::TenantListResponse,
32
33
  options: options
33
34
  )
@@ -133,30 +133,28 @@ module Courier
133
133
  #
134
134
  # Adds a single token to a user and overwrites a matching existing token.
135
135
  #
136
- # @overload add_single(path_token, user_id:, body_token:, provider_key:, device: nil, expiry_date: nil, properties: nil, tracking: nil, request_options: {})
136
+ # @overload add_single(token, user_id:, provider_key:, device: nil, expiry_date: nil, properties: nil, tracking: nil, request_options: {})
137
137
  #
138
- # @param path_token [String] Path param: The full token string.
138
+ # @param token [String] Path param: The full token string.
139
139
  #
140
140
  # @param user_id [String] Path param: The user's ID. This can be any uniquely identifiable string.
141
141
  #
142
- # @param body_token [String] Body param: Full body of the token. Must match token in URL path parameter.
143
- #
144
- # @param provider_key [Symbol, Courier::Models::Users::UserToken::ProviderKey] Body param
142
+ # @param provider_key [Symbol, Courier::Models::Users::TokenAddSingleParams::ProviderKey] Body param
145
143
  #
146
- # @param device [Courier::Models::Users::UserToken::Device, nil] Body param: Information about the device the token came from.
144
+ # @param device [Courier::Models::Users::TokenAddSingleParams::Device, nil] Body param: Information about the device the token came from.
147
145
  #
148
146
  # @param expiry_date [String, Boolean, nil] Body param: ISO 8601 formatted date the token expires. Defaults to 2 months. Set
149
147
  #
150
148
  # @param properties [Object] Body param: Properties about the token.
151
149
  #
152
- # @param tracking [Courier::Models::Users::UserToken::Tracking, nil] Body param: Tracking information about the device the token came from.
150
+ # @param tracking [Courier::Models::Users::TokenAddSingleParams::Tracking, nil] Body param: Tracking information about the device the token came from.
153
151
  #
154
152
  # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}, nil]
155
153
  #
156
154
  # @return [nil]
157
155
  #
158
156
  # @see Courier::Models::Users::TokenAddSingleParams
159
- def add_single(path_token, params)
157
+ def add_single(token, params)
160
158
  parsed, options = Courier::Users::TokenAddSingleParams.dump_request(params)
161
159
  user_id =
162
160
  parsed.delete(:user_id) do
@@ -164,7 +162,7 @@ module Courier
164
162
  end
165
163
  @client.request(
166
164
  method: :put,
167
- path: ["users/%1$s/tokens/%2$s", user_id, path_token],
165
+ path: ["users/%1$s/tokens/%2$s", user_id, token],
168
166
  body: parsed,
169
167
  model: NilClass,
170
168
  options: options