MailchimpTransactional 1.0.8 → 1.0.14

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.
@@ -3,8 +3,8 @@
3
3
 
4
4
  #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
5
 
6
- OpenAPI spec version: 1.0.8
7
- Contact: apihelp@mandrill.com
6
+ OpenAPI spec version: 1.0.14
7
+ Contact: apihelp@mailchimp.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.12
10
10
 
@@ -16,45 +16,17 @@ module MailchimpTransactional
16
16
  class WebhooksApi
17
17
  attr_accessor :api_client
18
18
 
19
- attr_accessor :api_key
20
-
21
- def initialize(api_key = '', api_client = ApiClient.default)
22
- @api_key = api_key
19
+ def initialize(api_client = ApiClient.default)
23
20
  @api_client = api_client
24
21
  end
25
- # Add webhook
26
- # Add a new webhook.
27
- # @param body
28
- # @param [Hash] opts the optional parameters
29
- # @return [InlineResponse20072]
30
- def add(body = {}, opts = {})
31
- data = add_with_http_info(body, opts)
32
- data
33
- end
34
22
 
35
23
  # Add webhook
36
24
  # Add a new webhook.
37
25
  # @param body
38
26
  # @param [Hash] opts the optional parameters
39
27
  # @return [Array<(InlineResponse20072, Fixnum, Hash)>] InlineResponse20072 data, response status code and response headers
40
- def add_with_http_info(body, opts = {})
41
- # add api key to request body
42
- body[:key] = @api_key
43
-
44
- # resource path
45
- local_var_path = '/webhooks/add'
46
-
47
- # http body (model)
48
- data = @api_client.call_api(:POST, local_var_path, :body => body)
49
- return data
50
- end
51
- # Delete webhook
52
- # Delete an existing webhook.
53
- # @param body
54
- # @param [Hash] opts the optional parameters
55
- # @return [InlineResponse20075]
56
- def delete(body = {}, opts = {})
57
- data = delete_with_http_info(body, opts)
28
+ def add(body = {})
29
+ data = @api_client.call_api(:POST, '/webhooks/add', body)
58
30
  data
59
31
  end
60
32
 
@@ -63,24 +35,8 @@ module MailchimpTransactional
63
35
  # @param body
64
36
  # @param [Hash] opts the optional parameters
65
37
  # @return [Array<(InlineResponse20075, Fixnum, Hash)>] InlineResponse20075 data, response status code and response headers
66
- def delete_with_http_info(body, opts = {})
67
- # add api key to request body
68
- body[:key] = @api_key
69
-
70
- # resource path
71
- local_var_path = '/webhooks/delete'
72
-
73
- # http body (model)
74
- data = @api_client.call_api(:POST, local_var_path, :body => body)
75
- return data
76
- end
77
- # Get webhook info
78
- # Given the ID of an existing webhook, return the data about it.
79
- # @param body
80
- # @param [Hash] opts the optional parameters
81
- # @return [InlineResponse20073]
82
- def info(body = {}, opts = {})
83
- data = info_with_http_info(body, opts)
38
+ def delete(body = {})
39
+ data = @api_client.call_api(:POST, '/webhooks/delete', body)
84
40
  data
85
41
  end
86
42
 
@@ -89,24 +45,8 @@ module MailchimpTransactional
89
45
  # @param body
90
46
  # @param [Hash] opts the optional parameters
91
47
  # @return [Array<(InlineResponse20073, Fixnum, Hash)>] InlineResponse20073 data, response status code and response headers
92
- def info_with_http_info(body, opts = {})
93
- # add api key to request body
94
- body[:key] = @api_key
95
-
96
- # resource path
97
- local_var_path = '/webhooks/info'
98
-
99
- # http body (model)
100
- data = @api_client.call_api(:POST, local_var_path, :body => body)
101
- return data
102
- end
103
- # List webhooks
104
- # Get the list of all webhooks defined on the account.
105
- # @param body
106
- # @param [Hash] opts the optional parameters
107
- # @return [Array<InlineResponse20071>]
108
- def list(body = {}, opts = {})
109
- data = list_with_http_info(body, opts)
48
+ def info(body = {})
49
+ data = @api_client.call_api(:POST, '/webhooks/info', body)
110
50
  data
111
51
  end
112
52
 
@@ -115,24 +55,8 @@ module MailchimpTransactional
115
55
  # @param body
116
56
  # @param [Hash] opts the optional parameters
117
57
  # @return [Array<(Array<InlineResponse20071>, Fixnum, Hash)>] Array<InlineResponse20071> data, response status code and response headers
118
- def list_with_http_info(body, opts = {})
119
- # add api key to request body
120
- body[:key] = @api_key
121
-
122
- # resource path
123
- local_var_path = '/webhooks/list'
124
-
125
- # http body (model)
126
- data = @api_client.call_api(:POST, local_var_path, :body => body)
127
- return data
128
- end
129
- # Update webhook
130
- # Update an existing webhook.
131
- # @param body
132
- # @param [Hash] opts the optional parameters
133
- # @return [InlineResponse20074]
134
- def update(body = {}, opts = {})
135
- data = update_with_http_info(body, opts)
58
+ def list(body = {})
59
+ data = @api_client.call_api(:POST, '/webhooks/list', body)
136
60
  data
137
61
  end
138
62
 
@@ -141,16 +65,9 @@ module MailchimpTransactional
141
65
  # @param body
142
66
  # @param [Hash] opts the optional parameters
143
67
  # @return [Array<(InlineResponse20074, Fixnum, Hash)>] InlineResponse20074 data, response status code and response headers
144
- def update_with_http_info(body, opts = {})
145
- # add api key to request body
146
- body[:key] = @api_key
147
-
148
- # resource path
149
- local_var_path = '/webhooks/update'
150
-
151
- # http body (model)
152
- data = @api_client.call_api(:POST, local_var_path, :body => body)
153
- return data
68
+ def update(body = {})
69
+ data = @api_client.call_api(:POST, '/webhooks/update', body)
70
+ data
154
71
  end
155
72
  end
156
73
  end
@@ -3,8 +3,8 @@
3
3
 
4
4
  #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
5
 
6
- OpenAPI spec version: 1.0.8
7
- Contact: apihelp@mandrill.com
6
+ OpenAPI spec version: 1.0.14
7
+ Contact: apihelp@mailchimp.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.12
10
10
 
@@ -16,45 +16,17 @@ module MailchimpTransactional
16
16
  class WhitelistsApi
17
17
  attr_accessor :api_client
18
18
 
19
- attr_accessor :api_key
20
-
21
- def initialize(api_key = '', api_client = ApiClient.default)
22
- @api_key = api_key
19
+ def initialize(api_client = ApiClient.default)
23
20
  @api_client = api_client
24
21
  end
25
- # Add email to whitelist
26
- # Adds an email to your email rejection whitelist. If the address is currently on your blacklist, that blacklist entry will be removed automatically.
27
- # @param body
28
- # @param [Hash] opts the optional parameters
29
- # @return [InlineResponse20076]
30
- def add(body = {}, opts = {})
31
- data = add_with_http_info(body, opts)
32
- data
33
- end
34
22
 
35
23
  # Add email to whitelist
36
24
  # Adds an email to your email rejection whitelist. If the address is currently on your blacklist, that blacklist entry will be removed automatically.
37
25
  # @param body
38
26
  # @param [Hash] opts the optional parameters
39
27
  # @return [Array<(InlineResponse20076, Fixnum, Hash)>] InlineResponse20076 data, response status code and response headers
40
- def add_with_http_info(body, opts = {})
41
- # add api key to request body
42
- body[:key] = @api_key
43
-
44
- # resource path
45
- local_var_path = '/whitelists/add'
46
-
47
- # http body (model)
48
- data = @api_client.call_api(:POST, local_var_path, :body => body)
49
- return data
50
- end
51
- # Remove email from whitelist
52
- # Removes an email address from the whitelist.
53
- # @param body
54
- # @param [Hash] opts the optional parameters
55
- # @return [InlineResponse20078]
56
- def delete(body = {}, opts = {})
57
- data = delete_with_http_info(body, opts)
28
+ def add(body = {})
29
+ data = @api_client.call_api(:POST, '/whitelists/add', body)
58
30
  data
59
31
  end
60
32
 
@@ -63,24 +35,8 @@ module MailchimpTransactional
63
35
  # @param body
64
36
  # @param [Hash] opts the optional parameters
65
37
  # @return [Array<(InlineResponse20078, Fixnum, Hash)>] InlineResponse20078 data, response status code and response headers
66
- def delete_with_http_info(body, opts = {})
67
- # add api key to request body
68
- body[:key] = @api_key
69
-
70
- # resource path
71
- local_var_path = '/whitelists/delete'
72
-
73
- # http body (model)
74
- data = @api_client.call_api(:POST, local_var_path, :body => body)
75
- return data
76
- end
77
- # List whitelisted emails
78
- # Retrieves your email rejection whitelist. You can provide an email address or search prefix to limit the results. Returns up to 1000 results.
79
- # @param body
80
- # @param [Hash] opts the optional parameters
81
- # @return [Array<InlineResponse20077>]
82
- def list(body = {}, opts = {})
83
- data = list_with_http_info(body, opts)
38
+ def delete(body = {})
39
+ data = @api_client.call_api(:POST, '/whitelists/delete', body)
84
40
  data
85
41
  end
86
42
 
@@ -89,16 +45,9 @@ module MailchimpTransactional
89
45
  # @param body
90
46
  # @param [Hash] opts the optional parameters
91
47
  # @return [Array<(Array<InlineResponse20077>, Fixnum, Hash)>] Array<InlineResponse20077> data, response status code and response headers
92
- def list_with_http_info(body, opts = {})
93
- # add api key to request body
94
- body[:key] = @api_key
95
-
96
- # resource path
97
- local_var_path = '/whitelists/list'
98
-
99
- # http body (model)
100
- data = @api_client.call_api(:POST, local_var_path, :body => body)
101
- return data
48
+ def list(body = {})
49
+ data = @api_client.call_api(:POST, '/whitelists/list', body)
50
+ data
102
51
  end
103
52
  end
104
53
  end
@@ -3,170 +3,85 @@
3
3
 
4
4
  #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
5
 
6
- OpenAPI spec version: 1.0.8
7
- Contact: apihelp@mandrill.com
6
+ OpenAPI spec version: 1.0.14
7
+ Contact: apihelp@mailchimp.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.12
10
10
 
11
11
  =end
12
12
 
13
13
  require 'json'
14
- require 'faraday'
14
+ require 'excon'
15
15
 
16
16
  module MailchimpTransactional
17
17
  class ApiClient
18
- # Defines the headers to be used in HTTP requests of all API calls by default.
19
- #
20
- # @return [Hash]
21
- attr_accessor :default_headers
22
-
23
- # Initializes the ApiClient
24
- def initialize()
18
+ def initialize(api_key = '')
25
19
  @host = "https://mandrillapp.com/api/1.0"
26
- @user_agent = "Swagger-Codegen/#{VERSION}/ruby"
27
- @default_headers = {
28
- 'Content-Type' => 'application/json',
29
- 'User-Agent' => @user_agent
30
- }
31
20
  @format_list = ['json', 'xml', 'php', 'yaml']
32
- @content_type = 'application/json'
33
21
  @default_output_format = 'json'
34
22
  @accepts = ['application/json', 'application/xml', 'application/x-php', 'application/x-yaml; charset=utf-8']
23
+ set_api_key(api_key)
35
24
  end
36
25
 
37
26
  def self.default
38
27
  @@default ||= ApiClient.new
39
28
  end
40
29
 
30
+ def set_api_key(api_key = '')
31
+ @api_key = api_key
32
+ end
33
+
41
34
  def set_default_output_format(output_format)
42
35
  if @format_list.include? output_format
43
36
  @default_output_format = output_format
44
37
  end
45
38
  end
46
39
 
47
- def call_api(http_method, path, opts = {})
48
- header_params = @default_headers.merge(opts[:header_params] || {})
49
- url = @host + path
50
-
40
+ def call_api(http_method, path, body = {})
51
41
  use_default_output_format = true
42
+ active_output_format = @default_output_format
43
+ url = @host + path
52
44
 
53
- body = opts[:body]
54
-
55
- if body && body[:outputFormat]
45
+ # format body
46
+ if body[:outputFormat]
56
47
  format = body[:outputFormat].downcase
57
48
  if @format_list.include? format
58
49
  url += ".#{format}"
59
50
  body.delete(:outputFormat)
60
51
  use_default_output_format = false
52
+ active_output_format = format
61
53
  end
62
54
  end
63
55
 
