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
@@ -18,22 +18,31 @@ module Square
18
18
  #
19
19
  # @return [Square::Types::ListCustomerCustomAttributeDefinitionsResponse]
20
20
  def list(request_options: {}, **params)
21
- _query_param_names = %w[limit cursor]
21
+ _query_param_names = [
22
+ %w[limit cursor],
23
+ %i[limit cursor]
24
+ ].flatten
22
25
  _query = params.slice(*_query_param_names)
23
26
  params.except(*_query_param_names)
24
27
 
25
28
  _request = Square::Internal::JSON::Request.new(
26
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
29
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
27
30
  method: "GET",
28
31
  path: "v2/customers/custom-attribute-definitions",
29
32
  query: _query
30
33
  )
31
- _response = @client.send(_request)
32
- if _response.code >= "200" && _response.code < "300"
33
- return Square::Types::ListCustomerCustomAttributeDefinitionsResponse.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::ListCustomerCustomAttributeDefinitionsResponse.load(_response.body)
42
+ else
43
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
44
+ raise error_class.new(_response.body, code: code)
34
45
  end
35
-
36
- raise _response.body
37
46
  end
38
47
 
39
48
  # Creates a customer-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.
@@ -51,17 +60,23 @@ module Square
51
60
  # @return [Square::Types::CreateCustomerCustomAttributeDefinitionResponse]
52
61
  def create(request_options: {}, **params)
53
62
  _request = Square::Internal::JSON::Request.new(
54
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
63
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
55
64
  method: "POST",
56
65
  path: "v2/customers/custom-attribute-definitions",
57
66
  body: params
58
67
  )
59
- _response = @client.send(_request)
60
- if _response.code >= "200" && _response.code < "300"
61
- return Square::Types::CreateCustomerCustomAttributeDefinitionResponse.load(_response.body)
68
+ begin
69
+ _response = @client.send(_request)
70
+ rescue Net::HTTPRequestTimeout
71
+ raise Square::Errors::TimeoutError
72
+ end
73
+ code = _response.code.to_i
74
+ if code.between?(200, 299)
75
+ Square::Types::CreateCustomerCustomAttributeDefinitionResponse.load(_response.body)
76
+ else
77
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
78
+ raise error_class.new(_response.body, code: code)
62
79
  end
63
-
64
- raise _response.body
65
80
  end
66
81
 
67
82
  # Retrieves a customer-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
@@ -72,22 +87,31 @@ module Square
72
87
  #
73
88
  # @return [Square::Types::GetCustomerCustomAttributeDefinitionResponse]
74
89
  def get(request_options: {}, **params)
75
- _query_param_names = ["version"]
90
+ _query_param_names = [
91
+ ["version"],
92
+ %i[version]
93
+ ].flatten
76
94
  _query = params.slice(*_query_param_names)
77
95
  params = params.except(*_query_param_names)
78
96
 
79
97
  _request = Square::Internal::JSON::Request.new(
80
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
98
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
81
99
  method: "GET",
82
100
  path: "v2/customers/custom-attribute-definitions/#{params[:key]}",
83
101
  query: _query
84
102
  )
85
- _response = @client.send(_request)
86
- if _response.code >= "200" && _response.code < "300"
87
- return Square::Types::GetCustomerCustomAttributeDefinitionResponse.load(_response.body)
103
+ begin
104
+ _response = @client.send(_request)
105
+ rescue Net::HTTPRequestTimeout
106
+ raise Square::Errors::TimeoutError
107
+ end
108
+ code = _response.code.to_i
109
+ if code.between?(200, 299)
110
+ Square::Types::GetCustomerCustomAttributeDefinitionResponse.load(_response.body)
111
+ else
112
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
113
+ raise error_class.new(_response.body, code: code)
88
114
  end
89
-
90
- raise _response.body
91
115
  end
92
116
 
93
117
  # Updates a customer-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.
@@ -103,17 +127,23 @@ module Square
103
127
  _path_param_names = ["key"]
104
128
 
