ElasticEmail 4.0.27 → 4.0.28

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.
@@ -0,0 +1,351 @@
1
+ =begin
2
+ #Elastic Email REST API
3
+
4
+ #This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach. Every API call is established on which specific request type (GET, POST, PUT, DELETE) will be used. The API has a limit of 20 concurrent connections and a hard timeout of 600 seconds per request. To start using this API, you will need your Access Token (available <a target='_blank' href='https://app.elasticemail.com/marketing/settings/new/manage-api'>here</a>). Remember to keep it safe. Required access levels are listed in the given request’s description. Downloadable library clients can be found in our Github repository <a target='_blank' href='https://github.com/ElasticEmail?tab=repositories&q=%22rest+api%22+in%3Areadme'>here</a>
5
+
6
+ The version of the OpenAPI document: 4.0.0
7
+ Contact: support@elasticemail.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.11.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module ElasticEmail
16
+ class WebhookApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Delete Webhook
23
+ # Delete the specified notifications webhook. Required Access Level: ModifyWebNotifications
24
+ # @param publicid [String]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [nil]
27
+ def webhook_by_publicid_delete(publicid, opts = {})
28
+ webhook_by_publicid_delete_with_http_info(publicid, opts)
29
+ nil
30
+ end
31
+
32
+ # Delete Webhook
33
+ # Delete the specified notifications webhook. Required Access Level: ModifyWebNotifications
34
+ # @param publicid [String]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
37
+ def webhook_by_publicid_delete_with_http_info(publicid, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: WebhookApi.webhook_by_publicid_delete ...'
40
+ end
41
+ # verify the required parameter 'publicid' is set
42
+ if @api_client.config.client_side_validation && publicid.nil?
43
+ fail ArgumentError, "Missing the required parameter 'publicid' when calling WebhookApi.webhook_by_publicid_delete"
44
+ end
45
+ # resource path
46
+ local_var_path = '/webhook/{publicid}'.sub('{' + 'publicid' + '}', CGI.escape(publicid.to_s))
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+
54
+ # form parameters
55
+ form_params = opts[:form_params] || {}
56
+
57
+ # http body (model)
58
+ post_body = opts[:debug_body]
59
+
60
+ # return_type
61
+ return_type = opts[:debug_return_type]
62
+
63
+ # auth_names
64
+ auth_names = opts[:debug_auth_names] || ['apikey']
65
+
66
+ new_options = opts.merge(
67
+ :operation => :"WebhookApi.webhook_by_publicid_delete",
68
+ :header_params => header_params,
69
+ :query_params => query_params,
70
+ :form_params => form_params,
71
+ :body => post_body,
72
+ :auth_names => auth_names,
73
+ :return_type => return_type
74
+ )
75
+
76
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
77
+ if @api_client.config.debugging
78
+ @api_client.config.logger.debug "API called: WebhookApi#webhook_by_publicid_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
79
+ end
80
+ return data, status_code, headers
81
+ end
82
+
83
+ # Load Webhook
84
+ # Load notifications webhook details. Required Access Level: ViewWebNotifications
85
+ # @param publicid [String]
86
+ # @param [Hash] opts the optional parameters
87
+ # @return [Webhook]
88
+ def webhook_by_publicid_get(publicid, opts = {})
89
+ data, _status_code, _headers = webhook_by_publicid_get_with_http_info(publicid, opts)
90
+ data
91
+ end
92
+
93
+ # Load Webhook
94
+ # Load notifications webhook details. Required Access Level: ViewWebNotifications
95
+ # @param publicid [String]
96
+ # @param [Hash] opts the optional parameters
97
+ # @return [Array<(Webhook, Integer, Hash)>] Webhook data, response status code and response headers
98
+ def webhook_by_publicid_get_with_http_info(publicid, opts = {})
99
+ if @api_client.config.debugging
100
+ @api_client.config.logger.debug 'Calling API: WebhookApi.webhook_by_publicid_get ...'
101
+ end
102
+ # verify the required parameter 'publicid' is set
103
+ if @api_client.config.client_side_validation && publicid.nil?
104
+ fail ArgumentError, "Missing the required parameter 'publicid' when calling WebhookApi.webhook_by_publicid_get"
105
+ end
106
+ # resource path
107
+ local_var_path = '/webhook/{publicid}'.sub('{' + 'publicid' + '}', CGI.escape(publicid.to_s))
108
+
109
+ # query parameters
110
+ query_params = opts[:query_params] || {}
111
+
112
+ # header parameters
113
+ header_params = opts[:header_params] || {}
114
+ # HTTP header 'Accept' (if needed)
115
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
116
+
117
+ # form parameters
118
+ form_params = opts[:form_params] || {}
119
+
120
+ # http body (model)
121
+ post_body = opts[:debug_body]
122
+
123
+ # return_type
124
+ return_type = opts[:debug_return_type] || 'Webhook'
125
+
126
+ # auth_names
127
+ auth_names = opts[:debug_auth_names] || ['apikey']
128
+
129
+ new_options = opts.merge(
130
+ :operation => :"WebhookApi.webhook_by_publicid_get",
131
+ :header_params => header_params,
132
+ :query_params => query_params,
133
+ :form_params => form_params,
134
+ :body => post_body,
135
+ :auth_names => auth_names,
136
+ :return_type => return_type
137
+ )
138
+
139
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
140
+ if @api_client.config.debugging
141
+ @api_client.config.logger.debug "API called: WebhookApi#webhook_by_publicid_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
142
+ end
143
+ return data, status_code, headers
144
+ end
145
+
146
+ # Update Webhook
147
+ # Update notification webhook. Required Access Level: ModifyWebNotifications
148
+ # @param publicid [String]
149
+ # @param webhook_update_payload [WebhookUpdatePayload]
150
+ # @param [Hash] opts the optional parameters
151
+ # @return [Webhook]
152
+ def webhook_by_publicid_put(publicid, webhook_update_payload, opts = {})
153
+ data, _status_code, _headers = webhook_by_publicid_put_with_http_info(publicid, webhook_update_payload, opts)
154
+ data
155
+ end
156
+
157
+ # Update Webhook
158
+ # Update notification webhook. Required Access Level: ModifyWebNotifications
159
+ # @param publicid [String]
160
+ # @param webhook_update_payload [WebhookUpdatePayload]
161
+ # @param [Hash] opts the optional parameters
162
+ # @return [Array<(Webhook, Integer, Hash)>] Webhook data, response status code and response headers
163
+ def webhook_by_publicid_put_with_http_info(publicid, webhook_update_payload, opts = {})
164
+ if @api_client.config.debugging
165
+ @api_client.config.logger.debug 'Calling API: WebhookApi.webhook_by_publicid_put ...'
166
+ end
167
+ # verify the required parameter 'publicid' is set
168
+ if @api_client.config.client_side_validation && publicid.nil?
169
+ fail ArgumentError, "Missing the required parameter 'publicid' when calling WebhookApi.webhook_by_publicid_put"
170
+ end
171
+ # verify the required parameter 'webhook_update_payload' is set
172
+ if @api_client.config.client_side_validation && webhook_update_payload.nil?
173
+ fail ArgumentError, "Missing the required parameter 'webhook_update_payload' when calling WebhookApi.webhook_by_publicid_put"
174
+ end
175
+ # resource path
176
+ local_var_path = '/webhook/{publicid}'.sub('{' + 'publicid' + '}', CGI.escape(publicid.to_s))
177
+
178
+ # query parameters
179
+ query_params = opts[:query_params] || {}
180
+
181
+ # header parameters
182
+ header_params = opts[:header_params] || {}
183
+ # HTTP header 'Accept' (if needed)
184
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
185
+ # HTTP header 'Content-Type'
186
+ content_type = @api_client.select_header_content_type(['application/json'])
187
+ if !content_type.nil?
188
+ header_params['Content-Type'] = content_type
189
+ end
190
+
191
+ # form parameters
192
+ form_params = opts[:form_params] || {}
193
+
194
+ # http body (model)
195
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(webhook_update_payload)
196
+
197
+ # return_type
198
+ return_type = opts[:debug_return_type] || 'Webhook'
199
+
200
+ # auth_names
201
+ auth_names = opts[:debug_auth_names] || ['apikey']
202
+
203
+ new_options = opts.merge(
204
+ :operation => :"WebhookApi.webhook_by_publicid_put",
205
+ :header_params => header_params,
206
+ :query_params => query_params,
207
+ :form_params => form_params,
208
+ :body => post_body,
209
+ :auth_names => auth_names,
210
+ :return_type => return_type
211
+ )
212
+
213
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
214
+ if @api_client.config.debugging
215
+ @api_client.config.logger.debug "API called: WebhookApi#webhook_by_publicid_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
216
+ end
217
+ return data, status_code, headers
218
+ end
219
+
220
+ # Load Webhooks
221
+ # Returns a list of notification webhooks. Required Access Level: ViewWebNotifications
222
+ # @param [Hash] opts the optional parameters
223
+ # @option opts [Integer] :limit Maximum number of returned items.
224
+ # @option opts [Integer] :offset How many items should be returned ahead.
225
+ # @return [Array<Webhook>]
226
+ def webhook_get(opts = {})
227
+ data, _status_code, _headers = webhook_get_with_http_info(opts)
228
+ data
229
+ end
230
+
231
+ # Load Webhooks
232
+ # Returns a list of notification webhooks. Required Access Level: ViewWebNotifications
233
+ # @param [Hash] opts the optional parameters
234
+ # @option opts [Integer] :limit Maximum number of returned items.
235
+ # @option opts [Integer] :offset How many items should be returned ahead.
236
+ # @return [Array<(Array<Webhook>, Integer, Hash)>] Array<Webhook> data, response status code and response headers
237
+ def webhook_get_with_http_info(opts = {})
238
+ if @api_client.config.debugging
239
+ @api_client.config.logger.debug 'Calling API: WebhookApi.webhook_get ...'
240
+ end
241
+ # resource path
242
+ local_var_path = '/webhook'
243
+
244
+ # query parameters
245
+ query_params = opts[:query_params] || {}
246
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
247
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
248
+
249
+ # header parameters
250
+ header_params = opts[:header_params] || {}
251
+ # HTTP header 'Accept' (if needed)
252
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
253
+
254
+ # form parameters
255
+ form_params = opts[:form_params] || {}
256
+
257
+ # http body (model)
258
+ post_body = opts[:debug_body]
259
+
260
+ # return_type
261
+ return_type = opts[:debug_return_type] || 'Array<Webhook>'
262
+
263
+ # auth_names
264
+ auth_names = opts[:debug_auth_names] || ['apikey']
265
+
266
+ new_options = opts.merge(
267
+ :operation => :"WebhookApi.webhook_get",
268
+ :header_params => header_params,
269
+ :query_params => query_params,
270
+ :form_params => form_params,
271
+ :body => post_body,
272
+ :auth_names => auth_names,
273
+ :return_type => return_type
274
+ )
275
+
276
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
277
+ if @api_client.config.debugging
278
+ @api_client.config.logger.debug "API called: WebhookApi#webhook_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
279
+ end
280
+ return data, status_code, headers
281
+ end
282
+
283
+ # Add Webhook
284
+ # Add a notification webhook. Required Access Level: ModifyWebNotifications
285
+ # @param webhook_create_payload [WebhookCreatePayload]
286
+ # @param [Hash] opts the optional parameters
287
+ # @return [Webhook]
288
+ def webhook_post(webhook_create_payload, opts = {})
289
+ data, _status_code, _headers = webhook_post_with_http_info(webhook_create_payload, opts)
290
+ data
291
+ end
292
+
293
+ # Add Webhook
294
+ # Add a notification webhook. Required Access Level: ModifyWebNotifications
295
+ # @param webhook_create_payload [WebhookCreatePayload]
296
+ # @param [Hash] opts the optional parameters
297
+ # @return [Array<(Webhook, Integer, Hash)>] Webhook data, response status code and response headers
298
+ def webhook_post_with_http_info(webhook_create_payload, opts = {})
299
+ if @api_client.config.debugging
300
+ @api_client.config.logger.debug 'Calling API: WebhookApi.webhook_post ...'
301
+ end
302
+ # verify the required parameter 'webhook_create_payload' is set
303
+ if @api_client.config.client_side_validation && webhook_create_payload.nil?
304
+ fail ArgumentError, "Missing the required parameter 'webhook_create_payload' when calling WebhookApi.webhook_post"
305
+ end
306
+ # resource path
307
+ local_var_path = '/webhook'
308
+
309
+ # query parameters
310
+ query_params = opts[:query_params] || {}
311
+
312
+ # header parameters
313
+ header_params = opts[:header_params] || {}
314
+ # HTTP header 'Accept' (if needed)
315
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
316
+ # HTTP header 'Content-Type'
317
+ content_type = @api_client.select_header_content_type(['application/json'])
318
+ if !content_type.nil?
319
+ header_params['Content-Type'] = content_type
320
+ end
321
+
322
+ # form parameters
323
+ form_params = opts[:form_params] || {}
324
+
325
+ # http body (model)
326
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(webhook_create_payload)
327
+
328
+ # return_type
329
+ return_type = opts[:debug_return_type] || 'Webhook'
330
+
331
+ # auth_names
332
+ auth_names = opts[:debug_auth_names] || ['apikey']
333
+
334
+ new_options = opts.merge(
335
+ :operation => :"WebhookApi.webhook_post",
336
+ :header_params => header_params,
337
+ :query_params => query_params,
338
+ :form_params => form_params,
339
+ :body => post_body,
340
+ :auth_names => auth_names,
341
+ :return_type => return_type
342
+ )
343
+
344
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
345
+ if @api_client.config.debugging
346
+ @api_client.config.logger.debug "API called: WebhookApi#webhook_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
347
+ end
348
+ return data, status_code, headers
349
+ end
350
+ end
351
+ end
@@ -35,6 +35,9 @@ module ElasticEmail
35
35
 
36
36
  attr_accessor :split_options
37
37
 
38
+ # Send email at local time of contact.
39
+ attr_accessor :send_at_local_time
40
+
38
41
  class EnumAttributeValidator
39
42
  attr_reader :datatype
40
43
  attr_reader :allowable_values
@@ -66,7 +69,8 @@ module ElasticEmail
66
69
  :'schedule_for' => :'ScheduleFor',
67
70
  :'trigger_frequency' => :'TriggerFrequency',
68
71
  :'trigger_count' => :'TriggerCount',
69
- :'split_options' => :'SplitOptions'
72
+ :'split_options' => :'SplitOptions',
73
+ :'send_at_local_time' => :'SendAtLocalTime'
70
74
  }
