mailhub-sdk 0.1.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.
- checksums.yaml +7 -0
- data/.fern/metadata.json +11 -0
- data/.fernignore +3 -0
- data/.rubocop.yml +103 -0
- data/CONTRIBUTING.md +120 -0
- data/README.md +159 -0
- data/Rakefile +20 -0
- data/custom.gemspec.rb +18 -0
- data/lib/Mailhub/campaign/client.rb +730 -0
- data/lib/Mailhub/campaign/types/add_campaign_media_by_code_request.rb +13 -0
- data/lib/Mailhub/campaign/types/cancel_campaign_request.rb +11 -0
- data/lib/Mailhub/campaign/types/catch_up_campaign_request.rb +11 -0
- data/lib/Mailhub/campaign/types/create_campaign_by_code_request.rb +27 -0
- data/lib/Mailhub/campaign/types/delete_campaign_request.rb +11 -0
- data/lib/Mailhub/campaign/types/get_campaign_activity_request.rb +11 -0
- data/lib/Mailhub/campaign/types/get_campaign_analytics_request.rb +11 -0
- data/lib/Mailhub/campaign/types/get_campaign_link_stats_request.rb +11 -0
- data/lib/Mailhub/campaign/types/get_campaign_media_request.rb +11 -0
- data/lib/Mailhub/campaign/types/get_campaign_rendered_preview_by_code_request.rb +21 -0
- data/lib/Mailhub/campaign/types/get_campaign_request.rb +11 -0
- data/lib/Mailhub/campaign/types/get_campaigns_request.rb +19 -0
- data/lib/Mailhub/campaign/types/pause_campaign_request.rb +11 -0
- data/lib/Mailhub/campaign/types/preview_campaign_request.rb +11 -0
- data/lib/Mailhub/campaign/types/remove_campaign_media_request.rb +13 -0
- data/lib/Mailhub/campaign/types/schedule_campaign_request.rb +11 -0
- data/lib/Mailhub/campaign/types/send_campaign_request.rb +11 -0
- data/lib/Mailhub/campaign/types/test_campaign_by_code_request.rb +23 -0
- data/lib/Mailhub/campaign/types/update_campaign_by_code_request.rb +29 -0
- data/lib/Mailhub/client.rb +55 -0
- data/lib/Mailhub/contact/client.rb +385 -0
- data/lib/Mailhub/contact/types/block_contact_request.rb +11 -0
- data/lib/Mailhub/contact/types/block_contacts_by_guid_request.rb +11 -0
- data/lib/Mailhub/contact/types/create_contact_request.rb +15 -0
- data/lib/Mailhub/contact/types/delete_contact_request.rb +11 -0
- data/lib/Mailhub/contact/types/delete_contacts_by_guid_request.rb +11 -0
- data/lib/Mailhub/contact/types/get_contact_request.rb +11 -0
- data/lib/Mailhub/contact/types/get_contacts_request.rb +21 -0
- data/lib/Mailhub/contact/types/get_import_job_request.rb +11 -0
- data/lib/Mailhub/contact/types/import_contacts_request.rb +9 -0
- data/lib/Mailhub/contact/types/update_contact_request.rb +17 -0
- data/lib/Mailhub/custom_field/client.rb +188 -0
- data/lib/Mailhub/custom_field/types/create_custom_field_request.rb +15 -0
- data/lib/Mailhub/custom_field/types/delete_custom_field_request.rb +11 -0
- data/lib/Mailhub/custom_field/types/get_custom_field_request.rb +11 -0
- data/lib/Mailhub/custom_field/types/update_custom_field_request.rb +15 -0
- data/lib/Mailhub/errors/api_error.rb +8 -0
- data/lib/Mailhub/errors/client_error.rb +17 -0
- data/lib/Mailhub/errors/redirect_error.rb +8 -0
- data/lib/Mailhub/errors/response_error.rb +42 -0
- data/lib/Mailhub/errors/server_error.rb +11 -0
- data/lib/Mailhub/errors/timeout_error.rb +8 -0
- data/lib/Mailhub/internal/errors/constraint_error.rb +10 -0
- data/lib/Mailhub/internal/errors/type_error.rb +10 -0
- data/lib/Mailhub/internal/http/base_request.rb +51 -0
- data/lib/Mailhub/internal/http/raw_client.rb +248 -0
- data/lib/Mailhub/internal/iterators/cursor_item_iterator.rb +28 -0
- data/lib/Mailhub/internal/iterators/cursor_page_iterator.rb +63 -0
- data/lib/Mailhub/internal/iterators/item_iterator.rb +65 -0
- data/lib/Mailhub/internal/iterators/offset_item_iterator.rb +30 -0
- data/lib/Mailhub/internal/iterators/offset_page_iterator.rb +103 -0
- data/lib/Mailhub/internal/json/request.rb +41 -0
- data/lib/Mailhub/internal/json/serializable.rb +25 -0
- data/lib/Mailhub/internal/multipart/multipart_encoder.rb +141 -0
- data/lib/Mailhub/internal/multipart/multipart_form_data.rb +78 -0
- data/lib/Mailhub/internal/multipart/multipart_form_data_part.rb +51 -0
- data/lib/Mailhub/internal/multipart/multipart_request.rb +40 -0
- data/lib/Mailhub/internal/types/array.rb +47 -0
- data/lib/Mailhub/internal/types/boolean.rb +34 -0
- data/lib/Mailhub/internal/types/enum.rb +56 -0
- data/lib/Mailhub/internal/types/hash.rb +36 -0
- data/lib/Mailhub/internal/types/model/field.rb +38 -0
- data/lib/Mailhub/internal/types/model.rb +208 -0
- data/lib/Mailhub/internal/types/type.rb +35 -0
- data/lib/Mailhub/internal/types/union.rb +161 -0
- data/lib/Mailhub/internal/types/unknown.rb +15 -0
- data/lib/Mailhub/internal/types/utils.rb +116 -0
- data/lib/Mailhub/media/client.rb +241 -0
- data/lib/Mailhub/media/types/delete_media_request.rb +11 -0
- data/lib/Mailhub/media/types/download_media_request.rb +11 -0
- data/lib/Mailhub/media/types/get_media_request.rb +11 -0
- data/lib/Mailhub/media/types/get_medias_request.rb +19 -0
- data/lib/Mailhub/media/types/update_media_request.rb +13 -0
- data/lib/Mailhub/media/types/upload_media_request.rb +9 -0
- data/lib/Mailhub/message/client.rb +201 -0
- data/lib/Mailhub/message/types/cancel_message_request.rb +11 -0
- data/lib/Mailhub/message/types/get_message_events_request.rb +11 -0
- data/lib/Mailhub/message/types/get_message_request.rb +11 -0
- data/lib/Mailhub/message/types/get_messages_request.rb +21 -0
- data/lib/Mailhub/message/types/send_message_request.rb +23 -0
- data/lib/Mailhub/segment/client.rb +377 -0
- data/lib/Mailhub/segment/types/create_segment_request.rb +13 -0
- data/lib/Mailhub/segment/types/delete_segment_request.rb +11 -0
- data/lib/Mailhub/segment/types/delete_segments_by_code_request.rb +13 -0
- data/lib/Mailhub/segment/types/get_segment_contacts_request.rb +15 -0
- data/lib/Mailhub/segment/types/get_segment_preview_request.rb +11 -0
- data/lib/Mailhub/segment/types/get_segment_request.rb +11 -0
- data/lib/Mailhub/segment/types/get_segments_request.rb +19 -0
- data/lib/Mailhub/segment/types/get_segments_union_preview_by_code_request.rb +11 -0
- data/lib/Mailhub/segment/types/sync_segment_request.rb +11 -0
- data/lib/Mailhub/segment/types/update_segment_request.rb +15 -0
- data/lib/Mailhub/template/client.rb +301 -0
- data/lib/Mailhub/template/types/create_template_request.rb +13 -0
- data/lib/Mailhub/template/types/delete_template_request.rb +11 -0
- data/lib/Mailhub/template/types/get_template_rendered_preview_request.rb +11 -0
- data/lib/Mailhub/template/types/get_template_request.rb +11 -0
- data/lib/Mailhub/template/types/get_templates_request.rb +19 -0
- data/lib/Mailhub/template/types/preview_template_request.rb +11 -0
- data/lib/Mailhub/template/types/update_template_request.rb +15 -0
- data/lib/Mailhub/types/api_error.rb +16 -0
- data/lib/Mailhub/types/api_error_detail.rb +12 -0
- data/lib/Mailhub/types/campaign_activity_point_model.rb +18 -0
- data/lib/Mailhub/types/campaign_analytics_model.rb +30 -0
- data/lib/Mailhub/types/campaign_link_stat_model.rb +14 -0
- data/lib/Mailhub/types/campaign_media_model.rb +24 -0
- data/lib/Mailhub/types/campaign_model.rb +52 -0
- data/lib/Mailhub/types/campaign_model_paged_result.rb +16 -0
- data/lib/Mailhub/types/campaign_segment_model.rb +14 -0
- data/lib/Mailhub/types/campaign_status.rb +17 -0
- data/lib/Mailhub/types/campaign_type.rb +12 -0
- data/lib/Mailhub/types/contact_import_job_model.rb +22 -0
- data/lib/Mailhub/types/contact_import_model.rb +10 -0
- data/lib/Mailhub/types/contact_import_status.rb +14 -0
- data/lib/Mailhub/types/contact_model.rb +26 -0
- data/lib/Mailhub/types/contact_model_cursor_paged_result.rb +18 -0
- data/lib/Mailhub/types/contact_model_paged_result.rb +16 -0
- data/lib/Mailhub/types/contact_segment_model.rb +14 -0
- data/lib/Mailhub/types/contact_status.rb +13 -0
- data/lib/Mailhub/types/custom_field_model.rb +20 -0
- data/lib/Mailhub/types/custom_field_type.rb +14 -0
- data/lib/Mailhub/types/import_contact_error_model.rb +12 -0
- data/lib/Mailhub/types/media_model.rb +28 -0
- data/lib/Mailhub/types/media_model_paged_result.rb +16 -0
- data/lib/Mailhub/types/message_event_model.rb +16 -0
- data/lib/Mailhub/types/message_event_type.rb +18 -0
- data/lib/Mailhub/types/message_model.rb +36 -0
- data/lib/Mailhub/types/message_model_cursor_paged_result.rb +18 -0
- data/lib/Mailhub/types/preview_segment_model.rb +10 -0
- data/lib/Mailhub/types/running_campaign_stats_model.rb +32 -0
- data/lib/Mailhub/types/segment_filter_group_model.rb +12 -0
- data/lib/Mailhub/types/segment_filter_model.rb +10 -0
- data/lib/Mailhub/types/segment_filter_rule_model.rb +14 -0
- data/lib/Mailhub/types/segment_model.rb +32 -0
- data/lib/Mailhub/types/segment_model_paged_result.rb +16 -0
- data/lib/Mailhub/types/segment_sync_status.rb +14 -0
- data/lib/Mailhub/types/template_expression_model.rb +14 -0
- data/lib/Mailhub/types/template_model.rb +20 -0
- data/lib/Mailhub/types/template_model_paged_result.rb +16 -0
- data/lib/Mailhub/version.rb +5 -0
- data/lib/Mailhub.rb +145 -0
- data/reference.md +3691 -0
- metadata +193 -0
|
@@ -0,0 +1,730 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mailhub
|
|
4
|
+
module Campaign
|
|
5
|
+
class Client
|
|
6
|
+
# @param client [Mailhub::Internal::Http::RawClient]
|
|
7
|
+
#
|
|
8
|
+
# @return [void]
|
|
9
|
+
def initialize(client:)
|
|
10
|
+
@client = client
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# @param request_options [Hash]
|
|
14
|
+
# @param params [Hash]
|
|
15
|
+
# @option request_options [String] :base_url
|
|
16
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
17
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
18
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
19
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
20
|
+
# @option params [String, nil] :search
|
|
21
|
+
# @option params [String, nil] :sort_by
|
|
22
|
+
# @option params [String, nil] :sort_direction
|
|
23
|
+
# @option params [Integer, nil] :page_size
|
|
24
|
+
# @option params [Integer, nil] :page_index
|
|
25
|
+
#
|
|
26
|
+
# @example
|
|
27
|
+
# client.campaign.get_campaigns
|
|
28
|
+
#
|
|
29
|
+
# @return [Mailhub::Types::CampaignModelPagedResult]
|
|
30
|
+
def get_campaigns(request_options: {}, **params)
|
|
31
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
32
|
+
query_params = {}
|
|
33
|
+
query_params["search"] = params[:search] if params.key?(:search)
|
|
34
|
+
query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by)
|
|
35
|
+
query_params["sortDirection"] = params[:sort_direction] if params.key?(:sort_direction)
|
|
36
|
+
query_params["pageSize"] = params[:page_size] if params.key?(:page_size)
|
|
37
|
+
query_params["pageIndex"] = params[:page_index] if params.key?(:page_index)
|
|
38
|
+
|
|
39
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
40
|
+
base_url: request_options[:base_url],
|
|
41
|
+
method: "GET",
|
|
42
|
+
path: "v1/campaigns",
|
|
43
|
+
query: query_params,
|
|
44
|
+
request_options: request_options
|
|
45
|
+
)
|
|
46
|
+
begin
|
|
47
|
+
response = @client.send(request)
|
|
48
|
+
rescue Net::HTTPRequestTimeout
|
|
49
|
+
raise Mailhub::Errors::TimeoutError
|
|
50
|
+
end
|
|
51
|
+
code = response.code.to_i
|
|
52
|
+
if code.between?(200, 299)
|
|
53
|
+
Mailhub::Types::CampaignModelPagedResult.load(response.body)
|
|
54
|
+
else
|
|
55
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
56
|
+
raise error_class.new(response.body, code: code)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# @param request_options [Hash]
|
|
61
|
+
# @param params [Mailhub::Campaign::Types::CreateCampaignByCodeRequest]
|
|
62
|
+
# @option request_options [String] :base_url
|
|
63
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
64
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
65
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
66
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
67
|
+
#
|
|
68
|
+
# @example
|
|
69
|
+
# client.campaign.create_campaign
|
|
70
|
+
#
|
|
71
|
+
# @return [Mailhub::Types::CampaignModel]
|
|
72
|
+
def create_campaign(request_options: {}, **params)
|
|
73
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
74
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
75
|
+
base_url: request_options[:base_url],
|
|
76
|
+
method: "POST",
|
|
77
|
+
path: "v1/campaigns",
|
|
78
|
+
body: Mailhub::Campaign::Types::CreateCampaignByCodeRequest.new(params).to_h,
|
|
79
|
+
request_options: request_options
|
|
80
|
+
)
|
|
81
|
+
begin
|
|
82
|
+
response = @client.send(request)
|
|
83
|
+
rescue Net::HTTPRequestTimeout
|
|
84
|
+
raise Mailhub::Errors::TimeoutError
|
|
85
|
+
end
|
|
86
|
+
code = response.code.to_i
|
|
87
|
+
if code.between?(200, 299)
|
|
88
|
+
Mailhub::Types::CampaignModel.load(response.body)
|
|
89
|
+
else
|
|
90
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
91
|
+
raise error_class.new(response.body, code: code)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# @param request_options [Hash]
|
|
96
|
+
# @param params [Hash]
|
|
97
|
+
# @option request_options [String] :base_url
|
|
98
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
99
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
100
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
101
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
102
|
+
# @option params [String] :code
|
|
103
|
+
#
|
|
104
|
+
# @example
|
|
105
|
+
# client.campaign.get_campaign(code: "code")
|
|
106
|
+
#
|
|
107
|
+
# @return [Mailhub::Types::CampaignModel]
|
|
108
|
+
def get_campaign(request_options: {}, **params)
|
|
109
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
110
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
111
|
+
base_url: request_options[:base_url],
|
|
112
|
+
method: "GET",
|
|
113
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}",
|
|
114
|
+
request_options: request_options
|
|
115
|
+
)
|
|
116
|
+
begin
|
|
117
|
+
response = @client.send(request)
|
|
118
|
+
rescue Net::HTTPRequestTimeout
|
|
119
|
+
raise Mailhub::Errors::TimeoutError
|
|
120
|
+
end
|
|
121
|
+
code = response.code.to_i
|
|
122
|
+
if code.between?(200, 299)
|
|
123
|
+
Mailhub::Types::CampaignModel.load(response.body)
|
|
124
|
+
else
|
|
125
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
126
|
+
raise error_class.new(response.body, code: code)
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# @param request_options [Hash]
|
|
131
|
+
# @param params [Mailhub::Campaign::Types::UpdateCampaignByCodeRequest]
|
|
132
|
+
# @option request_options [String] :base_url
|
|
133
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
134
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
135
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
136
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
137
|
+
# @option params [String] :code
|
|
138
|
+
#
|
|
139
|
+
# @example
|
|
140
|
+
# client.campaign.update_campaign(code: "code")
|
|
141
|
+
#
|
|
142
|
+
# @return [Mailhub::Types::CampaignModel]
|
|
143
|
+
def update_campaign(request_options: {}, **params)
|
|
144
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
145
|
+
request_data = Mailhub::Campaign::Types::UpdateCampaignByCodeRequest.new(params).to_h
|
|
146
|
+
non_body_param_names = %w[code]
|
|
147
|
+
body = request_data.except(*non_body_param_names)
|
|
148
|
+
|
|
149
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
150
|
+
base_url: request_options[:base_url],
|
|
151
|
+
method: "PUT",
|
|
152
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}",
|
|
153
|
+
body: body,
|
|
154
|
+
request_options: request_options
|
|
155
|
+
)
|
|
156
|
+
begin
|
|
157
|
+
response = @client.send(request)
|
|
158
|
+
rescue Net::HTTPRequestTimeout
|
|
159
|
+
raise Mailhub::Errors::TimeoutError
|
|
160
|
+
end
|
|
161
|
+
code = response.code.to_i
|
|
162
|
+
if code.between?(200, 299)
|
|
163
|
+
Mailhub::Types::CampaignModel.load(response.body)
|
|
164
|
+
else
|
|
165
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
166
|
+
raise error_class.new(response.body, code: code)
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# @param request_options [Hash]
|
|
171
|
+
# @param params [Hash]
|
|
172
|
+
# @option request_options [String] :base_url
|
|
173
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
174
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
175
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
176
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
177
|
+
# @option params [String] :code
|
|
178
|
+
#
|
|
179
|
+
# @example
|
|
180
|
+
# client.campaign.delete_campaign(code: "code")
|
|
181
|
+
#
|
|
182
|
+
# @return [untyped]
|
|
183
|
+
def delete_campaign(request_options: {}, **params)
|
|
184
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
185
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
186
|
+
base_url: request_options[:base_url],
|
|
187
|
+
method: "DELETE",
|
|
188
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}",
|
|
189
|
+
request_options: request_options
|
|
190
|
+
)
|
|
191
|
+
begin
|
|
192
|
+
response = @client.send(request)
|
|
193
|
+
rescue Net::HTTPRequestTimeout
|
|
194
|
+
raise Mailhub::Errors::TimeoutError
|
|
195
|
+
end
|
|
196
|
+
code = response.code.to_i
|
|
197
|
+
return if code.between?(200, 299)
|
|
198
|
+
|
|
199
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
200
|
+
raise error_class.new(response.body, code: code)
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
# @param request_options [Hash]
|
|
204
|
+
# @param params [Hash]
|
|
205
|
+
# @option request_options [String] :base_url
|
|
206
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
207
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
208
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
209
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
210
|
+
# @option params [String] :code
|
|
211
|
+
#
|
|
212
|
+
# @example
|
|
213
|
+
# client.campaign.preview_campaign(code: "code")
|
|
214
|
+
#
|
|
215
|
+
# @return [String]
|
|
216
|
+
def preview_campaign(request_options: {}, **params)
|
|
217
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
218
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
219
|
+
base_url: request_options[:base_url],
|
|
220
|
+
method: "GET",
|
|
221
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/preview",
|
|
222
|
+
request_options: request_options
|
|
223
|
+
)
|
|
224
|
+
begin
|
|
225
|
+
response = @client.send(request)
|
|
226
|
+
rescue Net::HTTPRequestTimeout
|
|
227
|
+
raise Mailhub::Errors::TimeoutError
|
|
228
|
+
end
|
|
229
|
+
code = response.code.to_i
|
|
230
|
+
return if code.between?(200, 299)
|
|
231
|
+
|
|
232
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
233
|
+
raise error_class.new(response.body, code: code)
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
# @param request_options [Hash]
|
|
237
|
+
# @param params [Mailhub::Campaign::Types::GetCampaignRenderedPreviewByCodeRequest]
|
|
238
|
+
# @option request_options [String] :base_url
|
|
239
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
240
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
241
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
242
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
243
|
+
# @option params [String] :code
|
|
244
|
+
#
|
|
245
|
+
# @example
|
|
246
|
+
# client.campaign.render_campaign_preview(code: "code")
|
|
247
|
+
#
|
|
248
|
+
# @return [String]
|
|
249
|
+
def render_campaign_preview(request_options: {}, **params)
|
|
250
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
251
|
+
request_data = Mailhub::Campaign::Types::GetCampaignRenderedPreviewByCodeRequest.new(params).to_h
|
|
252
|
+
non_body_param_names = %w[code]
|
|
253
|
+
body = request_data.except(*non_body_param_names)
|
|
254
|
+
|
|
255
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
256
|
+
base_url: request_options[:base_url],
|
|
257
|
+
method: "POST",
|
|
258
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/preview",
|
|
259
|
+
body: body,
|
|
260
|
+
request_options: request_options
|
|
261
|
+
)
|
|
262
|
+
begin
|
|
263
|
+
response = @client.send(request)
|
|
264
|
+
rescue Net::HTTPRequestTimeout
|
|
265
|
+
raise Mailhub::Errors::TimeoutError
|
|
266
|
+
end
|
|
267
|
+
code = response.code.to_i
|
|
268
|
+
return if code.between?(200, 299)
|
|
269
|
+
|
|
270
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
271
|
+
raise error_class.new(response.body, code: code)
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
# @param request_options [Hash]
|
|
275
|
+
# @param params [Mailhub::Campaign::Types::TestCampaignByCodeRequest]
|
|
276
|
+
# @option request_options [String] :base_url
|
|
277
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
278
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
279
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
280
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
281
|
+
# @option params [String] :code
|
|
282
|
+
#
|
|
283
|
+
# @example
|
|
284
|
+
# client.campaign.test_campaign(code: "code")
|
|
285
|
+
#
|
|
286
|
+
# @return [Boolean]
|
|
287
|
+
def test_campaign(request_options: {}, **params)
|
|
288
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
289
|
+
request_data = Mailhub::Campaign::Types::TestCampaignByCodeRequest.new(params).to_h
|
|
290
|
+
non_body_param_names = %w[code]
|
|
291
|
+
body = request_data.except(*non_body_param_names)
|
|
292
|
+
|
|
293
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
294
|
+
base_url: request_options[:base_url],
|
|
295
|
+
method: "POST",
|
|
296
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/test",
|
|
297
|
+
body: body,
|
|
298
|
+
request_options: request_options
|
|
299
|
+
)
|
|
300
|
+
begin
|
|
301
|
+
response = @client.send(request)
|
|
302
|
+
rescue Net::HTTPRequestTimeout
|
|
303
|
+
raise Mailhub::Errors::TimeoutError
|
|
304
|
+
end
|
|
305
|
+
code = response.code.to_i
|
|
306
|
+
return if code.between?(200, 299)
|
|
307
|
+
|
|
308
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
309
|
+
raise error_class.new(response.body, code: code)
|
|
310
|
+
end
|
|
311
|
+
|
|
312
|
+
# @param request_options [Hash]
|
|
313
|
+
# @param _params [Hash]
|
|
314
|
+
# @option request_options [String] :base_url
|
|
315
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
316
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
317
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
318
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
319
|
+
#
|
|
320
|
+
# @example
|
|
321
|
+
# client.campaign.get_running_campaign_stats
|
|
322
|
+
#
|
|
323
|
+
# @return [Array[Mailhub::Types::RunningCampaignStatsModel]]
|
|
324
|
+
def get_running_campaign_stats(request_options: {}, **_params)
|
|
325
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
326
|
+
base_url: request_options[:base_url],
|
|
327
|
+
method: "GET",
|
|
328
|
+
path: "v1/campaigns/stats/running",
|
|
329
|
+
request_options: request_options
|
|
330
|
+
)
|
|
331
|
+
begin
|
|
332
|
+
response = @client.send(request)
|
|
333
|
+
rescue Net::HTTPRequestTimeout
|
|
334
|
+
raise Mailhub::Errors::TimeoutError
|
|
335
|
+
end
|
|
336
|
+
code = response.code.to_i
|
|
337
|
+
return if code.between?(200, 299)
|
|
338
|
+
|
|
339
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
340
|
+
raise error_class.new(response.body, code: code)
|
|
341
|
+
end
|
|
342
|
+
|
|
343
|
+
# @param request_options [Hash]
|
|
344
|
+
# @param params [Hash]
|
|
345
|
+
# @option request_options [String] :base_url
|
|
346
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
347
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
348
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
349
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
350
|
+
# @option params [String] :code
|
|
351
|
+
#
|
|
352
|
+
# @example
|
|
353
|
+
# client.campaign.get_campaign_analytics(code: "code")
|
|
354
|
+
#
|
|
355
|
+
# @return [Mailhub::Types::CampaignAnalyticsModel]
|
|
356
|
+
def get_campaign_analytics(request_options: {}, **params)
|
|
357
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
358
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
359
|
+
base_url: request_options[:base_url],
|
|
360
|
+
method: "GET",
|
|
361
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/analytics",
|
|
362
|
+
request_options: request_options
|
|
363
|
+
)
|
|
364
|
+
begin
|
|
365
|
+
response = @client.send(request)
|
|
366
|
+
rescue Net::HTTPRequestTimeout
|
|
367
|
+
raise Mailhub::Errors::TimeoutError
|
|
368
|
+
end
|
|
369
|
+
code = response.code.to_i
|
|
370
|
+
if code.between?(200, 299)
|
|
371
|
+
Mailhub::Types::CampaignAnalyticsModel.load(response.body)
|
|
372
|
+
else
|
|
373
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
374
|
+
raise error_class.new(response.body, code: code)
|
|
375
|
+
end
|
|
376
|
+
end
|
|
377
|
+
|
|
378
|
+
# @param request_options [Hash]
|
|
379
|
+
# @param params [Hash]
|
|
380
|
+
# @option request_options [String] :base_url
|
|
381
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
382
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
383
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
384
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
385
|
+
# @option params [String] :code
|
|
386
|
+
#
|
|
387
|
+
# @example
|
|
388
|
+
# client.campaign.get_campaign_activity(code: "code")
|
|
389
|
+
#
|
|
390
|
+
# @return [Array[Mailhub::Types::CampaignActivityPointModel]]
|
|
391
|
+
def get_campaign_activity(request_options: {}, **params)
|
|
392
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
393
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
394
|
+
base_url: request_options[:base_url],
|
|
395
|
+
method: "GET",
|
|
396
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/activity",
|
|
397
|
+
request_options: request_options
|
|
398
|
+
)
|
|
399
|
+
begin
|
|
400
|
+
response = @client.send(request)
|
|
401
|
+
rescue Net::HTTPRequestTimeout
|
|
402
|
+
raise Mailhub::Errors::TimeoutError
|
|
403
|
+
end
|
|
404
|
+
code = response.code.to_i
|
|
405
|
+
return if code.between?(200, 299)
|
|
406
|
+
|
|
407
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
408
|
+
raise error_class.new(response.body, code: code)
|
|
409
|
+
end
|
|
410
|
+
|
|
411
|
+
# @param request_options [Hash]
|
|
412
|
+
# @param params [Hash]
|
|
413
|
+
# @option request_options [String] :base_url
|
|
414
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
415
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
416
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
417
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
418
|
+
# @option params [String] :code
|
|
419
|
+
#
|
|
420
|
+
# @example
|
|
421
|
+
# client.campaign.get_campaign_link_stats(code: "code")
|
|
422
|
+
#
|
|
423
|
+
# @return [Array[Mailhub::Types::CampaignLinkStatModel]]
|
|
424
|
+
def get_campaign_link_stats(request_options: {}, **params)
|
|
425
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
426
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
427
|
+
base_url: request_options[:base_url],
|
|
428
|
+
method: "GET",
|
|
429
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/link-stats",
|
|
430
|
+
request_options: request_options
|
|
431
|
+
)
|
|
432
|
+
begin
|
|
433
|
+
response = @client.send(request)
|
|
434
|
+
rescue Net::HTTPRequestTimeout
|
|
435
|
+
raise Mailhub::Errors::TimeoutError
|
|
436
|
+
end
|
|
437
|
+
code = response.code.to_i
|
|
438
|
+
return if code.between?(200, 299)
|
|
439
|
+
|
|
440
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
441
|
+
raise error_class.new(response.body, code: code)
|
|
442
|
+
end
|
|
443
|
+
|
|
444
|
+
# @param request_options [Hash]
|
|
445
|
+
# @param params [Hash]
|
|
446
|
+
# @option request_options [String] :base_url
|
|
447
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
448
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
449
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
450
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
451
|
+
# @option params [String] :code
|
|
452
|
+
#
|
|
453
|
+
# @example
|
|
454
|
+
# client.campaign.get_campaign_media(code: "code")
|
|
455
|
+
#
|
|
456
|
+
# @return [Array[Mailhub::Types::CampaignMediaModel]]
|
|
457
|
+
def get_campaign_media(request_options: {}, **params)
|
|
458
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
459
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
460
|
+
base_url: request_options[:base_url],
|
|
461
|
+
method: "GET",
|
|
462
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/media",
|
|
463
|
+
request_options: request_options
|
|
464
|
+
)
|
|
465
|
+
begin
|
|
466
|
+
response = @client.send(request)
|
|
467
|
+
rescue Net::HTTPRequestTimeout
|
|
468
|
+
raise Mailhub::Errors::TimeoutError
|
|
469
|
+
end
|
|
470
|
+
code = response.code.to_i
|
|
471
|
+
return if code.between?(200, 299)
|
|
472
|
+
|
|
473
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
474
|
+
raise error_class.new(response.body, code: code)
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
# @param request_options [Hash]
|
|
478
|
+
# @param params [Mailhub::Campaign::Types::AddCampaignMediaByCodeRequest]
|
|
479
|
+
# @option request_options [String] :base_url
|
|
480
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
481
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
482
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
483
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
484
|
+
# @option params [String] :code
|
|
485
|
+
#
|
|
486
|
+
# @example
|
|
487
|
+
# client.campaign.add_campaign_media(code: "code")
|
|
488
|
+
#
|
|
489
|
+
# @return [Mailhub::Types::CampaignMediaModel]
|
|
490
|
+
def add_campaign_media(request_options: {}, **params)
|
|
491
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
492
|
+
request_data = Mailhub::Campaign::Types::AddCampaignMediaByCodeRequest.new(params).to_h
|
|
493
|
+
non_body_param_names = %w[code]
|
|
494
|
+
body = request_data.except(*non_body_param_names)
|
|
495
|
+
|
|
496
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
497
|
+
base_url: request_options[:base_url],
|
|
498
|
+
method: "POST",
|
|
499
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/media",
|
|
500
|
+
body: body,
|
|
501
|
+
request_options: request_options
|
|
502
|
+
)
|
|
503
|
+
begin
|
|
504
|
+
response = @client.send(request)
|
|
505
|
+
rescue Net::HTTPRequestTimeout
|
|
506
|
+
raise Mailhub::Errors::TimeoutError
|
|
507
|
+
end
|
|
508
|
+
code = response.code.to_i
|
|
509
|
+
if code.between?(200, 299)
|
|
510
|
+
Mailhub::Types::CampaignMediaModel.load(response.body)
|
|
511
|
+
else
|
|
512
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
513
|
+
raise error_class.new(response.body, code: code)
|
|
514
|
+
end
|
|
515
|
+
end
|
|
516
|
+
|
|
517
|
+
# @param request_options [Hash]
|
|
518
|
+
# @param params [Hash]
|
|
519
|
+
# @option request_options [String] :base_url
|
|
520
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
521
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
522
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
523
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
524
|
+
# @option params [String] :code
|
|
525
|
+
# @option params [String] :media_code
|
|
526
|
+
#
|
|
527
|
+
# @example
|
|
528
|
+
# client.campaign.remove_campaign_media(
|
|
529
|
+
# code: "code",
|
|
530
|
+
# media_code: "mediaCode"
|
|
531
|
+
# )
|
|
532
|
+
#
|
|
533
|
+
# @return [untyped]
|
|
534
|
+
def remove_campaign_media(request_options: {}, **params)
|
|
535
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
536
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
537
|
+
base_url: request_options[:base_url],
|
|
538
|
+
method: "DELETE",
|
|
539
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/media/#{URI.encode_uri_component(params[:media_code].to_s)}",
|
|
540
|
+
request_options: request_options
|
|
541
|
+
)
|
|
542
|
+
begin
|
|
543
|
+
response = @client.send(request)
|
|
544
|
+
rescue Net::HTTPRequestTimeout
|
|
545
|
+
raise Mailhub::Errors::TimeoutError
|
|
546
|
+
end
|
|
547
|
+
code = response.code.to_i
|
|
548
|
+
return if code.between?(200, 299)
|
|
549
|
+
|
|
550
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
551
|
+
raise error_class.new(response.body, code: code)
|
|
552
|
+
end
|
|
553
|
+
|
|
554
|
+
# @param request_options [Hash]
|
|
555
|
+
# @param params [Hash]
|
|
556
|
+
# @option request_options [String] :base_url
|
|
557
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
558
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
559
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
560
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
561
|
+
# @option params [String] :code
|
|
562
|
+
#
|
|
563
|
+
# @example
|
|
564
|
+
# client.campaign.schedule_campaign(code: "code")
|
|
565
|
+
#
|
|
566
|
+
# @return [Mailhub::Types::CampaignModel]
|
|
567
|
+
def schedule_campaign(request_options: {}, **params)
|
|
568
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
569
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
570
|
+
base_url: request_options[:base_url],
|
|
571
|
+
method: "PUT",
|
|
572
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/schedule",
|
|
573
|
+
request_options: request_options
|
|
574
|
+
)
|
|
575
|
+
begin
|
|
576
|
+
response = @client.send(request)
|
|
577
|
+
rescue Net::HTTPRequestTimeout
|
|
578
|
+
raise Mailhub::Errors::TimeoutError
|
|
579
|
+
end
|
|
580
|
+
code = response.code.to_i
|
|
581
|
+
if code.between?(200, 299)
|
|
582
|
+
Mailhub::Types::CampaignModel.load(response.body)
|
|
583
|
+
else
|
|
584
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
585
|
+
raise error_class.new(response.body, code: code)
|
|
586
|
+
end
|
|
587
|
+
end
|
|
588
|
+
|
|
589
|
+
# @param request_options [Hash]
|
|
590
|
+
# @param params [Hash]
|
|
591
|
+
# @option request_options [String] :base_url
|
|
592
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
593
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
594
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
595
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
596
|
+
# @option params [String] :code
|
|
597
|
+
#
|
|
598
|
+
# @example
|
|
599
|
+
# client.campaign.send_campaign(code: "code")
|
|
600
|
+
#
|
|
601
|
+
# @return [Mailhub::Types::CampaignModel]
|
|
602
|
+
def send_campaign(request_options: {}, **params)
|
|
603
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
604
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
605
|
+
base_url: request_options[:base_url],
|
|
606
|
+
method: "PUT",
|
|
607
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/send",
|
|
608
|
+
request_options: request_options
|
|
609
|
+
)
|
|
610
|
+
begin
|
|
611
|
+
response = @client.send(request)
|
|
612
|
+
rescue Net::HTTPRequestTimeout
|
|
613
|
+
raise Mailhub::Errors::TimeoutError
|
|
614
|
+
end
|
|
615
|
+
code = response.code.to_i
|
|
616
|
+
if code.between?(200, 299)
|
|
617
|
+
Mailhub::Types::CampaignModel.load(response.body)
|
|
618
|
+
else
|
|
619
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
620
|
+
raise error_class.new(response.body, code: code)
|
|
621
|
+
end
|
|
622
|
+
end
|
|
623
|
+
|
|
624
|
+
# @param request_options [Hash]
|
|
625
|
+
# @param params [Hash]
|
|
626
|
+
# @option request_options [String] :base_url
|
|
627
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
628
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
629
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
630
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
631
|
+
# @option params [String] :code
|
|
632
|
+
#
|
|
633
|
+
# @example
|
|
634
|
+
# client.campaign.pause_campaign(code: "code")
|
|
635
|
+
#
|
|
636
|
+
# @return [Mailhub::Types::CampaignModel]
|
|
637
|
+
def pause_campaign(request_options: {}, **params)
|
|
638
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
639
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
640
|
+
base_url: request_options[:base_url],
|
|
641
|
+
method: "PUT",
|
|
642
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/pause",
|
|
643
|
+
request_options: request_options
|
|
644
|
+
)
|
|
645
|
+
begin
|
|
646
|
+
response = @client.send(request)
|
|
647
|
+
rescue Net::HTTPRequestTimeout
|
|
648
|
+
raise Mailhub::Errors::TimeoutError
|
|
649
|
+
end
|
|
650
|
+
code = response.code.to_i
|
|
651
|
+
if code.between?(200, 299)
|
|
652
|
+
Mailhub::Types::CampaignModel.load(response.body)
|
|
653
|
+
else
|
|
654
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
655
|
+
raise error_class.new(response.body, code: code)
|
|
656
|
+
end
|
|
657
|
+
end
|
|
658
|
+
|
|
659
|
+
# @param request_options [Hash]
|
|
660
|
+
# @param params [Hash]
|
|
661
|
+
# @option request_options [String] :base_url
|
|
662
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
663
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
664
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
665
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
666
|
+
# @option params [String] :code
|
|
667
|
+
#
|
|
668
|
+
# @example
|
|
669
|
+
# client.campaign.cancel_campaign(code: "code")
|
|
670
|
+
#
|
|
671
|
+
# @return [Mailhub::Types::CampaignModel]
|
|
672
|
+
def cancel_campaign(request_options: {}, **params)
|
|
673
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
674
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
675
|
+
base_url: request_options[:base_url],
|
|
676
|
+
method: "PUT",
|
|
677
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/cancel",
|
|
678
|
+
request_options: request_options
|
|
679
|
+
)
|
|
680
|
+
begin
|
|
681
|
+
response = @client.send(request)
|
|
682
|
+
rescue Net::HTTPRequestTimeout
|
|
683
|
+
raise Mailhub::Errors::TimeoutError
|
|
684
|
+
end
|
|
685
|
+
code = response.code.to_i
|
|
686
|
+
if code.between?(200, 299)
|
|
687
|
+
Mailhub::Types::CampaignModel.load(response.body)
|
|
688
|
+
else
|
|
689
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
690
|
+
raise error_class.new(response.body, code: code)
|
|
691
|
+
end
|
|
692
|
+
end
|
|
693
|
+
|
|
694
|
+
# @param request_options [Hash]
|
|
695
|
+
# @param params [Hash]
|
|
696
|
+
# @option request_options [String] :base_url
|
|
697
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
698
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
699
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
700
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
701
|
+
# @option params [String] :code
|
|
702
|
+
#
|
|
703
|
+
# @example
|
|
704
|
+
# client.campaign.catch_up_campaign(code: "code")
|
|
705
|
+
#
|
|
706
|
+
# @return [Mailhub::Types::CampaignModel]
|
|
707
|
+
def catch_up_campaign(request_options: {}, **params)
|
|
708
|
+
params = Mailhub::Internal::Types::Utils.normalize_keys(params)
|
|
709
|
+
request = Mailhub::Internal::JSON::Request.new(
|
|
710
|
+
base_url: request_options[:base_url],
|
|
711
|
+
method: "PUT",
|
|
712
|
+
path: "v1/campaigns/#{URI.encode_uri_component(params[:code].to_s)}/catch-up",
|
|
713
|
+
request_options: request_options
|
|
714
|
+
)
|
|
715
|
+
begin
|
|
716
|
+
response = @client.send(request)
|
|
717
|
+
rescue Net::HTTPRequestTimeout
|
|
718
|
+
raise Mailhub::Errors::TimeoutError
|
|
719
|
+
end
|
|
720
|
+
code = response.code.to_i
|
|
721
|
+
if code.between?(200, 299)
|
|
722
|
+
Mailhub::Types::CampaignModel.load(response.body)
|
|
723
|
+
else
|
|
724
|
+
error_class = Mailhub::Errors::ResponseError.subclass_for_code(code)
|
|
725
|
+
raise error_class.new(response.body, code: code)
|
|
726
|
+
end
|
|
727
|
+
end
|
|
728
|
+
end
|
|
729
|
+
end
|
|
730
|
+
end
|