square.rb 44.0.0.0 → 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 +11 -4
@@ -14,22 +14,31 @@ module Square
14
14
  #
15
15
  # @return [Square::Types::ListCashDrawerShiftsResponse]
16
16
  def list(request_options: {}, **params)
17
- _query_param_names = %w[location_id sort_order begin_time end_time limit cursor]
17
+ _query_param_names = [
18
+ %w[location_id sort_order begin_time end_time limit cursor],
19
+ %i[location_id sort_order begin_time end_time limit cursor]
20
+ ].flatten
18
21
  _query = params.slice(*_query_param_names)
19
22
  params.except(*_query_param_names)
20
23
 
21
24
  _request = Square::Internal::JSON::Request.new(
22
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
25
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
23
26
  method: "GET",
24
27
  path: "v2/cash-drawers/shifts",
25
28
  query: _query
26
29
  )
27
- _response = @client.send(_request)
28
- if _response.code >= "200" && _response.code < "300"
29
- return Square::Types::ListCashDrawerShiftsResponse.load(_response.body)
30
+ begin
31
+ _response = @client.send(_request)
32
+ rescue Net::HTTPRequestTimeout
33
+ raise Square::Errors::TimeoutError
34
+ end
35
+ code = _response.code.to_i
36
+ if code.between?(200, 299)
37
+ Square::Types::ListCashDrawerShiftsResponse.load(_response.body)
38
+ else
39
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
40
+ raise error_class.new(_response.body, code: code)
30
41
  end
31
-
32
- raise _response.body
33
42
  end
34
43
 
35
44
  # Provides the summary details for a single cash drawer shift. See
@@ -37,44 +46,62 @@ module Square
37
46
  #
38
47
  # @return [Square::Types::GetCashDrawerShiftResponse]
39
48
  def get(request_options: {}, **params)
40
- _query_param_names = ["location_id"]
49
+ _query_param_names = [
50
+ ["location_id"],
51
+ %i[location_id]
52
+ ].flatten
41
53
  _query = params.slice(*_query_param_names)
42
54
  params = params.except(*_query_param_names)
43
55
 
44
56
  _request = Square::Internal::JSON::Request.new(
45
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
57
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
46
58
  method: "GET",
47
59
  path: "v2/cash-drawers/shifts/#{params[:shift_id]}",
48
60
  query: _query
49
61
  )
50
- _response = @client.send(_request)
51
- if _response.code >= "200" && _response.code < "300"
52
- return Square::Types::GetCashDrawerShiftResponse.load(_response.body)
62
+ begin
63
+ _response = @client.send(_request)
64
+ rescue Net::HTTPRequestTimeout
65
+ raise Square::Errors::TimeoutError
66
+ end
67
+ code = _response.code.to_i
68
+ if code.between?(200, 299)
69
+ Square::Types::GetCashDrawerShiftResponse.load(_response.body)
70
+ else
71
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
72
+ raise error_class.new(_response.body, code: code)
53
73
  end
54
-
55
- raise _response.body
56
74
  end
57
75
 
58
76
  # Provides a paginated list of events for a single cash drawer shift.
59
77
  #
60
78
  # @return [Square::Types::ListCashDrawerShiftEventsResponse]
61
79
  def list_events(request_options: {}, **params)
62
- _query_param_names = %w[location_id limit cursor]
80
+ _query_param_names = [
81
+ %w[location_id limit cursor],
82
+ %i[location_id limit cursor]
83
+ ].flatten
63
84
  _query = params.slice(*_query_param_names)
64
85
  params = params.except(*_query_param_names)
65
86
 
66
87
  _request = Square::Internal::JSON::Request.new(
67
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
88
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
68
89
  method: "GET",
69
90
  path: "v2/cash-drawers/shifts/#{params[:shift_id]}/events",
70
91
  query: _query
71
92
  )
72
- _response = @client.send(_request)
73
- if _response.code >= "200" && _response.code < "300"
74
- return Square::Types::ListCashDrawerShiftEventsResponse.load(_response.body)
93
+ begin
94
+ _response = @client.send(_request)
95
+ rescue Net::HTTPRequestTimeout
96
+ raise Square::Errors::TimeoutError
97
+ end
98
+ code = _response.code.to_i
99
+ if code.between?(200, 299)
100
+ Square::Types::ListCashDrawerShiftEventsResponse.load(_response.body)
101
+ else
102
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
103
+ raise error_class.new(_response.body, code: code)
75
104
  end
76
-
77
- raise _response.body
78
105
  end
79
106
  end
80
107
  end
@@ -26,17 +26,23 @@ module Square
26
26
  # @return [Square::Types::BatchDeleteCatalogObjectsResponse]
27
27
  def batch_delete(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/catalog/batch-delete",
32
32
  body: params
33
33
  )
34
- _response = @client.send(_request)
35
- if _response.code >= "200" && _response.code < "300"
36
- return Square::Types::BatchDeleteCatalogObjectsResponse.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::BatchDeleteCatalogObjectsResponse.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
 
42
48
  # Returns a set of objects based on the provided ID.
@@ -49,17 +55,23 @@ module Square
49
55
  # @return [Square::Types::BatchGetCatalogObjectsResponse]
50
56
  def batch_get(request_options: {}, **params)
51
57
  _request = Square::Internal::JSON::Request.new(
52
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
58
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
53
59
  method: "POST",
54
60
  path: "v2/catalog/batch-retrieve",
55
61
  body: params
56
62
  )
57
- _response = @client.send(_request)
58
- if _response.code >= "200" && _response.code < "300"
59
- return Square::Types::BatchGetCatalogObjectsResponse.load(_response.body)
63
+ begin
64
+ _response = @client.send(_request)
65
+ rescue Net::HTTPRequestTimeout
66
+ raise Square::Errors::TimeoutError
67
+ end
68
+ code = _response.code.to_i
69
+ if code.between?(200, 299)
70
+ Square::Types::BatchGetCatalogObjectsResponse.load(_response.body)
71
+ else
72
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
73
+ raise error_class.new(_response.body, code: code)
60
74
  end
61
-
62
- raise _response.body
63
75
  end
64
76
 
65
77
  # Creates or updates up to 10,000 target objects based on the provided
@@ -79,17 +91,23 @@ module Square
79
91
  # @return [Square::Types::BatchUpsertCatalogObjectsResponse]
80
92
  def batch_upsert(request_options: {}, **params)
81
93
  _request = Square::Internal::JSON::Request.new(
82
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
94
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
83
95
  method: "POST",
84
96
  path: "v2/catalog/batch-upsert",
85
97
  body: params
86
98
  )
87
- _response = @client.send(_request)
88
- if _response.code >= "200" && _response.code < "300"
89
- return Square::Types::BatchUpsertCatalogObjectsResponse.load(_response.body)
99
+ begin
100
+ _response = @client.send(_request)
101
+ rescue Net::HTTPRequestTimeout
102
+ raise Square::Errors::TimeoutError
103
+ end
104
+ code = _response.code.to_i
105
+ if code.between?(200, 299)
106
+ Square::Types::BatchUpsertCatalogObjectsResponse.load(_response.body)
107
+ else
108
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
109
+ raise error_class.new(_response.body, code: code)
90
110
  end
91
-
92
- raise _response.body
93
111
  end
94
112
 
95
113
  # Retrieves information about the Square Catalog API, such as batch size
@@ -98,16 +116,22 @@ module Square
98
116
  # @return [Square::Types::CatalogInfoResponse]
99
117
  def info(request_options: {}, **_params)
100
118
  _request = Square::Internal::JSON::Request.new(
101
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
119
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
102
120
  method: "GET",
103
121
  path: "v2/catalog/info"
104
122
  )
105
- _response = @client.send(_request)
106
- if _response.code >= "200" && _response.code < "300"
107
- return Square::Types::CatalogInfoResponse.load(_response.body)
123
+ begin
124
+ _response = @client.send(_request)
125
+ rescue Net::HTTPRequestTimeout
126
+ raise Square::Errors::TimeoutError
127
+ end
128
+ code = _response.code.to_i
129
+ if code.between?(200, 299)
130
+ Square::Types::CatalogInfoResponse.load(_response.body)
131
+ else
132
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
133
+ raise error_class.new(_response.body, code: code)
108
134
  end
109
-
110
- raise _response.body
111
135
  end
112
136
 
113
137
  # Returns a list of all [CatalogObject](entity:CatalogObject)s of the specified types in the catalog.
@@ -121,22 +145,31 @@ module Square
121
145
  #
122
146
  # @return [Square::Types::ListCatalogResponse]
123
147
  def list(request_options: {}, **params)
124
- _query_param_names = %w[cursor types catalog_version]
148
+ _query_param_names = [
149
+ %w[cursor types catalog_version],
150
+ %i[cursor types catalog_version]
151
+ ].flatten
125
152
  _query = params.slice(*_query_param_names)
126
153
  params.except(*_query_param_names)
127
154
 
128
155
  _request = Square::Internal::JSON::Request.new(
129
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
156
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
130
157
  method: "GET",
131
158
  path: "v2/catalog/list",
132
159
  query: _query
133
160
  )
134
- _response = @client.send(_request)
135
- if _response.code >= "200" && _response.code < "300"
136
- return Square::Types::ListCatalogResponse.load(_response.body)
161
+ begin
162
+ _response = @client.send(_request)
163
+ rescue Net::HTTPRequestTimeout
164
+ raise Square::Errors::TimeoutError
165
+ end
166
+ code = _response.code.to_i
167
+ if code.between?(200, 299)
168
+ Square::Types::ListCatalogResponse.load(_response.body)
169
+ else
170
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
171
+ raise error_class.new(_response.body, code: code)
137
172
  end
138
-
139
- raise _response.body
140
173
  end
141
174
 
142
175
  # Searches for [CatalogObject](entity:CatalogObject) of any type by matching supported search attribute values,
@@ -153,17 +186,23 @@ module Square
153
186
  # @return [Square::Types::SearchCatalogObjectsResponse]
154
187
  def search(request_options: {}, **params)
155
188
  _request = Square::Internal::JSON::Request.new(
156
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
189
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
157
190
  method: "POST",
158
191
  path: "v2/catalog/search",
159
192
  body: params
160
193
  )
161
- _response = @client.send(_request)
162
- if _response.code >= "200" && _response.code < "300"
163
- return Square::Types::SearchCatalogObjectsResponse.load(_response.body)
194
+ begin
195
+ _response = @client.send(_request)
196
+ rescue Net::HTTPRequestTimeout
197
+ raise Square::Errors::TimeoutError
198
+ end
199
+ code = _response.code.to_i
200
+ if code.between?(200, 299)
201
+ Square::Types::SearchCatalogObjectsResponse.load(_response.body)
202
+ else
203
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
204
+ raise error_class.new(_response.body, code: code)
164
205
  end
165
-
166
- raise _response.body
167
206
  end
168
207
 
169
208
  # Searches for catalog items or item variations by matching supported search attribute values, including
@@ -180,17 +219,23 @@ module Square
180
219
  # @return [Square::Types::SearchCatalogItemsResponse]
181
220
  def search_items(request_options: {}, **params)
182
221
  _request = Square::Internal::JSON::Request.new(
183
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
222
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
184
223
  method: "POST",
185
224
  path: "v2/catalog/search-catalog-items",
186
225
  body: params
187
226
  )
188
- _response = @client.send(_request)
189
- if _response.code >= "200" && _response.code < "300"
190
- return Square::Types::SearchCatalogItemsResponse.load(_response.body)
227
+ begin
228
+ _response = @client.send(_request)
229
+ rescue Net::HTTPRequestTimeout
230
+ raise Square::Errors::TimeoutError
231
+ end
232
+ code = _response.code.to_i
233
+ if code.between?(200, 299)
234
+ Square::Types::SearchCatalogItemsResponse.load(_response.body)
235
+ else
236
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
237
+ raise error_class.new(_response.body, code: code)
191
238
  end
192
-
193
- raise _response.body
194
239
  end
195
240
 
196
241
  # Updates the [CatalogModifierList](entity:CatalogModifierList) objects
@@ -200,17 +245,23 @@ module Square
200
245
  # @return [Square::Types::UpdateItemModifierListsResponse]