71
75
  end
72
76
 
@@ -84,7 +88,8 @@ module ElasticEmail
84
88
  :'schedule_for' => :'Time',
85
89
  :'trigger_frequency' => :'Float',
86
90
  :'trigger_count' => :'Integer',
87
- :'split_options' => :'SplitOptions'
91
+ :'split_options' => :'SplitOptions',
92
+ :'send_at_local_time' => :'Boolean'
88
93
  }
89
94
  end
90
95
 
@@ -94,6 +99,7 @@ module ElasticEmail
94
99
  :'track_opens',
95
100
  :'track_clicks',
96
101
  :'schedule_for',
102
+ :'send_at_local_time'
97
103
  ])
98
104
  end
99
105
 
@@ -141,6 +147,10 @@ module ElasticEmail
141
147
  if attributes.key?(:'split_options')
142
148
  self.split_options = attributes[:'split_options']
143
149
  end
150
+
151
+ if attributes.key?(:'send_at_local_time')
152
+ self.send_at_local_time = attributes[:'send_at_local_time']
153
+ end
144
154
  end
145
155
 
146
156
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -169,7 +179,8 @@ module ElasticEmail
169
179
  schedule_for == o.schedule_for &&
170
180
  trigger_frequency == o.trigger_frequency &&
171
181
  trigger_count == o.trigger_count &&
