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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/README.md +16 -19
- data/lib/courier/client.rb +4 -0
- data/lib/courier/models/bulk_add_users_params.rb +26 -0
- data/lib/courier/models/bulk_create_job_params.rb +29 -0
- data/lib/courier/models/bulk_create_job_response.rb +16 -0
- data/lib/courier/models/bulk_list_users_params.rb +33 -0
- data/lib/courier/models/bulk_list_users_response.rb +49 -0
- data/lib/courier/models/bulk_retrieve_job_params.rb +20 -0
- data/lib/courier/models/bulk_retrieve_job_response.rb +76 -0
- data/lib/courier/models/bulk_run_job_params.rb +20 -0
- data/lib/courier/models/inbound_bulk_message.rb +91 -0
- data/lib/courier/models/inbound_bulk_message_user.rb +54 -0
- data/lib/courier/models.rb +14 -0
- data/lib/courier/resources/broadcasts.rb +16 -9
- data/lib/courier/resources/bulk.rb +146 -0
- data/lib/courier/resources/send.rb +2 -1
- data/lib/courier/version.rb +1 -1
- data/lib/courier.rb +11 -0
- data/rbi/courier/client.rbi +3 -0
- data/rbi/courier/models/bulk_add_users_params.rbi +43 -0
- data/rbi/courier/models/bulk_create_job_params.rbi +54 -0
- data/rbi/courier/models/bulk_create_job_response.rbi +26 -0
- data/rbi/courier/models/bulk_list_users_params.rbi +51 -0
- data/rbi/courier/models/bulk_list_users_response.rbi +125 -0
- data/rbi/courier/models/bulk_retrieve_job_params.rbi +35 -0
- data/rbi/courier/models/bulk_retrieve_job_response.rbi +157 -0
- data/rbi/courier/models/bulk_run_job_params.rbi +35 -0
- data/rbi/courier/models/inbound_bulk_message.rbi +124 -0
- data/rbi/courier/models/inbound_bulk_message_user.rbi +88 -0
- data/rbi/courier/models.rbi +14 -0
- data/rbi/courier/resources/broadcasts.rbi +26 -4
- data/rbi/courier/resources/bulk.rbi +107 -0
- data/rbi/courier/resources/send.rbi +2 -1
- data/sig/courier/client.rbs +2 -0
- data/sig/courier/models/bulk_add_users_params.rbs +28 -0
- data/sig/courier/models/bulk_create_job_params.rbs +24 -0
- data/sig/courier/models/bulk_create_job_response.rbs +13 -0
- data/sig/courier/models/bulk_list_users_params.rbs +28 -0
- data/sig/courier/models/bulk_list_users_response.rbs +65 -0
- data/sig/courier/models/bulk_retrieve_job_params.rbs +23 -0
- data/sig/courier/models/bulk_retrieve_job_response.rbs +66 -0
- data/sig/courier/models/bulk_run_job_params.rbs +23 -0
- data/sig/courier/models/inbound_bulk_message.rbs +58 -0
- data/sig/courier/models/inbound_bulk_message_user.rbs +42 -0
- data/sig/courier/models.rbs +14 -0
- data/sig/courier/resources/bulk.rbs +34 -0
- metadata +35 -2
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Resources
|
|
5
|
+
class Bulk
|
|
6
|
+
# Ingest user data into a Bulk Job.
|
|
7
|
+
#
|
|
8
|
+
# **Important**: For email-based bulk jobs, each user must include `profile.email`
|
|
9
|
+
# for provider routing to work correctly. The `to.email` field is not sufficient
|
|
10
|
+
# for email provider routing.
|
|
11
|
+
#
|
|
12
|
+
# @overload add_users(job_id, users:, request_options: {})
|
|
13
|
+
#
|
|
14
|
+
# @param job_id [String] A unique identifier representing the bulk job
|
|
15
|
+
#
|
|
16
|
+
# @param users [Array<Courier::Models::InboundBulkMessageUser>]
|
|
17
|
+
#
|
|
18
|
+
# @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
19
|
+
#
|
|
20
|
+
# @return [nil]
|
|
21
|
+
#
|
|
22
|
+
# @see Courier::Models::BulkAddUsersParams
|
|
23
|
+
def add_users(job_id, params)
|
|
24
|
+
parsed, options = Courier::BulkAddUsersParams.dump_request(params)
|
|
25
|
+
@client.request(
|
|
26
|
+
method: :post,
|
|
27
|
+
path: ["bulk/%1$s", job_id],
|
|
28
|
+
body: parsed,
|
|
29
|
+
model: NilClass,
|
|
30
|
+
options: options
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Some parameter documentations has been truncated, see
|
|
35
|
+
# {Courier::Models::BulkCreateJobParams} for more details.
|
|
36
|
+
#
|
|
37
|
+
# Creates a new bulk job for sending messages to multiple recipients.
|
|
38
|
+
#
|
|
39
|
+
# **Required**: `message.event` (event ID or notification ID)
|
|
40
|
+
#
|
|
41
|
+
# **Optional (V2 format)**: `message.template` (notification ID) or
|
|
42
|
+
# `message.content` (Elemental content) can be provided to override the
|
|
43
|
+
# notification associated with the event.
|
|
44
|
+
#
|
|
45
|
+
# @overload create_job(message:, request_options: {})
|
|
46
|
+
#
|
|
47
|
+
# @param message [Courier::Models::InboundBulkMessage] Bulk message definition. Supports two formats:
|
|
48
|
+
#
|
|
49
|
+
# @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
50
|
+
#
|
|
51
|
+
# @return [Courier::Models::BulkCreateJobResponse]
|
|
52
|
+
#
|
|
53
|
+
# @see Courier::Models::BulkCreateJobParams
|
|
54
|
+
def create_job(params)
|
|
55
|
+
parsed, options = Courier::BulkCreateJobParams.dump_request(params)
|
|
56
|
+
@client.request(
|
|
57
|
+
method: :post,
|
|
58
|
+
path: "bulk",
|
|
59
|
+
body: parsed,
|
|
60
|
+
model: Courier::Models::BulkCreateJobResponse,
|
|
61
|
+
options: options
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Some parameter documentations has been truncated, see
|
|
66
|
+
# {Courier::Models::BulkListUsersParams} for more details.
|
|
67
|
+
#
|
|
68
|
+
# Returns the users ingested into a bulk job with paging, each carrying the status
|
|
69
|
+
# Courier recorded for it and the id of the message it produced.
|
|
70
|
+
#
|
|
71
|
+
# @overload list_users(job_id, cursor: nil, request_options: {})
|
|
72
|
+
#
|
|
73
|
+
# @param job_id [String] A unique identifier representing the bulk job
|
|
74
|
+
#
|
|
75
|
+
# @param cursor [String, nil] A unique identifier that allows for fetching the next set of users added to the
|
|
76
|
+
#
|
|
77
|
+
# @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
78
|
+
#
|
|
79
|
+
# @return [Courier::Models::BulkListUsersResponse]
|
|
80
|
+
#
|
|
81
|
+
# @see Courier::Models::BulkListUsersParams
|
|
82
|
+
def list_users(job_id, params = {})
|
|
83
|
+
parsed, options = Courier::BulkListUsersParams.dump_request(params)
|
|
84
|
+
query = Courier::Internal::Util.encode_query_params(parsed)
|
|
85
|
+
@client.request(
|
|
86
|
+
method: :get,
|
|
87
|
+
path: ["bulk/%1$s/users", job_id],
|
|
88
|
+
query: query,
|
|
89
|
+
model: Courier::Models::BulkListUsersResponse,
|
|
90
|
+
options: options
|
|
91
|
+
)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Returns a bulk job's message definition, its status — CREATED, PROCESSING,
|
|
95
|
+
# COMPLETED, or ERROR — and running counts of users received, messages enqueued,
|
|
96
|
+
# and failures. Poll it to follow a job through to completion.
|
|
97
|
+
#
|
|
98
|
+
# @overload retrieve_job(job_id, request_options: {})
|
|
99
|
+
#
|
|
100
|
+
# @param job_id [String] A unique identifier representing the bulk job
|
|
101
|
+
#
|
|
102
|
+
# @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
103
|
+
#
|
|
104
|
+
# @return [Courier::Models::BulkRetrieveJobResponse]
|
|
105
|
+
#
|
|
106
|
+
# @see Courier::Models::BulkRetrieveJobParams
|
|
107
|
+
def retrieve_job(job_id, params = {})
|
|
108
|
+
@client.request(
|
|
109
|
+
method: :get,
|
|
110
|
+
path: ["bulk/%1$s", job_id],
|
|
111
|
+
model: Courier::Models::BulkRetrieveJobResponse,
|
|
112
|
+
options: params[:request_options]
|
|
113
|
+
)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Starts processing a bulk job, sending to every user ingested into it. Returns
|
|
117
|
+
# 204 immediately; the job runs asynchronously, so poll the job to watch its
|
|
118
|
+
# status and counts.
|
|
119
|
+
#
|
|
120
|
+
# @overload run_job(job_id, request_options: {})
|
|
121
|
+
#
|
|
122
|
+
# @param job_id [String] A unique identifier representing the bulk job
|
|
123
|
+
#
|
|
124
|
+
# @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
125
|
+
#
|
|
126
|
+
# @return [nil]
|
|
127
|
+
#
|
|
128
|
+
# @see Courier::Models::BulkRunJobParams
|
|
129
|
+
def run_job(job_id, params = {})
|
|
130
|
+
@client.request(
|
|
131
|
+
method: :post,
|
|
132
|
+
path: ["bulk/%1$s/run", job_id],
|
|
133
|
+
model: NilClass,
|
|
134
|
+
options: params[:request_options]
|
|
135
|
+
)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# @api private
|
|
139
|
+
#
|
|
140
|
+
# @param client [Courier::Client]
|
|
141
|
+
def initialize(client:)
|
|
142
|
+
@client = client
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
end
|
|
@@ -9,7 +9,8 @@ module Courier
|
|
|
9
9
|
# {Courier::Models::SendMessageParams} for more details.
|
|
10
10
|
#
|
|
11
11
|
# Sends a message to one or more recipients and returns a requestId. Courier
|
|
12
|
-
# routes it to email, SMS, push, chat, or in-app based on your rules.
|
|
12
|
+
# routes it to email, SMS, push, chat, or in-app based on your rules. Use the
|
|
13
|
+
# returned requestId to look up delivery status via the Messages API.
|
|
13
14
|
#
|
|
14
15
|
# @overload message(message:, idempotency_key: nil, x_idempotency_expiration: nil, request_options: {})
|
|
15
16
|
#
|
data/lib/courier/version.rb
CHANGED
data/lib/courier.rb
CHANGED
|
@@ -59,6 +59,7 @@ require_relative "courier/models/notification_content_put_request"
|
|
|
59
59
|
require_relative "courier/models/schedule_broadcast_request"
|
|
60
60
|
require_relative "courier/models/send_broadcast_request"
|
|
61
61
|
require_relative "courier/models/update_broadcast_request"
|
|
62
|
+
require_relative "courier/models/inbound_bulk_message_user"
|
|
62
63
|
require_relative "courier/models/base_check"
|
|
63
64
|
require_relative "courier/models/subscription_topic_new"
|
|
64
65
|
require_relative "courier/models/elemental_channel_node"
|
|
@@ -142,6 +143,14 @@ require_relative "courier/models/broadcast_schedule"
|
|
|
142
143
|
require_relative "courier/models/broadcast_schedule_params"
|
|
143
144
|
require_relative "courier/models/broadcast_send_params"
|
|
144
145
|
require_relative "courier/models/broadcast_update_params"
|
|
146
|
+
require_relative "courier/models/bulk_add_users_params"
|
|
147
|
+
require_relative "courier/models/bulk_create_job_params"
|
|
148
|
+
require_relative "courier/models/bulk_create_job_response"
|
|
149
|
+
require_relative "courier/models/bulk_list_users_params"
|
|
150
|
+
require_relative "courier/models/bulk_list_users_response"
|
|
151
|
+
require_relative "courier/models/bulk_retrieve_job_params"
|
|
152
|
+
require_relative "courier/models/bulk_retrieve_job_response"
|
|
153
|
+
require_relative "courier/models/bulk_run_job_params"
|
|
145
154
|
require_relative "courier/models/cancel_journey_response"
|
|
146
155
|
require_relative "courier/models/channel"
|
|
147
156
|
require_relative "courier/models/channel_classification"
|
|
@@ -174,6 +183,7 @@ require_relative "courier/models/email_header"
|
|
|
174
183
|
require_relative "courier/models/expo"
|
|
175
184
|
require_relative "courier/models/filter_config"
|
|
176
185
|
require_relative "courier/models/icons"
|
|
186
|
+
require_relative "courier/models/inbound_bulk_message"
|
|
177
187
|
require_relative "courier/models/inbound_track_event_params"
|
|
178
188
|
require_relative "courier/models/inbound_track_event_response"
|
|
179
189
|
require_relative "courier/models/intercom"
|
|
@@ -442,6 +452,7 @@ require_relative "courier/resources/automations"
|
|
|
442
452
|
require_relative "courier/resources/automations/invoke"
|
|
443
453
|
require_relative "courier/resources/brands"
|
|
444
454
|
require_relative "courier/resources/broadcasts"
|
|
455
|
+
require_relative "courier/resources/bulk"
|
|
445
456
|
require_relative "courier/resources/digests"
|
|
446
457
|
require_relative "courier/resources/digests/schedules"
|
|
447
458
|
require_relative "courier/resources/inbound"
|
data/rbi/courier/client.rbi
CHANGED
|
@@ -53,6 +53,9 @@ module Courier
|
|
|
53
53
|
sig { returns(Courier::Resources::Broadcasts) }
|
|
54
54
|
attr_reader :broadcasts
|
|
55
55
|
|
|
56
|
+
sig { returns(Courier::Resources::Bulk) }
|
|
57
|
+
attr_reader :bulk
|
|
58
|
+
|
|
56
59
|
# Manage the logos, colors, and layout that give the templates you send a
|
|
57
60
|
# consistent look.
|
|
58
61
|
sig { returns(Courier::Resources::Brands) }
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
class BulkAddUsersParams < Courier::Internal::Type::BaseModel
|
|
6
|
+
extend Courier::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Courier::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Courier::BulkAddUsersParams, Courier::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :job_id
|
|
16
|
+
|
|
17
|
+
sig { returns(T::Array[Courier::InboundBulkMessageUser]) }
|
|
18
|
+
attr_accessor :users
|
|
19
|
+
|
|
20
|
+
sig do
|
|
21
|
+
params(
|
|
22
|
+
job_id: String,
|
|
23
|
+
users: T::Array[Courier::InboundBulkMessageUser::OrHash],
|
|
24
|
+
request_options: Courier::RequestOptions::OrHash
|
|
25
|
+
).returns(T.attached_class)
|
|
26
|
+
end
|
|
27
|
+
def self.new(job_id:, users:, request_options: {})
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
override.returns(
|
|
32
|
+
{
|
|
33
|
+
job_id: String,
|
|
34
|
+
users: T::Array[Courier::InboundBulkMessageUser],
|
|
35
|
+
request_options: Courier::RequestOptions
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
def to_hash
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
class BulkCreateJobParams < Courier::Internal::Type::BaseModel
|
|
6
|
+
extend Courier::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Courier::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Courier::BulkCreateJobParams, Courier::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Bulk message definition. Supports two formats:
|
|
15
|
+
#
|
|
16
|
+
# - V1 format: Requires `event` field (event ID or notification ID)
|
|
17
|
+
# - V2 format: Optionally use `template` (notification ID) or `content` (Elemental
|
|
18
|
+
# content) in addition to `event`
|
|
19
|
+
sig { returns(Courier::InboundBulkMessage) }
|
|
20
|
+
attr_reader :message
|
|
21
|
+
|
|
22
|
+
sig { params(message: Courier::InboundBulkMessage::OrHash).void }
|
|
23
|
+
attr_writer :message
|
|
24
|
+
|
|
25
|
+
sig do
|
|
26
|
+
params(
|
|
27
|
+
message: Courier::InboundBulkMessage::OrHash,
|
|
28
|
+
request_options: Courier::RequestOptions::OrHash
|
|
29
|
+
).returns(T.attached_class)
|
|
30
|
+
end
|
|
31
|
+
def self.new(
|
|
32
|
+
# Bulk message definition. Supports two formats:
|
|
33
|
+
#
|
|
34
|
+
# - V1 format: Requires `event` field (event ID or notification ID)
|
|
35
|
+
# - V2 format: Optionally use `template` (notification ID) or `content` (Elemental
|
|
36
|
+
# content) in addition to `event`
|
|
37
|
+
message:,
|
|
38
|
+
request_options: {}
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
sig do
|
|
43
|
+
override.returns(
|
|
44
|
+
{
|
|
45
|
+
message: Courier::InboundBulkMessage,
|
|
46
|
+
request_options: Courier::RequestOptions
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
def to_hash
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
class BulkCreateJobResponse < Courier::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Courier::Models::BulkCreateJobResponse,
|
|
10
|
+
Courier::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :job_id
|
|
16
|
+
|
|
17
|
+
sig { params(job_id: String).returns(T.attached_class) }
|
|
18
|
+
def self.new(job_id:)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
sig { override.returns({ job_id: String }) }
|
|
22
|
+
def to_hash
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
class BulkListUsersParams < Courier::Internal::Type::BaseModel
|
|
6
|
+
extend Courier::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Courier::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Courier::BulkListUsersParams, Courier::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :job_id
|
|
16
|
+
|
|
17
|
+
# A unique identifier that allows for fetching the next set of users added to the
|
|
18
|
+
# bulk job
|
|
19
|
+
sig { returns(T.nilable(String)) }
|
|
20
|
+
attr_accessor :cursor
|
|
21
|
+
|
|
22
|
+
sig do
|
|
23
|
+
params(
|
|
24
|
+
job_id: String,
|
|
25
|
+
cursor: T.nilable(String),
|
|
26
|
+
request_options: Courier::RequestOptions::OrHash
|
|
27
|
+
).returns(T.attached_class)
|
|
28
|
+
end
|
|
29
|
+
def self.new(
|
|
30
|
+
job_id:,
|
|
31
|
+
# A unique identifier that allows for fetching the next set of users added to the
|
|
32
|
+
# bulk job
|
|
33
|
+
cursor: nil,
|
|
34
|
+
request_options: {}
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
override.returns(
|
|
40
|
+
{
|
|
41
|
+
job_id: String,
|
|
42
|
+
cursor: T.nilable(String),
|
|
43
|
+
request_options: Courier::RequestOptions
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
def to_hash
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
class BulkListUsersResponse < Courier::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Courier::Models::BulkListUsersResponse,
|
|
10
|
+
Courier::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(T::Array[Courier::Models::BulkListUsersResponse::Item]) }
|
|
15
|
+
attr_accessor :items
|
|
16
|
+
|
|
17
|
+
sig { returns(Courier::Paging) }
|
|
18
|
+
attr_reader :paging
|
|
19
|
+
|
|
20
|
+
sig { params(paging: Courier::Paging::OrHash).void }
|
|
21
|
+
attr_writer :paging
|
|
22
|
+
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
items: T::Array[Courier::Models::BulkListUsersResponse::Item::OrHash],
|
|
26
|
+
paging: Courier::Paging::OrHash
|
|
27
|
+
).returns(T.attached_class)
|
|
28
|
+
end
|
|
29
|
+
def self.new(items:, paging:)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
override.returns(
|
|
34
|
+
{
|
|
35
|
+
items: T::Array[Courier::Models::BulkListUsersResponse::Item],
|
|
36
|
+
paging: Courier::Paging
|
|
37
|
+
}
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
def to_hash
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
class Item < Courier::Models::InboundBulkMessageUser
|
|
44
|
+
OrHash =
|
|
45
|
+
T.type_alias do
|
|
46
|
+
T.any(
|
|
47
|
+
Courier::Models::BulkListUsersResponse::Item,
|
|
48
|
+
Courier::Internal::AnyHash
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
sig do
|
|
53
|
+
returns(
|
|
54
|
+
Courier::Models::BulkListUsersResponse::Item::Status::TaggedSymbol
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
attr_accessor :status
|
|
58
|
+
|
|
59
|
+
sig { returns(T.nilable(String)) }
|
|
60
|
+
attr_accessor :message_id
|
|
61
|
+
|
|
62
|
+
sig do
|
|
63
|
+
params(
|
|
64
|
+
status:
|
|
65
|
+
Courier::Models::BulkListUsersResponse::Item::Status::OrSymbol,
|
|
66
|
+
message_id: T.nilable(String)
|
|
67
|
+
).returns(T.attached_class)
|
|
68
|
+
end
|
|
69
|
+
def self.new(status:, message_id: nil)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
sig do
|
|
73
|
+
override.returns(
|
|
74
|
+
{
|
|
75
|
+
status:
|
|
76
|
+
Courier::Models::BulkListUsersResponse::Item::Status::TaggedSymbol,
|
|
77
|
+
message_id: T.nilable(String)
|
|
78
|
+
}
|
|
79
|
+
)
|
|
80
|
+
end
|
|
81
|
+
def to_hash
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
module Status
|
|
85
|
+
extend Courier::Internal::Type::Enum
|
|
86
|
+
|
|
87
|
+
TaggedSymbol =
|
|
88
|
+
T.type_alias do
|
|
89
|
+
T.all(
|
|
90
|
+
Symbol,
|
|
91
|
+
Courier::Models::BulkListUsersResponse::Item::Status
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
95
|
+
|
|
96
|
+
PENDING =
|
|
97
|
+
T.let(
|
|
98
|
+
:PENDING,
|
|
99
|
+
Courier::Models::BulkListUsersResponse::Item::Status::TaggedSymbol
|
|
100
|
+
)
|
|
101
|
+
ENQUEUED =
|
|
102
|
+
T.let(
|
|
103
|
+
:ENQUEUED,
|
|
104
|
+
Courier::Models::BulkListUsersResponse::Item::Status::TaggedSymbol
|
|
105
|
+
)
|
|
106
|
+
ERROR =
|
|
107
|
+
T.let(
|
|
108
|
+
:ERROR,
|
|
109
|
+
Courier::Models::BulkListUsersResponse::Item::Status::TaggedSymbol
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
sig do
|
|
113
|
+
override.returns(
|
|
114
|
+
T::Array[
|
|
115
|
+
Courier::Models::BulkListUsersResponse::Item::Status::TaggedSymbol
|
|
116
|
+
]
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
def self.values
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Courier
|
|
4
|
+
module Models
|
|
5
|
+
class BulkRetrieveJobParams < Courier::Internal::Type::BaseModel
|
|
6
|
+
extend Courier::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Courier::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Courier::BulkRetrieveJobParams, Courier::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :job_id
|
|
16
|
+
|
|
17
|
+
sig do
|
|
18
|
+
params(
|
|
19
|
+
job_id: String,
|
|
20
|
+
request_options: Courier::RequestOptions::OrHash
|
|
21
|
+
).returns(T.attached_class)
|
|
22
|
+
end
|
|
23
|
+
def self.new(job_id:, request_options: {})
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig do
|
|
27
|
+
override.returns(
|
|
28
|
+
{ job_id: String, request_options: Courier::RequestOptions }
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
def to_hash
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|