201
246
  def update_item_modifier_lists(request_options: {}, **params)
202
247
  _request = Square::Internal::JSON::Request.new(
203
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
248
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
204
249
  method: "POST",
205
250
  path: "v2/catalog/update-item-modifier-lists",
206
251
  body: params
207
252
  )
208
- _response = @client.send(_request)
209
- if _response.code >= "200" && _response.code < "300"
210
- return Square::Types::UpdateItemModifierListsResponse.load(_response.body)
253
+ begin
254
+ _response = @client.send(_request)
255
+ rescue Net::HTTPRequestTimeout
256
+ raise Square::Errors::TimeoutError
257
+ end
258
+ code = _response.code.to_i
259
+ if code.between?(200, 299)
260
+ Square::Types::UpdateItemModifierListsResponse.load(_response.body)
261
+ else
262
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
263
+ raise error_class.new(_response.body, code: code)
211
264
  end
212
-
213
- raise _response.body
214
265
  end
215
266
 
216
267
  # Updates the [CatalogTax](entity:CatalogTax) objects that apply to the
@@ -220,17 +271,23 @@ module Square
220
271
  # @return [Square::Types::UpdateItemTaxesResponse]
221
272
  def update_item_taxes(request_options: {}, **params)
222
273
  _request = Square::Internal::JSON::Request.new(
223
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
274
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
224
275
  method: "POST",
225
276
  path: "v2/catalog/update-item-taxes",
226
277
  body: params
227
278
  )
228
- _response = @client.send(_request)
229
- if _response.code >= "200" && _response.code < "300"
230
- return Square::Types::UpdateItemTaxesResponse.load(_response.body)
279
+ begin
280
+ _response = @client.send(_request)
281
+ rescue Net::HTTPRequestTimeout
282
+ raise Square::Errors::TimeoutError
283
+ end
284
+ code = _response.code.to_i
285
+ if code.between?(200, 299)
286
+ Square::Types::UpdateItemTaxesResponse.load(_response.body)
287
+ else
288
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
289
+ raise error_class.new(_response.body, code: code)
231
290
  end
232
-
233
- raise _response.body
234
291
  end
235
292
 
236
293
  # @return [Square::Images::Client]
@@ -34,12 +34,18 @@ module Square
34
34
  path: "v2/catalog/images",
35
35
  body: body
36
36
  )
37
- _response = @client.send(_request)
38
- if _response.code >= "200" && _response.code < "300"
39
- return Square::Types::CreateCatalogImageResponse.load(_response.body)
37
+ begin
38
+ _response = @client.send(_request)
39
+ rescue Net::HTTPRequestTimeout
40
+ raise Square::Errors::TimeoutError
41
+ end
42
+ code = _response.code.to_i
43
+ if code.between?(200, 299)
44
+ Square::Types::CreateCatalogImageResponse.load(_response.body)
45
+ else
46
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
47
+ raise error_class.new(_response.body, code: code)
40
48
  end
41
-
42
- raise _response.body
43
49
  end
44
50
 
45
51
  # Uploads a new image file to replace the existing one in the specified [CatalogImage](entity:CatalogImage) object.
@@ -65,12 +71,18 @@ module Square
65
71
  path: "v2/catalog/images/#{params[:image_id]}",
66
72
  body: body
67
73
  )
68
- _response = @client.send(_request)
69
- if _response.code >= "200" && _response.code < "300"
70
- return Square::Types::UpdateCatalogImageResponse.load(_response.body)
74
+ begin
75
+ _response = @client.send(_request)
76
+ rescue Net::HTTPRequestTimeout
77
+ raise Square::Errors::TimeoutError
78
+ end
79
+ code = _response.code.to_i
80
+ if code.between?(200, 299)
81
+ Square::Types::UpdateCatalogImageResponse.load(_response.body)
82
+ else
83
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
84
+ raise error_class.new(_response.body, code: code)
71
85
  end
72
-
73
- raise _response.body
74
86
  end
75
87
  end
76
88
  end
@@ -18,17 +18,23 @@ module Square
18
18
  # @return [Square::Types::UpsertCatalogObjectResponse]
19
19
  def upsert(request_options: {}, **params)