105
129
  _request = Square::Internal::JSON::Request.new(
106
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
130
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
107
131
  method: "PUT",
108
132
  path: "v2/customers/custom-attribute-definitions/#{params[:key]}",
109
133
  body: params.except(*_path_param_names)
110
134
  )
111
- _response = @client.send(_request)
112
- if _response.code >= "200" && _response.code < "300"
113
- return Square::Types::UpdateCustomerCustomAttributeDefinitionResponse.load(_response.body)
135
+ begin
136
+ _response = @client.send(_request)
137
+ rescue Net::HTTPRequestTimeout
138
+ raise Square::Errors::TimeoutError
139
+ end
140
+ code = _response.code.to_i
141
+ if code.between?(200, 299)
142
+ Square::Types::UpdateCustomerCustomAttributeDefinitionResponse.load(_response.body)
143
+ else
144
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
145
+ raise error_class.new(_response.body, code: code)
114
146
  end
115
-
116
- raise _response.body
117
147
  end
118
148
 
119
149
  # Deletes a customer-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
@@ -126,16 +156,22 @@ module Square
126
156
  # @return [Square::Types::DeleteCustomerCustomAttributeDefinitionResponse]
127
157
  def delete(request_options: {}, **params)
128
158
  _request = Square::Internal::JSON::Request.new(
129
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
159
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
130
160
  method: "DELETE",
131
161
  path: "v2/customers/custom-attribute-definitions/#{params[:key]}"
132
162
  )
133
- _response = @client.send(_request)
134
- if _response.code >= "200" && _response.code < "300"
135
- return Square::Types::DeleteCustomerCustomAttributeDefinitionResponse.load(_response.body)
163
+ begin
164
+ _response = @client.send(_request)
165
+ rescue Net::HTTPRequestTimeout
166
+ raise Square::Errors::TimeoutError
167
+ end
168
+ code = _response.code.to_i
169
+ if code.between?(200, 299)
170
+ Square::Types::DeleteCustomerCustomAttributeDefinitionResponse.load(_response.body)
171
+ else
172
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
173
+ raise error_class.new(_response.body, code: code)
136
174
  end
137
-
138
- raise _response.body
139
175
  end
140
176
 
141
177
  # Creates or updates [custom attributes](entity:CustomAttribute) for customer profiles as a bulk operation.
@@ -156,17 +192,23 @@ module Square
156
192
  # @return [Square::Types::BatchUpsertCustomerCustomAttributesResponse]
157
193
  def batch_upsert(request_options: {}, **params)
158
194
  _request = Square::Internal::JSON::Request.new(
159
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
195
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
160
196
  method: "POST",
161
197
  path: "v2/customers/custom-attributes/bulk-upsert",
162
198
  body: params
163
199
  )
164
- _response = @client.send(_request)
165
- if _response.code >= "200" && _response.code < "300"
166
- return Square::Types::BatchUpsertCustomerCustomAttributesResponse.load(_response.body)
200
+ begin
201
+ _response = @client.send(_request)
202
+ rescue Net::HTTPRequestTimeout
203
+ raise Square::Errors::TimeoutError
204
+ end
205
+ code = _response.code.to_i
206
+ if code.between?(200, 299)
207
+ Square::Types::BatchUpsertCustomerCustomAttributesResponse.load(_response.body)
208
+ else
209
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
210
+ raise error_class.new(_response.body, code: code)
167
211
  end
168
-
169
- raise _response.body
170
212
  end
171
213
  end
172
214
  end
@@ -20,22 +20,31 @@ module Square
20
20
  #
21
21
  # @return [Square::Types::ListCustomerCustomAttributesResponse]
22
22
  def list(request_options: {}, **params)
23
- _query_param_names = %w[limit cursor with_definitions]
23
+ _query_param_names = [
24
+ %w[limit cursor with_definitions],
25
+ %i[limit cursor with_definitions]
26
+ ].flatten
24
27
  _query = params.slice(*_query_param_names)
25
28
  params = params.except(*_query_param_names)
26
29
 
27
30
  _request = Square::Internal::JSON::Request.new(
28
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
31
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
29
32
  method: "GET",
30
33
  path: "v2/customers/#{params[:customer_id]}/custom-attributes",
31
34
  query: _query
32
35
  )