172
- split_options == o.split_options
182
+ split_options == o.split_options &&
183
+ send_at_local_time == o.send_at_local_time
173
184
  end
174
185
 
175
186
  # @see the `==` method
@@ -181,7 +192,7 @@ module ElasticEmail
181
192
  # Calculates hash code according to all attributes.
182
193
  # @return [Integer] Hash code
183
194
  def hash
184
- [delivery_optimization, track_opens, track_clicks, schedule_for, trigger_frequency, trigger_count, split_options].hash
195
+ [delivery_optimization, track_opens, track_clicks, schedule_for, trigger_frequency, trigger_count, split_options, send_at_local_time].hash
185
196
  end
186
197
 
187
198
  # Builds the object from hash
@@ -22,7 +22,7 @@ module ElasticEmail
22
22
  # Your e-mail with an optional name (e.g.: John Doe <email@domain.com>)
23
23
  attr_accessor :from
24
24
 
25
- # To what address should the recipients reply to (e.g. John Doe <email@domain.com>)
25
+ # To what addresses should the recipients reply to (e.g. John Doe <email@domain.com>)
26
26
  attr_accessor :reply_to
27
27
 
28
28
  # Default subject of email.
@@ -37,7 +37,7 @@ module ElasticEmail
37
37
  # Your e-mail with an optional name (e.g.: John Doe <email@domain.com>)
38
38
  attr_accessor :from
39
39
 
40
- # To what address should the recipients reply to (e.g. John Doe <email@domain.com>)
40
+ # To what addresses should the recipients reply to (e.g. John Doe <email@domain.com>)
41
41
  attr_accessor :reply_to
42
42
 
43
43
  # Default subject of email.
@@ -24,7 +24,7 @@ module ElasticEmail
24
24
  # MIME content type
25
25
  attr_accessor :content_type
26
26
 
27
- # Size of your attachment (in bytes).
27
+ # Size of the attachement in B
28
28
  attr_accessor :size
29
29
 
30
30
  # Attribute mapping from ruby-style variable name to JSON key.