square.rb 44.0.0.20250820 → 44.0.1.20250820

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 (268) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +62 -9
  3. data/lib/square/apple_pay/client.rb +12 -6
  4. data/lib/square/bank_accounts/client.rb +40 -19
  5. data/lib/square/bookings/client.rb +124 -62
  6. data/lib/square/bookings/custom_attribute_definitions/client.rb +68 -32
  7. data/lib/square/bookings/custom_attributes/client.rb +80 -38
  8. data/lib/square/bookings/location_profiles/client.rb +16 -7
  9. data/lib/square/bookings/team_member_profiles/client.rb +28 -13
  10. data/lib/square/cards/client.rb +53 -24
  11. data/lib/square/cash_drawers/shifts/client.rb +48 -21
  12. data/lib/square/catalog/client.rb +112 -55
  13. data/lib/square/catalog/images/client.rb +22 -10
  14. data/lib/square/catalog/object/client.rb +40 -19
  15. data/lib/square/catalog/object/types/delete_object_request.rb +1 -1
  16. data/lib/square/catalog/object/types/get_object_request.rb +1 -1
  17. data/lib/square/checkout/client.rb +48 -24
  18. data/lib/square/checkout/payment_links/client.rb +64 -31
  19. data/lib/square/client.rb +1 -1
  20. data/lib/square/customers/cards/client.rb +24 -12
  21. data/lib/square/customers/client.rb +128 -62
  22. data/lib/square/customers/custom_attribute_definitions/client.rb +80 -38
  23. data/lib/square/customers/custom_attributes/client.rb +56 -26
  24. data/lib/square/customers/groups/client.rb +88 -43
  25. data/lib/square/customers/segments/client.rb +28 -13
  26. data/lib/square/devices/client.rb +28 -13
  27. data/lib/square/devices/codes/client.rb +40 -19
  28. data/lib/square/disputes/client.rb +75 -36
  29. data/lib/square/disputes/evidence/client.rb +40 -19
  30. data/lib/square/employees/client.rb +28 -13
  31. data/lib/square/errors/api_error.rb +8 -0
  32. data/lib/square/errors/client_error.rb +17 -0
  33. data/lib/square/errors/redirect_error.rb +8 -0
  34. data/lib/square/errors/response_error.rb +42 -0
  35. data/lib/square/errors/server_error.rb +11 -0
  36. data/lib/square/errors/timeout_error.rb +8 -0
  37. data/lib/square/events/client.rb +52 -25
  38. data/lib/square/gift_cards/activities/client.rb +28 -14
  39. data/lib/square/gift_cards/client.rb +88 -43
  40. data/lib/square/inventory/client.rb +164 -80
  41. data/lib/square/invoices/client.rb +127 -61
  42. data/lib/square/labor/break_types/client.rb +64 -31
  43. data/lib/square/labor/client.rb +132 -66
  44. data/lib/square/labor/employee_wages/client.rb +28 -13
  45. data/lib/square/labor/shifts/client.rb +60 -30
  46. data/lib/square/labor/team_member_wages/client.rb +28 -13
  47. data/lib/square/labor/workweek_configs/client.rb +28 -13
  48. data/lib/square/locations/client.rb +60 -30
  49. data/lib/square/locations/custom_attribute_definitions/client.rb +68 -32
  50. data/lib/square/locations/custom_attributes/client.rb +80 -38
  51. data/lib/square/locations/transactions/client.rb +52 -25
  52. data/lib/square/loyalty/accounts/client.rb +60 -30
  53. data/lib/square/loyalty/client.rb +12 -6
  54. data/lib/square/loyalty/programs/client.rb +36 -18
  55. data/lib/square/loyalty/programs/promotions/client.rb +52 -25
  56. data/lib/square/loyalty/rewards/client.rb +60 -30
  57. data/lib/square/merchants/client.rb +28 -13
  58. data/lib/square/merchants/custom_attribute_definitions/client.rb +68 -32
  59. data/lib/square/merchants/custom_attributes/client.rb +80 -38
  60. data/lib/square/mobile/client.rb +12 -6
  61. data/lib/square/o_auth/client.rb +46 -22
  62. data/lib/square/orders/client.rb +98 -46
  63. data/lib/square/orders/custom_attribute_definitions/client.rb +68 -32
  64. data/lib/square/orders/custom_attributes/client.rb +80 -38
  65. data/lib/square/payments/client.rb +90 -44
  66. data/lib/square/payouts/client.rb +44 -20
  67. data/lib/square/refunds/client.rb +42 -20
  68. data/lib/square/sites/client.rb +12 -6
  69. data/lib/square/snippets/client.rb +36 -18
  70. data/lib/square/subscriptions/client.rb +153 -73
  71. data/lib/square/team/client.rb +53 -24
  72. data/lib/square/team_members/client.rb +72 -36
  73. data/lib/square/team_members/wage_setting/client.rb +24 -12
  74. data/lib/square/terminal/actions/client.rb +48 -24
  75. data/lib/square/terminal/checkouts/client.rb +48 -24
  76. data/lib/square/terminal/client.rb +36 -18
  77. data/lib/square/terminal/refunds/client.rb +48 -24
  78. data/lib/square/types/action_cancel_reason.rb +2 -1
  79. data/lib/square/types/activity_type.rb +2 -1
  80. data/lib/square/types/application_details_external_square_product.rb +2 -1
  81. data/lib/square/types/archived_state.rb +2 -1
  82. data/lib/square/types/bank_account_status.rb +2 -1
  83. data/lib/square/types/bank_account_type.rb +2 -1
  84. data/lib/square/types/booking_booking_source.rb +2 -1
  85. data/lib/square/types/booking_creator_details_creator_type.rb +2 -1
  86. data/lib/square/types/booking_status.rb +2 -1
  87. data/lib/square/types/business_appointment_settings_alignment_time.rb +2 -1
  88. data/lib/square/types/business_appointment_settings_booking_location_type.rb +2 -1
  89. data/lib/square/types/business_appointment_settings_cancellation_policy.rb +2 -1
  90. data/lib/square/types/business_appointment_settings_max_appointments_per_day_limit_type.rb +2 -1
  91. data/lib/square/types/business_booking_profile_booking_policy.rb +2 -1
  92. data/lib/square/types/business_booking_profile_customer_timezone_choice.rb +2 -1
  93. data/lib/square/types/card_brand.rb +2 -1
  94. data/lib/square/types/card_co_brand.rb +2 -1
  95. data/lib/square/types/card_prepaid_type.rb +2 -1
  96. data/lib/square/types/card_type.rb +2 -1
  97. data/lib/square/types/cash_drawer_event_type.rb +2 -1
  98. data/lib/square/types/cash_drawer_shift_state.rb +2 -1
  99. data/lib/square/types/catalog_category_type.rb +2 -1
  100. data/lib/square/types/catalog_custom_attribute_definition_app_visibility.rb +2 -1
  101. data/lib/square/types/catalog_custom_attribute_definition_seller_visibility.rb +2 -1
  102. data/lib/square/types/catalog_custom_attribute_definition_type.rb +2 -1
  103. data/lib/square/types/catalog_discount_modify_tax_basis.rb +2 -1
  104. data/lib/square/types/catalog_discount_type.rb +2 -1
  105. data/lib/square/types/catalog_id_mapping.rb +1 -1
  106. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference_standard_dietary_preference.rb +2 -1
  107. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference_type.rb +2 -1
  108. data/lib/square/types/catalog_item_food_and_beverage_details_ingredient_standard_ingredient.rb +2 -1
  109. data/lib/square/types/catalog_item_product_type.rb +2 -1
  110. data/lib/square/types/catalog_modifier_list_modifier_type.rb +2 -1
  111. data/lib/square/types/catalog_modifier_list_selection_type.rb +2 -1
  112. data/lib/square/types/catalog_object_reference.rb +1 -1
  113. data/lib/square/types/catalog_object_type.rb +2 -1
  114. data/lib/square/types/catalog_pricing_type.rb +2 -1
  115. data/lib/square/types/catalog_quick_amount_type.rb +2 -1
  116. data/lib/square/types/catalog_quick_amounts_settings_option.rb +2 -1
  117. data/lib/square/types/change_timing.rb +2 -1
  118. data/lib/square/types/checkout_location_settings_branding_button_shape.rb +2 -1
  119. data/lib/square/types/checkout_location_settings_branding_header_type.rb +2 -1
  120. data/lib/square/types/checkout_options_payment_type.rb +2 -1
  121. data/lib/square/types/component_component_type.rb +2 -1
  122. data/lib/square/types/country.rb +2 -1
  123. data/lib/square/types/create_catalog_image_request.rb +1 -1
  124. data/lib/square/types/currency.rb +2 -1
  125. data/lib/square/types/custom_attribute_definition_visibility.rb +2 -1
  126. data/lib/square/types/customer_creation_source.rb +2 -1
  127. data/lib/square/types/customer_inclusion_exclusion.rb +2 -1
  128. data/lib/square/types/customer_sort_field.rb +2 -1
  129. data/lib/square/types/data_collection_options_input_type.rb +2 -1
  130. data/lib/square/types/day_of_week.rb +2 -1
  131. data/lib/square/types/destination_type.rb +2 -1
  132. data/lib/square/types/device_code_status.rb +2 -1
  133. data/lib/square/types/device_component_details_external_power.rb +2 -1
  134. data/lib/square/types/device_status_category.rb +2 -1
  135. data/lib/square/types/dispute_evidence_type.rb +2 -1
  136. data/lib/square/types/dispute_reason.rb +2 -1
  137. data/lib/square/types/dispute_state.rb +2 -1
  138. data/lib/square/types/ecom_visibility.rb +2 -1
  139. data/lib/square/types/employee_status.rb +2 -1
  140. data/lib/square/types/error_category.rb +2 -1
  141. data/lib/square/types/error_code.rb +2 -1
  142. data/lib/square/types/exclude_strategy.rb +2 -1
  143. data/lib/square/types/fulfillment_delivery_details_order_fulfillment_delivery_details_schedule_type.rb +2 -1
  144. data/lib/square/types/fulfillment_fulfillment_line_item_application.rb +2 -1
  145. data/lib/square/types/fulfillment_pickup_details_schedule_type.rb +2 -1
  146. data/lib/square/types/fulfillment_state.rb +2 -1
  147. data/lib/square/types/fulfillment_type.rb +2 -1
  148. data/lib/square/types/gift_card_activity_adjust_decrement_reason.rb +2 -1
  149. data/lib/square/types/gift_card_activity_adjust_increment_reason.rb +2 -1
  150. data/lib/square/types/gift_card_activity_clear_balance_reason.rb +2 -1
  151. data/lib/square/types/gift_card_activity_deactivate_reason.rb +2 -1
  152. data/lib/square/types/gift_card_activity_redeem_status.rb +2 -1
  153. data/lib/square/types/gift_card_activity_type.rb +2 -1
  154. data/lib/square/types/gift_card_gan_source.rb +2 -1
  155. data/lib/square/types/gift_card_status.rb +2 -1
  156. data/lib/square/types/gift_card_type.rb +2 -1
  157. data/lib/square/types/inventory_alert_type.rb +2 -1
  158. data/lib/square/types/inventory_change_type.rb +2 -1
  159. data/lib/square/types/inventory_state.rb +2 -1
  160. data/lib/square/types/invoice_attachment.rb +1 -1
  161. data/lib/square/types/invoice_automatic_payment_source.rb +2 -1
  162. data/lib/square/types/invoice_custom_field_placement.rb +2 -1
  163. data/lib/square/types/invoice_delivery_method.rb +2 -1
  164. data/lib/square/types/invoice_payment_reminder_status.rb +2 -1
  165. data/lib/square/types/invoice_request_method.rb +2 -1
  166. data/lib/square/types/invoice_request_type.rb +2 -1
  167. data/lib/square/types/invoice_status.rb +2 -1
  168. data/lib/square/types/job_assignment_pay_type.rb +2 -1
  169. data/lib/square/types/list_payment_refunds_request_sort_field.rb +2 -1
  170. data/lib/square/types/list_payments_request_sort_field.rb +2 -1
  171. data/lib/square/types/location_capability.rb +2 -1
  172. data/lib/square/types/location_status.rb +2 -1
  173. data/lib/square/types/location_type.rb +2 -1
  174. data/lib/square/types/loyalty_event_source.rb +2 -1
  175. data/lib/square/types/loyalty_event_type.rb +2 -1
  176. data/lib/square/types/loyalty_program_accrual_rule_tax_mode.rb +2 -1
  177. data/lib/square/types/loyalty_program_accrual_rule_type.rb +2 -1
  178. data/lib/square/types/loyalty_program_status.rb +2 -1
  179. data/lib/square/types/loyalty_promotion_incentive_type.rb +2 -1
  180. data/lib/square/types/loyalty_promotion_status.rb +2 -1
  181. data/lib/square/types/loyalty_promotion_trigger_limit_interval.rb +2 -1
  182. data/lib/square/types/loyalty_reward_status.rb +2 -1
  183. data/lib/square/types/measurement_unit_area.rb +2 -1
  184. data/lib/square/types/measurement_unit_length.rb +2 -1
  185. data/lib/square/types/measurement_unit_time.rb +2 -1
  186. data/lib/square/types/measurement_unit_unit_type.rb +2 -1
  187. data/lib/square/types/measurement_unit_volume.rb +2 -1
  188. data/lib/square/types/measurement_unit_weight.rb +2 -1
  189. data/lib/square/types/merchant_status.rb +2 -1
  190. data/lib/square/types/oauth_authorization_revoked_event_revoker_type.rb +2 -1
  191. data/lib/square/types/order_fulfillment_delivery_details_schedule_type.rb +2 -1
  192. data/lib/square/types/order_fulfillment_fulfillment_line_item_application.rb +2 -1
  193. data/lib/square/types/order_fulfillment_pickup_details_schedule_type.rb +2 -1
  194. data/lib/square/types/order_fulfillment_state.rb +2 -1
  195. data/lib/square/types/order_fulfillment_type.rb +2 -1
  196. data/lib/square/types/order_line_item_discount_scope.rb +2 -1
  197. data/lib/square/types/order_line_item_discount_type.rb +2 -1
  198. data/lib/square/types/order_line_item_item_type.rb +2 -1
  199. data/lib/square/types/order_line_item_tax_scope.rb +2 -1
  200. data/lib/square/types/order_line_item_tax_type.rb +2 -1
  201. data/lib/square/types/order_service_charge_calculation_phase.rb +2 -1
  202. data/lib/square/types/order_service_charge_scope.rb +2 -1
  203. data/lib/square/types/order_service_charge_treatment_type.rb +2 -1
  204. data/lib/square/types/order_service_charge_type.rb +2 -1
  205. data/lib/square/types/order_state.rb +2 -1
  206. data/lib/square/types/payment_options_delay_action.rb +2 -1
  207. data/lib/square/types/payout_fee_type.rb +2 -1
  208. data/lib/square/types/payout_status.rb +2 -1
  209. data/lib/square/types/payout_type.rb +2 -1
  210. data/lib/square/types/product.rb +2 -1
  211. data/lib/square/types/refund_status.rb +2 -1
  212. data/lib/square/types/register_domain_response_status.rb +2 -1
  213. data/lib/square/types/risk_evaluation_risk_level.rb +2 -1
  214. data/lib/square/types/scheduled_shift_filter_assignment_status.rb +2 -1
  215. data/lib/square/types/scheduled_shift_filter_scheduled_shift_status.rb +2 -1
  216. data/lib/square/types/scheduled_shift_notification_audience.rb +2 -1
  217. data/lib/square/types/scheduled_shift_sort_field.rb +2 -1
  218. data/lib/square/types/scheduled_shift_workday_matcher.rb +2 -1
  219. data/lib/square/types/search_catalog_items_request_stock_level.rb +2 -1
  220. data/lib/square/types/search_orders_sort_field.rb +2 -1
  221. data/lib/square/types/search_vendors_request_sort_field.rb +2 -1
  222. data/lib/square/types/shift_filter_status.rb +2 -1
  223. data/lib/square/types/shift_sort_field.rb +2 -1
  224. data/lib/square/types/shift_status.rb +2 -1
  225. data/lib/square/types/shift_workday_matcher.rb +2 -1
  226. data/lib/square/types/sort_order.rb +2 -1
  227. data/lib/square/types/subscription_action_type.rb +2 -1
  228. data/lib/square/types/subscription_cadence.rb +2 -1
  229. data/lib/square/types/subscription_event_info_code.rb +2 -1
  230. data/lib/square/types/subscription_event_subscription_event_type.rb +2 -1
  231. data/lib/square/types/subscription_pricing_type.rb +2 -1
  232. data/lib/square/types/subscription_status.rb +2 -1
  233. data/lib/square/types/tax_calculation_phase.rb +2 -1
  234. data/lib/square/types/tax_inclusion_type.rb +2 -1
  235. data/lib/square/types/team_member_assigned_locations_assignment_type.rb +2 -1
  236. data/lib/square/types/team_member_invitation_status.rb +2 -1
  237. data/lib/square/types/team_member_status.rb +2 -1
  238. data/lib/square/types/tender_bank_account_details_status.rb +2 -1
  239. data/lib/square/types/tender_buy_now_pay_later_details_brand.rb +2 -1
  240. data/lib/square/types/tender_buy_now_pay_later_details_status.rb +2 -1
  241. data/lib/square/types/tender_card_details_entry_method.rb +2 -1
  242. data/lib/square/types/tender_card_details_status.rb +2 -1
  243. data/lib/square/types/tender_square_account_details_status.rb +2 -1
  244. data/lib/square/types/tender_type.rb +2 -1
  245. data/lib/square/types/terminal_action_action_type.rb +2 -1
  246. data/lib/square/types/timecard_filter_status.rb +2 -1
  247. data/lib/square/types/timecard_sort_field.rb +2 -1
  248. data/lib/square/types/timecard_status.rb +2 -1
  249. data/lib/square/types/timecard_workday_matcher.rb +2 -1
  250. data/lib/square/types/transaction_product.rb +2 -1
  251. data/lib/square/types/transaction_type.rb +2 -1
  252. data/lib/square/types/v_1_order_history_entry_action.rb +2 -1
  253. data/lib/square/types/v_1_order_state.rb +2 -1
  254. data/lib/square/types/v_1_tender_card_brand.rb +2 -1
  255. data/lib/square/types/v_1_tender_entry_method.rb +2 -1
  256. data/lib/square/types/v_1_tender_type.rb +2 -1
  257. data/lib/square/types/v_1_update_order_request_action.rb +2 -1
  258. data/lib/square/types/vendor_status.rb +2 -1
  259. data/lib/square/types/visibility_filter.rb +2 -1
  260. data/lib/square/types/weekday.rb +2 -1
  261. data/lib/square/v_1_transactions/client.rb +40 -15
  262. data/lib/square/vendors/client.rb +84 -42
  263. data/lib/square/version.rb +5 -0
  264. data/lib/square/webhooks/event_types/client.rb +16 -7
  265. data/lib/square/webhooks/subscriptions/client.rb +88 -43
  266. data/lib/square.rb +7 -6
  267. data/test/square/integration/client_tests/test_catalog.rb +3 -0
  268. metadata +9 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08e62d17f3f59b0448164943a0ab9e7d38dbb6b36d52d0a717c419296b7259d7'
