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
@@ -13,17 +13,23 @@ module Square
13
13
  # @return [Square::Types::BatchCreateVendorsResponse]
14
14
  def batch_create(request_options: {}, **params)
15
15
  _request = Square::Internal::JSON::Request.new(
16
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
16
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
17
17
  method: "POST",
18
18
  path: "v2/vendors/bulk-create",
19
19
  body: params
20
20
  )
21
- _response = @client.send(_request)
22
- if _response.code >= "200" && _response.code < "300"
23
- return Square::Types::BatchCreateVendorsResponse.load(_response.body)
21
+ begin
22
+ _response = @client.send(_request)
23
+ rescue Net::HTTPRequestTimeout
24
+ raise Square::Errors::TimeoutError
25
+ end
26
+ code = _response.code.to_i
27
+ if code.between?(200, 299)
28
+ Square::Types::BatchCreateVendorsResponse.load(_response.body)
29
+ else
30
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
31
+ raise error_class.new(_response.body, code: code)
24
32
  end
25
-
26
- raise _response.body
27
33
  end
28
34
 
29
35
  # Retrieves one or more vendors of specified [Vendor](entity:Vendor) IDs.
@@ -31,17 +37,23 @@ module Square
31
37
  # @return [Square::Types::BatchGetVendorsResponse]
32
38
  def batch_get(request_options: {}, **params)
33
39
  _request = Square::Internal::JSON::Request.new(
34
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
40
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
35
41
  method: "POST",
36
42
  path: "v2/vendors/bulk-retrieve",
37
43
  body: params
38
44
  )
39
- _response = @client.send(_request)
40
- if _response.code >= "200" && _response.code < "300"
41
- return Square::Types::BatchGetVendorsResponse.load(_response.body)
45
+ begin
46
+ _response = @client.send(_request)
47
+ rescue Net::HTTPRequestTimeout
48
+ raise Square::Errors::TimeoutError
49
+ end
50
+ code = _response.code.to_i
51
+ if code.between?(200, 299)
52
+ Square::Types::BatchGetVendorsResponse.load(_response.body)
53
+ else
54
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
55
+ raise error_class.new(_response.body, code: code)
42
56
  end
43
-
44
- raise _response.body
45
57
  end
46
58
 
47
59
  # Updates one or more of existing [Vendor](entity:Vendor) objects as suppliers to a seller.
@@ -49,17 +61,23 @@ module Square
49
61
  # @return [Square::Types::BatchUpdateVendorsResponse]
50
62
  def batch_update(request_options: {}, **params)
51
63
  _request = Square::Internal::JSON::Request.new(
52
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
64
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
53
65
  method: "PUT",
54
66
  path: "v2/vendors/bulk-update",
55
67
  body: params
56
68
  )
57
- _response = @client.send(_request)
58
- if _response.code >= "200" && _response.code < "300"
59
- return Square::Types::BatchUpdateVendorsResponse.load(_response.body)
69
+ begin
70
+ _response = @client.send(_request)
71
+ rescue Net::HTTPRequestTimeout
72
+ raise Square::Errors::TimeoutError
73
+ end
74
+ code = _response.code.to_i
75
+ if code.between?(200, 299)
76
+ Square::Types::BatchUpdateVendorsResponse.load(_response.body)
77
+ else
78
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
79
+ raise error_class.new(_response.body, code: code)
60
80
  end
61
-
62
- raise _response.body
63
81
  end
64
82
 
65
83
  # Creates a single [Vendor](entity:Vendor) object to represent a supplier to a seller.
@@ -67,17 +85,23 @@ module Square
67
85
  # @return [Square::Types::CreateVendorResponse]
68
86
  def create(request_options: {}, **params)
69
87
  _request = Square::Internal::JSON::Request.new(
70
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
88
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
71
89
  method: "POST",
72
90
  path: "v2/vendors/create",
73
91
  body: params
74
92
  )
75
- _response = @client.send(_request)
76
- if _response.code >= "200" && _response.code < "300"
77
- return Square::Types::CreateVendorResponse.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::CreateVendorResponse.load(_response.body)
101
+ else
102
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
103
+ raise error_class.new(_response.body, code: code)
78
104
  end
79
-
80
- raise _response.body
81
105
  end
82
106
 
