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
@@ -20,17 +20,23 @@ module Square
20
20
  # @return [Square::Types::CreateScheduledShiftResponse]
21
21
  def create_scheduled_shift(request_options: {}, **params)
22
22
  _request = Square::Internal::JSON::Request.new(
23
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
23
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
24
24
  method: "POST",
25
25
  path: "v2/labor/scheduled-shifts",
26
26
  body: params
27
27
  )
28
- _response = @client.send(_request)
29
- if _response.code >= "200" && _response.code < "300"
30
- return Square::Types::CreateScheduledShiftResponse.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::CreateScheduledShiftResponse.load(_response.body)
36
+ else
37
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
38
+ raise error_class.new(_response.body, code: code)
31
39
  end
32
-
33
- raise _response.body
34
40
  end
35
41
 
36
42
  # Publishes 1 - 100 scheduled shifts. This endpoint takes a map of individual publish
@@ -43,17 +49,23 @@ module Square
43
49
  # @return [Square::Types::BulkPublishScheduledShiftsResponse]
44
50
  def bulk_publish_scheduled_shifts(request_options: {}, **params)
45
51
  _request = Square::Internal::JSON::Request.new(
46
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
52
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
47
53
  method: "POST",
48
54
  path: "v2/labor/scheduled-shifts/bulk-publish",
49
55
  body: params
50
56
  )
51
- _response = @client.send(_request)
52
- if _response.code >= "200" && _response.code < "300"
53
- return Square::Types::BulkPublishScheduledShiftsResponse.load(_response.body)
57
+ begin
58
+ _response = @client.send(_request)
59
+ rescue Net::HTTPRequestTimeout
60
+ raise Square::Errors::TimeoutError
61
+ end
62
+ code = _response.code.to_i
63
+ if code.between?(200, 299)
64
+ Square::Types::BulkPublishScheduledShiftsResponse.load(_response.body)
65
+ else
66
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
67
+ raise error_class.new(_response.body, code: code)
54
68
  end
55
-
56
- raise _response.body
57
69
  end
58
70
 
59
71
  # Returns a paginated list of scheduled shifts, with optional filter and sort settings.
@@ -62,17 +74,23 @@ module Square
62
74
  # @return [Square::Types::SearchScheduledShiftsResponse]
63
75
  def search_scheduled_shifts(request_options: {}, **params)
64
76
  _request = Square::Internal::JSON::Request.new(
65
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
77
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
66
78
  method: "POST",
67
79
  path: "v2/labor/scheduled-shifts/search",
68
80
  body: params
69
81
  )
70
- _response = @client.send(_request)
71
- if _response.code >= "200" && _response.code < "300"
72
- return Square::Types::SearchScheduledShiftsResponse.load(_response.body)
82
+ begin
83
+ _response = @client.send(_request)
84
+ rescue Net::HTTPRequestTimeout
85
+ raise Square::Errors::TimeoutError
86
+ end
87
+ code = _response.code.to_i
88
+ if code.between?(200, 299)
89
+ Square::Types::SearchScheduledShiftsResponse.load(_response.body)
90
+ else
91
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
92
+ raise error_class.new(_response.body, code: code)
73
93
  end
74
-
75
- raise _response.body
76
94
  end
77
95
 
78
96
  # Retrieves a scheduled shift by ID.
@@ -80,16 +98,22 @@ module Square
80
98
  # @return [Square::Types::RetrieveScheduledShiftResponse]
81
99
  def retrieve_scheduled_shift(request_options: {}, **params)
82
100
  _request = Square::Internal::JSON::Request.new(
83
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
101
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
84
102
  method: "GET",
85
103
  path: "v2/labor/scheduled-shifts/#{params[:id]}"
86
104
  )
87
- _response = @client.send(_request)
88
- if _response.code >= "200" && _response.code < "300"
89
- return Square::Types::RetrieveScheduledShiftResponse.load(_response.body)
105
+ begin
106
+ _response = @client.send(_request)
107
+ rescue Net::HTTPRequestTimeout
108
+ raise Square::Errors::TimeoutError
109
+ end
110
+ code = _response.code.to_i
111
+ if code.between?(200, 299)
112
+ Square::Types::RetrieveScheduledShiftResponse.load(_response.body)
113
+ else
114
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
115
+ raise error_class.new(_response.body, code: code)
90
116
  end
91
-
92
- raise _response.body
93
117
  end
94
118
 
95
119
  # Updates the draft shift details for a scheduled shift. This endpoint supports
@@ -108,17 +132,23 @@ module Square
108
132
  _path_param_names = ["id"]
109
133
 
110
134
  _request = Square::Internal::JSON::Request.new(
111
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
135
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
112
136
  method: "PUT",
113
137
  path: "v2/labor/scheduled-shifts/#{params[:id]}",
114
138
  body: params.except(*_path_param_names)
115
139
  )