4
- data.tar.gz: 520ef4918000692ba8d62dea3dbe8125b62f246780cbb803134dddbddcec0b4a
3
+ metadata.gz: e5b7ba53660ef4f45bce2164d8fb018797c280503fa6c59b94f8a658c76eb912
4
+ data.tar.gz: 5f02ad617c72d33f32e16eb13adf4165204d1b8348b46ed91e29d7bb7616ad88
5
5
  SHA512:
6
- metadata.gz: 6f500fb27612c421768e6ac83684c8ed8c73e04f3d5a0a969c50e68935d0487a1d55cd6f9a08e3d5424efcfe0248b36ded710c94a3819615553e8e7eb457d255
7
- data.tar.gz: 1b28fcf5ec2e26bf6eea079a0f028b39782296168366baf3ed335dcbcbdf7ba6165cefb2580ee786d32f535fe75424d4e9e4511438a5b76d4d1b5cea43aa328b
6
+ metadata.gz: 35e1648199a54c20bd6d800f34f1e9988d46032d65e9f246c26b7376dda89223501295351d4ae9e64c014a13945cd518f7cdcff74e6fb7c0088513108ad65c1e
7
+ data.tar.gz: 8bb6b4fd497f3e7e0c30851a59ccf03d58ae3383f3db9f6faee82b92650ec6eaaa2e2fccaf87d4b3d3ba4887a0424fef2752ce0785ce83ff7c8c0a30db4f63b6
data/README.md CHANGED
@@ -28,6 +28,28 @@ gem 'square.rb', '~> 44.0.0'
28
28
 
