avalara_sdk 2.4.5.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/Avalara.SDK.gemspec +38 -0
  3. data/Gemfile +9 -0
  4. data/README.md +129 -0
  5. data/Rakefile +10 -0
  6. data/TAGS +441 -0
  7. data/avalara_sdk.gemspec +36 -0
  8. data/docs/AgeVerificationApi.md +87 -0
  9. data/docs/AgeVerifyFailureCode.md +15 -0
  10. data/docs/AgeVerifyRequest.md +24 -0
  11. data/docs/AgeVerifyRequestAddress.md +26 -0
  12. data/docs/AgeVerifyResult.md +20 -0
  13. data/docs/ErrorDetails.md +18 -0
  14. data/docs/ErrorDetailsError.md +22 -0
  15. data/docs/ErrorDetailsErrorDetails.md +30 -0
  16. data/docs/ShippingVerificationApi.md +327 -0
  17. data/docs/ShippingVerifyResult.md +30 -0
  18. data/docs/ShippingVerifyResultLines.md +28 -0
  19. data/example/test.rb +25 -0
  20. data/git_push.sh +57 -0
  21. data/lib/avalara_sdk/api/age_verification_api.rb +95 -0
  22. data/lib/avalara_sdk/api/shipping_verification_api.rb +322 -0
  23. data/lib/avalara_sdk/api_client.rb +411 -0
  24. data/lib/avalara_sdk/api_error.rb +57 -0
  25. data/lib/avalara_sdk/configuration.rb +231 -0
  26. data/lib/avalara_sdk/models/age_verify_failure_code.rb +39 -0
  27. data/lib/avalara_sdk/models/age_verify_request.rb +245 -0
  28. data/lib/avalara_sdk/models/age_verify_request_address.rb +288 -0
  29. data/lib/avalara_sdk/models/age_verify_result.rb +230 -0
  30. data/lib/avalara_sdk/models/error_details.rb +217 -0
  31. data/lib/avalara_sdk/models/error_details_error.rb +271 -0
  32. data/lib/avalara_sdk/models/error_details_error_details.rb +324 -0
  33. data/lib/avalara_sdk/models/shipping_verify_result.rb +306 -0
  34. data/lib/avalara_sdk/models/shipping_verify_result_lines.rb +303 -0
  35. data/lib/avalara_sdk/version.rb +13 -0
  36. data/lib/avalara_sdk.rb +48 -0
  37. data/spec/api/age_verification_api_spec.rb +48 -0
  38. data/spec/api/shipping_verification_api_spec.rb +88 -0
  39. data/spec/api_client_spec.rb +224 -0
  40. data/spec/configuration_spec.rb +40 -0
  41. data/spec/models/age_verify_failure_code_spec.rb +28 -0
  42. data/spec/models/age_verify_request_address_spec.rb +62 -0
  43. data/spec/models/age_verify_request_spec.rb +52 -0
  44. data/spec/models/age_verify_result_spec.rb +40 -0
  45. data/spec/models/error_details_error_details_spec.rb +78 -0
  46. data/spec/models/error_details_error_spec.rb +50 -0
  47. data/spec/models/error_details_spec.rb +34 -0
  48. data/spec/models/shipping_verify_result_lines_spec.rb +72 -0
  49. data/spec/models/shipping_verify_result_spec.rb +78 -0
  50. data/spec/spec_helper.rb +108 -0
  51. metadata +147 -0