20
20
  _request = Square::Internal::JSON::Request.new(
21
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
21
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
22
22
  method: "POST",
23
23
  path: "v2/catalog/object",
24
24
  body: params
25
25
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::UpsertCatalogObjectResponse.load(_response.body)
26
+ begin
27
+ _response = @client.send(_request)
28
+ rescue Net::HTTPRequestTimeout
29
+ raise Square::Errors::TimeoutError
30
+ end
31
+ code = _response.code.to_i
32
+ if code.between?(200, 299)
33
+ Square::Types::UpsertCatalogObjectResponse.load(_response.body)
34
+ else
35
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
36
+ raise error_class.new(_response.body, code: code)
29
37
  end
30
-
31
- raise _response.body
32
38
  end
33
39
 
34
40
  # Returns a single [CatalogItem](entity:CatalogItem) as a
@@ -41,22 +47,31 @@ module Square
41
47
  #
42
48
  # @return [Square::Types::GetCatalogObjectResponse]
43
49
  def get(request_options: {}, **params)
44
- _query_param_names = %w[include_related_objects catalog_version include_category_path_to_root]
50
+ _query_param_names = [
51
+ %w[include_related_objects catalog_version include_category_path_to_root],
52
+ %i[include_related_objects catalog_version include_category_path_to_root]
53
+ ].flatten
45
54
  _query = params.slice(*_query_param_names)
46
55
  params = params.except(*_query_param_names)
47
56
 
48
57
  _request = Square::Internal::JSON::Request.new(
49
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
58
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
50
59
  method: "GET",
51
60
  path: "v2/catalog/object/#{params[:object_id]}",
52
61
  query: _query
53
62
  )
54
- _response = @client.send(_request)
55
- if _response.code >= "200" && _response.code < "300"
56
- return Square::Types::GetCatalogObjectResponse.load(_response.body)
63
+ begin
64
+ _response = @client.send(_request)
65
+ rescue Net::HTTPRequestTimeout
66
+ raise Square::Errors::TimeoutError
67
+ end
68
+ code = _response.code.to_i
69
+ if code.between?(200, 299)
70
+ Square::Types::GetCatalogObjectResponse.load(_response.body)
71
+ else
72
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
73
+ raise error_class.new(_response.body, code: code)
57
74
  end
58
-
59
- raise _response.body
60
75
  end
61
76
 
62
77
  # Deletes a single [CatalogObject](entity:CatalogObject) based on the
@@ -73,16 +88,22 @@ module Square
73
88
  # @return [Square::Types::DeleteCatalogObjectResponse]
74
89
  def delete(request_options: {}, **params)
75
90
  _request = Square::Internal::JSON::Request.new(
76
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
91
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
77
92
  method: "DELETE",
78
93
  path: "v2/catalog/object/#{params[:object_id]}"
79
94
  )
80
- _response = @client.send(_request)
81
- if _response.code >= "200" && _response.code < "300"
82
- return Square::Types::DeleteCatalogObjectResponse.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::DeleteCatalogObjectResponse.load(_response.body)
103
+ else
104
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
105
+ raise error_class.new(_response.body, code: code)
83
106
  end
84
-
85
- raise _response.body
86
107
  end
87
108
  end
88
109
  end
@@ -5,7 +5,7 @@ module Square
5
5
  module Object_
6
6
  module Types
7
7
  class DeleteObjectRequest < Internal::Types::Model
8
- field :object_id, -> { String }, optional: false, nullable: false
8
+ field :object_id_, -> { String }, optional: false, nullable: false
9
9
  end
10
10
  end
11
11
  end
@@ -5,7 +5,7 @@ module Square
5
5
  module Object_
6
6
  module Types
7
7
  class GetObjectRequest < Internal::Types::Model
8
- field :object_id, -> { String }, optional: false, nullable: false
8
+ field :object_id_, -> { String }, optional: false, nullable: false
9
9
  field :include_related_objects, -> { Internal::Types::Boolean }, optional: true, nullable: false
10
10
  field :catalog_version, -> { Integer }, optional: true, nullable: false
11
11
  field :include_category_path_to_root, -> { Internal::Types::Boolean }, optional: true, nullable: false