116
- _response = @client.send(_request)
117
- if _response.code >= "200" && _response.code < "300"
118
- return Square::Types::UpdateScheduledShiftResponse.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::UpdateScheduledShiftResponse.load(_response.body)
148
+ else
149
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
150
+ raise error_class.new(_response.body, code: code)
119
151
  end
120
-
121
- raise _response.body
122
152
  end
123
153
 
124
154
  # Publishes a scheduled shift. When a scheduled shift is published, Square keeps the
@@ -129,17 +159,23 @@ module Square
129
159
  _path_param_names = ["id"]
130
160
 
131
161
  _request = Square::Internal::JSON::Request.new(
132
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
162
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
133
163
  method: "POST",
134
164
  path: "v2/labor/scheduled-shifts/#{params[:id]}/publish",
135
165
  body: params.except(*_path_param_names)
136
166
  )
137
- _response = @client.send(_request)
138
- if _response.code >= "200" && _response.code < "300"
139
- return Square::Types::PublishScheduledShiftResponse.load(_response.body)
167
+ begin
168
+ _response = @client.send(_request)
169
+ rescue Net::HTTPRequestTimeout
170
+ raise Square::Errors::TimeoutError
171
+ end
172
+ code = _response.code.to_i
173
+ if code.between?(200, 299)
174
+ Square::Types::PublishScheduledShiftResponse.load(_response.body)
175
+ else
176
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
177
+ raise error_class.new(_response.body, code: code)
140
178
  end
141
-
142
- raise _response.body
143
179
  end
144
180
 
145
181
  # Creates a new `Timecard`.
@@ -164,17 +200,23 @@ module Square
164
200
  # @return [Square::Types::CreateTimecardResponse]
165
201
  def create_timecard(request_options: {}, **params)
166
202
  _request = Square::Internal::JSON::Request.new(
167
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
203
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
168
204
  method: "POST",
169
205
  path: "v2/labor/timecards",
170
206
  body: params
171
207
  )
172
- _response = @client.send(_request)
173
- if _response.code >= "200" && _response.code < "300"
174
- return Square::Types::CreateTimecardResponse.load(_response.body)
208
+ begin
209
+ _response = @client.send(_request)
210
+ rescue Net::HTTPRequestTimeout
211
+ raise Square::Errors::TimeoutError
212
+ end
213
+ code = _response.code.to_i
214
+ if code.between?(200, 299)
215
+ Square::Types::CreateTimecardResponse.load(_response.body)
216
+ else
217
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
218
+ raise error_class.new(_response.body, code: code)
175
219
  end
176
-
177
- raise _response.body
178
220
  end
179
221
 
180
222
  # Returns a paginated list of `Timecard` records for a business.
@@ -195,17 +237,23 @@ module Square
195
237
  # @return [Square::Types::SearchTimecardsResponse]
196
238
  def search_timecards(request_options: {}, **params)
197
239
  _request = Square::Internal::JSON::Request.new(
198
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
240
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
199
241
  method: "POST",
200
242
  path: "v2/labor/timecards/search",
201
243
  body: params
202
244
  )
203
- _response = @client.send(_request)
204
- if _response.code >= "200" && _response.code < "300"
205
- return Square::Types::SearchTimecardsResponse.load(_response.body)
245
+ begin
246
+ _response = @client.send(_request)
247
+ rescue Net::HTTPRequestTimeout
248
+ raise Square::Errors::TimeoutError
249
+ end
250
+ code = _response.code.to_i
251
+ if code.between?(200, 299)
252
+ Square::Types::SearchTimecardsResponse.load(_response.body)
253
+ else
254
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
255
+ raise error_class.new(_response.body, code: code)
206
256
  end
207
-
208
- raise _response.body
209
257
  end
210
258
 
211
259
  # Returns a single `Timecard` specified by `id`.
@@ -213,16 +261,22 @@ module Square
213
261
  # @return [Square::Types::RetrieveTimecardResponse]
214
262
  def retrieve_timecard(request_options: {}, **params)
215
263
  _request = Square::Internal::JSON::Request.new(
216
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
264
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
217
265
  method: "GET",
218
266
  path: "v2/labor/timecards/#{params[:id]}"
219
267
  )
220
- _response = @client.send(_request)
221
- if _response.code >= "200" && _response.code < "300"
222
- return Square::Types::RetrieveTimecardResponse.load(_response.body)
268
+ begin
269
+ _response = @client.send(_request)
270
+ rescue Net::HTTPRequestTimeout
271
+ raise Square::Errors::TimeoutError
272
+ end
273
+ code = _response.code.to_i
274
+ if code.between?(200, 299)
275
+ Square::Types::RetrieveTimecardResponse.load(_response.body)
276
+ else
277
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
278
+ raise error_class.new(_response.body, code: code)
223
279
  end
