Class: Square::Orders::CustomAttributes::Client
- Inherits:
-
Object
- Object
- Square::Orders::CustomAttributes::Client
- Defined in:
- lib/square/orders/custom_attributes/client.rb
Instance Method Summary collapse
-
#batch_delete(request_options: {}, **params) ⇒ Square::Types::BulkDeleteOrderCustomAttributesResponse
Deletes order [custom attributes](entity:CustomAttribute) as a bulk operation.
-
#batch_upsert(request_options: {}, **params) ⇒ Square::Types::BulkUpsertOrderCustomAttributesResponse
Creates or updates order [custom attributes](entity:CustomAttribute) as a bulk operation.
-
#delete(request_options: {}, **params) ⇒ Square::Types::DeleteOrderCustomAttributeResponse
Deletes a [custom attribute](entity:CustomAttribute) associated with a customer profile.
-
#get(request_options: {}, **params) ⇒ Square::Types::RetrieveOrderCustomAttributeResponse
Retrieves a [custom attribute](entity:CustomAttribute) associated with an order.
- #initialize(client:) ⇒ Square::Orders::CustomAttributes::Client constructor
-
#list(request_options: {}, **params) ⇒ Square::Types::ListOrderCustomAttributesResponse
Lists the [custom attributes](entity:CustomAttribute) associated with an order.
-
#upsert(request_options: {}, **params) ⇒ Square::Types::UpsertOrderCustomAttributeResponse
Creates or updates a [custom attribute](entity:CustomAttribute) for an order.
Constructor Details
#initialize(client:) ⇒ Square::Orders::CustomAttributes::Client
8 9 10 |
# File 'lib/square/orders/custom_attributes/client.rb', line 8 def initialize(client:) @client = client end |
Instance Method Details
#batch_delete(request_options: {}, **params) ⇒ Square::Types::BulkDeleteOrderCustomAttributesResponse
Deletes order [custom attributes](entity:CustomAttribute) as a bulk operation.
Use this endpoint to delete one or more custom attributes from one or more orders. A custom attribute is based on a custom attribute definition in a Square seller account. (To create a custom attribute definition, use the [CreateOrderCustomAttributeDefinition](api-endpoint:OrderCustomAttributes-CreateOrderCustomAttributeDefinition) endpoint.)
This ‘BulkDeleteOrderCustomAttributes` endpoint accepts a map of 1 to 25 individual delete requests and returns a map of individual delete responses. Each delete request has a unique ID and provides an order ID and custom attribute. Each delete response is returned with the ID of the corresponding request.
To delete a custom attribute owned by another application, the ‘visibility` setting must be `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes (also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/square/orders/custom_attributes/client.rb', line 28 def batch_delete(request_options: {}, **params) _request = Square::Internal::JSON::Request.new( base_url: [:base_url] || Square::Environment::PRODUCTION, method: "POST", path: "v2/orders/custom-attributes/bulk-delete", body: params ) begin _response = @client.send(_request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = _response.code.to_i if code.between?(200, 299) Square::Types::BulkDeleteOrderCustomAttributesResponse.load(_response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(_response.body, code: code) end end |
#batch_upsert(request_options: {}, **params) ⇒ Square::Types::BulkUpsertOrderCustomAttributesResponse
Creates or updates order [custom attributes](entity:CustomAttribute) as a bulk operation.
Use this endpoint to delete one or more custom attributes from one or more orders. A custom attribute is based on a custom attribute definition in a Square seller account. (To create a custom attribute definition, use the [CreateOrderCustomAttributeDefinition](api-endpoint:OrderCustomAttributes-CreateOrderCustomAttributeDefinition) endpoint.)
This ‘BulkUpsertOrderCustomAttributes` endpoint accepts a map of 1 to 25 individual upsert requests and returns a map of individual upsert responses. Each upsert request has a unique ID and provides an order ID and custom attribute. Each upsert response is returned with the ID of the corresponding request.
To create or update a custom attribute owned by another application, the ‘visibility` setting must be `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes (also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/square/orders/custom_attributes/client.rb', line 65 def batch_upsert(request_options: {}, **params) _request = Square::Internal::JSON::Request.new( base_url: [:base_url] || Square::Environment::PRODUCTION, method: "POST", path: "v2/orders/custom-attributes/bulk-upsert", body: params ) begin _response = @client.send(_request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = _response.code.to_i if code.between?(200, 299) Square::Types::BulkUpsertOrderCustomAttributesResponse.load(_response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(_response.body, code: code) end end |
#delete(request_options: {}, **params) ⇒ Square::Types::DeleteOrderCustomAttributeResponse
Deletes a [custom attribute](entity:CustomAttribute) associated with a customer profile.
To delete a custom attribute owned by another application, the ‘visibility` setting must be `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes (also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.
203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 |
# File 'lib/square/orders/custom_attributes/client.rb', line 203 def delete(request_options: {}, **params) _request = Square::Internal::JSON::Request.new( base_url: [:base_url] || Square::Environment::PRODUCTION, method: "DELETE", path: "v2/orders/#{params[:order_id]}/custom-attributes/#{params[:custom_attribute_key]}" ) begin _response = @client.send(_request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = _response.code.to_i if code.between?(200, 299) Square::Types::DeleteOrderCustomAttributeResponse.load(_response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(_response.body, code: code) end end |
#get(request_options: {}, **params) ⇒ Square::Types::RetrieveOrderCustomAttributeResponse
Retrieves a [custom attribute](entity:CustomAttribute) associated with an order.
You can use the ‘with_definition` query parameter to also retrieve the custom attribute definition in the same call.
To retrieve a custom attribute owned by another application, the ‘visibility` setting must be `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# File 'lib/square/orders/custom_attributes/client.rb', line 134 def get(request_options: {}, **params) _query_param_names = [ %w[version with_definition], %i[version with_definition] ].flatten _query = params.slice(*_query_param_names) params = params.except(*_query_param_names) _request = Square::Internal::JSON::Request.new( base_url: [:base_url] || Square::Environment::PRODUCTION, method: "GET", path: "v2/orders/#{params[:order_id]}/custom-attributes/#{params[:custom_attribute_key]}", query: _query ) begin _response = @client.send(_request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = _response.code.to_i if code.between?(200, 299) Square::Types::RetrieveOrderCustomAttributeResponse.load(_response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(_response.body, code: code) end end |
#list(request_options: {}, **params) ⇒ Square::Types::ListOrderCustomAttributesResponse
Lists the [custom attributes](entity:CustomAttribute) associated with an order.
You can use the ‘with_definitions` query parameter to also retrieve custom attribute definitions in the same call.
When all response pages are retrieved, the results include all custom attributes that are visible to the requesting application, including those that are owned by other applications and set to ‘VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/square/orders/custom_attributes/client.rb', line 96 def list(request_options: {}, **params) _query_param_names = [ %w[visibility_filter cursor limit with_definitions], %i[visibility_filter cursor limit with_definitions] ].flatten _query = params.slice(*_query_param_names) params = params.except(*_query_param_names) _request = Square::Internal::JSON::Request.new( base_url: [:base_url] || Square::Environment::PRODUCTION, method: "GET", path: "v2/orders/#{params[:order_id]}/custom-attributes", query: _query ) begin _response = @client.send(_request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = _response.code.to_i if code.between?(200, 299) Square::Types::ListOrderCustomAttributesResponse.load(_response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(_response.body, code: code) end end |
#upsert(request_options: {}, **params) ⇒ Square::Types::UpsertOrderCustomAttributeResponse
Creates or updates a [custom attribute](entity:CustomAttribute) for an order.
Use this endpoint to set the value of a custom attribute for a specific order. A custom attribute is based on a custom attribute definition in a Square seller account. (To create a custom attribute definition, use the [CreateOrderCustomAttributeDefinition](api-endpoint:OrderCustomAttributes-CreateOrderCustomAttributeDefinition) endpoint.)
To create or update a custom attribute owned by another application, the ‘visibility` setting must be `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes (also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
# File 'lib/square/orders/custom_attributes/client.rb', line 173 def upsert(request_options: {}, **params) _path_param_names = %w[order_id custom_attribute_key] _request = Square::Internal::JSON::Request.new( base_url: [:base_url] || Square::Environment::PRODUCTION, method: "POST", path: "v2/orders/#{params[:order_id]}/custom-attributes/#{params[:custom_attribute_key]}", body: params.except(*_path_param_names) ) begin _response = @client.send(_request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = _response.code.to_i if code.between?(200, 299) Square::Types::UpsertOrderCustomAttributeResponse.load(_response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(_response.body, code: code) end end |