33
- _response = @client.send(_request)
34
- if _response.code >= "200" && _response.code < "300"
35
- return Square::Types::ListCustomerCustomAttributesResponse.load(_response.body)
36
+ begin
37
+ _response = @client.send(_request)
38
+ rescue Net::HTTPRequestTimeout
39
+ raise Square::Errors::TimeoutError
40
+ end
41
+ code = _response.code.to_i
42
+ if code.between?(200, 299)
43
+ Square::Types::ListCustomerCustomAttributesResponse.load(_response.body)
44
+ else
45
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
46
+ raise error_class.new(_response.body, code: code)
36
47
  end
37
-
38
- raise _response.body
39
48
  end
40
49
 
41
50
  # Retrieves a [custom attribute](entity:CustomAttribute) associated with a customer profile.
@@ -49,22 +58,31 @@ module Square
49
58
  #
50
59
  # @return [Square::Types::GetCustomerCustomAttributeResponse]
51
60
  def get(request_options: {}, **params)
52
- _query_param_names = %w[with_definition version]
61
+ _query_param_names = [
62
+ %w[with_definition version],
63
+ %i[with_definition version]
64
+ ].flatten
53
65
  _query = params.slice(*_query_param_names)
54
66
  params = params.except(*_query_param_names)
55
67
 
56
68
  _request = Square::Internal::JSON::Request.new(
57
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
69
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
58
70
  method: "GET",
59
71
  path: "v2/customers/#{params[:customer_id]}/custom-attributes/#{params[:key]}",
60
72
  query: _query
61
73
  )
62
- _response = @client.send(_request)
63
- if _response.code >= "200" && _response.code < "300"
64
- return Square::Types::GetCustomerCustomAttributeResponse.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::GetCustomerCustomAttributeResponse.load(_response.body)
82
+ else
83
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
84
+ raise error_class.new(_response.body, code: code)
65
85
  end
66
-
67
- raise _response.body
68
86
  end
69
87
 
70
88
  # Creates or updates a [custom attribute](entity:CustomAttribute) for a customer profile.
@@ -82,17 +100,23 @@ module Square
82
100
  _path_param_names = %w[customer_id key]
83
101
 
84
102
  _request = Square::Internal::JSON::Request.new(
85
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
103
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
86
104
  method: "POST",
87
105
  path: "v2/customers/#{params[:customer_id]}/custom-attributes/#{params[:key]}",
88
106
  body: params.except(*_path_param_names)
89
107
  )
90
- _response = @client.send(_request)
91
- if _response.code >= "200" && _response.code < "300"
92
- return Square::Types::UpsertCustomerCustomAttributeResponse.load(_response.body)
108
+ begin
109
+ _response = @client.send(_request)
110
+ rescue Net::HTTPRequestTimeout
111
+ raise Square::Errors::TimeoutError
112
+ end
113
+ code = _response.code.to_i
114
+ if code.between?(200, 299)
115
+ Square::Types::UpsertCustomerCustomAttributeResponse.load(_response.body)
116
+ else
117
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
118
+ raise error_class.new(_response.body, code: code)
93
119
  end
94
-
95
- raise _response.body
96
120
  end
97
121
 
98
122
  # Deletes a [custom attribute](entity:CustomAttribute) associated with a customer profile.
@@ -104,16 +128,22 @@ module Square
104
128
  # @return [Square::Types::DeleteCustomerCustomAttributeResponse]
105
129
  def delete(request_options: {}, **params)
106
130
  _request = Square::Internal::JSON::Request.new(
107
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
131
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
108
132
  method: "DELETE",
109
133
  path: "v2/customers/#{params[:customer_id]}/custom-attributes/#{params[:key]}"
110
134
  )
111
- _response = @client.send(_request)
112
- if _response.code >= "200" && _response.code < "300"
113
- return Square::Types::DeleteCustomerCustomAttributeResponse.load(_response.body)
135
+ begin
136
+ _response = @client.send(_request)
137
+ rescue Net::HTTPRequestTimeout
138
+ raise Square::Errors::TimeoutError
139
+ end
140
+ code = _response.code.to_i
141
+ if code.between?(200, 299)
142
+ Square::Types::DeleteCustomerCustomAttributeResponse.load(_response.body)
143
+ else
144
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
145
+ raise error_class.new(_response.body, code: code)
114
146
  end