83
107
  # Searches for vendors using a filter against supported [Vendor](entity:Vendor) properties and a supported sorter.
@@ -85,17 +109,23 @@ module Square
85
109
  # @return [Square::Types::SearchVendorsResponse]
86
110
  def search(request_options: {}, **params)
87
111
  _request = Square::Internal::JSON::Request.new(
88
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
112
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
89
113
  method: "POST",
90
114
  path: "v2/vendors/search",
91
115
  body: params
92
116
  )
93
- _response = @client.send(_request)
94
- if _response.code >= "200" && _response.code < "300"
95
- return Square::Types::SearchVendorsResponse.load(_response.body)
117
+ begin
118
+ _response = @client.send(_request)
119
+ rescue Net::HTTPRequestTimeout
120
+ raise Square::Errors::TimeoutError
121
+ end
122
+ code = _response.code.to_i
123
+ if code.between?(200, 299)
124
+ Square::Types::SearchVendorsResponse.load(_response.body)
125
+ else
126
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
127
+ raise error_class.new(_response.body, code: code)
96
128
  end
97
-
98
- raise _response.body
99
129
  end
100
130
 
101
131
  # Retrieves the vendor of a specified [Vendor](entity:Vendor) ID.
@@ -103,16 +133,22 @@ module Square
103
133
  # @return [Square::Types::GetVendorResponse]
104
134
  def get(request_options: {}, **params)
105
135
  _request = Square::Internal::JSON::Request.new(
106
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
136
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
107
137
  method: "GET",
108
138
  path: "v2/vendors/#{params[:vendor_id]}"
109
139
  )
110
- _response = @client.send(_request)
111
- if _response.code >= "200" && _response.code < "300"
112
- return Square::Types::GetVendorResponse.load(_response.body)
140
+ begin
141
+ _response = @client.send(_request)
142
+ rescue Net::HTTPRequestTimeout
143
+ raise Square::Errors::TimeoutError
144
+ end
145
+ code = _response.code.to_i
146
+ if code.between?(200, 299)
147
+ Square::Types::GetVendorResponse.load(_response.body)
148
+ else
149
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
150
+ raise error_class.new(_response.body, code: code)
113
151
  end
114
-
115
- raise _response.body
116
152
  end
117
153
 
118
154
  # Updates an existing [Vendor](entity:Vendor) object as a supplier to a seller.
@@ -122,17 +158,23 @@ module Square
122
158
  _path_param_names = ["vendor_id"]
123
159
 
124
160
  _request = Square::Internal::JSON::Request.new(
125
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
161
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
126
162
  method: "PUT",
127
163
  path: "v2/vendors/#{params[:vendor_id]}",
128
164
  body: params.except(*_path_param_names)
129
165
  )
130
- _response = @client.send(_request)
131
- if _response.code >= "200" && _response.code < "300"
132
- return Square::Types::UpdateVendorResponse.load(_response.body)
166
+ begin
167
+ _response = @client.send(_request)
168
+ rescue Net::HTTPRequestTimeout
169
+ raise Square::Errors::TimeoutError
170
+ end
171
+ code = _response.code.to_i
172
+ if code.between?(200, 299)
173
+ Square::Types::UpdateVendorResponse.load(_response.body)
174
+ else
175
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
176
+ raise error_class.new(_response.body, code: code)
133
177
  end
134
-
135
- raise _response.body
136
178
  end
137
179
  end
138
180
  end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Square
4
+ VERSION = "44.0.1.20250820"
5
+ end
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListWebhookEventTypesResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = ["api_version"]
16
+ _query_param_names = [
17
+ ["api_version"],
18
+ %i[api_version]
19
+ ].flatten
17
20
  _query = params.slice(*_query_param_names)
18
21
  params.except(*_query_param_names)
19
22
 
