Class: Square::Locations::Client
- Inherits:
-
Object
- Object
- Square::Locations::Client
- Defined in:
- lib/square/locations/client.rb
Instance Method Summary collapse
-
#checkouts(request_options: {}, **params) ⇒ Square::Types::CreateCheckoutResponse
Links a ‘checkoutId` to a `checkout_page_url` that customers are directed to in order to provide their payment information using a payment processing workflow hosted on connect.squareup.com.
-
#create(request_options: {}, **params) ⇒ Square::Types::CreateLocationResponse
Creates a [location](developer.squareup.com/docs/locations-api).
- #custom_attribute_definitions ⇒ Square::CustomAttributeDefinitions::Client
- #custom_attributes ⇒ Square::CustomAttributes::Client
-
#get(request_options: {}, **params) ⇒ Square::Types::GetLocationResponse
Retrieves details of a single location.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Square::Types::ListLocationsResponse
Provides details about all of the seller’s [locations](developer.squareup.com/docs/locations-api), including those with an inactive status.
- #transactions ⇒ Square::Transactions::Client
-
#update(request_options: {}, **params) ⇒ Square::Types::UpdateLocationResponse
Updates a [location](developer.squareup.com/docs/locations-api).
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/square/locations/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#checkouts(request_options: {}, **params) ⇒ Square::Types::CreateCheckoutResponse
Links a ‘checkoutId` to a `checkout_page_url` that customers are directed to in order to provide their payment information using a payment processing workflow hosted on connect.squareup.com.
NOTE: The Checkout API has been updated with new features. For more information, see [Checkout API highlights](developer.squareup.com/docs/checkout-api#checkout-api-highlights).
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 |
# File 'lib/square/locations/client.rb', line 181 def checkouts(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request_data = Square::Locations::Types::CreateCheckoutRequest.new(params).to_h non_body_param_names = ["location_id"] body = request_data.except(*non_body_param_names) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v2/locations/#{params[:location_id]}/checkouts", body: body, request_options: ) 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::CreateCheckoutResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#create(request_options: {}, **params) ⇒ Square::Types::CreateLocationResponse
Creates a [location](developer.squareup.com/docs/locations-api). Creating new locations allows for separate configuration of receipt layouts, item prices, and sales reports. Developers can use locations to separate sales activity through applications that integrate with Square from sales activity elsewhere in a seller’s account. Locations created programmatically with the Locations API last forever and are visible to the seller for their own management. Therefore, ensure that each location has a sensible and unique name.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/square/locations/client.rb', line 64 def create(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v2/locations", body: Square::Locations::Types::CreateLocationRequest.new(params).to_h, request_options: ) 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::CreateLocationResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#custom_attribute_definitions ⇒ Square::CustomAttributeDefinitions::Client
209 210 211 |
# File 'lib/square/locations/client.rb', line 209 def custom_attribute_definitions @custom_attribute_definitions ||= Square::Locations::CustomAttributeDefinitions::Client.new(client: @client) end |
#custom_attributes ⇒ Square::CustomAttributes::Client
214 215 216 |
# File 'lib/square/locations/client.rb', line 214 def custom_attributes @custom_attributes ||= Square::Locations::CustomAttributes::Client.new(client: @client) end |
#get(request_options: {}, **params) ⇒ Square::Types::GetLocationResponse
Retrieves details of a single location. Specify “main” as the location ID to retrieve details of the [main location](developer.squareup.com/docs/locations-api#about-the-main-location).
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/square/locations/client.rb', line 101 def get(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/locations/#{params[:location_id]}", request_options: ) 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::GetLocationResponse.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::ListLocationsResponse
Provides details about all of the seller’s [locations](developer.squareup.com/docs/locations-api), including those with an inactive status. Locations are listed alphabetically by ‘name`.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/square/locations/client.rb', line 25 def list(request_options: {}, **params) Square::Internal::Types::Utils.normalize_keys(params) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/locations", request_options: ) 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::ListLocationsResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#transactions ⇒ Square::Transactions::Client
219 220 221 |
# File 'lib/square/locations/client.rb', line 219 def transactions @transactions ||= Square::Locations::Transactions::Client.new(client: @client) end |
#update(request_options: {}, **params) ⇒ Square::Types::UpdateLocationResponse
Updates a [location](developer.squareup.com/docs/locations-api).
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/locations/client.rb', line 135 def update(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request_data = Square::Locations::Types::UpdateLocationRequest.new(params).to_h non_body_param_names = ["location_id"] body = request_data.except(*non_body_param_names) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "PUT", path: "v2/locations/#{params[:location_id]}", body: body, request_options: ) 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::UpdateLocationResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |