dear-inventory-ruby 0.2.13 → 0.2.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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +11 -4
  4. data/docs/Account.md +17 -19
  5. data/docs/Accounts.md +5 -7
  6. data/docs/Address.md +10 -12
  7. data/docs/AttachmentLine.md +7 -9
  8. data/docs/AttributeSet.md +79 -0
  9. data/docs/AttributeSetAttribute.md +19 -0
  10. data/docs/AttributeSets.md +19 -0
  11. data/docs/Bin.md +4 -6
  12. data/docs/Carrier.md +4 -6
  13. data/docs/Carriers.md +5 -7
  14. data/docs/Contact.md +13 -15
  15. data/docs/Customer.md +34 -36
  16. data/docs/Customers.md +5 -7
  17. data/docs/Error.md +4 -6
  18. data/docs/ExternalHeader.md +4 -6
  19. data/docs/InventoryApi.md +446 -274
  20. data/docs/Location.md +20 -22
  21. data/docs/Locations.md +5 -7
  22. data/docs/Me.md +9 -11
  23. data/docs/MeContact.md +11 -13
  24. data/docs/MeContacts.md +5 -7
  25. data/docs/PaymentTerm.md +8 -10
  26. data/docs/PaymentTerms.md +5 -7
  27. data/docs/PriceTier.md +4 -6
  28. data/docs/PriceTiers.md +3 -5
  29. data/docs/Sale.md +45 -47
  30. data/docs/SaleAdditionalCharge.md +10 -12
  31. data/docs/SaleInvoice.md +19 -21
  32. data/docs/SaleInvoiceAdditionalCharge.md +11 -13
  33. data/docs/SaleInvoiceDelete.md +4 -6
  34. data/docs/SaleInvoiceLine.md +14 -16
  35. data/docs/SaleInvoicePartial.md +15 -17
  36. data/docs/SaleInvoicePost.md +15 -17
  37. data/docs/SaleInvoices.md +4 -6
  38. data/docs/SaleItem.md +33 -35
  39. data/docs/SaleList.md +5 -7
  40. data/docs/SaleOrder.md +12 -14
  41. data/docs/SaleOrderLine.md +15 -17
  42. data/docs/SalePayment.md +16 -18
  43. data/docs/SalePaymentLine.md +9 -11
  44. data/docs/SaleQuote.md +11 -13
  45. data/docs/SaleQuoteLine.md +13 -15
  46. data/docs/ShippingAddress.md +13 -15
  47. data/docs/Success.md +3 -5
  48. data/docs/SupplierCustomerAddress.md +11 -13
  49. data/docs/Tax.md +11 -13
  50. data/docs/TaxComponent.md +6 -8
  51. data/docs/Taxes.md +5 -7
  52. data/docs/Webhook.md +12 -14
  53. data/docs/Webhooks.md +3 -5
  54. data/lib/dear-inventory-ruby/api/inventory_api.rb +253 -0
  55. data/lib/dear-inventory-ruby/models/attribute_set.rb +534 -0
  56. data/lib/dear-inventory-ruby/models/attribute_set_attribute.rb +237 -0
  57. data/lib/dear-inventory-ruby/models/attribute_sets.rb +229 -0
  58. data/lib/dear-inventory-ruby/version.rb +1 -1
  59. data/lib/dear-inventory-ruby.rb +3 -0
  60. data/spec/.DS_Store +0 -0
  61. data/spec/api/inventory_api_spec.rb +49 -0
  62. data/spec/models/attribute_set_attribute_spec.rb +53 -0
  63. data/spec/models/attribute_set_spec.rb +233 -0
  64. data/spec/models/attribute_sets_spec.rb +53 -0
  65. metadata +53 -41
data/docs/Tax.md CHANGED
@@ -2,17 +2,17 @@
2
2
 
3
3
  ## Properties
4
4
 
5
- Name | Type | Description | Notes
6
- ------------ | ------------- | ------------- | -------------
7
- **id** | **String** | Unique ID | [optional]
8
- **name** | **String** | Tax Name |
9
- **account** | **String** | ChartOfAccount Code with Class == `LIABILITY` && Status == `ACTIVE` |
10
- **is_active** | **Boolean** | Points that tax is Active | [default to true]
11
- **tax_inclusive** | **Boolean** | Points that tax is Inclusive | [default to true]
12
- **tax_percent** | **Float** | Tax percentage, should be between 0 and 100. Read-only | [optional]
13
- **is_tax_for_sale** | **Boolean** | Points that tax is used for Sale | [optional] [default to true]
14
- **is_tax_for_purchase** | **Boolean** | Points that tax is used for Purchase | [optional] [default to true]
15
- **components** | [**Array<TaxComponent>**](TaxComponent.md) | List of Tax Components | [optional]
5
+ | Name | Type | Description | Notes |
6
+ | ----------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
7
+ | **id** | **String** | Unique ID | [optional] |
8
+ | **name** | **String** | Tax Name |
9
+ | **account** | **String** | ChartOfAccount Code with Class == `LIABILITY` && Status == `ACTIVE` |
10
+ | **is_active** | **Boolean** | Points that tax is Active | [default to true] |
11
+ | **tax_inclusive** | **Boolean** | Points that tax is Inclusive | [default to true] |
12
+ | **tax_percent** | **Float** | Tax percentage, should be between 0 and 100. Read-only | [optional] |
13
+ | **is_tax_for_sale** | **Boolean** | Points that tax is used for Sale | [optional] [default to true] |
14
+ | **is_tax_for_purchase** | **Boolean** | Points that tax is used for Purchase | [optional] [default to true] |
15
+ | **components** | [**Array<TaxComponent>**](TaxComponent.md) | List of Tax Components | [optional] |
16
16
 
17
17
  ## Code Sample
18
18
 
@@ -29,5 +29,3 @@ instance = DearInventoryRuby::Tax.new(id: nil,
29
29
  is_tax_for_purchase: nil,
30
30
  components: nil)
31
31
  ```
32
-
33
-
data/docs/TaxComponent.md CHANGED
@@ -2,12 +2,12 @@
2
2
 
3
3
  ## Properties
4
4
 
5
- Name | Type | Description | Notes
6
- ------------ | ------------- | ------------- | -------------
7
- **name** | **String** | Name of product. Read-only. |
8
- **percent** | **Float** | Cost. Required if product type is `Service`. Default value = 0. | [default to 0]
9
- **account_code** | **String** | ChartOfAccount Code with Class == `LIABILITY` && Status == `ACTIVE` |
10
- **component_order** | **Integer** | The order of sequence taxes components. |
5
+ | Name | Type | Description | Notes |
6
+ | ------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------- | -------------- |
7
+ | **name** | **String** | Name of product. Read-only. |
8
+ | **percent** | **Float** | Cost. Required if product type is `Service`. Default value = 0. | [default to 0] |
9
+ | **account_code** | **String** | ChartOfAccount Code with Class == `LIABILITY` && Status == `ACTIVE` |
10
+ | **component_order** | **Integer** | The order of sequence taxes components. |
11
11
 
12
12
  ## Code Sample
13
13
 
@@ -19,5 +19,3 @@ instance = DearInventoryRuby::TaxComponent.new(name: nil,
19
19
  account_code: nil,
20
20
  component_order: nil)
21
21
  ```
22
-
23
-
data/docs/Taxes.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  ## Properties
4
4
 
5
- Name | Type | Description | Notes
6
- ------------ | ------------- | ------------- | -------------
7
- **total** | **String** | Total | [optional]
8
- **page** | **String** | Page | [optional]
9
- **tax_rule_list** | [**Array<Tax>**](Tax.md) | Array of Taxes | [optional]
5
+ | Name | Type | Description | Notes |
6
+ | ----------------- | ------------------------------ | -------------- | ---------- |
7
+ | **total** | **String** | Total | [optional] |
8
+ | **page** | **String** | Page | [optional] |
9
+ | **tax_rule_list** | [**Array<Tax>**](Tax.md) | Array of Taxes | [optional] |
10
10
 
11
11
  ## Code Sample
12
12
 
@@ -17,5 +17,3 @@ instance = DearInventoryRuby::Taxes.new(total: nil,
17
17
  page: nil,
18
18
  tax_rule_list: nil)
19
19
  ```
20
-
21
-
data/docs/Webhook.md CHANGED
@@ -2,18 +2,18 @@
2
2
 
3
3
  ## Properties
4
4
 
5
- Name | Type | Description | Notes
6
- ------------ | ------------- | ------------- | -------------
7
- **id** | **String** | Unique ID. Required for PUT | [optional]
8
- **type** | **String** | Webhook Type. Available values are values |
9
- **name** | **String** | Webhook Friendly Name. Read-only. | [optional]
10
- **is_active** | **Boolean** | Is webhook active. |
11
- **external_url** | **String** | Callback url. |
12
- **external_authorization_type** | **String** | Authorisation type. Available values are `noauth`, `basicauth` and `bearerauth` |
13
- **external_user_name** | **String** | User name. Required if `ExternalAuthorizationType` is `basicauth` | [optional]
14
- **external_password** | **String** | Password. Required if `ExternalAuthorizationType` is `basicauth` | [optional]
15
- **external_bearer_token** | **String** | Bearer token. Required if `ExternalAuthorizationType` is `bearerauth` | [optional]
16
- **external_headers** | [**Array<ExternalHeader>**](ExternalHeader.md) | Additional headers. | [optional]
5
+ | Name | Type | Description | Notes |
6
+ | ------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ---------- |
7
+ | **id** | **String** | Unique ID. Required for PUT | [optional] |
8
+ | **type** | **String** | Webhook Type. Available values are values |
9
+ | **name** | **String** | Webhook Friendly Name. Read-only. | [optional] |
10
+ | **is_active** | **Boolean** | Is webhook active. |
11
+ | **external_url** | **String** | Callback url. |
12
+ | **external_authorization_type** | **String** | Authorisation type. Available values are `noauth`, `basicauth` and `bearerauth` |
13
+ | **external_user_name** | **String** | User name. Required if `ExternalAuthorizationType` is `basicauth` | [optional] |
14
+ | **external_password** | **String** | Password. Required if `ExternalAuthorizationType` is `basicauth` | [optional] |
15
+ | **external_bearer_token** | **String** | Bearer token. Required if `ExternalAuthorizationType` is `bearerauth` | [optional] |
16
+ | **external_headers** | [**Array<ExternalHeader>**](ExternalHeader.md) | Additional headers. | [optional] |
17
17
 
18
18
  ## Code Sample
19
19
 
@@ -31,5 +31,3 @@ instance = DearInventoryRuby::Webhook.new(id: nil,
31
31
  external_bearer_token: nil,
32
32
  external_headers: nil)
33
33
  ```
34
-
35
-
data/docs/Webhooks.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  ## Properties
4
4
 
5
- Name | Type | Description | Notes
6
- ------------ | ------------- | ------------- | -------------
7
- **webhooks** | [**Array<Webhook>**](Webhook.md) | Array of Webhooks | [optional]
5
+ | Name | Type | Description | Notes |
6
+ | ------------ | -------------------------------------- | ----------------- | ---------- |
7
+ | **webhooks** | [**Array<Webhook>**](Webhook.md) | Array of Webhooks | [optional] |
8
8
 
9
9
  ## Code Sample
10
10
 
@@ -13,5 +13,3 @@ require 'DearInventoryRuby'
13
13
 