20
23
  _request = Square::Internal::JSON::Request.new(
21
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
24
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
22
25
  method: "GET",
23
26
  path: "v2/webhooks/event-types",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListWebhookEventTypesResponse.load(_response.body)
29
+ begin
30
+ _response = @client.send(_request)
31
+ rescue Net::HTTPRequestTimeout
32
+ raise Square::Errors::TimeoutError
33
+ end
34
+ code = _response.code.to_i
35
+ if code.between?(200, 299)
36
+ Square::Types::ListWebhookEventTypesResponse.load(_response.body)
37
+ else
38
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
39
+ raise error_class.new(_response.body, code: code)
29
40
  end
30
-
31
- raise _response.body
32
41
  end
33
42
  end
34
43
  end
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListWebhookSubscriptionsResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = %w[cursor include_disabled sort_order limit]
16
+ _query_param_names = [
17
+ %w[cursor include_disabled sort_order limit],
18
+ %i[cursor include_disabled sort_order limit]
19
+ ].flatten
17
20
  _query = params.slice(*_query_param_names)
18
21
  params.except(*_query_param_names)
19
22
 
20
23
  _request = Square::Internal::JSON::Request.new(
21
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
24
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
22
25
  method: "GET",
23
26
  path: "v2/webhooks/subscriptions",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListWebhookSubscriptionsResponse.load(_response.body)
29
+ begin
30
+ _response = @client.send(_request)
31
+ rescue Net::HTTPRequestTimeout
32
+ raise Square::Errors::TimeoutError
33
+ end
34
+ code = _response.code.to_i
35
+ if code.between?(200, 299)
36
+ Square::Types::ListWebhookSubscriptionsResponse.load(_response.body)
37
+ else
38
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
39
+ raise error_class.new(_response.body, code: code)
29
40
  end
30
-
31
- raise _response.body
32
41
  end
33
42
 
34
43
  # Creates a webhook subscription.
@@ -36,17 +45,23 @@ module Square
36
45
  # @return [Square::Types::CreateWebhookSubscriptionResponse]
37
46
  def create(request_options: {}, **params)
38
47
  _request = Square::Internal::JSON::Request.new(
39
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
48
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
40
49
  method: "POST",
41
50
  path: "v2/webhooks/subscriptions",
42
51
  body: params
43
52
  )
44
- _response = @client.send(_request)
45
- if _response.code >= "200" && _response.code < "300"
46
- return Square::Types::CreateWebhookSubscriptionResponse.load(_response.body)
53
+ begin
54
+ _response = @client.send(_request)
55
+ rescue Net::HTTPRequestTimeout
56
+ raise Square::Errors::TimeoutError
57
+ end
58
+ code = _response.code.to_i
59
+ if code.between?(200, 299)
60
+ Square::Types::CreateWebhookSubscriptionResponse.load(_response.body)
61
+ else
62
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
63
+ raise error_class.new(_response.body, code: code)
47
64
  end
48
-
49
- raise _response.body
50
65
  end
51
66
 
52
67
  # Retrieves a webhook subscription identified by its ID.
@@ -54,16 +69,22 @@ module Square
54
69
  # @return [Square::Types::GetWebhookSubscriptionResponse]
55
70
  def get(request_options: {}, **params)
56
71
  _request = Square::Internal::JSON::Request.new(
57
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
72
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
58
73
  method: "GET",
59
74
  path: "v2/webhooks/subscriptions/#{params[:subscription_id]}"
60
75
  )
61
- _response = @client.send(_request)
62
- if _response.code >= "200" && _response.code < "300"
63
- return Square::Types::GetWebhookSubscriptionResponse.load(_response.body)
76
+ begin
77
+ _response = @client.send(_request)
78
+ rescue Net::HTTPRequestTimeout
79
+ raise Square::Errors::TimeoutError
80
+ end
81
+ code = _response.code.to_i
82
+ if code.between?(200, 299)
83
+ Square::Types::GetWebhookSubscriptionResponse.load(_response.body)
84
+ else
85
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
86
+ raise error_class.new(_response.body, code: code)
64
87
  end
65
-
66
- raise _response.body
67
88
  end
68
89
 
69
90
  # Updates a webhook subscription.
@@ -73,17 +94,23 @@ module Square
73
94
  _path_param_names = ["subscription_id"]
74
95
 
75
96
  _request = Square::Internal::JSON::Request.new(
76
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
97
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
77
98
  method: "PUT",
78
99
  path: "v2/webhooks/subscriptions/#{params[:subscription_id]}",
79
100
  body: params.except(*_path_param_names)
80
101
  )
81
- _response = @client.send(_request)
82
- if _response.code >= "200" && _response.code < "300"
83
- return Square::Types::UpdateWebhookSubscriptionResponse.load(_response.body)
102
+ begin
103
+ _response = @client.send(_request)
104
+ rescue Net::HTTPRequestTimeout
105
+ raise Square::Errors::TimeoutError
106
+ end
107
+ code = _response.code.to_i
108
+ if code.between?(200, 299)
109
+ Square::Types::UpdateWebhookSubscriptionResponse.load(_response.body)
110
+ else
111
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
112
+ raise error_class.new(_response.body, code: code)
84
113
  end
85
-
86
- raise _response.body
87
114
  end
88
115
 
89
116
  # Deletes a webhook subscription.
@@ -91,16 +118,22 @@ module Square
91
118
  # @return [Square::Types::DeleteWebhookSubscriptionResponse]
92
119
  def delete(request_options: {}, **params)
93
120
  _request = Square::Internal::JSON::Request.new(
94
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
121
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
95
122
  method: "DELETE",
96
123
  path: "v2/webhooks/subscriptions/#{params[:subscription_id]}"
97
124
  )
98
- _response = @client.send(_request)
99
- if _response.code >= "200" && _response.code < "300"
100
- return Square::Types::DeleteWebhookSubscriptionResponse.load(_response.body)
125
+ begin
126
+ _response = @client.send(_request)
127
+ rescue Net::HTTPRequestTimeout
128
+ raise Square::Errors::TimeoutError
129
+ end
130
+ code = _response.code.to_i
131
+ if code.between?(200, 299)
132
+ Square::Types::DeleteWebhookSubscriptionResponse.load(_response.body)
133
+ else
134
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
135
+ raise error_class.new(_response.body, code: code)
101
136
  end
102
-
103
- raise _response.body
104
137
  end
105
138
 
106
139
  # Updates a webhook subscription by replacing the existing signature key with a new one.
@@ -110,17 +143,23 @@ module Square
110
143
  _path_param_names = ["subscription_id"]
111
144
 
112
145
  _request = Square::Internal::JSON::Request.new(
113
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
146
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
114
147
  method: "POST",
115
148
  path: "v2/webhooks/subscriptions/#{params[:subscription_id]}/signature-key",
116
149
  body: params.except(*_path_param_names)
117
150
  )
118
- _response = @client.send(_request)
119
- if _response.code >= "200" && _response.code < "300"
120
- return Square::Types::UpdateWebhookSubscriptionSignatureKeyResponse.load(_response.body)
151
+ begin
152
+ _response = @client.send(_request)
153
+ rescue Net::HTTPRequestTimeout
154
+ raise Square::Errors::TimeoutError
155
+ end
156
+ code = _response.code.to_i
157
+ if code.between?(200, 299)
158
+ Square::Types::UpdateWebhookSubscriptionSignatureKeyResponse.load(_response.body)
159
+ else
160
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
161
+ raise error_class.new(_response.body, code: code)
121
162
  end
122
-
123
- raise _response.body
124
163
  end
125
164
 
126
165
  # Tests a webhook subscription by sending a test event to the notification URL.
@@ -130,17 +169,23 @@ module Square
130
169
  _path_param_names = ["subscription_id"]
131
170
 
132
171
  _request = Square::Internal::JSON::Request.new(
133
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
172
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
134
173
  method: "POST",
135
174
  path: "v2/webhooks/subscriptions/#{params[:subscription_id]}/test",
136
175
  body: params.except(*_path_param_names)
137
176
  )
138
- _response = @client.send(_request)
139
- if _response.code >= "200" && _response.code < "300"
140
- return Square::Types::TestWebhookSubscriptionResponse.load(_response.body)
177
+ begin
178
+ _response = @client.send(_request)
179
+ rescue Net::HTTPRequestTimeout
180
+ raise Square::Errors::TimeoutError
181
+ end
182
+ code = _response.code.to_i
183
+ if code.between?(200, 299)
184
+ Square::Types::TestWebhookSubscriptionResponse.load(_response.body)
185
+ else
186
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
187
+ raise error_class.new(_response.body, code: code)
141
188
  end
142
-
143
- raise _response.body
144
189
  end
145
190
  end
146
191
  end
data/lib/square.rb CHANGED
@@ -4,7 +4,6 @@ require "json"
4
4
  require "net/http"
5
5
  require "securerandom"
6
6
 
7
- # Internal Types
8
7
  require_relative "square/internal/json/serializable"
9
8
  require_relative "square/internal/types/type"
10
9
  require_relative "square/internal/types/utils"
@@ -25,9 +24,12 @@ require_relative "square/internal/types/boolean"
25
24
  require_relative "square/internal/types/enum"
26
25
  require_relative "square/internal/types/hash"
27
26
  require_relative "square/internal/types/unknown"
28
-
29
- # API Types
30
- require_relative "square/file_param"
27
+ require_relative "square/errors/api_error"
28
+ require_relative "square/errors/response_error"
29
+ require_relative "square/errors/client_error"
30
+ require_relative "square/errors/redirect_error"
31
+ require_relative "square/errors/server_error"
32
+ require_relative "square/errors/timeout_error"
31
33
  require_relative "square/types/ach_details"
32
34
  require_relative "square/types/card_brand"
33
35
  require_relative "square/types/currency"
@@ -1296,8 +1298,6 @@ require_relative "square/types/vendor_updated_event_data"
1296
1298
  require_relative "square/types/vendor_updated_event"
1297
1299
  require_relative "square/types/visibility_filter"
1298
1300
  require_relative "square/types/void_transaction_response"
1299
-
1300
- # Client Types
1301
1301
  require_relative "square/client"
1302
1302
  require_relative "square/mobile/client"
1303
1303
  require_relative "square/mobile/types/create_mobile_authorization_code_request"
@@ -1671,3 +1671,4 @@ require_relative "square/webhooks/subscriptions/types/delete_subscriptions_reque
1671
1671
  require_relative "square/webhooks/subscriptions/types/update_webhook_subscription_signature_key_request"
1672
1672
  require_relative "square/webhooks/subscriptions/types/test_webhook_subscription_request"
1673
1673
  require_relative "square/environment"
1674
+ require_relative "square/file_param"
@@ -200,6 +200,7 @@ describe Square::Catalog::Client do
200
200
  end
201
201
 
202
202
  it "batch upsert catalog objects with modifiers and taxes" do
203
+ skip "Getting rate limited. Skipping for now."
203
204
  sleep(2) # Wait before batch upsert
204
205
 
205
206
  modifier = {
@@ -546,6 +547,7 @@ describe Square::Catalog::Client do
546
547
 
547
548
  describe "#update_item_modifier_lists" do
548
549
  it "update item modifier lists" do
550
+ skip "Getting rate limited. Skipping for now."
549
551
  sleep(2) # Wait before test start
550
552
 
551
553
  # First create a test item
@@ -624,6 +626,7 @@ describe Square::Catalog::Client do
624
626
  end
625
627
 
626
628
  it "upsert catalog object with custom data" do
629
+ skip "Getting rate limited. Skipping for now."
627
630
  coffee = create_test_catalog_item(
628
631
  name: "Coffee",
629
632
  description: "Strong coffee",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: square.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 44.0.0.20250820
4
+ version: 44.0.1.20250820
5
5
  platform: ruby
6
6
  authors:
7
7
  - Square Developer Platform
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-08-25 00:00:00.000000000 Z
11
+ date: 2025-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: apimatic_core_interfaces
@@ -220,6 +220,12 @@ files:
220
220
  - lib/square/employees/types/get_employees_request.rb
221
221
  - lib/square/employees/types/list_employees_request.rb
222
222
  - lib/square/environment.rb
223
+ - lib/square/errors/api_error.rb
224
+ - lib/square/errors/client_error.rb
225
+ - lib/square/errors/redirect_error.rb
226
+ - lib/square/errors/response_error.rb
227
+ - lib/square/errors/server_error.rb
228
+ - lib/square/errors/timeout_error.rb
223
229
  - lib/square/events/client.rb
224
230
  - lib/square/events/types/list_event_types_request.rb
225
231
  - lib/square/events/types/search_events_request.rb
@@ -1741,6 +1747,7 @@ files:
1741
1747
  - lib/square/vendors/types/get_vendors_request.rb
1742
1748
  - lib/square/vendors/types/search_vendors_request.rb
1743
1749
  - lib/square/vendors/types/update_vendors_request.rb
1750
+ - lib/square/version.rb
1744
1751
  - lib/square/webhooks/client.rb
1745
1752
  - lib/square/webhooks/event_types/client.rb
1746
1753
  - lib/square/webhooks/event_types/types/list_event_types_request.rb