ultracart_api 3.2.15 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bc9bde08cb99dbff1869db3b6d3ea61df1c1dd099efa422b66c67bd46eb73d0d
4
- data.tar.gz: 9f741b906df5a4e79f3998c46d82c5f6ae3177e1400c34b0dd097aeea1afae14
3
+ metadata.gz: f232d9eab6143048fc39ec2895648f951132d6dd5969d808fd0a56824a668d51
4
+ data.tar.gz: 2884b3dfbbc1834967fc62ee6b3b7b3e6817823d56a5aa94866b0984cba6ba15
5
5
  SHA512:
6
- metadata.gz: b6a920d32426b5c3bbad90dfa18794bcbc0a694055e9eafbce2b40be47dc3741a02028015dceefafc71c2ecdad48a2623bd4f4373152019c56ddfb18d9cb9506
7
- data.tar.gz: 209ce5b9f0ea5267ddce634399390936d410e4058283757a0f74a9aaaf4ddc0b497c105d692450388462ec2fbc00dc9f95dd400647c21a0261030c08ccd8c883
6
+ metadata.gz: 9f16dfb6996eab08dfe812a1611d26a8831ef6ccbc6ffd99c6043a2a1142d0e1b082a2f5980eef92720812e9bcdeb4bdfcea37f095a05d73ff3e0fb164afc293
7
+ data.tar.gz: 8c965a728c920f6edf490f92285cf555b58dff0e52396c9918652b94b782a34c8b59cdb6a8659d84571072b6addf4320b848ee229a2fae8ded2306538c5eb5d1
data/README.md CHANGED
@@ -7,7 +7,7 @@ UltraCart REST API Version 2
7
7
  This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
8
8
 
9
9
  - API version: 2.0.0
10
- - Package version: 3.2.15
10
+ - Package version: 3.3.0
11
11
  - Build package: io.swagger.codegen.languages.RubyClientCodegen