115
-
116
- raise _response.body
117
147
  end
118
148
  end
119
149
  end
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListCustomerGroupsResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = %w[cursor limit]
16
+ _query_param_names = [
17
+ %w[cursor limit],
18
+ %i[cursor 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/customers/groups",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListCustomerGroupsResponse.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::ListCustomerGroupsResponse.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 new customer group for a business.
@@ -38,17 +47,23 @@ module Square
38
47
  # @return [Square::Types::CreateCustomerGroupResponse]
39
48
  def create(request_options: {}, **params)
40
49
  _request = Square::Internal::JSON::Request.new(
41
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
50
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
42
51
  method: "POST",
43
52
  path: "v2/customers/groups",
44
53
  body: params
45
54
  )
46
- _response = @client.send(_request)
47
- if _response.code >= "200" && _response.code < "300"
48
- return Square::Types::CreateCustomerGroupResponse.load(_response.body)
55
+ begin
56
+ _response = @client.send(_request)
57
+ rescue Net::HTTPRequestTimeout
58
+ raise Square::Errors::TimeoutError
59
+ end
60
+ code = _response.code.to_i
61
+ if code.between?(200, 299)
62
+ Square::Types::CreateCustomerGroupResponse.load(_response.body)
63
+ else
64
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
65
+ raise error_class.new(_response.body, code: code)
49
66
  end
50
-
51
- raise _response.body
52
67
  end
53
68
 
54
69
  # Retrieves a specific customer group as identified by the `group_id` value.
@@ -56,16 +71,22 @@ module Square
56
71
  # @return [Square::Types::GetCustomerGroupResponse]
57
72
  def get(request_options: {}, **params)
58
73
  _request = Square::Internal::JSON::Request.new(
59
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
74
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
60
75
  method: "GET",
61
76
  path: "v2/customers/groups/#{params[:group_id]}"
62
77
  )
63
- _response = @client.send(_request)
64
- if _response.code >= "200" && _response.code < "300"
65
- return Square::Types::GetCustomerGroupResponse.load(_response.body)
78
+ begin
79
+ _response = @client.send(_request)
80
+ rescue Net::HTTPRequestTimeout
81
+ raise Square::Errors::TimeoutError
82
+ end
83
+ code = _response.code.to_i
84
+ if code.between?(200, 299)
85
+ Square::Types::GetCustomerGroupResponse.load(_response.body)
86
+ else
87
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
88
+ raise error_class.new(_response.body, code: code)
66
89
  end
67
-
68
- raise _response.body
69
90
  end
70
91
 
71
92
  # Updates a customer group as identified by the `group_id` value.
@@ -75,17 +96,23 @@ module Square
75
96
  _path_param_names = ["group_id"]
76
97
 
77
98
  _request = Square::Internal::JSON::Request.new(
78
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
99
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
79
100
  method: "PUT",
80
101
  path: "v2/customers/groups/#{params[:group_id]}",
81
102
  body: params.except(*_path_param_names)
82
103
  )
83
- _response = @client.send(_request)
84
- if _response.code >= "200" && _response.code < "300"
85
- return Square::Types::UpdateCustomerGroupResponse.load(_response.body)
104
+ begin
105
+ _response = @client.send(_request)
106
+ rescue Net::HTTPRequestTimeout
107
+ raise Square::Errors::TimeoutError
108
+ end
109
+ code = _response.code.to_i
110
+ if code.between?(200, 299)
111
+ Square::Types::UpdateCustomerGroupResponse.load(_response.body)
112
+ else
113
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
114
+ raise error_class.new(_response.body, code: code)
86
115
  end
87
-
88
- raise _response.body
89
116
  end
90
117
 
91
118
  # Deletes a customer group as identified by the `group_id` value.
@@ -93,16 +120,22 @@ module Square
93
120
  # @return [Square::Types::DeleteCustomerGroupResponse]
94
121
  def delete(request_options: {}, **params)
95
122
  _request = Square::Internal::JSON::Request.new(
96
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
123
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
97
124
  method: "DELETE",
98
125
  path: "v2/customers/groups/#{params[:group_id]}"
99
126
  )
100
- _response = @client.send(_request)
101
- if _response.code >= "200" && _response.code < "300"
102
- return Square::Types::DeleteCustomerGroupResponse.load(_response.body)
127
+ begin
128
+ _response = @client.send(_request)
129
+ rescue Net::HTTPRequestTimeout
130
+ raise Square::Errors::TimeoutError
131
+ end
132
+ code = _response.code.to_i
133
+ if code.between?(200, 299)
134
+ Square::Types::DeleteCustomerGroupResponse.load(_response.body)
135
+ else
136
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
137
+ raise error_class.new(_response.body, code: code)
103
138
  end
104
-
105
- raise _response.body
106
139
  end
107
140
 
108
141
  # Adds a group membership to a customer.
@@ -113,16 +146,22 @@ module Square
113
146
  # @return [Square::Types::AddGroupToCustomerResponse]
114
147
  def add(request_options: {}, **params)
115
148
  _request = Square::Internal::JSON::Request.new(
116
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
149
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
117
150
  method: "PUT",
118
151
  path: "v2/customers/#{params[:customer_id]}/groups/#{params[:group_id]}"
119
152
  )
120
- _response = @client.send(_request)
121
- if _response.code >= "200" && _response.code < "300"
122
- return Square::Types::AddGroupToCustomerResponse.load(_response.body)
153
+ begin
154
+ _response = @client.send(_request)
155
+ rescue Net::HTTPRequestTimeout
156
+ raise Square::Errors::TimeoutError
157
+ end
158
+ code = _response.code.to_i
159
+ if code.between?(200, 299)
160
+ Square::Types::AddGroupToCustomerResponse.load(_response.body)
161
+ else
162
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
163
+ raise error_class.new(_response.body, code: code)
123
164
  end
124
-
125
- raise _response.body
126
165
  end
127
166
 
128
167
  # Removes a group membership from a customer.
@@ -133,16 +172,22 @@ module Square
133
172
  # @return [Square::Types::RemoveGroupFromCustomerResponse]
134
173
  def remove(request_options: {}, **params)
135
174
  _request = Square::Internal::JSON::Request.new(
136
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
175
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
137
176
  method: "DELETE",
138
177
  path: "v2/customers/#{params[:customer_id]}/groups/#{params[:group_id]}"
139
178
  )
140
- _response = @client.send(_request)
141
- if _response.code >= "200" && _response.code < "300"
142
- return Square::Types::RemoveGroupFromCustomerResponse.load(_response.body)
179
+ begin
180
+ _response = @client.send(_request)
181
+ rescue Net::HTTPRequestTimeout
182
+ raise Square::Errors::TimeoutError
183
+ end
184
+ code = _response.code.to_i
185
+ if code.between?(200, 299)
186
+ Square::Types::RemoveGroupFromCustomerResponse.load(_response.body)
187
+ else
188
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
189
+ raise error_class.new(_response.body, code: code)
143
190
  end
144
-
145
- raise _response.body
146
191
  end
147
192
  end
148
193
  end
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListCustomerSegmentsResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = %w[cursor limit]
16
+ _query_param_names = [
17
+ %w[cursor limit],
18
+ %i[cursor 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/customers/segments",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListCustomerSegmentsResponse.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::ListCustomerSegmentsResponse.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
  # Retrieves a specific customer segment as identified by the `segment_id` value.
@@ -36,16 +45,22 @@ module Square
36
45
  # @return [Square::Types::GetCustomerSegmentResponse]
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/customers/segments/#{params[:segment_id]}"
42
51
  )
43
- _response = @client.send(_request)
44
- if _response.code >= "200" && _response.code < "300"
45
- return Square::Types::GetCustomerSegmentResponse.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::GetCustomerSegmentResponse.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