trycourier 4.26.0 → 4.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +16 -19
  4. data/lib/courier/client.rb +4 -0
  5. data/lib/courier/models/bulk_add_users_params.rb +26 -0
  6. data/lib/courier/models/bulk_create_job_params.rb +29 -0
  7. data/lib/courier/models/bulk_create_job_response.rb +16 -0
  8. data/lib/courier/models/bulk_list_users_params.rb +33 -0
  9. data/lib/courier/models/bulk_list_users_response.rb +49 -0
  10. data/lib/courier/models/bulk_retrieve_job_params.rb +20 -0
  11. data/lib/courier/models/bulk_retrieve_job_response.rb +76 -0
  12. data/lib/courier/models/bulk_run_job_params.rb +20 -0
  13. data/lib/courier/models/inbound_bulk_message.rb +91 -0
  14. data/lib/courier/models/inbound_bulk_message_user.rb +54 -0
  15. data/lib/courier/models.rb +14 -0
  16. data/lib/courier/resources/broadcasts.rb +16 -9
  17. data/lib/courier/resources/bulk.rb +146 -0
  18. data/lib/courier/resources/send.rb +2 -1
  19. data/lib/courier/version.rb +1 -1
  20. data/lib/courier.rb +11 -0
  21. data/rbi/courier/client.rbi +3 -0
  22. data/rbi/courier/models/bulk_add_users_params.rbi +43 -0
  23. data/rbi/courier/models/bulk_create_job_params.rbi +54 -0
  24. data/rbi/courier/models/bulk_create_job_response.rbi +26 -0
  25. data/rbi/courier/models/bulk_list_users_params.rbi +51 -0
  26. data/rbi/courier/models/bulk_list_users_response.rbi +125 -0
  27. data/rbi/courier/models/bulk_retrieve_job_params.rbi +35 -0
  28. data/rbi/courier/models/bulk_retrieve_job_response.rbi +157 -0
  29. data/rbi/courier/models/bulk_run_job_params.rbi +35 -0
  30. data/rbi/courier/models/inbound_bulk_message.rbi +124 -0
  31. data/rbi/courier/models/inbound_bulk_message_user.rbi +88 -0
  32. data/rbi/courier/models.rbi +14 -0
  33. data/rbi/courier/resources/broadcasts.rbi +26 -4
  34. data/rbi/courier/resources/bulk.rbi +107 -0
  35. data/rbi/courier/resources/send.rbi +2 -1
  36. data/sig/courier/client.rbs +2 -0
  37. data/sig/courier/models/bulk_add_users_params.rbs +28 -0
  38. data/sig/courier/models/bulk_create_job_params.rbs +24 -0
  39. data/sig/courier/models/bulk_create_job_response.rbs +13 -0
  40. data/sig/courier/models/bulk_list_users_params.rbs +28 -0
  41. data/sig/courier/models/bulk_list_users_response.rbs +65 -0
  42. data/sig/courier/models/bulk_retrieve_job_params.rbs +23 -0
  43. data/sig/courier/models/bulk_retrieve_job_response.rbs +66 -0
  44. data/sig/courier/models/bulk_run_job_params.rbs +23 -0
  45. data/sig/courier/models/inbound_bulk_message.rbs +58 -0
  46. data/sig/courier/models/inbound_bulk_message_user.rbs +42 -0
  47. data/sig/courier/models.rbs +14 -0
  48. data/sig/courier/resources/bulk.rbs +34 -0
  49. metadata +35 -2
@@ -0,0 +1,24 @@
1
+ module Courier
2
+ module Models
3
+ type bulk_create_job_params =
4
+ { message: Courier::InboundBulkMessage }
5
+ & Courier::Internal::Type::request_parameters
6
+
7
+ class BulkCreateJobParams < Courier::Internal::Type::BaseModel
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ attr_accessor message: Courier::InboundBulkMessage
12
+
13
+ def initialize: (
14
+ message: Courier::InboundBulkMessage,
15
+ ?request_options: Courier::request_opts
16
+ ) -> void
17
+
18
+ def to_hash: -> {
19
+ message: Courier::InboundBulkMessage,
20
+ request_options: Courier::RequestOptions
21
+ }
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,13 @@
1
+ module Courier
2
+ module Models
3
+ type bulk_create_job_response = { job_id: String }
4
+
5
+ class BulkCreateJobResponse < Courier::Internal::Type::BaseModel
6
+ attr_accessor job_id: String
7
+
8
+ def initialize: (job_id: String) -> void
9
+
10
+ def to_hash: -> { job_id: String }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,28 @@
1
+ module Courier
2
+ module Models
3
+ type bulk_list_users_params =
4
+ { job_id: String, cursor: String? }
5
+ & Courier::Internal::Type::request_parameters
6
+
7
+ class BulkListUsersParams < Courier::Internal::Type::BaseModel
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ attr_accessor job_id: String
12
+
13
+ attr_accessor cursor: String?
14
+
15
+ def initialize: (
16
+ job_id: String,
17
+ ?cursor: String?,
18
+ ?request_options: Courier::request_opts
19
+ ) -> void
20
+
21
+ def to_hash: -> {
22
+ job_id: String,
23
+ cursor: String?,
24
+ request_options: Courier::RequestOptions
25
+ }
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,65 @@
1
+ module Courier
2
+ module Models
3
+ type bulk_list_users_response =
4
+ {
5
+ items: ::Array[Courier::Models::BulkListUsersResponse::Item],
6
+ paging: Courier::Paging
7
+ }
8
+
9
+ class BulkListUsersResponse < Courier::Internal::Type::BaseModel
10
+ attr_accessor items: ::Array[Courier::Models::BulkListUsersResponse::Item]
11
+
12
+ attr_accessor paging: Courier::Paging
13
+
14
+ def initialize: (
15
+ items: ::Array[Courier::Models::BulkListUsersResponse::Item],
16
+ paging: Courier::Paging
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ items: ::Array[Courier::Models::BulkListUsersResponse::Item],
21
+ paging: Courier::Paging
22
+ }
23
+
24
+ type item =
25
+ {
26
+ status: Courier::Models::BulkListUsersResponse::Item::status,
27
+ message_id: String?
28
+ }
29
+
30
+ class Item < Courier::Models::InboundBulkMessageUser
31
+ def status: -> Courier::Models::BulkListUsersResponse::Item::status
32
+
33
+ def status=: (
34
+ Courier::Models::BulkListUsersResponse::Item::status _
35
+ ) -> Courier::Models::BulkListUsersResponse::Item::status
36
+
37
+ def message_id: -> String?
38
+
39
+ def message_id=: (String? _) -> String?
40
+
41
+ def initialize: (
42
+ status: Courier::Models::BulkListUsersResponse::Item::status,
43
+ ?message_id: String?
44
+ ) -> void
45
+
46
+ def to_hash: -> {
47
+ status: Courier::Models::BulkListUsersResponse::Item::status,
48
+ message_id: String?
49
+ }
50
+
51
+ type status = :PENDING | :ENQUEUED | :ERROR
52
+
53
+ module Status
54
+ extend Courier::Internal::Type::Enum
55
+
56
+ PENDING: :PENDING
57
+ ENQUEUED: :ENQUEUED
58
+ ERROR: :ERROR
59
+
60
+ def self?.values: -> ::Array[Courier::Models::BulkListUsersResponse::Item::status]
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,23 @@
1
+ module Courier
2
+ module Models
3
+ type bulk_retrieve_job_params =
4
+ { job_id: String } & Courier::Internal::Type::request_parameters
5
+
6
+ class BulkRetrieveJobParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ attr_accessor job_id: String
11
+
12
+ def initialize: (
13
+ job_id: String,
14
+ ?request_options: Courier::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ job_id: String,
19
+ request_options: Courier::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,66 @@
1
+ module Courier
2
+ module Models
3
+ type bulk_retrieve_job_response =
4
+ { job: Courier::Models::BulkRetrieveJobResponse::Job }
5
+
6
+ class BulkRetrieveJobResponse < Courier::Internal::Type::BaseModel
7
+ attr_accessor job: Courier::Models::BulkRetrieveJobResponse::Job
8
+
9
+ def initialize: (
10
+ job: Courier::Models::BulkRetrieveJobResponse::Job
11
+ ) -> void
12
+
13
+ def to_hash: -> { job: Courier::Models::BulkRetrieveJobResponse::Job }
14
+
15
+ type job =
16
+ {
17
+ definition: Courier::InboundBulkMessage,
18
+ enqueued: Integer,
19
+ failures: Integer,
20
+ received: Integer,
21
+ status: Courier::Models::BulkRetrieveJobResponse::Job::status
22
+ }
23
+
24
+ class Job < Courier::Internal::Type::BaseModel
25
+ attr_accessor definition: Courier::InboundBulkMessage
26
+
27
+ attr_accessor enqueued: Integer
28
+
29
+ attr_accessor failures: Integer
30
+
31
+ attr_accessor received: Integer
32
+
33
+ attr_accessor status: Courier::Models::BulkRetrieveJobResponse::Job::status
34
+
35
+ def initialize: (
36
+ definition: Courier::InboundBulkMessage,
37
+ enqueued: Integer,
38
+ failures: Integer,
39
+ received: Integer,
40
+ status: Courier::Models::BulkRetrieveJobResponse::Job::status
41
+ ) -> void
42
+
43
+ def to_hash: -> {
44
+ definition: Courier::InboundBulkMessage,
45
+ enqueued: Integer,
46
+ failures: Integer,
47
+ received: Integer,
48
+ status: Courier::Models::BulkRetrieveJobResponse::Job::status
49
+ }
50
+
51
+ type status = :CREATED | :PROCESSING | :COMPLETED | :ERROR
52
+
53
+ module Status
54
+ extend Courier::Internal::Type::Enum
55
+
56
+ CREATED: :CREATED
57
+ PROCESSING: :PROCESSING
58
+ COMPLETED: :COMPLETED
59
+ ERROR: :ERROR
60
+
61
+ def self?.values: -> ::Array[Courier::Models::BulkRetrieveJobResponse::Job::status]
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,23 @@
1
+ module Courier
2
+ module Models
3
+ type bulk_run_job_params =
4
+ { job_id: String } & Courier::Internal::Type::request_parameters
5
+
6
+ class BulkRunJobParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ attr_accessor job_id: String
11
+
12
+ def initialize: (
13
+ job_id: String,
14
+ ?request_options: Courier::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ job_id: String,
19
+ request_options: Courier::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,58 @@
1
+ module Courier
2
+ module Models
3
+ type inbound_bulk_message =
4
+ {
5
+ event: String,
6
+ brand: String?,
7
+ content: Courier::Models::InboundBulkMessage::content?,
8
+ data: ::Hash[Symbol, top]?,
9
+ locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
10
+ override: ::Hash[Symbol, top]?,
11
+ template: String?
12
+ }
13
+
14
+ class InboundBulkMessage < Courier::Internal::Type::BaseModel
15
+ attr_accessor event: String
16
+
17
+ attr_accessor brand: String?
18
+
19
+ attr_accessor content: Courier::Models::InboundBulkMessage::content?
20
+
21
+ attr_accessor data: ::Hash[Symbol, top]?
22
+
23
+ attr_accessor locale: ::Hash[Symbol, ::Hash[Symbol, top]]?
24
+
25
+ attr_accessor override: ::Hash[Symbol, top]?
26
+
27
+ attr_accessor template: String?
28
+
29
+ def initialize: (
30
+ event: String,
31
+ ?brand: String?,
32
+ ?content: Courier::Models::InboundBulkMessage::content?,
33
+ ?data: ::Hash[Symbol, top]?,
34
+ ?locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
35
+ ?override: ::Hash[Symbol, top]?,
36
+ ?template: String?
37
+ ) -> void
38
+
39
+ def to_hash: -> {
40
+ event: String,
41
+ brand: String?,
42
+ content: Courier::Models::InboundBulkMessage::content?,
43
+ data: ::Hash[Symbol, top]?,
44
+ locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
45
+ override: ::Hash[Symbol, top]?,
46
+ template: String?
47
+ }
48
+
49
+ type content = Courier::ElementalContentSugar | Courier::ElementalContent
50
+
51
+ module Content
52
+ extend Courier::Internal::Type::Union
53
+
54
+ def self?.variants: -> ::Array[Courier::Models::InboundBulkMessage::content]
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,42 @@
1
+ module Courier
2
+ module Models
3
+ type inbound_bulk_message_user =
4
+ {
5
+ data: top,
6
+ preferences: Courier::RecipientPreferences?,
7
+ profile: ::Hash[Symbol, top]?,
8
+ recipient: String?,
9
+ to: Courier::UserRecipient?
10
+ }
11
+
12
+ class InboundBulkMessageUser < Courier::Internal::Type::BaseModel
13
+ attr_reader data: top?
14
+
15
+ def data=: (top) -> top
16
+
17
+ attr_accessor preferences: Courier::RecipientPreferences?
18
+
19
+ attr_accessor profile: ::Hash[Symbol, top]?
20
+
21
+ attr_accessor recipient: String?
22
+
23
+ attr_accessor to: Courier::UserRecipient?
24
+
25
+ def initialize: (
26
+ ?data: top,
27
+ ?preferences: Courier::RecipientPreferences?,
28
+ ?profile: ::Hash[Symbol, top]?,
29
+ ?recipient: String?,
30
+ ?to: Courier::UserRecipient?
31
+ ) -> void
32
+
33
+ def to_hash: -> {
34
+ data: top,
35
+ preferences: Courier::RecipientPreferences?,
36
+ profile: ::Hash[Symbol, top]?,
37
+ recipient: String?,
38
+ to: Courier::UserRecipient?
39
+ }
40
+ end
41
+ end
42
+ end
@@ -101,6 +101,16 @@ module Courier
101
101
 
102
102
  class BroadcastUpdateParams = Courier::Models::BroadcastUpdateParams
103
103
 
104
+ class BulkAddUsersParams = Courier::Models::BulkAddUsersParams
105
+
106
+ class BulkCreateJobParams = Courier::Models::BulkCreateJobParams
107
+
108
+ class BulkListUsersParams = Courier::Models::BulkListUsersParams
109
+
110
+ class BulkRetrieveJobParams = Courier::Models::BulkRetrieveJobParams
111
+
112
+ class BulkRunJobParams = Courier::Models::BulkRunJobParams
113
+
104
114
  module CancelJourneyRequest = Courier::Models::CancelJourneyRequest
105
115
 
106
116
  module CancelJourneyResponse = Courier::Models::CancelJourneyResponse
@@ -173,6 +183,10 @@ module Courier
173
183
 
174
184
  class Icons = Courier::Models::Icons
175
185
 
186
+ class InboundBulkMessage = Courier::Models::InboundBulkMessage
187
+
188
+ class InboundBulkMessageUser = Courier::Models::InboundBulkMessageUser
189
+
176
190
  class InboundTrackEventParams = Courier::Models::InboundTrackEventParams
177
191
 
178
192
  class Intercom = Courier::Models::Intercom
@@ -0,0 +1,34 @@
1
+ module Courier
2
+ module Resources
3
+ class Bulk
4
+ def add_users: (
5
+ String job_id,
6
+ users: ::Array[Courier::InboundBulkMessageUser],
7
+ ?request_options: Courier::request_opts
8
+ ) -> nil
9
+
10
+ def create_job: (
11
+ message: Courier::InboundBulkMessage,
12
+ ?request_options: Courier::request_opts
13
+ ) -> Courier::Models::BulkCreateJobResponse
14
+
15
+ def list_users: (
16
+ String job_id,
17
+ ?cursor: String?,
18
+ ?request_options: Courier::request_opts
19
+ ) -> Courier::Models::BulkListUsersResponse
20
+
21
+ def retrieve_job: (
22
+ String job_id,
23
+ ?request_options: Courier::request_opts
24
+ ) -> Courier::Models::BulkRetrieveJobResponse
25
+
26
+ def run_job: (
27
+ String job_id,
28
+ ?request_options: Courier::request_opts
29
+ ) -> nil
30
+
31
+ def initialize: (client: Courier::Client) -> void
32
+ end
33
+ end
34
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trycourier
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.26.0
4
+ version: 4.26.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Courier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-10 00:00:00.000000000 Z
11
+ date: 2026-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -127,6 +127,14 @@ files:
127
127
  - lib/courier/models/broadcast_schedule_params.rb
128
128
  - lib/courier/models/broadcast_send_params.rb
129
129
  - lib/courier/models/broadcast_update_params.rb
130
+ - lib/courier/models/bulk_add_users_params.rb
131
+ - lib/courier/models/bulk_create_job_params.rb
132
+ - lib/courier/models/bulk_create_job_response.rb
133
+ - lib/courier/models/bulk_list_users_params.rb
134
+ - lib/courier/models/bulk_list_users_response.rb
135
+ - lib/courier/models/bulk_retrieve_job_params.rb
136
+ - lib/courier/models/bulk_retrieve_job_response.rb
137
+ - lib/courier/models/bulk_run_job_params.rb
130
138
  - lib/courier/models/cancel_journey_request.rb
131
139
  - lib/courier/models/cancel_journey_response.rb
132
140
  - lib/courier/models/channel.rb
@@ -164,6 +172,8 @@ files:
164
172
  - lib/courier/models/expo.rb
165
173
  - lib/courier/models/filter_config.rb
166
174
  - lib/courier/models/icons.rb
175
+ - lib/courier/models/inbound_bulk_message.rb
176
+ - lib/courier/models/inbound_bulk_message_user.rb
167
177
  - lib/courier/models/inbound_track_event_params.rb
168
178
  - lib/courier/models/inbound_track_event_response.rb
169
179
  - lib/courier/models/intercom.rb
@@ -459,6 +469,7 @@ files:
459
469
  - lib/courier/resources/automations/invoke.rb
460
470
  - lib/courier/resources/brands.rb
461
471
  - lib/courier/resources/broadcasts.rb
472
+ - lib/courier/resources/bulk.rb
462
473
  - lib/courier/resources/digests.rb
463
474
  - lib/courier/resources/digests/schedules.rb
464
475
  - lib/courier/resources/inbound.rb
@@ -567,6 +578,14 @@ files:
567
578
  - rbi/courier/models/broadcast_schedule_params.rbi
568
579
  - rbi/courier/models/broadcast_send_params.rbi
569
580
  - rbi/courier/models/broadcast_update_params.rbi
581
+ - rbi/courier/models/bulk_add_users_params.rbi
582
+ - rbi/courier/models/bulk_create_job_params.rbi
583
+ - rbi/courier/models/bulk_create_job_response.rbi
584
+ - rbi/courier/models/bulk_list_users_params.rbi
585
+ - rbi/courier/models/bulk_list_users_response.rbi
586
+ - rbi/courier/models/bulk_retrieve_job_params.rbi
587
+ - rbi/courier/models/bulk_retrieve_job_response.rbi
588
+ - rbi/courier/models/bulk_run_job_params.rbi
570
589
  - rbi/courier/models/cancel_journey_request.rbi
571
590
  - rbi/courier/models/cancel_journey_response.rbi
572
591
  - rbi/courier/models/channel.rbi
@@ -604,6 +623,8 @@ files:
604
623
  - rbi/courier/models/expo.rbi
605
624
  - rbi/courier/models/filter_config.rbi
606
625
  - rbi/courier/models/icons.rbi
626
+ - rbi/courier/models/inbound_bulk_message.rbi
627
+ - rbi/courier/models/inbound_bulk_message_user.rbi
607
628
  - rbi/courier/models/inbound_track_event_params.rbi
608
629
  - rbi/courier/models/inbound_track_event_response.rbi
609
630
  - rbi/courier/models/intercom.rbi
@@ -899,6 +920,7 @@ files:
899
920
  - rbi/courier/resources/automations/invoke.rbi
900
921
  - rbi/courier/resources/brands.rbi
901
922
  - rbi/courier/resources/broadcasts.rbi
923
+ - rbi/courier/resources/bulk.rbi
902
924
  - rbi/courier/resources/digests.rbi
903
925
  - rbi/courier/resources/digests/schedules.rbi
904
926
  - rbi/courier/resources/inbound.rbi
@@ -1006,6 +1028,14 @@ files:
1006
1028
  - sig/courier/models/broadcast_schedule_params.rbs
1007
1029
  - sig/courier/models/broadcast_send_params.rbs
1008
1030
  - sig/courier/models/broadcast_update_params.rbs
1031
+ - sig/courier/models/bulk_add_users_params.rbs
1032
+ - sig/courier/models/bulk_create_job_params.rbs
1033
+ - sig/courier/models/bulk_create_job_response.rbs
1034
+ - sig/courier/models/bulk_list_users_params.rbs
1035
+ - sig/courier/models/bulk_list_users_response.rbs
1036
+ - sig/courier/models/bulk_retrieve_job_params.rbs
1037
+ - sig/courier/models/bulk_retrieve_job_response.rbs
1038
+ - sig/courier/models/bulk_run_job_params.rbs
1009
1039
  - sig/courier/models/cancel_journey_request.rbs
1010
1040
  - sig/courier/models/cancel_journey_response.rbs
1011
1041
  - sig/courier/models/channel.rbs
@@ -1043,6 +1073,8 @@ files:
1043
1073
  - sig/courier/models/expo.rbs
1044
1074
  - sig/courier/models/filter_config.rbs
1045
1075
  - sig/courier/models/icons.rbs
1076
+ - sig/courier/models/inbound_bulk_message.rbs
1077
+ - sig/courier/models/inbound_bulk_message_user.rbs
1046
1078
  - sig/courier/models/inbound_track_event_params.rbs
1047
1079
  - sig/courier/models/inbound_track_event_response.rbs
1048
1080
  - sig/courier/models/intercom.rbs
@@ -1338,6 +1370,7 @@ files:
1338
1370
  - sig/courier/resources/automations/invoke.rbs
1339
1371
  - sig/courier/resources/brands.rbs
1340
1372
  - sig/courier/resources/broadcasts.rbs
1373
+ - sig/courier/resources/bulk.rbs
1341
1374
  - sig/courier/resources/digests.rbs
1342
1375
  - sig/courier/resources/digests/schedules.rbs
1343
1376
  - sig/courier/resources/inbound.rbs