12
12
  For more information, please visit [http://www.ultracart.com](http://www.ultracart.com)
13
13
 
@@ -24,15 +24,15 @@ gem build ultracart_api.gemspec
24
24
  Then either install the gem locally:
25
25
 
26
26
  ```shell
27
- gem install ./ultracart_api-3.2.15.gem
27
+ gem install ./ultracart_api-3.3.0.gem
28
28
  ```
29
- (for development, run `gem install --dev ./ultracart_api-3.2.15.gem` to install the development dependencies)
29
+ (for development, run `gem install --dev ./ultracart_api-3.3.0.gem` to install the development dependencies)
30
30
 
31
31
  or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
32
32
 
33
33
  Finally add this to the Gemfile:
34
34
 
35
- gem 'ultracart_api', '~> 3.2.15'
35
+ gem 'ultracart_api', '~> 3.3.0'
36
36
 
37
37
  ### Install from Git
38
38
 
@@ -194,6 +194,10 @@ Class | Method | HTTP request | Description
194
194
  *UltracartClient::OrderApi* | [**resend_shipment_confirmation**](docs/OrderApi.md#resend_shipment_confirmation) | **POST** /order/orders/{order_id}/resend_shipment_confirmation | Resend shipment confirmation
195
195
  *UltracartClient::OrderApi* | [**update_accounts_receivable_retry_config**](docs/OrderApi.md#update_accounts_receivable_retry_config) | **POST** /order/accountsReceivableRetryConfig | Update A/R Retry Configuration
196
196
  *UltracartClient::OrderApi* | [**update_order**](docs/OrderApi.md#update_order) | **PUT** /order/orders/{order_id} | Update an order
197
+ *UltracartClient::SsoApi* | [**get_sso_session_user**](docs/SsoApi.md#get_sso_session_user) | **GET** /sso/session/user | Get single sign on session user
198
+ *UltracartClient::SsoApi* | [**sso_authorize**](docs/SsoApi.md#sso_authorize) | **PUT** /sso/authorize | Authorize a single sign on session
199
+ *UltracartClient::SsoApi* | [**sso_session_revoke**](docs/SsoApi.md#sso_session_revoke) | **DELETE** /sso/session/revoke | Revoke single sign on session
200
+ *UltracartClient::SsoApi* | [**sso_token**](docs/SsoApi.md#sso_token) | **PUT** /sso/token | Exchange a single sign on code for a simple key token
197
201
  *UltracartClient::StorefrontApi* | [**add_to_library**](docs/StorefrontApi.md#add_to_library) | **POST** /storefront/code_library | Add to library
198
202
  *UltracartClient::StorefrontApi* | [**apply_to_store_front**](docs/StorefrontApi.md#apply_to_store_front) | **POST** /storefront/code_library/apply | Apply library item to storefront.
199
203
  *UltracartClient::StorefrontApi* | [**archive_email_list**](docs/StorefrontApi.md#archive_email_list) | **POST** /storefront/{storefront_oid}/email/lists/{email_list_uuid}/archive | Archive email list
@@ -921,6 +925,8 @@ Class | Method | HTTP request | Description
921
925
  - [UltracartClient::ScreenshotsResponse](docs/ScreenshotsResponse.md)
922
926
  - [UltracartClient::SelfConfig](docs/SelfConfig.md)
923
927
  - [UltracartClient::SimpleValue](docs/SimpleValue.md)
928
+ - [UltracartClient::SingleSignOnAuthorizeRequest](docs/SingleSignOnAuthorizeRequest.md)
929
+ - [UltracartClient::SingleSignOnTokenRequest](docs/SingleSignOnTokenRequest.md)
924
930
  - [UltracartClient::SovosConfig](docs/SovosConfig.md)
925
931
  - [UltracartClient::StateProvince](docs/StateProvince.md)
926
932
  - [UltracartClient::StepWaiting](docs/StepWaiting.md)
@@ -1038,6 +1044,7 @@ Not every change is committed to every SDK.
1038
1044
 
1039
1045
  | Version | Date | Comments |
1040
1046
  | --: | :-: | --- |
1047
+ | 3.3.0 | 07/16/2021 | new endpoint SingleSignOn |
1041
1048
  | 3.2.15 | 07/13/2021 | storefront communications - added methods to retrieve step dispatch logs |
1042
1049
  | 3.2.14 | 07/12/2021 | fix documentation bug on packing slip methods for order api |
1043
1050
  | 3.2.13 | 07/12/2021 | coupon api - added hideFromCustomer flag |
@@ -0,0 +1,9 @@
1
+ # UltracartClient::SingleSignOnAuthorizeRequest
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **redirect_uri** | **String** | The URL that the customer should be redirected to after they have approved a single sign on session. | [optional]
7
+ **state** | **String** | An optional state variable that you provide. It will be returned to you on the redirect. You can inspect the state to validate the request is legitimate. We recommend using this field. | [optional]
8
+
9
+
@@ -0,0 +1,9 @@
1
+ # UltracartClient::SingleSignOnTokenRequest
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **code** | **String** | The code received on the redirect URI after the customer approved the single sign on request. | [optional]
7
+ **grant_type** | **String** | Grant type. The value should be simple_key. | [optional]
8
+
9
+
data/docs/SsoApi.md ADDED
@@ -0,0 +1,201 @@
1
+ # UltracartClient::SsoApi
2
+
3
+ All URIs are relative to *https://secure.ultracart.com/rest/v2*
4
+
5
+ Method | HTTP request | Description
6
+ ------------- | ------------- | -------------
7
+ [**get_sso_session_user**](SsoApi.md#get_sso_session_user) | **GET** /sso/session/user | Get single sign on session user
8
+ [**sso_authorize**](SsoApi.md#sso_authorize) | **PUT** /sso/authorize | Authorize a single sign on session
9
+ [**sso_session_revoke**](SsoApi.md#sso_session_revoke) | **DELETE** /sso/session/revoke | Revoke single sign on session
10
+ [**sso_token**](SsoApi.md#sso_token) | **PUT** /sso/token | Exchange a single sign on code for a simple key token
11
+
12
+
13
+ # **get_sso_session_user**
14
+ > User get_sso_session_user
15
+
16
+ Get single sign on session user
17
+
18
+ This is the equivalent of logging out of the single sign on session
19
+
20
+ ### Example
21
+ ```ruby
22
+ # load the gem
23
+ require 'ultracart_api'
24
+
25
+ # Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
26
+ simple_key = '109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00'
27
+ api_instance = UltracartClient::SsoApi.new_using_api_key(simple_key, false, false)
28
+
29
+
30
+
31
+ begin
32
+ #Get single sign on session user
33
+ result = api_instance.get_sso_session_user
34
+ p result
35
+ rescue UltracartClient::ApiError => e
36
+ puts "Exception when calling SsoApi->get_sso_session_user: #{e}"
37
+ end
38
+ ```
39
+
40
+ ### Parameters
41
+ This endpoint does not need any parameter.
42
+
43
+ ### Return type
44
+
45
+ [**User**](User.md)
46
+
47
+ ### Authorization
48
+
49
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
50
+
51
+ ### HTTP request headers
52
+
53
+ - **Content-Type**: application/json; charset=UTF-8
54
+ - **Accept**: application/json
55
+
56
+
57
+
58
+ # **sso_authorize**
59
+ > ItemsResponse sso_authorize(authorization_request)
60
+
61
+ Authorize a single sign on session
62
+
63
+ Starts the process of authorizing a single sign on session.
64
+
65
+ ### Example
66
+ ```ruby
67
+ # load the gem
68
+ require 'ultracart_api'
69
+
70
+ # Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
71
+ simple_key = '109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00'
72
+ api_instance = UltracartClient::SsoApi.new_using_api_key(simple_key, false, false)
73
+
74
+
75
+ authorization_request = UltracartClient::SingleSignOnAuthorizeRequest.new # SingleSignOnAuthorizeRequest | Authorization request
76
+
77
+
78
+ begin
79
+ #Authorize a single sign on session
80
+ result = api_instance.sso_authorize(authorization_request)
81
+ p result
82
+ rescue UltracartClient::ApiError => e
83
+ puts "Exception when calling SsoApi->sso_authorize: #{e}"
84
+ end
85
+ ```
86
+
87
+ ### Parameters
88
+
89
+ Name | Type | Description | Notes
90
+ ------------- | ------------- | ------------- | -------------
91
+ **authorization_request** | [**SingleSignOnAuthorizeRequest**](SingleSignOnAuthorizeRequest.md)| Authorization request |
92
+
93
+ ### Return type
94
+
95
+ [**ItemsResponse**](ItemsResponse.md)
96
+
97
+ ### Authorization
98
+
99
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
100
+
101
+ ### HTTP request headers
102
+
103
+ - **Content-Type**: application/json; charset=UTF-8
104
+ - **Accept**: application/json
105
+
106
+
107
+
108
+ # **sso_session_revoke**
109
+ > sso_session_revoke
110
+
111
+ Revoke single sign on session
112
+
113
+ This is the equivalent of logging out of the single sign on session
114
+
115
+ ### Example
116
+ ```ruby
117
+ # load the gem
118
+ require 'ultracart_api'
119
+
120
+ # Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
121
+ simple_key = '109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00'
122
+ api_instance = UltracartClient::SsoApi.new_using_api_key(simple_key, false, false)
123
+
124
+
125
+
126
+ begin
127
+ #Revoke single sign on session
128
+ api_instance.sso_session_revoke
129
+ rescue UltracartClient::ApiError => e
130
+ puts "Exception when calling SsoApi->sso_session_revoke: #{e}"
131
+ end
132
+ ```
133
+
134
+ ### Parameters
135
+ This endpoint does not need any parameter.
136
+
137
+ ### Return type
138
+
139
+ nil (empty response body)
140
+
141
+ ### Authorization
142
+
143
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
144
+
145
+ ### HTTP request headers
146
+
147
+ - **Content-Type**: application/json; charset=UTF-8
148
+ - **Accept**: application/json
149
+
150
+
151
+
152
+ # **sso_token**
153
+ > ItemsResponse sso_token(token_request)
154
+
155
+ Exchange a single sign on code for a simple key token
156
+
157
+ Called by your application after receiving the code back on the redirect URI to obtain a simple key token to make API calls with
158
+
159
+ ### Example
160
+ ```ruby
161
+ # load the gem
162
+ require 'ultracart_api'
163
+
164
+ # Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
165
+ simple_key = '109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00'
166
+ api_instance = UltracartClient::SsoApi.new_using_api_key(simple_key, false, false)
167
+
168
+
169
+ token_request = UltracartClient::SingleSignOnTokenRequest.new # SingleSignOnTokenRequest | Token request
170
+
171
+
172
+ begin
173
+ #Exchange a single sign on code for a simple key token
174
+ result = api_instance.sso_token(token_request)
175
+ p result
176
+ rescue UltracartClient::ApiError => e
177
+ puts "Exception when calling SsoApi->sso_token: #{e}"
178
+ end
179
+ ```
180
+
181
+ ### Parameters
182
+
183
+ Name | Type | Description | Notes
184
+ ------------- | ------------- | ------------- | -------------
185
+ **token_request** | [**SingleSignOnTokenRequest**](SingleSignOnTokenRequest.md)| Token request |
186
+
187
+ ### Return type
188
+
189
+ [**ItemsResponse**](ItemsResponse.md)
190
+
191
+ ### Authorization
192
+
193
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
194
+
195
+ ### HTTP request headers
196
+
197
+ - **Content-Type**: application/json; charset=UTF-8
198
+ - **Accept**: application/json
199
+
200
+
201
+
data/lib/ultracart_api.rb CHANGED
@@ -545,6 +545,8 @@ require 'ultracart_api/models/screen_recording_user_property'
545
545
  require 'ultracart_api/models/screenshots_response'
546
546
  require 'ultracart_api/models/self_config'
547
547
  require 'ultracart_api/models/simple_value'
548
+ require 'ultracart_api/models/single_sign_on_authorize_request'
549
+ require 'ultracart_api/models/single_sign_on_token_request'
548
550
  require 'ultracart_api/models/sovos_config'
549
551
  require 'ultracart_api/models/state_province'
550
552
  require 'ultracart_api/models/step_waiting'
@@ -613,6 +615,7 @@ require 'ultracart_api/api/integration_log_api'
613
615
  require 'ultracart_api/api/item_api'
614
616
  require 'ultracart_api/api/oauth_api'
615
617
  require 'ultracart_api/api/order_api'
618
+ require 'ultracart_api/api/sso_api'
616
619
  require 'ultracart_api/api/storefront_api'
617
620
  require 'ultracart_api/api/tax_api'
618
621
  require 'ultracart_api/api/user_api'
@@ -0,0 +1,243 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ OpenAPI spec version: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.15-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'uri'
14
+
15
+ module UltracartClient
16
+ class SsoApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+
23
+ def self.new_using_api_key(simple_key, verify_ssl = true, debugging = false)
24
+ api_config = Configuration.new
25
+ api_config.api_key_prefix['x-ultracart-simple-key'] = simple_key
26
+ api_config.api_version = '2017-03-01'
27
+ api_config.verify_ssl = verify_ssl
28
+
29
+ api_client = ApiClient.new(api_config)
30
+ api_client.config.debugging = debugging
31
+
32
+ UltracartClient::SsoApi.new(api_client)
33
+ end
34
+
35
+ # Get single sign on session user
36
+ # This is the equivalent of logging out of the single sign on session
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [User]
39
+ def get_sso_session_user(opts = {})
40
+ data, _status_code, _headers = get_sso_session_user_with_http_info(opts)
41
+ data
42
+ end
43
+
44
+ # Get single sign on session user
45
+ # This is the equivalent of logging out of the single sign on session
46
+ # @param [Hash] opts the optional parameters
47
+ # @return [Array<(User, Fixnum, Hash)>] User data, response status code and response headers
48
+ def get_sso_session_user_with_http_info(opts = {})
49
+ if @api_client.config.debugging
50
+ @api_client.config.logger.debug 'Calling API: SsoApi.get_sso_session_user ...'
51
+ end
52
+ # resource path
53
+ local_var_path = '/sso/session/user'
54
+
55
+ # query parameters
56
+ query_params = {}
57
+
58
+ # header parameters
59
+ header_params = {}
60
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
61
+ # HTTP header 'Accept' (if needed)
62
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
63
+ # HTTP header 'Content-Type'
64
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json; charset=UTF-8'])
65
+
66
+ # form parameters
67
+ form_params = {}
68
+
69
+ # http body (model)
70
+ post_body = nil
71
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
72
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => 'User')
79
+ if @api_client.config.debugging
80
+ @api_client.config.logger.debug "API called: SsoApi#get_sso_session_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
81
+ end
82
+ return data, status_code, headers
83
+ end
84
+ # Authorize a single sign on session
85
+ # Starts the process of authorizing a single sign on session.
86
+ # @param authorization_request Authorization request
87
+ # @param [Hash] opts the optional parameters
88
+ # @return [ItemsResponse]
89
+ def sso_authorize(authorization_request, opts = {})
90
+ data, _status_code, _headers = sso_authorize_with_http_info(authorization_request, opts)
91
+ data
92
+ end
93
+
94
+ # Authorize a single sign on session
95
+ # Starts the process of authorizing a single sign on session.
96
+ # @param authorization_request Authorization request
97
+ # @param [Hash] opts the optional parameters
98
+ # @return [Array<(ItemsResponse, Fixnum, Hash)>] ItemsResponse data, response status code and response headers
99
+ def sso_authorize_with_http_info(authorization_request, opts = {})
100
+ if @api_client.config.debugging
101
+ @api_client.config.logger.debug 'Calling API: SsoApi.sso_authorize ...'
102
+ end
103
+ # verify the required parameter 'authorization_request' is set
104
+ if @api_client.config.client_side_validation && authorization_request.nil?
105
+ fail ArgumentError, "Missing the required parameter 'authorization_request' when calling SsoApi.sso_authorize"
106
+ end
107
+ # resource path
108
+ local_var_path = '/sso/authorize'
109
+
110
+ # query parameters
111
+ query_params = {}
112
+
113
+ # header parameters
114
+ header_params = {}
115
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
116
+ # HTTP header 'Accept' (if needed)
117
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
118
+ # HTTP header 'Content-Type'
119
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json; charset=UTF-8'])
120
+
121
+ # form parameters
122
+ form_params = {}
123
+
124
+ # http body (model)
125
+ post_body = @api_client.object_to_http_body(authorization_request)
126
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
127
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
128
+ :header_params => header_params,
129
+ :query_params => query_params,
130
+ :form_params => form_params,
131
+ :body => post_body,
132
+ :auth_names => auth_names,
133
+ :return_type => 'ItemsResponse')
134
+ if @api_client.config.debugging
135
+ @api_client.config.logger.debug "API called: SsoApi#sso_authorize\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
136
+ end
137
+ return data, status_code, headers
138
+ end
139
+ # Revoke single sign on session
140
+ # This is the equivalent of logging out of the single sign on session
141
+ # @param [Hash] opts the optional parameters
142
+ # @return [nil]
143
+ def sso_session_revoke(opts = {})
144
+ sso_session_revoke_with_http_info(opts)
145
+ nil
146
+ end
147
+
148
+ # Revoke single sign on session
149
+ # This is the equivalent of logging out of the single sign on session
150
+ # @param [Hash] opts the optional parameters
151
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
152
+ def sso_session_revoke_with_http_info(opts = {})
153
+ if @api_client.config.debugging
154
+ @api_client.config.logger.debug 'Calling API: SsoApi.sso_session_revoke ...'
155
+ end
156
+ # resource path
157
+ local_var_path = '/sso/session/revoke'
158
+
159
+ # query parameters
160
+ query_params = {}
161
+
162
+ # header parameters
163
+ header_params = {}
164
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
165
+ # HTTP header 'Accept' (if needed)
166
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
167
+ # HTTP header 'Content-Type'
168
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json; charset=UTF-8'])
169
+
170
+ # form parameters
171
+ form_params = {}
172
+
173
+ # http body (model)
174
+ post_body = nil
175
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
176
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
177
+ :header_params => header_params,
178
+ :query_params => query_params,
179
+ :form_params => form_params,
180
+ :body => post_body,
181
+ :auth_names => auth_names)
182
+ if @api_client.config.debugging
183
+ @api_client.config.logger.debug "API called: SsoApi#sso_session_revoke\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
184
+ end
185
+ return data, status_code, headers
186
+ end
187
+ # Exchange a single sign on code for a simple key token
188
+ # Called by your application after receiving the code back on the redirect URI to obtain a simple key token to make API calls with
189
+ # @param token_request Token request
190
+ # @param [Hash] opts the optional parameters
191
+ # @return [ItemsResponse]
192
+ def sso_token(token_request, opts = {})
193
+ data, _status_code, _headers = sso_token_with_http_info(token_request, opts)
194
+ data
195
+ end
196
+
197
+ # Exchange a single sign on code for a simple key token
198
+ # Called by your application after receiving the code back on the redirect URI to obtain a simple key token to make API calls with
199
+ # @param token_request Token request
200
+ # @param [Hash] opts the optional parameters
201
+ # @return [Array<(ItemsResponse, Fixnum, Hash)>] ItemsResponse data, response status code and response headers
202
+ def sso_token_with_http_info(token_request, opts = {})
203
+ if @api_client.config.debugging
204
+ @api_client.config.logger.debug 'Calling API: SsoApi.sso_token ...'
205
+ end
206
+ # verify the required parameter 'token_request' is set
207
+ if @api_client.config.client_side_validation && token_request.nil?
208
+ fail ArgumentError, "Missing the required parameter 'token_request' when calling SsoApi.sso_token"
209
+ end
210
+ # resource path
211
+ local_var_path = '/sso/token'
212
+
213
+ # query parameters
214
+ query_params = {}
215
+
216
+ # header parameters
217
+ header_params = {}
218
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
219
+ # HTTP header 'Accept' (if needed)
220
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
221
+ # HTTP header 'Content-Type'
222
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json; charset=UTF-8'])
223
+
224
+ # form parameters
225
+ form_params = {}
226
+
227
+ # http body (model)
228
+ post_body = @api_client.object_to_http_body(token_request)
229
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
230
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
231
+ :header_params => header_params,
232
+ :query_params => query_params,
233
+ :form_params => form_params,
234
+ :body => post_body,
235
+ :auth_names => auth_names,
236
+ :return_type => 'ItemsResponse')
237
+ if @api_client.config.debugging
238
+ @api_client.config.logger.debug "API called: SsoApi#sso_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
239
+ end
240
+ return data, status_code, headers
241
+ end
242
+ end
243
+ end
@@ -0,0 +1,195 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ OpenAPI spec version: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.15-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module UltracartClient
16
+ class SingleSignOnAuthorizeRequest
17
+ # The URL that the customer should be redirected to after they have approved a single sign on session.
18
+ attr_accessor :redirect_uri
19
+
20
+ # An optional state variable that you provide. It will be returned to you on the redirect. You can inspect the state to validate the request is legitimate. We recommend using this field.
21
+ attr_accessor :state
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'redirect_uri' => :'redirect_uri',
27
+ :'state' => :'state'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.swagger_types
33
+ {
34
+ :'redirect_uri' => :'String',
35
+ :'state' => :'String'
36
+ }
37
+ end
38
+
39
+ # Initializes the object
40
+ # @param [Hash] attributes Model attributes in the form of hash
41
+ def initialize(attributes = {})
42
+ return unless attributes.is_a?(Hash)
43
+
44
+ # convert string to symbol for hash key
45
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
46
+
47
+ if attributes.has_key?(:'redirect_uri')
48
+ self.redirect_uri = attributes[:'redirect_uri']
49
+ end
50
+
51
+ if attributes.has_key?(:'state')
52
+ self.state = attributes[:'state']
53
+ end
54
+ end
55
+
56
+ # Show invalid properties with the reasons. Usually used together with valid?
57
+ # @return Array for valid properties with the reasons
58
+ def list_invalid_properties
59
+ invalid_properties = Array.new
60
+ invalid_properties
61
+ end
62
+
63
+ # Check to see if the all the properties in the model are valid
64
+ # @return true if the model is valid
65
+ def valid?
66
+ true
67
+ end
68
+
69
+ # Checks equality by comparing each attribute.
70
+ # @param [Object] Object to be compared
71
+ def ==(o)
72
+ return true if self.equal?(o)
73
+ self.class == o.class &&
74
+ redirect_uri == o.redirect_uri &&
75
+ state == o.state
76
+ end
77
+
78
+ # @see the `==` method
79
+ # @param [Object] Object to be compared
80
+ def eql?(o)
81
+ self == o
82
+ end
83
+
84
+ # Calculates hash code according to all attributes.
85
+ # @return [Fixnum] Hash code
86
+ def hash
87
+ [redirect_uri, state].hash
88
+ end
89
+
90
+ # Builds the object from hash
91
+ # @param [Hash] attributes Model attributes in the form of hash
92
+ # @return [Object] Returns the model itself
93
+ def build_from_hash(attributes)
94
+ return nil unless attributes.is_a?(Hash)
95
+ self.class.swagger_types.each_pair do |key, type|
96
+ if type =~ /\AArray<(.*)>/i
97
+ # check to ensure the input is an array given that the attribute
98
+ # is documented as an array but the input is not
99
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
100
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
101
+ end
102
+ elsif !attributes[self.class.attribute_map[key]].nil?
103
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
104
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
105
+ end
106
+
107
+ self
108
+ end
109
+
110
+ # Deserializes the data based on type
111
+ # @param string type Data type
112
+ # @param string value Value to be deserialized
113
+ # @return [Object] Deserialized data
114
+ def _deserialize(type, value)
115
+ case type.to_sym
116
+ when :DateTime
117
+ DateTime.parse(value)
118
+ when :Date
119
+ Date.parse(value)
120
+ when :String
121
+ value.to_s
122
+ when :Integer
123
+ value.to_i
124
+ when :Float
125
+ value.to_f
126
+ when :BOOLEAN
127
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
128
+ true
129
+ else
130
+ false
131
+ end
132
+ when :Object
133
+ # generic object (usually a Hash), return directly
134
+ value
135
+ when /\AArray<(?<inner_type>.+)>\z/
136
+ inner_type = Regexp.last_match[:inner_type]
137
+ value.map { |v| _deserialize(inner_type, v) }
138
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
139
+ k_type = Regexp.last_match[:k_type]
140
+ v_type = Regexp.last_match[:v_type]
141
+ {}.tap do |hash|
142
+ value.each do |k, v|
143
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
144
+ end
145
+ end
146
+ else # model
147
+ temp_model = UltracartClient.const_get(type).new
148
+ temp_model.build_from_hash(value)
149
+ end
150
+ end
151
+
152
+ # Returns the string representation of the object
153
+ # @return [String] String presentation of the object
154
+ def to_s
155
+ to_hash.to_s
156
+ end
157
+
158
+ # to_body is an alias to to_hash (backward compatibility)
159
+ # @return [Hash] Returns the object in the form of hash
160
+ def to_body
161
+ to_hash
162
+ end
163
+
164
+ # Returns the object in the form of hash
165
+ # @return [Hash] Returns the object in the form of hash
166
+ def to_hash
167
+ hash = {}
168
+ self.class.attribute_map.each_pair do |attr, param|
169
+ value = self.send(attr)
170
+ next if value.nil?
171
+ hash[param] = _to_hash(value)
172
+ end
173
+ hash
174
+ end
175
+
176
+ # Outputs non-array value in the form of hash
177
+ # For object, use to_hash. Otherwise, just return the value
178
+ # @param [Object] value Any valid value
179
+ # @return [Hash] Returns the value in the form of hash
180
+ def _to_hash(value)
181
+ if value.is_a?(Array)
182
+ value.compact.map { |v| _to_hash(v) }
183
+ elsif value.is_a?(Hash)
184
+ {}.tap do |hash|
185
+ value.each { |k, v| hash[k] = _to_hash(v) }
186
+ end
187
+ elsif value.respond_to? :to_hash
188
+ value.to_hash
189
+ else
190
+ value
191
+ end
192
+ end
193
+
194
+ end
195
+ end
@@ -0,0 +1,195 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ OpenAPI spec version: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.15-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module UltracartClient
16
+ class SingleSignOnTokenRequest
17
+ # The code received on the redirect URI after the customer approved the single sign on request.
18
+ attr_accessor :code
19
+
20
+ # Grant type. The value should be simple_key.
21
+ attr_accessor :grant_type
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'code' => :'code',
27
+ :'grant_type' => :'grant_type'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.swagger_types
33
+ {
34
+ :'code' => :'String',
35
+ :'grant_type' => :'String'
36
+ }
37
+ end
38
+
39
+ # Initializes the object
40
+ # @param [Hash] attributes Model attributes in the form of hash
41
+ def initialize(attributes = {})
42
+ return unless attributes.is_a?(Hash)
43
+
44
+ # convert string to symbol for hash key
45
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
46
+
47
+ if attributes.has_key?(:'code')
48
+ self.code = attributes[:'code']
49
+ end
50
+
51
+ if attributes.has_key?(:'grant_type')
52
+ self.grant_type = attributes[:'grant_type']
53
+ end
54
+ end
55
+
56
+ # Show invalid properties with the reasons. Usually used together with valid?
57
+ # @return Array for valid properties with the reasons
58
+ def list_invalid_properties
59
+ invalid_properties = Array.new
60
+ invalid_properties
61
+ end
62
+
63
+ # Check to see if the all the properties in the model are valid
64
+ # @return true if the model is valid
65
+ def valid?
66
+ true
67
+ end
68
+
69
+ # Checks equality by comparing each attribute.
70
+ # @param [Object] Object to be compared
71
+ def ==(o)
72
+ return true if self.equal?(o)
73
+ self.class == o.class &&
74
+ code == o.code &&
75
+ grant_type == o.grant_type
76
+ end
77
+
78
+ # @see the `==` method
79
+ # @param [Object] Object to be compared
80
+ def eql?(o)
81
+ self == o
82
+ end
83
+
84
+ # Calculates hash code according to all attributes.
85
+ # @return [Fixnum] Hash code
86
+ def hash
87
+ [code, grant_type].hash
88
+ end
89
+
90
+ # Builds the object from hash
91
+ # @param [Hash] attributes Model attributes in the form of hash
92
+ # @return [Object] Returns the model itself
93
+ def build_from_hash(attributes)
94
+ return nil unless attributes.is_a?(Hash)
95
+ self.class.swagger_types.each_pair do |key, type|
96
+ if type =~ /\AArray<(.*)>/i
97
+ # check to ensure the input is an array given that the attribute
98
+ # is documented as an array but the input is not
99
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
100
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
101
+ end
102
+ elsif !attributes[self.class.attribute_map[key]].nil?
103
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
104
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
105
+ end
106
+
107
+ self
108
+ end
109
+
110
+ # Deserializes the data based on type
111
+ # @param string type Data type
112
+ # @param string value Value to be deserialized
113
+ # @return [Object] Deserialized data
114
+ def _deserialize(type, value)
115
+ case type.to_sym
116
+ when :DateTime
117
+ DateTime.parse(value)
118
+ when :Date
119
+ Date.parse(value)
120
+ when :String
121
+ value.to_s
122
+ when :Integer
123
+ value.to_i
124
+ when :Float
125
+ value.to_f
126
+ when :BOOLEAN
127
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
128
+ true
129
+ else
130
+ false
131
+ end
132
+ when :Object
133
+ # generic object (usually a Hash), return directly
134
+ value
135
+ when /\AArray<(?<inner_type>.+)>\z/
136
+ inner_type = Regexp.last_match[:inner_type]
137
+ value.map { |v| _deserialize(inner_type, v) }
138
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
139
+ k_type = Regexp.last_match[:k_type]
140
+ v_type = Regexp.last_match[:v_type]
141
+ {}.tap do |hash|
142
+ value.each do |k, v|
143
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
144
+ end
145
+ end
146
+ else # model
147
+ temp_model = UltracartClient.const_get(type).new
148
+ temp_model.build_from_hash(value)
149
+ end
150
+ end
151
+
152
+ # Returns the string representation of the object
153
+ # @return [String] String presentation of the object
154
+ def to_s
155
+ to_hash.to_s
156
+ end
157
+
158
+ # to_body is an alias to to_hash (backward compatibility)
159
+ # @return [Hash] Returns the object in the form of hash
160
+ def to_body
161
+ to_hash
162
+ end
163
+
164
+ # Returns the object in the form of hash
165
+ # @return [Hash] Returns the object in the form of hash
166
+ def to_hash
167
+ hash = {}
168
+ self.class.attribute_map.each_pair do |attr, param|
169
+ value = self.send(attr)
170
+ next if value.nil?
171
+ hash[param] = _to_hash(value)
172
+ end
173
+ hash
174
+ end
175
+
176
+ # Outputs non-array value in the form of hash
177
+ # For object, use to_hash. Otherwise, just return the value
178
+ # @param [Object] value Any valid value
179
+ # @return [Hash] Returns the value in the form of hash
180
+ def _to_hash(value)
181
+ if value.is_a?(Array)
182
+ value.compact.map { |v| _to_hash(v) }
183
+ elsif value.is_a?(Hash)
184
+ {}.tap do |hash|
185
+ value.each { |k, v| hash[k] = _to_hash(v) }
186
+ end
187
+ elsif value.respond_to? :to_hash
188
+ value.to_hash
189
+ else
190
+ value
191
+ end
192
+ end
193
+
194
+ end
195
+ end
@@ -11,5 +11,5 @@ Swagger Codegen version: 2.4.15-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module UltracartClient
14
- VERSION = '3.2.15'
14
+ VERSION = '3.3.0'
15
15
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ultracart_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.15
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - UltraCart
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-13 00:00:00.000000000 Z
11
+ date: 2021-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -740,7 +740,10 @@ files:
740
740
  - docs/ScreenshotsResponse.md
741
741
  - docs/SelfConfig.md
742
742
  - docs/SimpleValue.md
743
+ - docs/SingleSignOnAuthorizeRequest.md
744
+ - docs/SingleSignOnTokenRequest.md
743
745
  - docs/SovosConfig.md
746
+ - docs/SsoApi.md
744
747
  - docs/StateProvince.md
745
748
  - docs/StepWaiting.md
746
749
  - docs/StorefrontApi.md
@@ -812,6 +815,7 @@ files:
812
815
  - lib/ultracart_api/api/item_api.rb
813
816
  - lib/ultracart_api/api/oauth_api.rb
814
817
  - lib/ultracart_api/api/order_api.rb
818
+ - lib/ultracart_api/api/sso_api.rb
815
819
  - lib/ultracart_api/api/storefront_api.rb
816
820
  - lib/ultracart_api/api/tax_api.rb
817
821
  - lib/ultracart_api/api/user_api.rb
@@ -1347,6 +1351,8 @@ files:
1347
1351
  - lib/ultracart_api/models/screenshots_response.rb
1348
1352
  - lib/ultracart_api/models/self_config.rb
1349
1353
  - lib/ultracart_api/models/simple_value.rb
1354
+ - lib/ultracart_api/models/single_sign_on_authorize_request.rb
1355
+ - lib/ultracart_api/models/single_sign_on_token_request.rb
1350
1356
  - lib/ultracart_api/models/sovos_config.rb
1351
1357
  - lib/ultracart_api/models/state_province.rb
1352
1358
  - lib/ultracart_api/models/step_waiting.rb