224
-
225
- raise _response.body
226
280
  end
227
281
 
228
282
  # Updates an existing `Timecard`.
@@ -238,17 +292,23 @@ module Square
238
292
  _path_param_names = ["id"]
239
293
 
240
294
  _request = Square::Internal::JSON::Request.new(
241
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
295
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
242
296
  method: "PUT",
243
297
  path: "v2/labor/timecards/#{params[:id]}",
244
298
  body: params.except(*_path_param_names)
245
299
  )
246
- _response = @client.send(_request)
247
- if _response.code >= "200" && _response.code < "300"
248
- return Square::Types::UpdateTimecardResponse.load(_response.body)
300
+ begin
301
+ _response = @client.send(_request)
302
+ rescue Net::HTTPRequestTimeout
303
+ raise Square::Errors::TimeoutError
304
+ end
305
+ code = _response.code.to_i
306
+ if code.between?(200, 299)
307
+ Square::Types::UpdateTimecardResponse.load(_response.body)
308
+ else
309
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
310
+ raise error_class.new(_response.body, code: code)
249
311
  end
250
-
251
- raise _response.body
252
312
  end
253
313
 
254
314
  # Deletes a `Timecard`.
@@ -256,16 +316,22 @@ module Square
256
316
  # @return [Square::Types::DeleteTimecardResponse]
257
317
  def delete_timecard(request_options: {}, **params)
258
318
  _request = Square::Internal::JSON::Request.new(
259
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
319
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
260
320
  method: "DELETE",
261
321
  path: "v2/labor/timecards/#{params[:id]}"
262
322
  )
263
- _response = @client.send(_request)
264
- if _response.code >= "200" && _response.code < "300"
265
- return Square::Types::DeleteTimecardResponse.load(_response.body)
323
+ begin
324
+ _response = @client.send(_request)
325
+ rescue Net::HTTPRequestTimeout
326
+ raise Square::Errors::TimeoutError
327
+ end
328
+ code = _response.code.to_i
329
+ if code.between?(200, 299)
330
+ Square::Types::DeleteTimecardResponse.load(_response.body)
331
+ else
332
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
333
+ raise error_class.new(_response.body, code: code)
266
334
  end
267
-
268
- raise _response.body
269
335
  end
270
336
 