29
29
  For more information, see [Using the Square Ruby SDK](https://developer.squareup.com/docs/sdks/ruby/using-ruby-sdk).
30
30
 
31
+ ```ruby
32
+ require "square"
33
+
34
+ square = Square::Client.new(
35
+ token: 'YOUR_API_KEY'
36
+ )
37
+
38
+ image_file = Square::FileParam.from_filepath(
39
+ filepath: fixture_path("small.png"),
40
+ content_type: "image/png"
41
+ )
42
+
43
+ response = square.invoices.create_invoice_attachment(
44
+ invoice_id: "inv:0-ChA4-3sU9GPd-uOC3HgvFjMWEL4N",
45
+ request: {
46
+ idempotency_key: SecureRandom.uuid,
47
+ description: "A test invoice attachment"
48
+ },
49
+ image_file: image_file
50
+ )
51
+ ```
52
+
31
53
  ## Legacy SDK
32
54
 
33
55
  While the new SDK has a lot of improvements, we at Square understand that it takes time to upgrade when there are breaking changes.
@@ -83,6 +105,28 @@ client = SquareLegacy::Client.new(
83
105
  ```
84
106
  4. Gradually migrate over to the new SDK by importing it from the `'square'` import.
85
107
 
108
+ ## Environments
109
+
110
+ This SDK allows you to configure different environments or custom URLs for API requests. You can either use the predefined environments or specify your own custom URL.
111
+
112
+ ### Environments
113
+ ```ruby
114
+ require "square"
115
+
116
+ client = Square::Client.new(
117
+ base_url: Square::Environment::PRODUCTION
118
+ )
119
+ ```
120
+
121
+ ### Custom URL
122
+ ```ruby
123
+ require "square"
124
+
125
+ client = Square::Client.new(
126
+ base_url: "https://custom-staging.com"
127
+ )
128
+ ```
129
+
86
130
  ## Request And Response Types
87
131
 
88
132
  The SDK exports all request and response types as Ruby classes. Simply require them with the
@@ -97,20 +141,29 @@ request = Square::CreateMobileAuthorizationCodeRequest.new(
97
141
  )
98
142
  ```
99
143
 
100
- ## Exception Handling
144
+ ## Errors
101
145
 
102
- When the API returns a non-success status code (4xx or 5xx response), a subclass of the following error
103
- will be raised.
146
+ Failed API calls will raise errors that can be rescued from granularly.
104
147
 
105
148
  ```ruby
106
- require 'square'
149
+ require "square"
150
+
151
+ client = Square::Client.new(
152
+ base_url: Square::Environment::PRODUCTION
153
+ )
107
154
 
108
155
  begin
109
- response = client.payments.create(...)
110
- rescue Square::ApiError => e
111
- puts "Status Code: #{e.status_code}"
112
- puts "Message: #{e.message}"
113
- puts "Body: #{e.body}"
156
+ result = client.payments.create
157
+ rescue Square::Errors::TimeoutError
158
+ puts "API didn't respond before our timeout elapsed"
159
+ rescue Square::Errors::ServiceUnavailableError
160
+ puts "API returned status 503, is probably overloaded, try again later"
161
+ rescue Square::Errors::ServerError
162
+ puts "API returned some other 5xx status, this is probably a bug"
163
+ rescue Square::Errors::ResponseError => e
164
+ puts "API returned an unexpected status other than 5xx: #{e.code} {e.message}"
165
+ rescue Square::Errors::ApiError => e
166
+ puts "Some other error occurred when calling the API: {e.message}"
114
167
  end
115
168
  ```
116
169
 
@@ -26,17 +26,23 @@ module Square
26
26
  # @return [Square::Types::RegisterDomainResponse]
27
27
  def register_domain(request_options: {}, **params)
28
28
  _request = Square::Internal::JSON::Request.new(
29
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
29
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
30
30
  method: "POST",
31
31
  path: "v2/apple-pay/domains",
32
32
  body: params
33
33
  )
34
- _response = @client.send(_request)
35
- if _response.code >= "200" && _response.code < "300"
36
- return Square::Types::RegisterDomainResponse.load(_response.body)
34
+ begin
35
+ _response = @client.send(_request)
36
+ rescue Net::HTTPRequestTimeout
37
+ raise Square::Errors::TimeoutError
38
+ end
39
+ code = _response.code.to_i
40
+ if code.between?(200, 299)
41
+ Square::Types::RegisterDomainResponse.load(_response.body)
42
+ else
43
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
44
+ raise error_class.new(_response.body, code: code)
37
45
  end
38
-
39
- raise _response.body
40
46
  end
41
47
  end
42
48
  end
@@ -12,22 +12,31 @@ module Square
12
12
  #
13
13
  # @return [Square::Types::ListBankAccountsResponse]
14
14
  def list(request_options: {}, **params)
15
- _query_param_names = %w[cursor limit location_id]
15
+ _query_param_names = [
16
+ %w[cursor limit location_id],
17
+ %i[cursor limit location_id]
18
+ ].flatten
16
19
  _query = params.slice(*_query_param_names)
17
20
  params.except(*_query_param_names)
18
21
 
19
22
  _request = Square::Internal::JSON::Request.new(
20
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
23
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
21
24
  method: "GET",
22
25
  path: "v2/bank-accounts",
23
26
  query: _query
24
27
  )
25
- _response = @client.send(_request)
26
- if _response.code >= "200" && _response.code < "300"
27
- return Square::Types::ListBankAccountsResponse.load(_response.body)
28
+ begin
29
+ _response = @client.send(_request)
30
+ rescue Net::HTTPRequestTimeout
31
+ raise Square::Errors::TimeoutError
32
+ end
33
+ code = _response.code.to_i
34
+ if code.between?(200, 299)
35
+ Square::Types::ListBankAccountsResponse.load(_response.body)
36
+ else
37
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
38
+ raise error_class.new(_response.body, code: code)
28
39
  end
29
-
30
- raise _response.body
31
40
  end
32
41
 
33
42
  # Returns details of a [BankAccount](entity:BankAccount) identified by V1 bank account ID.
@@ -35,16 +44,22 @@ module Square
35
44
  # @return [Square::Types::GetBankAccountByV1IdResponse]
36
45
  def get_by_v_1_id(request_options: {}, **params)
37
46
  _request = Square::Internal::JSON::Request.new(
38
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
47
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
39
48
  method: "GET",
40
49
  path: "v2/bank-accounts/by-v1-id/#{params[:v1_bank_account_id]}"
41
50
  )
42
- _response = @client.send(_request)
43
- if _response.code >= "200" && _response.code < "300"
44
- return Square::Types::GetBankAccountByV1IdResponse.load(_response.body)
51
+ begin
52
+ _response = @client.send(_request)
53
+ rescue Net::HTTPRequestTimeout
54
+ raise Square::Errors::TimeoutError
55
+ end
56
+ code = _response.code.to_i
57
+ if code.between?(200, 299)
58
+ Square::Types::GetBankAccountByV1IdResponse.load(_response.body)
59
+ else
60
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
61
+ raise error_class.new(_response.body, code: code)
45
62
  end
46
-
47
- raise _response.body
48
63
  end
49
64
 
50
65
  # Returns details of a [BankAccount](entity:BankAccount)
@@ -53,16 +68,22 @@ module Square
53
68
  # @return [Square::Types::GetBankAccountResponse]
54
69
  def get(request_options: {}, **params)
55
70
  _request = Square::Internal::JSON::Request.new(
56
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
71
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
57
72
  method: "GET",
58
73
  path: "v2/bank-accounts/#{params[:bank_account_id]}"
59
74
  )
60
- _response = @client.send(_request)
61
- if _response.code >= "200" && _response.code < "300"
62
- return Square::Types::GetBankAccountResponse.load(_response.body)
75
+ begin
76
+ _response = @client.send(_request)
77
+ rescue Net::HTTPRequestTimeout
78
+ raise Square::Errors::TimeoutError
79
+ end
80
+ code = _response.code.to_i
81
+ if code.between?(200, 299)
82
+ Square::Types::GetBankAccountResponse.load(_response.body)
83
+ else
84
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
85
+ raise error_class.new(_response.body, code: code)
63
86
  end
64
-
65
- raise _response.body
66
87
  end
67
88
  end
68
89
  end
@@ -15,23 +15,31 @@ module Square
15
15
  #
16
16
  # @return [Square::Types::ListBookingsResponse]
17
17
  def list(request_options: {}, **params)
18
- _query_param_names = %w[limit cursor customer_id team_member_id location_id start_at_min
19
- start_at_max]
18
+ _query_param_names = [
19
+ %w[limit cursor customer_id team_member_id location_id start_at_min start_at_max],
20
+ %i[limit cursor customer_id team_member_id location_id start_at_min start_at_max]
21
+ ].flatten
20
22
  _query = params.slice(*_query_param_names)
21
23
  params.except(*_query_param_names)
22
24
 
23
25
  _request = Square::Internal::JSON::Request.new(
24
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
26
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
25
27
  method: "GET",
26
28
  path: "v2/bookings",
27
29
  query: _query
28
30
  )
29
- _response = @client.send(_request)
30
- if _response.code >= "200" && _response.code < "300"
31
- return Square::Types::ListBookingsResponse.load(_response.body)
31
+ begin
32
+ _response = @client.send(_request)
33
+ rescue Net::HTTPRequestTimeout
34
+ raise Square::Errors::TimeoutError
35
+ end
36
+ code = _response.code.to_i
37
+ if code.between?(200, 299)
38
+ Square::Types::ListBookingsResponse.load(_response.body)
39
+ else
40
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
41
+ raise error_class.new(_response.body, code: code)
32
42
  end
33
-
34
- raise _response.body
35
43
  end
36
44
 
37
45
  # Creates a booking.
@@ -52,17 +60,23 @@ module Square
52
60
  # @return [Square::Types::CreateBookingResponse]
53
61
  def create(request_options: {}, **params)
54
62
  _request = Square::Internal::JSON::Request.new(
55
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
63
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
56
64
  method: "POST",
57
65
  path: "v2/bookings",
58
66
  body: params
59
67
  )
60
- _response = @client.send(_request)
61
- if _response.code >= "200" && _response.code < "300"
62
- return Square::Types::CreateBookingResponse.load(_response.body)
68
+ begin
69
+ _response = @client.send(_request)
70
+ rescue Net::HTTPRequestTimeout
71
+ raise Square::Errors::TimeoutError
72
+ end
73
+ code = _response.code.to_i
74
+ if code.between?(200, 299)
75
+ Square::Types::CreateBookingResponse.load(_response.body)
76
+ else
77
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
78
+ raise error_class.new(_response.body, code: code)
63
79
  end
64
-
65
- raise _response.body
66
80
  end
67
81
 
68
82
  # Searches for availabilities for booking.
@@ -73,17 +87,23 @@ module Square
73
87
  # @return [Square::Types::SearchAvailabilityResponse]
74
88
  def search_availability(request_options: {}, **params)
75
89
  _request = Square::Internal::JSON::Request.new(
76
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
90
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
77
91
  method: "POST",
78
92
  path: "v2/bookings/availability/search",
79
93
  body: params
80
94
  )
81
- _response = @client.send(_request)
82
- if _response.code >= "200" && _response.code < "300"
83
- return Square::Types::SearchAvailabilityResponse.load(_response.body)
95
+ begin
96
+ _response = @client.send(_request)
97
+ rescue Net::HTTPRequestTimeout
98
+ raise Square::Errors::TimeoutError
99
+ end
100
+ code = _response.code.to_i
101
+ if code.between?(200, 299)
102
+ Square::Types::SearchAvailabilityResponse.load(_response.body)
103
+ else
104
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
105
+ raise error_class.new(_response.body, code: code)
84
106
  end
85
-
86
- raise _response.body
87
107
  end
88
108
 
89
109
  # Bulk-Retrieves a list of bookings by booking IDs.
@@ -94,17 +114,23 @@ module Square
94
114
  # @return [Square::Types::BulkRetrieveBookingsResponse]
95
115
  def bulk_retrieve_bookings(request_options: {}, **params)
96
116
  _request = Square::Internal::JSON::Request.new(
97
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
117
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
98
118
  method: "POST",
99
119
  path: "v2/bookings/bulk-retrieve",
100
120
  body: params
101
121
  )
102
- _response = @client.send(_request)
103
- if _response.code >= "200" && _response.code < "300"
104
- return Square::Types::BulkRetrieveBookingsResponse.load(_response.body)
122
+ begin
123
+ _response = @client.send(_request)
124
+ rescue Net::HTTPRequestTimeout
125
+ raise Square::Errors::TimeoutError
126
+ end
127
+ code = _response.code.to_i
128
+ if code.between?(200, 299)
129
+ Square::Types::BulkRetrieveBookingsResponse.load(_response.body)
130
+ else
131
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
132
+ raise error_class.new(_response.body, code: code)
105
133
  end
106
-
107
- raise _response.body
108
134
  end
109
135
 
110
136
  # Retrieves a seller's booking profile.
@@ -112,16 +138,22 @@ module Square
112
138
  # @return [Square::Types::GetBusinessBookingProfileResponse]
113
139
  def get_business_profile(request_options: {}, **_params)
114
140
  _request = Square::Internal::JSON::Request.new(
115
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
141
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
116
142
  method: "GET",
117
143
  path: "v2/bookings/business-booking-profile"
118
144
  )
119
- _response = @client.send(_request)
120
- if _response.code >= "200" && _response.code < "300"
121
- return Square::Types::GetBusinessBookingProfileResponse.load(_response.body)
145
+ begin
146
+ _response = @client.send(_request)
147
+ rescue Net::HTTPRequestTimeout
148
+ raise Square::Errors::TimeoutError
149
+ end
150
+ code = _response.code.to_i
151
+ if code.between?(200, 299)
152
+ Square::Types::GetBusinessBookingProfileResponse.load(_response.body)
153
+ else
154
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
155
+ raise error_class.new(_response.body, code: code)
122
156
  end
123
-
124
- raise _response.body
125
157
  end
126
158
 
127
159
  # Retrieves a seller's location booking profile.
@@ -129,16 +161,22 @@ module Square
129
161
  # @return [Square::Types::RetrieveLocationBookingProfileResponse]
130
162
  def retrieve_location_booking_profile(request_options: {}, **params)
131
163
  _request = Square::Internal::JSON::Request.new(
132
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
164
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
133
165
  method: "GET",
134
166
  path: "v2/bookings/location-booking-profiles/#{params[:location_id]}"
135
167
  )
136
- _response = @client.send(_request)
137
- if _response.code >= "200" && _response.code < "300"
138
- return Square::Types::RetrieveLocationBookingProfileResponse.load(_response.body)
168
+ begin
169
+ _response = @client.send(_request)
170
+ rescue Net::HTTPRequestTimeout
171
+ raise Square::Errors::TimeoutError
172
+ end
173
+ code = _response.code.to_i
174
+ if code.between?(200, 299)
175
+ Square::Types::RetrieveLocationBookingProfileResponse.load(_response.body)
176
+ else
177
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
178
+ raise error_class.new(_response.body, code: code)
139
179
  end
140
-
141
- raise _response.body
142
180
  end
143
181
 
144
182
  # Retrieves one or more team members' booking profiles.
@@ -146,17 +184,23 @@ module Square
146
184
  # @return [Square::Types::BulkRetrieveTeamMemberBookingProfilesResponse]
147
185
  def bulk_retrieve_team_member_booking_profiles(request_options: {}, **params)
148
186
  _request = Square::Internal::JSON::Request.new(
149
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
187
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
150
188
  method: "POST",
151
189
  path: "v2/bookings/team-member-booking-profiles/bulk-retrieve",
152
190
  body: params
153
191
  )
154
- _response = @client.send(_request)
155
- if _response.code >= "200" && _response.code < "300"
156
- return Square::Types::BulkRetrieveTeamMemberBookingProfilesResponse.load(_response.body)
192
+ begin
193
+ _response = @client.send(_request)
194
+ rescue Net::HTTPRequestTimeout
195
+ raise Square::Errors::TimeoutError
196
+ end
197
+ code = _response.code.to_i
198
+ if code.between?(200, 299)
199
+ Square::Types::BulkRetrieveTeamMemberBookingProfilesResponse.load(_response.body)
200
+ else
201
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
202
+ raise error_class.new(_response.body, code: code)
157
203
  end
158
-
159
- raise _response.body
160
204
  end
161
205
 
162
206
  # Retrieves a booking.
@@ -167,16 +211,22 @@ module Square
167
211
  # @return [Square::Types::GetBookingResponse]
168
212
  def get(request_options: {}, **params)
169
213
  _request = Square::Internal::JSON::Request.new(
170
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
214
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
171
215
  method: "GET",
172
216
  path: "v2/bookings/#{params[:booking_id]}"
173
217
  )
174
- _response = @client.send(_request)
175
- if _response.code >= "200" && _response.code < "300"
176
- return Square::Types::GetBookingResponse.load(_response.body)
218
+ begin
219
+ _response = @client.send(_request)
220
+ rescue Net::HTTPRequestTimeout
221
+ raise Square::Errors::TimeoutError
222
+ end
223
+ code = _response.code.to_i
224
+ if code.between?(200, 299)
225
+ Square::Types::GetBookingResponse.load(_response.body)
226
+ else
227
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
228
+ raise error_class.new(_response.body, code: code)
177
229
  end
178
-
179
- raise _response.body
180
230
  end
181
231
 
182
232
  # Updates a booking.
@@ -192,17 +242,23 @@ module Square
192
242
  _path_param_names = ["booking_id"]
193
243
 
194
244
  _request = Square::Internal::JSON::Request.new(
195
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
245
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
196
246
  method: "PUT",
197
247
  path: "v2/bookings/#{params[:booking_id]}",
198
248
  body: params.except(*_path_param_names)
199
249
  )
200
- _response = @client.send(_request)
201
- if _response.code >= "200" && _response.code < "300"
202
- return Square::Types::UpdateBookingResponse.load(_response.body)
250
+ begin
251
+ _response = @client.send(_request)
252
+ rescue Net::HTTPRequestTimeout
253
+ raise Square::Errors::TimeoutError
254
+ end
255
+ code = _response.code.to_i
256
+ if code.between?(200, 299)
257
+ Square::Types::UpdateBookingResponse.load(_response.body)
258
+ else
259
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
260
+ raise error_class.new(_response.body, code: code)
203
261
  end
204
-
205
- raise _response.body
206
262
  end
207
263
 
208
264
  # Cancels an existing booking.
@@ -218,17 +274,23 @@ module Square
218
274
  _path_param_names = ["booking_id"]
219
275
 
220
276
  _request = Square::Internal::JSON::Request.new(
221
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
277
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
222
278
  method: "POST",
223
279
  path: "v2/bookings/#{params[:booking_id]}/cancel",
224
280
  body: params.except(*_path_param_names)
225
281
  )
226
- _response = @client.send(_request)
227
- if _response.code >= "200" && _response.code < "300"
228
- return Square::Types::CancelBookingResponse.load(_response.body)
282
+ begin
283
+ _response = @client.send(_request)
284
+ rescue Net::HTTPRequestTimeout
285
+ raise Square::Errors::TimeoutError
286
+ end
287
+ code = _response.code.to_i
288
+ if code.between?(200, 299)
289
+ Square::Types::CancelBookingResponse.load(_response.body)
290
+ else
291
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
292
+ raise error_class.new(_response.body, code: code)
229
293
  end
230
-
231
- raise _response.body
232
294
  end
233
295
 
234
296
  # @return [Square::CustomAttributeDefinitions::Client]