14
14
  instance = DearInventoryRuby::Webhooks.new(webhooks: nil)
15
15
  ```
16
-
17
-
@@ -84,6 +84,71 @@ module DearInventoryRuby
84
84
  return data, status_code, headers
85
85
  end
86
86
 
87
+ # Allows you to create an attribute set
88
+ # @param attribute_set [AttributeSet] an attribute set object with properties to create
89
+ # @param [Hash] opts the optional parameters
90
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
91
+ # @return [AttributeSet]
92
+ def create_attribute_set(attribute_set, opts = {})
93
+ data, _status_code, _headers = create_attribute_set_with_http_info(attribute_set, opts)
94
+ data
95
+ end
96
+
97
+ # Allows you to create an attribute set
98
+ # @param attribute_set [AttributeSet] an attribute set object with properties to create
99
+ # @param [Hash] opts the optional parameters
100
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
101
+ # @return [Array<(AttributeSet, Integer, Hash)>] AttributeSet data, response status code and response headers
102
+ def create_attribute_set_with_http_info(attribute_set, opts = {})
103
+ if @api_client.config.debugging
104
+ @api_client.config.logger.debug 'Calling API: InventoryApi.create_attribute_set ...'
105
+ end
106
+ # verify the required parameter 'attribute_set' is set
107
+ if @api_client.config.client_side_validation && attribute_set.nil?
108
+ fail ArgumentError, "Missing the required parameter 'attribute_set' when calling InventoryApi.create_attribute_set"
109
+ end
110
+ # resource path
111
+ local_var_path = '/ref/attributeset'
112
+
113
+ # query parameters
114
+ query_params = opts[:query_params] || {}
115
+ query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
116
+
117
+ # header parameters
118
+ header_params = opts[:header_params] || {}
119
+ # HTTP header 'Accept' (if needed)
120
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
121
+ # HTTP header 'Content-Type'
122
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
123
+
124
+ # form parameters
125
+ form_params = opts[:form_params] || {}
126
+
127
+ # http body (model)
128
+ post_body = opts[:body] || @api_client.object_to_http_body(attribute_set)
129
+
130
+ # return_type
131
+ return_type = opts[:return_type] || 'AttributeSet'
132
+
133
+ # auth_names
134
+ auth_names = opts[:auth_names] || ['accountID', 'appKey']
135
+
136
+ new_options = opts.merge(
137
+ :header_params => header_params,
138
+ :query_params => query_params,
139
+ :form_params => form_params,
140
+ :body => post_body,
141
+ :auth_names => auth_names,
142
+ :return_type => return_type
143
+ )
144
+
145
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
146
+ if @api_client.config.debugging
147
+ @api_client.config.logger.debug "API called: InventoryApi#create_attribute_set\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
148
+ end
149
+ return data, status_code, headers
150
+ end
151
+
87
152
  # Allows you to create a customer
88
153
  # @param customer [Customer] a customer object with properties to create
89
154
  # @param [Hash] opts the optional parameters
@@ -661,6 +726,63 @@ module DearInventoryRuby
661
726
  return data, status_code, headers
662
727
  end
663
728
 
729
+ # Allows you to delete an attribute set
730
+ # @param [Hash] opts the optional parameters
731
+ # @option opts [String] :id Default is nil
732
+ # @return [Success]
733
+ def delete_attribute_set(opts = {})
734
+ data, _status_code, _headers = delete_attribute_set_with_http_info(opts)
735
+ data
736
+ end
737
+
738
+ # Allows you to delete an attribute set
739
+ # @param [Hash] opts the optional parameters
740
+ # @option opts [String] :id Default is nil
741
+ # @return [Array<(Success, Integer, Hash)>] Success data, response status code and response headers
742
+ def delete_attribute_set_with_http_info(opts = {})
743
+ if @api_client.config.debugging
744
+ @api_client.config.logger.debug 'Calling API: InventoryApi.delete_attribute_set ...'
745
+ end
746
+ # resource path
747
+ local_var_path = '/ref/attributeset'
748
+
749
+ # query parameters
750
+ query_params = opts[:query_params] || {}
751
+ query_params[:'ID'] = opts[:'id'] if !opts[:'id'].nil?
752
+
753
+ # header parameters
754
+ header_params = opts[:header_params] || {}
755
+ # HTTP header 'Accept' (if needed)
756
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
757
+
758
+ # form parameters
759
+ form_params = opts[:form_params] || {}
760
+
761
+ # http body (model)
762
+ post_body = opts[:body]
763
+
764
+ # return_type
765
+ return_type = opts[:return_type] || 'Success'
766
+
767
+ # auth_names
768
+ auth_names = opts[:auth_names] || ['accountID', 'appKey']
769
+
770
+ new_options = opts.merge(
771
+ :header_params => header_params,
772
+ :query_params => query_params,
773
+ :form_params => form_params,
774
+ :body => post_body,
775
+ :auth_names => auth_names,
776
+ :return_type => return_type
777
+ )
778
+
779
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
780
+ if @api_client.config.debugging
781
+ @api_client.config.logger.debug "API called: InventoryApi#delete_attribute_set\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
782
+ end
783
+ return data, status_code, headers
784
+ end
785
+
664
786
  # Allows you to delete a payment term
665
787
  # @param [Hash] opts the optional parameters
666
788
  # @option opts [String] :id Default is nil
@@ -967,6 +1089,72 @@ module DearInventoryRuby
967
1089
  return data, status_code, headers
968
1090
  end
969
1091
 
1092
+ # Allows you to retrieve the attribute sets
1093
+ # @param [Hash] opts the optional parameters
1094
+ # @option opts [String] :page Default is 1 (default to '1')
1095
+ # @option opts [String] :limit Default is 100 (default to '100')
1096
+ # @option opts [String] :id Default is nil
1097
+ # @option opts [String] :name Default is nil
1098
+ # @return [AttributeSets]
1099
+ def get_attribute_sets(opts = {})
1100
+ data, _status_code, _headers = get_attribute_sets_with_http_info(opts)
1101
+ data
1102
+ end
1103
+
1104
+ # Allows you to retrieve the attribute sets
1105
+ # @param [Hash] opts the optional parameters
1106
+ # @option opts [String] :page Default is 1
1107
+ # @option opts [String] :limit Default is 100
1108
+ # @option opts [String] :id Default is nil
1109
+ # @option opts [String] :name Default is nil
1110
+ # @return [Array<(AttributeSets, Integer, Hash)>] AttributeSets data, response status code and response headers
1111
+ def get_attribute_sets_with_http_info(opts = {})
1112
+ if @api_client.config.debugging
1113
+ @api_client.config.logger.debug 'Calling API: InventoryApi.get_attribute_sets ...'
1114
+ end
1115
+ # resource path
1116
+ local_var_path = '/ref/attributeset'
1117
+
1118
+ # query parameters
1119
+ query_params = opts[:query_params] || {}
1120
+ query_params[:'Page'] = opts[:'page'] if !opts[:'page'].nil?
1121
+ query_params[:'Limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1122
+ query_params[:'ID'] = opts[:'id'] if !opts[:'id'].nil?
1123
+ query_params[:'Name'] = opts[:'name'] if !opts[:'name'].nil?
1124
+
1125
+ # header parameters
1126
+ header_params = opts[:header_params] || {}
1127
+ # HTTP header 'Accept' (if needed)
1128
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1129
+
1130
+ # form parameters
1131
+ form_params = opts[:form_params] || {}
1132
+
1133
+ # http body (model)
1134
+ post_body = opts[:body]
1135
+
1136
+ # return_type
1137
+ return_type = opts[:return_type] || 'AttributeSets'
1138
+
1139
+ # auth_names
1140
+ auth_names = opts[:auth_names] || ['accountID', 'appKey']
1141
+
1142
+ new_options = opts.merge(
1143
+ :header_params => header_params,
1144
+ :query_params => query_params,
1145
+ :form_params => form_params,
1146
+ :body => post_body,
1147
+ :auth_names => auth_names,
1148
+ :return_type => return_type
1149
+ )
1150
+
1151
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1152
+ if @api_client.config.debugging
1153
+ @api_client.config.logger.debug "API called: InventoryApi#get_attribute_sets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1154
+ end
1155
+ return data, status_code, headers
1156
+ end
1157
+
970
1158
  # Allows you to retrieve the carriers
971
1159
  # @param [Hash] opts the optional parameters
972
1160
  # @option opts [String] :page Default is 1 (default to '1')
@@ -2031,6 +2219,71 @@ module DearInventoryRuby
2031
2219
  return data, status_code, headers
2032
2220
  end
2033
2221
 
2222
+ # Allows you to update an attribute set
2223
+ # @param attribute_set [AttributeSet] an attribute set object with properties to update
2224
+ # @param [Hash] opts the optional parameters
2225
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
2226
+ # @return [AttributeSet]
2227
+ def update_attribute_set(attribute_set, opts = {})
2228
+ data, _status_code, _headers = update_attribute_set_with_http_info(attribute_set, opts)
2229
+ data
2230
+ end
2231
+
2232
+ # Allows you to update an attribute set
2233
+ # @param attribute_set [AttributeSet] an attribute set object with properties to update
2234
+ # @param [Hash] opts the optional parameters
2235
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
2236
+ # @return [Array<(AttributeSet, Integer, Hash)>] AttributeSet data, response status code and response headers
2237
+ def update_attribute_set_with_http_info(attribute_set, opts = {})
2238
+ if @api_client.config.debugging
2239
+ @api_client.config.logger.debug 'Calling API: InventoryApi.update_attribute_set ...'
2240
+ end
2241
+ # verify the required parameter 'attribute_set' is set
2242
+ if @api_client.config.client_side_validation && attribute_set.nil?
2243
+ fail ArgumentError, "Missing the required parameter 'attribute_set' when calling InventoryApi.update_attribute_set"
2244
+ end
2245
+ # resource path
2246
+ local_var_path = '/ref/attributeset'
2247
+
2248
+ # query parameters
2249
+ query_params = opts[:query_params] || {}
2250
+ query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
2251
+
2252
+ # header parameters
2253
+ header_params = opts[:header_params] || {}
2254
+ # HTTP header 'Accept' (if needed)
2255
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2256
+ # HTTP header 'Content-Type'
2257
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2258
+
2259
+ # form parameters
2260
+ form_params = opts[:form_params] || {}
2261
+
2262
+ # http body (model)
2263
+ post_body = opts[:body] || @api_client.object_to_http_body(attribute_set)
2264
+
2265
+ # return_type
2266
+ return_type = opts[:return_type] || 'AttributeSet'
2267
+
2268
+ # auth_names
2269
+ auth_names = opts[:auth_names] || ['accountID', 'appKey']
2270
+
2271
+ new_options = opts.merge(
2272
+ :header_params => header_params,
2273
+ :query_params => query_params,
2274
+ :form_params => form_params,
2275
+ :body => post_body,
2276
+ :auth_names => auth_names,
2277
+ :return_type => return_type
2278
+ )
2279
+
2280
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
2281
+ if @api_client.config.debugging
2282
+ @api_client.config.logger.debug "API called: InventoryApi#update_attribute_set\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2283
+ end
2284
+ return data, status_code, headers
2285
+ end
2286
+
2034
2287
  # Allows you to update a customer
2035
2288
  # @param customer [Customer] a customer object with properties to update
2036
2289
  # @param [Hash] opts the optional parameters