56
+ # apply output format
64
57
  if use_default_output_format && @format_list.include?(@default_output_format)
65
58
  url += '.%s' % @default_output_format
59
+ active_output_format = @default_output_format
66
60
  end
67
61
 
68
- res = request(http_method, url, body, header_params)
62
+ # apply api key
63
+ body[:key] = @api_key
64
+
65
+ # send request
66
+ conn = Excon.new(url, :headers => {'Content-Type' => 'application/json'})
67
+ res = conn.post(:body => body.to_json)
69
68
 
69
+ # handle response
70
70
  data = nil
71
- if res.headers['content-type'] && res.headers['content-type'].include?('application/json')
72
- data = JSON.parse(res.body)
73
- else
74
- data = res.body
75
- end
76
71
 
77
- if data
78
- if res.status <= 200
79
- data
72
+ if res.status == 200
73
+ if active_output_format == 'json'
74
+ data = JSON.parse(res.body)
80
75
  else
81
- fail ApiError.new(res.body)
76
+ data = res.body
82
77
  end
83
78
  end
84
- end
85
-
86
- def request(http_method, url, body = nil, headers = nil)
87
- if http_method.to_sym.downcase == :post
88
- Faraday.post(url, body.to_json, headers)
89
- else
90
- fail ApiError.new('http_method must be :post')
91
- end
92
- end
93
-
94
- # Return Accept header based on an array of accepts provided.
95
- # @param [Array] accepts array for Accept
96
- # @return [String] the Accept header (e.g. application/json)
97
- def select_header_accept(accepts)
98
- return nil if accepts.nil? || accepts.empty?
99
- # use JSON when present, otherwise use all of the provided
100
- json_accept = accepts.find { |s| json_mime?(s) }
101
- json_accept || accepts.join(',')
102
- end
103
-
104
- # Return Content-Type header based on an array of content types provided.
105
- # @param [Array] content_types array for Content-Type
106
- # @return [String] the Content-Type header (e.g. application/json)
107
- def select_header_content_type(content_types)
108
- # use application/json by default
109
- return 'application/json' if content_types.nil? || content_types.empty?
110
- # use JSON when present, otherwise use the first one
111
- json_content_type = content_types.find { |s| json_mime?(s) }
112
- json_content_type || content_types.first
113
- end
114
-
115
- # Convert object (array, hash, object, etc) to JSON string.
116
- # @param [Object] model object to be converted into JSON string
117
- # @return [String] JSON string representation of the object
118
- def object_to_http_body(model)
119
- return model if model.nil? || model.is_a?(String)
120
- local_body = nil
121
- if model.is_a?(Array)
122
- local_body = model.map { |m| object_to_hash(m) }
123
- else
124
- local_body = object_to_hash(model)
125
- end
126
- local_body.to_json
127
- end
128
-
129
- # Convert object(non-array) to hash.
130
- # @param [Object] obj object to be converted into JSON string
131
- # @return [String] JSON string representation of the object
132
- def object_to_hash(obj)
133
- if obj.respond_to?(:to_hash)
134
- obj.to_hash
135
- else
136
- obj
137
- end
138
- end
139
79
 
140
- # Build parameter value according to the given collection format.
141
- # @param [String] collection_format one of :csv, :ssv, :tsv, :pipes and :multi
142
- def build_collection_param(param, collection_format)
143
- case collection_format
144
- when :csv
145
- param.join(',')
146
- when :ssv
147
- param.join(' ')
148
- when :tsv
149
- param.join("\t")
150
- when :pipes
151
- param.join('|')
152
- when :multi
153
- # return the array directly as typhoeus will handle it as expected
154
- param
155
- else
156
- fail "unknown collection format: #{collection_format.inspect}"
80
+ if (!data)
81
+ fail ApiError.new(:status => res.status, :response_body => res.body)
157
82
  end
158
- end
159
83
 
160
- # Check if the given MIME is a JSON MIME.
161
- # JSON MIME examples:
162
- # application/json
163
- # application/json; charset=UTF8
164
- # APPLICATION/JSON
165
- # */*
166
- # @param [String] mime MIME
167
- # @return [Boolean] True if the MIME is application/json
168
- def json_mime?(mime)
169
- (mime == '*/*') || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil?
84
+ return data
170
85
  end
171
86
  end
172
87
  end