271
337
  # @return [Square::BreakTypes::Client]
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListEmployeeWagesResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = %w[employee_id limit cursor]
16
+ _query_param_names = [
17
+ %w[employee_id limit cursor],
18
+ %i[employee_id limit cursor]
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/labor/employee-wages",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListEmployeeWagesResponse.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::ListEmployeeWagesResponse.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
  # Returns a single `EmployeeWage` specified by `id`.
@@ -36,16 +45,22 @@ module Square
36
45
  # @return [Square::Types::GetEmployeeWageResponse]
37
46
  def get(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: "GET",
41
50
  path: "v2/labor/employee-wages/#{params[:id]}"
42
51
  )
43
- _response = @client.send(_request)
44
- if _response.code >= "200" && _response.code < "300"
45
- return Square::Types::GetEmployeeWageResponse.load(_response.body)
52
+ begin
53
+ _response = @client.send(_request)
54
+ rescue Net::HTTPRequestTimeout
55
+ raise Square::Errors::TimeoutError
56
+ end
57
+ code = _response.code.to_i
58
+ if code.between?(200, 299)
59
+ Square::Types::GetEmployeeWageResponse.load(_response.body)
60
+ else
61
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
62
+ raise error_class.new(_response.body, code: code)
46
63
  end
47
-
48
- raise _response.body
49
64
  end
50
65
  end
51
66
  end
@@ -31,17 +31,23 @@ module Square
31
31
  # @return [Square::Types::CreateShiftResponse]
32
32
  def create(request_options: {}, **params)
33
33
  _request = Square::Internal::JSON::Request.new(
34
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
34
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
35
35
  method: "POST",
36
36
  path: "v2/labor/shifts",
37
37
  body: params
38
38
  )
39
- _response = @client.send(_request)
40
- if _response.code >= "200" && _response.code < "300"
41
- return Square::Types::CreateShiftResponse.load(_response.body)
39
+ begin
40
+ _response = @client.send(_request)
41
+ rescue Net::HTTPRequestTimeout
42
+ raise Square::Errors::TimeoutError
43
+ end
44
+ code = _response.code.to_i
45
+ if code.between?(200, 299)
46
+ Square::Types::CreateShiftResponse.load(_response.body)
47
+ else
48
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
49
+ raise error_class.new(_response.body, code: code)
42
50
  end
43
-
44
- raise _response.body
45
51
  end
46
52
 
47
53
  # Returns a paginated list of `Shift` records for a business.
@@ -62,17 +68,23 @@ module Square
62
68
  # @return [Square::Types::SearchShiftsResponse]
63
69
  def search(request_options: {}, **params)
64
70
  _request = Square::Internal::JSON::Request.new(
65
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
71
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
66
72
  method: "POST",
67
73
  path: "v2/labor/shifts/search",
68
74
  body: params
69
75
  )
70
- _response = @client.send(_request)
71
- if _response.code >= "200" && _response.code < "300"
72
- return Square::Types::SearchShiftsResponse.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::SearchShiftsResponse.load(_response.body)
84
+ else
85
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
86
+ raise error_class.new(_response.body, code: code)
73
87
  end
74
-
75
- raise _response.body
76
88
  end
77
89
 
78
90
  # Returns a single `Shift` specified by `id`.
@@ -80,16 +92,22 @@ module Square
80
92
  # @return [Square::Types::GetShiftResponse]
81
93
  def get(request_options: {}, **params)
82
94
  _request = Square::Internal::JSON::Request.new(
83
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
95
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
84
96
  method: "GET",
85
97
  path: "v2/labor/shifts/#{params[:id]}"
86
98
  )
87
- _response = @client.send(_request)
88
- if _response.code >= "200" && _response.code < "300"
89
- return Square::Types::GetShiftResponse.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::GetShiftResponse.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
  # Updates an existing `Shift`.
@@ -105,17 +123,23 @@ module Square
105
123
  _path_param_names = ["id"]
106
124
 
107
125
  _request = Square::Internal::JSON::Request.new(
108
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
126
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
109
127
  method: "PUT",
110
128
  path: "v2/labor/shifts/#{params[:id]}",
111
129
  body: params.except(*_path_param_names)
112
130
  )
113
- _response = @client.send(_request)
114
- if _response.code >= "200" && _response.code < "300"
115
- return Square::Types::UpdateShiftResponse.load(_response.body)
131
+ begin
132
+ _response = @client.send(_request)
133
+ rescue Net::HTTPRequestTimeout
134
+ raise Square::Errors::TimeoutError
135
+ end
136
+ code = _response.code.to_i
137
+ if code.between?(200, 299)
138
+ Square::Types::UpdateShiftResponse.load(_response.body)
139
+ else
140
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
141
+ raise error_class.new(_response.body, code: code)
116
142
  end
117
-
118
- raise _response.body
119
143
  end
120
144
 
121
145
  # Deletes a `Shift`.
@@ -123,16 +147,22 @@ module Square
123
147
  # @return [Square::Types::DeleteShiftResponse]
124
148
  def delete(request_options: {}, **params)
125
149
  _request = Square::Internal::JSON::Request.new(
126
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
150
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
127
151
  method: "DELETE",
128
152
  path: "v2/labor/shifts/#{params[:id]}"
129
153
  )
130
- _response = @client.send(_request)
131
- if _response.code >= "200" && _response.code < "300"
132
- return Square::Types::DeleteShiftResponse.load(_response.body)
154
+ begin
155
+ _response = @client.send(_request)
156
+ rescue Net::HTTPRequestTimeout
157
+ raise Square::Errors::TimeoutError
158
+ end
159
+ code = _response.code.to_i
160
+ if code.between?(200, 299)
161
+ Square::Types::DeleteShiftResponse.load(_response.body)
162
+ else
163
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
164
+ raise error_class.new(_response.body, code: code)
133
165
  end
134
-
135
- raise _response.body
136
166
  end
137
167
  end
138
168
  end
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListTeamMemberWagesResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = %w[team_member_id limit cursor]
16
+ _query_param_names = [
17
+ %w[team_member_id limit cursor],
18
+ %i[team_member_id limit cursor]
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/labor/team-member-wages",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListTeamMemberWagesResponse.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::ListTeamMemberWagesResponse.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
  # Returns a single `TeamMemberWage` specified by `id`.
@@ -36,16 +45,22 @@ module Square
36
45
  # @return [Square::Types::GetTeamMemberWageResponse]
37
46
  def get(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: "GET",
41
50
  path: "v2/labor/team-member-wages/#{params[:id]}"
42
51
  )
43
- _response = @client.send(_request)
44
- if _response.code >= "200" && _response.code < "300"
45
- return Square::Types::GetTeamMemberWageResponse.load(_response.body)
52
+ begin
53
+ _response = @client.send(_request)
54
+ rescue Net::HTTPRequestTimeout
55
+ raise Square::Errors::TimeoutError
56
+ end
57
+ code = _response.code.to_i
58
+ if code.between?(200, 299)
59
+ Square::Types::GetTeamMemberWageResponse.load(_response.body)
60
+ else
61
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
62
+ raise error_class.new(_response.body, code: code)
46
63
  end
47
-
48
- raise _response.body
49
64
  end
50
65
  end
51
66
  end