data/git_push.sh ADDED
@@ -0,0 +1,57 @@
1
+ #!/bin/sh
2
+ # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
3
+ #
4
+ # Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
5
+
6
+ git_user_id=$1
7
+ git_repo_id=$2
8
+ release_note=$3
9
+ git_host=$4
10
+
11
+ if [ "$git_host" = "" ]; then
12
+ git_host="github.com"
13
+ echo "[INFO] No command line input provided. Set \$git_host to $git_host"
14
+ fi
15
+
16
+ if [ "$git_user_id" = "" ]; then
17
+ git_user_id="GIT_USER_ID"
18
+ echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
19
+ fi
20
+
21
+ if [ "$git_repo_id" = "" ]; then
22
+ git_repo_id="GIT_REPO_ID"
23
+ echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
24
+ fi
25
+
26
+ if [ "$release_note" = "" ]; then
27
+ release_note="Minor update"
28
+ echo "[INFO] No command line input provided. Set \$release_note to $release_note"
29
+ fi
30
+
31
+ # Initialize the local directory as a Git repository
32
+ git init
33
+
34
+ # Adds the files in the local repository and stages them for commit.
35
+ git add .
36
+
37
+ # Commits the tracked changes and prepares them to be pushed to a remote repository.
38
+ git commit -m "$release_note"
39
+
40
+ # Sets the new remote
41
+ git_remote=$(git remote)
42
+ if [ "$git_remote" = "" ]; then # git remote not defined
43
+
44
+ if [ "$GIT_TOKEN" = "" ]; then
45
+ echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
46
+ git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
47
+ else
48
+ git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
49
+ fi
50
+
51
+ fi
52
+
53
+ git pull origin master
54
+
55
+ # Pushes (Forces) the changes in the local repository up to the remote repository
56
+ echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
57
+ git push origin master 2>&1 | grep -v 'To https'
@@ -0,0 +1,95 @@
1
+ =begin
2
+ #Avalara Shipping Verification only
3
+
4
+ #API for evaluating transactions against direct-to-consumer Beverage Alcohol shipping regulations. This API is currently in beta.
5
+
6
+ SDK Version : 2.4.5.6
7
+
8
+
9
+ =end
10
+
11
+ require 'cgi'
12
+
13
+ module AvalaraSdk
14
+ class AgeVerificationApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client)
18
+ if (api_client.nil?)
19
+ fail ArgumentError,'api_client is nil'
20
+ end
21
+ api_client.set_sdk_version("2.4.5.6")
22
+ @api_client = api_client
23
+ end
24
+ # Determines whether an individual meets or exceeds the minimum legal drinking age.
25
+ # The request must meet the following criteria in order to be evaluated: * *firstName*, *lastName*, and *address* are required fields. * One of the following sets of attributes are required for the *address*: * *line1, city, region* * *line1, postalCode* Optionally, the transaction and its lines may use the following parameters: * A *DOB* (Date of Birth) field. The value should be ISO-8601 compliant (e.g. 2020-07-21). * Beyond the required *address* fields above, a *country* field is permitted * The valid values for this attribute are [*US, USA*] **Security Policies** This API depends on the active subscription *AgeVerification*
26
+ # @param age_verify_request [AgeVerifyRequest] Information about the individual whose age is being verified.
27
+ # @param [Hash] opts the optional parameters
28
+ # @option opts [AgeVerifyFailureCode] :simulated_failure_code (Optional) The failure code included in the simulated response of the endpoint. Note that this endpoint is only available in Sandbox for testing purposes.
29
+ # @return [AgeVerifyResult]
30
+ def verify_age(age_verify_request, opts = {})
31
+ data, _status_code, _headers = verify_age_with_http_info(age_verify_request, opts)
32
+ data
33
+ end
34
+
35
+ # Determines whether an individual meets or exceeds the minimum legal drinking age.
36
+ # The request must meet the following criteria in order to be evaluated: * *firstName*, *lastName*, and *address* are required fields. * One of the following sets of attributes are required for the *address*: * *line1, city, region* * *line1, postalCode* Optionally, the transaction and its lines may use the following parameters: * A *DOB* (Date of Birth) field. The value should be ISO-8601 compliant (e.g. 2020-07-21). * Beyond the required *address* fields above, a *country* field is permitted * The valid values for this attribute are [*US, USA*] **Security Policies** This API depends on the active subscription *AgeVerification*
37
+ # @param age_verify_request [AgeVerifyRequest] Information about the individual whose age is being verified.
38
+ # @param [Hash] opts the optional parameters
39
+ # @option opts [AgeVerifyFailureCode] :simulated_failure_code (Optional) The failure code included in the simulated response of the endpoint. Note that this endpoint is only available in Sandbox for testing purposes.
40
+ # @return [Array<(AgeVerifyResult, Integer, Hash)>] AgeVerifyResult data, response status code and response headers
41
+ def verify_age_with_http_info(age_verify_request, opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: AgeVerificationApi.verify_age ...'
44
+ end
45
+ # verify the required parameter 'age_verify_request' is set
46
+ if @api_client.config.client_side_validation && age_verify_request.nil?
47
+ fail ArgumentError, "Missing the required parameter 'age_verify_request' when calling AgeVerificationApi.verify_age"
48
+ end
49
+ # resource path
50
+ local_var_path = '/api/v2/ageverification/verify'
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+ query_params[:'simulatedFailureCode'] = opts[:'simulated_failure_code'] if !opts[:'simulated_failure_code'].nil?
55
+
56
+ # header parameters
57
+ header_params = opts[:header_params] || {}
58
+ # HTTP header 'Accept' (if needed)
59
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
60
+ # HTTP header 'Content-Type'
61
+ content_type = @api_client.select_header_content_type(['application/json'])
62
+ if !content_type.nil?
63
+ header_params['Content-Type'] = content_type
64
+ end
65
+
66
+ # form parameters
67
+ form_params = opts[:form_params] || {}
68
+
69
+ # http body (model)
70
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(age_verify_request)
71
+
72
+ # return_type
73
+ return_type = opts[:debug_return_type] || 'AgeVerifyResult'
74
+
75
+ # auth_names
76
+ auth_names = opts[:debug_auth_names] || ['BasicAuth', 'Bearer']
77
+
78
+ new_options = opts.merge(
79
+ :operation => :"AgeVerificationApi.verify_age",
80
+ :header_params => header_params,
81
+ :query_params => query_params,
82
+ :form_params => form_params,
83
+ :body => post_body,
84
+ :auth_names => auth_names,
85
+ :return_type => return_type
86
+ )
87
+
88
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
89
+ if @api_client.config.debugging
90
+ @api_client.config.logger.debug "API called: AgeVerificationApi#verify_age\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
91
+ end
92
+ return data, status_code, headers
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,322 @@
1
+ =begin
2
+ #Avalara Shipping Verification only
3
+
4
+ #API for evaluating transactions against direct-to-consumer Beverage Alcohol shipping regulations. This API is currently in beta.
5
+
6
+ SDK Version : 2.4.5.6
7
+
8
+
9
+ =end
10
+
11
+ require 'cgi'
12
+
13
+ module AvalaraSdk
14
+ class ShippingVerificationApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client)
18
+ if (api_client.nil?)
19
+ fail ArgumentError,'api_client is nil'
20
+ end
21
+ api_client.set_sdk_version("2.4.5.6")
22
+ @api_client = api_client
23
+ end
24
+ # Removes the transaction from consideration when evaluating regulations that span multiple transactions.
25
+ # @param company_code [String] The company code of the company that recorded the transaction
26
+ # @param transaction_code [String] The transaction code to retrieve
27
+ # @param [Hash] opts the optional parameters
28
+ # @option opts [String] :document_type (Optional): The document type of the transaction to operate on. If omitted, defaults to \&quot;SalesInvoice\&quot;
29
+ # @return [nil]
30
+ def deregister_shipment(company_code, transaction_code, opts = {})
31
+ deregister_shipment_with_http_info(company_code, transaction_code, opts)
32
+ nil
33
+ end
34
+
35
+ # Removes the transaction from consideration when evaluating regulations that span multiple transactions.
36
+ # @param company_code [String] The company code of the company that recorded the transaction
37
+ # @param transaction_code [String] The transaction code to retrieve
38
+ # @param [Hash] opts the optional parameters
39
+ # @option opts [String] :document_type (Optional): The document type of the transaction to operate on. If omitted, defaults to \&quot;SalesInvoice\&quot;
40
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
41
+ def deregister_shipment_with_http_info(company_code, transaction_code, opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: ShippingVerificationApi.deregister_shipment ...'
44
+ end
45
+ # verify the required parameter 'company_code' is set
46
+ if @api_client.config.client_side_validation && company_code.nil?
47
+ fail ArgumentError, "Missing the required parameter 'company_code' when calling ShippingVerificationApi.deregister_shipment"
48
+ end
49
+ # verify the required parameter 'transaction_code' is set
50
+ if @api_client.config.client_side_validation && transaction_code.nil?
51
+ fail ArgumentError, "Missing the required parameter 'transaction_code' when calling ShippingVerificationApi.deregister_shipment"
52
+ end
53
+ allowable_values = ["SalesInvoice", "ReturnInvoice"]
54
+ if @api_client.config.client_side_validation && opts[:'document_type'] && !allowable_values.include?(opts[:'document_type'])
55
+ fail ArgumentError, "invalid value for \"document_type\", must be one of #{allowable_values}"
56
+ end
57
+ # resource path
58
+ local_var_path = '/api/v2/companies/{companyCode}/transactions/{transactionCode}/shipment/registration'.sub('{' + 'companyCode' + '}', CGI.escape(company_code.to_s)).sub('{' + 'transactionCode' + '}', CGI.escape(transaction_code.to_s))
59
+
60
+ # query parameters
61
+ query_params = opts[:query_params] || {}
62
+ query_params[:'documentType'] = opts[:'document_type'] if !opts[:'document_type'].nil?
63
+
64
+ # header parameters
65
+ header_params = opts[:header_params] || {}
66
+ # HTTP header 'Accept' (if needed)
67
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
68
+
69
+ # form parameters
70
+ form_params = opts[:form_params] || {}
71
+
72
+ # http body (model)
73
+ post_body = opts[:debug_body]
74
+
75
+ # return_type
76
+ return_type = opts[:debug_return_type]
77
+
78
+ # auth_names
79
+ auth_names = opts[:debug_auth_names] || ['BasicAuth', 'Bearer']
80
+
81
+ new_options = opts.merge(
82
+ :operation => :"ShippingVerificationApi.deregister_shipment",
83
+ :header_params => header_params,
84
+ :query_params => query_params,
85
+ :form_params => form_params,
86
+ :body => post_body,
87
+ :auth_names => auth_names,
88
+ :return_type => return_type
89
+ )
90
+
91
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
92
+ if @api_client.config.debugging
93
+ @api_client.config.logger.debug "API called: ShippingVerificationApi#deregister_shipment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
94
+ end
95
+ return data, status_code, headers
96
+ end
97
+
98
+ # Registers the transaction so that it may be included when evaluating regulations that span multiple transactions.
99
+ # @param company_code [String] The company code of the company that recorded the transaction
100
+ # @param transaction_code [String] The transaction code to retrieve
101
+ # @param [Hash] opts the optional parameters
102
+ # @option opts [String] :document_type (Optional): The document type of the transaction to operate on. If omitted, defaults to \&quot;SalesInvoice\&quot;
103
+ # @return [nil]
104
+ def register_shipment(company_code, transaction_code, opts = {})
105
+ register_shipment_with_http_info(company_code, transaction_code, opts)
106
+ nil
107
+ end
108
+
109
+ # Registers the transaction so that it may be included when evaluating regulations that span multiple transactions.
110
+ # @param company_code [String] The company code of the company that recorded the transaction
111
+ # @param transaction_code [String] The transaction code to retrieve
112
+ # @param [Hash] opts the optional parameters
113
+ # @option opts [String] :document_type (Optional): The document type of the transaction to operate on. If omitted, defaults to \&quot;SalesInvoice\&quot;
114
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
115
+ def register_shipment_with_http_info(company_code, transaction_code, opts = {})
116
+ if @api_client.config.debugging
117
+ @api_client.config.logger.debug 'Calling API: ShippingVerificationApi.register_shipment ...'
118
+ end
119
+ # verify the required parameter 'company_code' is set
120
+ if @api_client.config.client_side_validation && company_code.nil?
121
+ fail ArgumentError, "Missing the required parameter 'company_code' when calling ShippingVerificationApi.register_shipment"
122
+ end
123
+ # verify the required parameter 'transaction_code' is set
124
+ if @api_client.config.client_side_validation && transaction_code.nil?
125
+ fail ArgumentError, "Missing the required parameter 'transaction_code' when calling ShippingVerificationApi.register_shipment"
126
+ end
127
+ allowable_values = ["SalesInvoice", "ReturnInvoice"]
128
+ if @api_client.config.client_side_validation && opts[:'document_type'] && !allowable_values.include?(opts[:'document_type'])
129
+ fail ArgumentError, "invalid value for \"document_type\", must be one of #{allowable_values}"
130
+ end
131
+ # resource path
132
+ local_var_path = '/api/v2/companies/{companyCode}/transactions/{transactionCode}/shipment/registration'.sub('{' + 'companyCode' + '}', CGI.escape(company_code.to_s)).sub('{' + 'transactionCode' + '}', CGI.escape(transaction_code.to_s))
133
+
134
+ # query parameters
135
+ query_params = opts[:query_params] || {}
136
+ query_params[:'documentType'] = opts[:'document_type'] if !opts[:'document_type'].nil?
137
+
138
+ # header parameters
139
+ header_params = opts[:header_params] || {}
140
+ # HTTP header 'Accept' (if needed)
141
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
142
+
143
+ # form parameters
144
+ form_params = opts[:form_params] || {}
145
+
146
+ # http body (model)
147
+ post_body = opts[:debug_body]
148
+
149
+ # return_type
150
+ return_type = opts[:debug_return_type]
151
+
152
+ # auth_names
153
+ auth_names = opts[:debug_auth_names] || ['BasicAuth', 'Bearer']
154
+
155
+ new_options = opts.merge(
156
+ :operation => :"ShippingVerificationApi.register_shipment",
157
+ :header_params => header_params,
158
+ :query_params => query_params,
159
+ :form_params => form_params,
160
+ :body => post_body,
161
+ :auth_names => auth_names,
162
+ :return_type => return_type
163
+ )
164
+
165
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
166
+ if @api_client.config.debugging
167
+ @api_client.config.logger.debug "API called: ShippingVerificationApi#register_shipment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
168
+ end
169
+ return data, status_code, headers
170
+ end
171
+
172
+ # Evaluates a transaction against a set of direct-to-consumer shipping regulations and, if compliant, registers the transaction so that it may be included when evaluating regulations that span multiple transactions.
173
+ # @param company_code [String] The company code of the company that recorded the transaction
174
+ # @param transaction_code [String] The transaction code to retrieve
175
+ # @param [Hash] opts the optional parameters
176
+ # @option opts [String] :document_type (Optional): The document type of the transaction to operate on. If omitted, defaults to \&quot;SalesInvoice\&quot;
177
+ # @return [ShippingVerifyResult]
178
+ def register_shipment_if_compliant(company_code, transaction_code, opts = {})
179
+ data, _status_code, _headers = register_shipment_if_compliant_with_http_info(company_code, transaction_code, opts)
180
+ data
181
+ end
182
+
183
+ # Evaluates a transaction against a set of direct-to-consumer shipping regulations and, if compliant, registers the transaction so that it may be included when evaluating regulations that span multiple transactions.
184
+ # @param company_code [String] The company code of the company that recorded the transaction
185
+ # @param transaction_code [String] The transaction code to retrieve
186
+ # @param [Hash] opts the optional parameters
187
+ # @option opts [String] :document_type (Optional): The document type of the transaction to operate on. If omitted, defaults to \&quot;SalesInvoice\&quot;
188
+ # @return [Array<(ShippingVerifyResult, Integer, Hash)>] ShippingVerifyResult data, response status code and response headers
189
+ def register_shipment_if_compliant_with_http_info(company_code, transaction_code, opts = {})
190
+ if @api_client.config.debugging
191
+ @api_client.config.logger.debug 'Calling API: ShippingVerificationApi.register_shipment_if_compliant ...'
192
+ end
193
+ # verify the required parameter 'company_code' is set
194
+ if @api_client.config.client_side_validation && company_code.nil?
195
+ fail ArgumentError, "Missing the required parameter 'company_code' when calling ShippingVerificationApi.register_shipment_if_compliant"
196
+ end
197
+ # verify the required parameter 'transaction_code' is set
198
+ if @api_client.config.client_side_validation && transaction_code.nil?
199
+ fail ArgumentError, "Missing the required parameter 'transaction_code' when calling ShippingVerificationApi.register_shipment_if_compliant"
200
+ end
201
+ allowable_values = ["SalesInvoice", "ReturnInvoice"]
202
+ if @api_client.config.client_side_validation && opts[:'document_type'] && !allowable_values.include?(opts[:'document_type'])
203
+ fail ArgumentError, "invalid value for \"document_type\", must be one of #{allowable_values}"
204
+ end
205
+ # resource path
206
+ local_var_path = '/api/v2/companies/{companyCode}/transactions/{transactionCode}/shipment/registerIfCompliant'.sub('{' + 'companyCode' + '}', CGI.escape(company_code.to_s)).sub('{' + 'transactionCode' + '}', CGI.escape(transaction_code.to_s))
207
+
208
+ # query parameters
209
+ query_params = opts[:query_params] || {}
210
+ query_params[:'documentType'] = opts[:'document_type'] if !opts[:'document_type'].nil?
211
+
212
+ # header parameters
213
+ header_params = opts[:header_params] || {}
214
+ # HTTP header 'Accept' (if needed)
215
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
216
+
217
+ # form parameters
218
+ form_params = opts[:form_params] || {}
219
+
220
+ # http body (model)
221
+ post_body = opts[:debug_body]
222
+
223
+ # return_type
224
+ return_type = opts[:debug_return_type] || 'ShippingVerifyResult'
225
+
226
+ # auth_names
227
+ auth_names = opts[:debug_auth_names] || ['BasicAuth', 'Bearer']
228
+
229
+ new_options = opts.merge(
230
+ :operation => :"ShippingVerificationApi.register_shipment_if_compliant",
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 => return_type
237
+ )
238
+
239
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
240
+ if @api_client.config.debugging
241
+ @api_client.config.logger.debug "API called: ShippingVerificationApi#register_shipment_if_compliant\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
242
+ end
243
+ return data, status_code, headers
244
+ end
245
+
246
+ # Evaluates a transaction against a set of direct-to-consumer shipping regulations.
247
+ # The transaction and its lines must meet the following criteria in order to be evaluated: * The transaction must be recorded. Using a type of *SalesInvoice* is recommended. * A parameter with the name *AlcoholRouteType* must be specified and the value must be one of the following: '*DTC*', '*Retailer DTC*' * A parameter with the name *RecipientName* must be specified and the value must be the name of the recipient. * Each alcohol line must include a *ContainerSize* parameter that describes the volume of a single container. Use the *unit* field to specify one of the following units: '*Litre*', '*Millilitre*', '*gallon (US fluid)*', '*quart (US fluid)*', '*ounce (fluid US customary)*' * Each alcohol line must include a *PackSize* parameter that describes the number of containers in a pack. Specify *Count* in the *unit* field. Optionally, the transaction and its lines may use the following parameters: * The *ShipDate* parameter may be used if the date of shipment is different than the date of the transaction. The value should be ISO-8601 compliant (e.g. 2020-07-21). * The *RecipientDOB* parameter may be used to evaluate age restrictions. The value should be ISO-8601 compliant (e.g. 2020-07-21). * The *PurchaserDOB* parameter may be used to evaluate age restrictions. The value should be ISO-8601 compliant (e.g. 2020-07-21). * The *SalesLocation* parameter may be used to describe whether the sale was made *OnSite* or *OffSite*. *OffSite* is the default value. * The *AlcoholContent* parameter may be used to describe the alcohol percentage by volume of the item. Specify *Percentage* in the *unit* field. **Security Policies** This API depends on all of the following active subscriptions: *AvaAlcohol, AutoAddress, AvaTaxPro*
248
+ # @param company_code [String] The company code of the company that recorded the transaction
249
+ # @param transaction_code [String] The transaction code to retrieve
250
+ # @param [Hash] opts the optional parameters
251
+ # @option opts [String] :document_type (Optional): The document type of the transaction to operate on. If omitted, defaults to \&quot;SalesInvoice\&quot;
252
+ # @return [ShippingVerifyResult]
253
+ def verify_shipment(company_code, transaction_code, opts = {})
254
+ data, _status_code, _headers = verify_shipment_with_http_info(company_code, transaction_code, opts)
255
+ data
256
+ end
257
+
258
+ # Evaluates a transaction against a set of direct-to-consumer shipping regulations.
259
+ # The transaction and its lines must meet the following criteria in order to be evaluated: * The transaction must be recorded. Using a type of *SalesInvoice* is recommended. * A parameter with the name *AlcoholRouteType* must be specified and the value must be one of the following: &#39;*DTC*&#39;, &#39;*Retailer DTC*&#39; * A parameter with the name *RecipientName* must be specified and the value must be the name of the recipient. * Each alcohol line must include a *ContainerSize* parameter that describes the volume of a single container. Use the *unit* field to specify one of the following units: &#39;*Litre*&#39;, &#39;*Millilitre*&#39;, &#39;*gallon (US fluid)*&#39;, &#39;*quart (US fluid)*&#39;, &#39;*ounce (fluid US customary)*&#39; * Each alcohol line must include a *PackSize* parameter that describes the number of containers in a pack. Specify *Count* in the *unit* field. Optionally, the transaction and its lines may use the following parameters: * The *ShipDate* parameter may be used if the date of shipment is different than the date of the transaction. The value should be ISO-8601 compliant (e.g. 2020-07-21). * The *RecipientDOB* parameter may be used to evaluate age restrictions. The value should be ISO-8601 compliant (e.g. 2020-07-21). * The *PurchaserDOB* parameter may be used to evaluate age restrictions. The value should be ISO-8601 compliant (e.g. 2020-07-21). * The *SalesLocation* parameter may be used to describe whether the sale was made *OnSite* or *OffSite*. *OffSite* is the default value. * The *AlcoholContent* parameter may be used to describe the alcohol percentage by volume of the item. Specify *Percentage* in the *unit* field. **Security Policies** This API depends on all of the following active subscriptions: *AvaAlcohol, AutoAddress, AvaTaxPro*
260
+ # @param company_code [String] The company code of the company that recorded the transaction
261
+ # @param transaction_code [String] The transaction code to retrieve
262
+ # @param [Hash] opts the optional parameters
263
+ # @option opts [String] :document_type (Optional): The document type of the transaction to operate on. If omitted, defaults to \&quot;SalesInvoice\&quot;
264
+ # @return [Array<(ShippingVerifyResult, Integer, Hash)>] ShippingVerifyResult data, response status code and response headers
265
+ def verify_shipment_with_http_info(company_code, transaction_code, opts = {})
266
+ if @api_client.config.debugging
267
+ @api_client.config.logger.debug 'Calling API: ShippingVerificationApi.verify_shipment ...'
268
+ end
269
+ # verify the required parameter 'company_code' is set
270
+ if @api_client.config.client_side_validation && company_code.nil?
271
+ fail ArgumentError, "Missing the required parameter 'company_code' when calling ShippingVerificationApi.verify_shipment"
272
+ end
273
+ # verify the required parameter 'transaction_code' is set
274
+ if @api_client.config.client_side_validation && transaction_code.nil?
275
+ fail ArgumentError, "Missing the required parameter 'transaction_code' when calling ShippingVerificationApi.verify_shipment"
276
+ end
277
+ allowable_values = ["SalesInvoice", "ReturnInvoice"]
278
+ if @api_client.config.client_side_validation && opts[:'document_type'] && !allowable_values.include?(opts[:'document_type'])
279
+ fail ArgumentError, "invalid value for \"document_type\", must be one of #{allowable_values}"
280
+ end
281
+ # resource path
282
+ local_var_path = '/api/v2/companies/{companyCode}/transactions/{transactionCode}/shipment/verify'.sub('{' + 'companyCode' + '}', CGI.escape(company_code.to_s)).sub('{' + 'transactionCode' + '}', CGI.escape(transaction_code.to_s))
283
+
284
+ # query parameters
285
+ query_params = opts[:query_params] || {}
286
+ query_params[:'documentType'] = opts[:'document_type'] if !opts[:'document_type'].nil?
287
+
288
+ # header parameters
289
+ header_params = opts[:header_params] || {}
290
+ # HTTP header 'Accept' (if needed)
291
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
292
+
293
+ # form parameters
294
+ form_params = opts[:form_params] || {}
295
+
296
+ # http body (model)
297
+ post_body = opts[:debug_body]
298
+
299
+ # return_type
300
+ return_type = opts[:debug_return_type] || 'ShippingVerifyResult'
301
+
302
+ # auth_names
303
+ auth_names = opts[:debug_auth_names] || ['BasicAuth', 'Bearer']
304
+
305
+ new_options = opts.merge(
306
+ :operation => :"ShippingVerificationApi.verify_shipment",
307
+ :header_params => header_params,
308
+ :query_params => query_params,
309
+ :form_params => form_params,
310
+ :body => post_body,
311
+ :auth_names => auth_names,
312
+ :return_type => return_type
313
+ )
314
+
315
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
316
+ if @api_client.config.debugging
317
+ @api_client.config.logger.debug "API called: ShippingVerificationApi#verify_shipment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
318
+ end
319
+ return data, status_code, headers
320
+ end
321
+ end
322
+ end