square.rb 44.1.0.20250924 → 45.0.1.20260122

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 (541) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +9 -0
  3. data/.fernignore +20 -0
  4. data/.rubocop.yml +60 -0
  5. data/LICENSE +1 -1
  6. data/Rakefile +29 -0
  7. data/custom.gemspec.rb +19 -0
  8. data/lib/square/apple_pay/client.rb +24 -10
  9. data/lib/square/bank_accounts/client.rb +144 -31
  10. data/lib/square/bank_accounts/types/create_bank_account_request.rb +13 -0
  11. data/lib/square/bank_accounts/types/disable_bank_account_request.rb +11 -0
  12. data/lib/square/bank_accounts/types/get_by_v_1_id_bank_accounts_request.rb +1 -1
  13. data/lib/square/bank_accounts/types/list_bank_accounts_request.rb +1 -0
  14. data/lib/square/bookings/client.rb +238 -100
  15. data/lib/square/bookings/custom_attribute_definitions/client.rb +139 -67
  16. data/lib/square/bookings/custom_attribute_definitions/types/create_booking_custom_attribute_definition_request.rb +1 -3
  17. data/lib/square/bookings/custom_attribute_definitions/types/update_booking_custom_attribute_definition_request.rb +1 -3
  18. data/lib/square/bookings/custom_attributes/client.rb +168 -76
  19. data/lib/square/bookings/custom_attributes/types/bulk_delete_booking_custom_attributes_request.rb +1 -3
  20. data/lib/square/bookings/custom_attributes/types/bulk_upsert_booking_custom_attributes_request.rb +1 -3
  21. data/lib/square/bookings/location_profiles/client.rb +44 -24
  22. data/lib/square/bookings/team_member_profiles/client.rb +66 -31
  23. data/lib/square/cards/client.rb +103 -45
  24. data/lib/square/cash_drawers/client.rb +3 -1
  25. data/lib/square/cash_drawers/shifts/client.rb +121 -61
  26. data/lib/square/catalog/client.rb +203 -91
  27. data/lib/square/catalog/images/client.rb +50 -20
  28. data/lib/square/catalog/object/client.rb +66 -29
  29. data/lib/square/catalog/object/types/delete_object_request.rb +1 -1
  30. data/lib/square/catalog/object/types/get_object_request.rb +1 -1
  31. data/lib/square/catalog/types/batch_upsert_catalog_objects_request.rb +1 -3
  32. data/lib/square/catalog/types/search_catalog_items_request.rb +3 -9
  33. data/lib/square/catalog/types/search_catalog_objects_request.rb +1 -3
  34. data/lib/square/channels/client.rb +131 -0
  35. data/lib/square/channels/types/bulk_retrieve_channels_request.rb +11 -0
  36. data/lib/square/channels/types/get_channels_request.rb +11 -0
  37. data/lib/square/channels/types/list_channels_request.rb +15 -0
  38. data/lib/square/checkout/client.rb +77 -31
  39. data/lib/square/checkout/payment_links/client.rb +120 -54
  40. data/lib/square/client.rb +18 -10
  41. data/lib/square/customers/cards/client.rb +43 -16
  42. data/lib/square/customers/client.rb +220 -97
  43. data/lib/square/customers/custom_attribute_definitions/client.rb +157 -74
  44. data/lib/square/customers/custom_attribute_definitions/types/batch_upsert_customer_custom_attributes_request.rb +1 -3
  45. data/lib/square/customers/custom_attribute_definitions/types/create_customer_custom_attribute_definition_request.rb +1 -3
  46. data/lib/square/customers/custom_attribute_definitions/types/update_customer_custom_attribute_definition_request.rb +1 -3
  47. data/lib/square/customers/custom_attributes/client.rb +117 -53
  48. data/lib/square/customers/groups/client.rb +156 -67
  49. data/lib/square/customers/segments/client.rb +62 -31
  50. data/lib/square/customers/types/bulk_create_customers_request.rb +1 -3
  51. data/lib/square/customers/types/bulk_update_customers_request.rb +1 -3
  52. data/lib/square/devices/client.rb +66 -31
  53. data/lib/square/devices/codes/client.rb +83 -38
  54. data/lib/square/disputes/client.rb +140 -60
  55. data/lib/square/disputes/evidence/client.rb +83 -39
  56. data/lib/square/employees/client.rb +66 -31
  57. data/lib/square/events/client.rb +80 -38
  58. data/lib/square/file_param.rb +77 -77
  59. data/lib/square/gift_cards/activities/client.rb +73 -31
  60. data/lib/square/gift_cards/client.rb +163 -69
  61. data/lib/square/internal/http/base_request.rb +6 -0
  62. data/lib/square/internal/http/raw_client.rb +111 -20
  63. data/lib/square/internal/iterators/cursor_item_iterator.rb +28 -0
  64. data/lib/square/internal/iterators/cursor_page_iterator.rb +51 -0
  65. data/lib/square/internal/iterators/item_iterator.rb +65 -0
  66. data/lib/square/internal/iterators/offset_item_iterator.rb +30 -0
  67. data/lib/square/internal/iterators/offset_page_iterator.rb +83 -0
  68. data/lib/square/internal/json/request.rb +2 -1
  69. data/lib/square/internal/multipart/multipart_request.rb +2 -1
  70. data/lib/square/internal/types/enum.rb +8 -0
  71. data/lib/square/internal/types/model/field.rb +11 -1
  72. data/lib/square/internal/types/model.rb +14 -4
  73. data/lib/square/internal/types/union.rb +88 -7
  74. data/lib/square/internal/types/utils.rb +20 -4
  75. data/lib/square/inventory/client.rb +100 -76
  76. data/lib/square/invoices/client.rb +228 -99
  77. data/lib/square/labor/break_types/client.rb +120 -53
  78. data/lib/square/labor/client.rb +205 -81
  79. data/lib/square/labor/employee_wages/client.rb +64 -31
  80. data/lib/square/labor/shifts/client.rb +94 -37
  81. data/lib/square/labor/team_member_wages/client.rb +64 -31
  82. data/lib/square/labor/types/bulk_publish_scheduled_shifts_request.rb +2 -6
  83. data/lib/square/labor/types/publish_scheduled_shift_request.rb +1 -3
  84. data/lib/square/labor/workweek_configs/client.rb +65 -32
  85. data/lib/square/locations/client.rb +102 -41
  86. data/lib/square/locations/custom_attribute_definitions/client.rb +135 -64
  87. data/lib/square/locations/custom_attribute_definitions/types/create_location_custom_attribute_definition_request.rb +1 -3
  88. data/lib/square/locations/custom_attribute_definitions/types/update_location_custom_attribute_definition_request.rb +1 -3
  89. data/lib/square/locations/custom_attributes/client.rb +156 -68
  90. data/lib/square/locations/custom_attributes/types/bulk_delete_location_custom_attributes_request.rb +1 -3
  91. data/lib/square/locations/custom_attributes/types/bulk_upsert_location_custom_attributes_request.rb +1 -3
  92. data/lib/square/locations/transactions/client.rb +93 -37
  93. data/lib/square/locations/types/create_checkout_request.rb +1 -3
  94. data/lib/square/loyalty/accounts/client.rb +109 -44
  95. data/lib/square/loyalty/accounts/types/search_loyalty_accounts_request.rb +1 -3
  96. data/lib/square/loyalty/client.rb +20 -8
  97. data/lib/square/loyalty/programs/client.rb +72 -29
  98. data/lib/square/loyalty/programs/promotions/client.rb +106 -46
  99. data/lib/square/loyalty/programs/promotions/types/cancel_promotions_request.rb +1 -1
  100. data/lib/square/loyalty/programs/promotions/types/get_promotions_request.rb +1 -1
  101. data/lib/square/loyalty/rewards/client.rb +96 -38
  102. data/lib/square/loyalty/rewards/types/search_loyalty_rewards_request.rb +1 -3
  103. data/lib/square/merchants/client.rb +60 -31
  104. data/lib/square/merchants/custom_attribute_definitions/client.rb +137 -65
  105. data/lib/square/merchants/custom_attribute_definitions/types/create_merchant_custom_attribute_definition_request.rb +1 -3
  106. data/lib/square/merchants/custom_attribute_definitions/types/update_merchant_custom_attribute_definition_request.rb +1 -3
  107. data/lib/square/merchants/custom_attributes/client.rb +156 -68
  108. data/lib/square/merchants/custom_attributes/types/bulk_delete_merchant_custom_attributes_request.rb +1 -3
  109. data/lib/square/merchants/custom_attributes/types/bulk_upsert_merchant_custom_attributes_request.rb +1 -3
  110. data/lib/square/o_auth/client.rb +76 -31
  111. data/lib/square/o_auth/types/obtain_token_request.rb +1 -0
  112. data/lib/square/orders/client.rb +156 -63
  113. data/lib/square/orders/custom_attribute_definitions/client.rb +137 -65
  114. data/lib/square/orders/custom_attribute_definitions/types/create_order_custom_attribute_definition_request.rb +1 -3
  115. data/lib/square/orders/custom_attribute_definitions/types/update_order_custom_attribute_definition_request.rb +1 -3
  116. data/lib/square/orders/custom_attributes/client.rb +159 -69
  117. data/lib/square/orders/custom_attributes/types/bulk_delete_order_custom_attributes_request.rb +1 -3
  118. data/lib/square/orders/custom_attributes/types/bulk_upsert_order_custom_attributes_request.rb +1 -3
  119. data/lib/square/orders/types/calculate_order_request.rb +1 -3
  120. data/lib/square/payments/client.rb +182 -70
  121. data/lib/square/payouts/client.rb +116 -54
  122. data/lib/square/refunds/client.rb +97 -40
  123. data/lib/square/refunds/types/refund_payment_request.rb +1 -3
  124. data/lib/square/sites/client.rb +26 -11
  125. data/lib/square/snippets/client.rb +73 -28
  126. data/lib/square/subscriptions/client.rb +271 -117
  127. data/lib/square/team/client.rb +81 -36
  128. data/lib/square/team_members/client.rb +119 -49
  129. data/lib/square/team_members/types/batch_create_team_members_request.rb +1 -3
  130. data/lib/square/team_members/types/batch_update_team_members_request.rb +1 -3
  131. data/lib/square/team_members/wage_setting/client.rb +48 -19
  132. data/lib/square/terminal/actions/client.rb +75 -30
  133. data/lib/square/terminal/checkouts/client.rb +76 -30
  134. data/lib/square/terminal/client.rb +60 -23
  135. data/lib/square/terminal/refunds/client.rb +78 -31
  136. data/lib/square/transfer_orders/client.rb +292 -0
  137. data/lib/square/transfer_orders/types/cancel_transfer_order_request.rb +13 -0
  138. data/lib/square/transfer_orders/types/create_transfer_order_request.rb +12 -0
  139. data/lib/square/transfer_orders/types/delete_transfer_orders_request.rb +12 -0
  140. data/lib/square/transfer_orders/types/get_transfer_orders_request.rb +11 -0
  141. data/lib/square/transfer_orders/types/receive_transfer_order_request.rb +14 -0
  142. data/lib/square/transfer_orders/types/search_transfer_orders_request.rb +13 -0
  143. data/lib/square/transfer_orders/types/start_transfer_order_request.rb +13 -0
  144. data/lib/square/transfer_orders/types/update_transfer_order_request.rb +14 -0
  145. data/lib/square/types/address.rb +2 -1
  146. data/lib/square/types/application_details.rb +1 -3
  147. data/lib/square/types/application_type.rb +23 -0
  148. data/lib/square/types/availability.rb +3 -4
  149. data/lib/square/types/bank_account.rb +1 -0
  150. data/lib/square/types/batch_create_team_members_response.rb +1 -3
  151. data/lib/square/types/batch_create_vendors_response.rb +1 -3
  152. data/lib/square/types/batch_get_catalog_objects_response.rb +1 -3
  153. data/lib/square/types/batch_get_vendors_response.rb +1 -3
  154. data/lib/square/types/batch_update_team_members_response.rb +1 -3
  155. data/lib/square/types/batch_update_vendors_response.rb +1 -3
  156. data/lib/square/types/batch_upsert_catalog_objects_response.rb +1 -3
  157. data/lib/square/types/batch_upsert_customer_custom_attributes_request_customer_custom_attribute_upsert_request.rb +2 -1
  158. data/lib/square/types/batch_upsert_customer_custom_attributes_response.rb +4 -4
  159. data/lib/square/types/batch_upsert_customer_custom_attributes_response_customer_custom_attribute_upsert_response.rb +3 -1
  160. data/lib/square/types/booking.rb +2 -6
  161. data/lib/square/types/booking_created_event.rb +2 -1
  162. data/lib/square/types/booking_custom_attribute_definition_visible_created_event.rb +2 -1
  163. data/lib/square/types/booking_custom_attribute_definition_visible_deleted_event.rb +2 -1
  164. data/lib/square/types/booking_custom_attribute_definition_visible_updated_event.rb +2 -1
  165. data/lib/square/types/booking_custom_attribute_delete_request.rb +4 -2
  166. data/lib/square/types/booking_custom_attribute_delete_response.rb +3 -1
  167. data/lib/square/types/booking_custom_attribute_upsert_request.rb +2 -1
  168. data/lib/square/types/booking_custom_attribute_upsert_response.rb +3 -1
  169. data/lib/square/types/booking_updated_event.rb +2 -1
  170. data/lib/square/types/bulk_create_customers_response.rb +1 -3
  171. data/lib/square/types/bulk_delete_booking_custom_attributes_response.rb +4 -4
  172. data/lib/square/types/bulk_delete_customers_response.rb +1 -3
  173. data/lib/square/types/bulk_delete_location_custom_attributes_request_location_custom_attribute_delete_request.rb +2 -1
  174. data/lib/square/types/bulk_delete_location_custom_attributes_response.rb +4 -4
  175. data/lib/square/types/bulk_delete_location_custom_attributes_response_location_custom_attribute_delete_response.rb +2 -1
  176. data/lib/square/types/bulk_delete_merchant_custom_attributes_request_merchant_custom_attribute_delete_request.rb +2 -1
  177. data/lib/square/types/bulk_delete_merchant_custom_attributes_response.rb +4 -4
  178. data/lib/square/types/bulk_delete_merchant_custom_attributes_response_merchant_custom_attribute_delete_response.rb +2 -1
  179. data/lib/square/types/bulk_delete_order_custom_attributes_response.rb +1 -3
  180. data/lib/square/types/bulk_publish_scheduled_shifts_response.rb +1 -3
  181. data/lib/square/types/bulk_retrieve_bookings_response.rb +1 -3
  182. data/lib/square/types/bulk_retrieve_channels_request_constants.rb +23 -0
  183. data/lib/square/types/bulk_retrieve_channels_response.rb +12 -0
  184. data/lib/square/types/bulk_retrieve_customers_response.rb +1 -3
  185. data/lib/square/types/bulk_retrieve_team_member_booking_profiles_response.rb +3 -4
  186. data/lib/square/types/bulk_update_customers_response.rb +1 -3
  187. data/lib/square/types/bulk_upsert_booking_custom_attributes_response.rb +4 -4
  188. data/lib/square/types/bulk_upsert_location_custom_attributes_request_location_custom_attribute_upsert_request.rb +2 -1
  189. data/lib/square/types/bulk_upsert_location_custom_attributes_response.rb +4 -4
  190. data/lib/square/types/bulk_upsert_location_custom_attributes_response_location_custom_attribute_upsert_response.rb +3 -1
  191. data/lib/square/types/bulk_upsert_merchant_custom_attributes_request_merchant_custom_attribute_upsert_request.rb +2 -1
  192. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response.rb +4 -4
  193. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response_merchant_custom_attribute_upsert_response.rb +3 -1
  194. data/lib/square/types/bulk_upsert_order_custom_attributes_response.rb +1 -3
  195. data/lib/square/types/business_appointment_settings.rb +4 -12
  196. data/lib/square/types/business_booking_profile.rb +2 -6
  197. data/lib/square/types/buy_now_pay_later_details.rb +1 -0
  198. data/lib/square/types/cancel_transfer_order_response.rb +11 -0
  199. data/lib/square/types/card.rb +2 -0
  200. data/lib/square/types/card_issuer_alert.rb +23 -0
  201. data/lib/square/types/catalog_category.rb +1 -3
  202. data/lib/square/types/catalog_custom_attribute_definition.rb +6 -18
  203. data/lib/square/types/catalog_custom_attribute_definition_selection_config.rb +1 -3
  204. data/lib/square/types/catalog_id_mapping.rb +1 -1
  205. data/lib/square/types/catalog_info_response.rb +1 -3
  206. data/lib/square/types/catalog_item.rb +6 -12
  207. data/lib/square/types/catalog_item_food_and_beverage_details.rb +2 -6
  208. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference.rb +2 -6
  209. data/lib/square/types/catalog_item_food_and_beverage_details_ingredient.rb +2 -6
  210. data/lib/square/types/catalog_item_modifier_list_info.rb +6 -9
  211. data/lib/square/types/catalog_item_variation.rb +17 -13
  212. data/lib/square/types/catalog_modifier.rb +4 -4
  213. data/lib/square/types/catalog_modifier_list.rb +4 -2
  214. data/lib/square/types/catalog_modifier_override.rb +2 -2
  215. data/lib/square/types/catalog_modifier_toggle_override_type.rb +13 -0
  216. data/lib/square/types/catalog_object.rb +7 -3
  217. data/lib/square/types/catalog_object_base.rb +2 -4
  218. data/lib/square/types/catalog_object_category.rb +3 -4
  219. data/lib/square/types/catalog_object_custom_attribute_definition.rb +1 -3
  220. data/lib/square/types/catalog_object_quick_amounts_settings.rb +1 -3
  221. data/lib/square/types/catalog_object_reference.rb +1 -1
  222. data/lib/square/types/catalog_object_subscription_plan_variation.rb +1 -3
  223. data/lib/square/types/catalog_query.rb +11 -13
  224. data/lib/square/types/catalog_query_prefix.rb +2 -1
  225. data/lib/square/types/catalog_query_text.rb +2 -1
  226. data/lib/square/types/catalog_subscription_plan.rb +5 -5
  227. data/lib/square/types/catalog_subscription_plan_variation.rb +4 -2
  228. data/lib/square/types/catalog_v_1_id.rb +1 -1
  229. data/lib/square/types/catalog_version_updated_event_object.rb +1 -3
  230. data/lib/square/types/channel.rb +16 -0
  231. data/lib/square/types/channel_status.rb +12 -0
  232. data/lib/square/types/checkout.rb +1 -3
  233. data/lib/square/types/checkout_location_settings.rb +1 -3
  234. data/lib/square/types/checkout_location_settings_branding.rb +2 -6
  235. data/lib/square/types/checkout_merchant_settings.rb +1 -3
  236. data/lib/square/types/checkout_merchant_settings_payment_methods.rb +4 -12
  237. data/lib/square/types/checkout_merchant_settings_payment_methods_afterpay_clearpay.rb +2 -6
  238. data/lib/square/types/component.rb +4 -12
  239. data/lib/square/types/create_bank_account_response.rb +11 -0
  240. data/lib/square/types/create_booking_custom_attribute_definition_response.rb +4 -4
  241. data/lib/square/types/create_catalog_image_request.rb +1 -1
  242. data/lib/square/types/create_customer_custom_attribute_definition_response.rb +4 -4
  243. data/lib/square/types/create_location_custom_attribute_definition_response.rb +4 -4
  244. data/lib/square/types/create_merchant_custom_attribute_definition_response.rb +4 -4
  245. data/lib/square/types/create_order_custom_attribute_definition_response.rb +1 -3
  246. data/lib/square/types/create_transfer_order_data.rb +19 -0
  247. data/lib/square/types/create_transfer_order_line_data.rb +12 -0
  248. data/lib/square/types/create_transfer_order_response.rb +11 -0
  249. data/lib/square/types/create_webhook_subscription_response.rb +2 -1
  250. data/lib/square/types/custom_attribute.rb +1 -1
  251. data/lib/square/types/custom_attribute_definition.rb +1 -3
  252. data/lib/square/types/custom_attribute_definition_event_data_object.rb +1 -3
  253. data/lib/square/types/custom_field.rb +2 -1
  254. data/lib/square/types/customer_address_filter.rb +2 -1
  255. data/lib/square/types/customer_created_event.rb +4 -2
  256. data/lib/square/types/customer_created_event_event_context_merge.rb +2 -1
  257. data/lib/square/types/customer_creation_source_filter.rb +1 -3
  258. data/lib/square/types/customer_custom_attribute_filter.rb +2 -1
  259. data/lib/square/types/customer_custom_attribute_filter_value.rb +2 -1
  260. data/lib/square/types/customer_custom_attribute_filters.rb +7 -6
  261. data/lib/square/types/customer_custom_attribute_visible_updated_event.rb +6 -3
  262. data/lib/square/types/customer_deleted_event.rb +4 -2
  263. data/lib/square/types/customer_deleted_event_event_context_merge.rb +2 -1
  264. data/lib/square/types/customer_tax_ids.rb +4 -2
  265. data/lib/square/types/customer_updated_event.rb +4 -2
  266. data/lib/square/types/delete_booking_custom_attribute_definition_response.rb +5 -2
  267. data/lib/square/types/delete_booking_custom_attribute_response.rb +2 -1
  268. data/lib/square/types/delete_customer_custom_attribute_response.rb +2 -1
  269. data/lib/square/types/delete_location_custom_attribute_response.rb +2 -1
  270. data/lib/square/types/delete_merchant_custom_attribute_response.rb +2 -1
  271. data/lib/square/types/delete_subscription_action_response.rb +2 -1
  272. data/lib/square/types/delete_transfer_order_response.rb +10 -0
  273. data/lib/square/types/delete_webhook_subscription_response.rb +2 -1
  274. data/lib/square/types/destination_details.rb +1 -3
  275. data/lib/square/types/device_checkout_options.rb +1 -0
  276. data/lib/square/types/device_component_details_ethernet_details.rb +1 -1
  277. data/lib/square/types/device_component_details_wi_fi_details.rb +1 -1
  278. data/lib/square/types/digital_wallet_details.rb +1 -0
  279. data/lib/square/types/disable_bank_account_response.rb +11 -0
  280. data/lib/square/types/dispute.rb +2 -1
  281. data/lib/square/types/dispute_evidence_added_event.rb +2 -1
  282. data/lib/square/types/dispute_evidence_created_event.rb +2 -1
  283. data/lib/square/types/employee_wage.rb +2 -1
  284. data/lib/square/types/error_code.rb +2 -0
  285. data/lib/square/types/event_data.rb +1 -3
  286. data/lib/square/types/fulfillment.rb +4 -7
  287. data/lib/square/types/fulfillment_delivery_details.rb +1 -3
  288. data/lib/square/types/fulfillment_pickup_details.rb +1 -3
  289. data/lib/square/types/get_bank_account_response.rb +1 -1
  290. data/lib/square/types/get_booking_request.rb +23 -0
  291. data/lib/square/types/get_business_booking_profile_request.rb +23 -0
  292. data/lib/square/types/get_card_request.rb +23 -0
  293. data/lib/square/types/get_catalog_object_response.rb +1 -3
  294. data/lib/square/types/get_customer_custom_attribute_definition_response.rb +4 -4
  295. data/lib/square/types/get_customer_custom_attribute_response.rb +2 -1
  296. data/lib/square/types/get_customer_group_request.rb +23 -0
  297. data/lib/square/types/get_customer_request.rb +23 -0
  298. data/lib/square/types/get_customer_segment_request.rb +23 -0
  299. data/lib/square/types/get_dispute_evidence_request.rb +23 -0
  300. data/lib/square/types/get_dispute_request.rb +23 -0
  301. data/lib/square/types/get_employee_request.rb +23 -0
  302. data/lib/square/types/get_gift_card_request.rb +23 -0
  303. data/lib/square/types/get_inventory_adjustment_request.rb +23 -0
  304. data/lib/square/types/get_inventory_physical_count_request.rb +23 -0
  305. data/lib/square/types/get_inventory_transfer_request.rb +23 -0
  306. data/lib/square/types/get_location_request.rb +23 -0
  307. data/lib/square/types/get_loyalty_account_request.rb +23 -0
  308. data/lib/square/types/get_loyalty_program_request.rb +23 -0
  309. data/lib/square/types/get_loyalty_promotion_request.rb +23 -0
  310. data/lib/square/types/get_loyalty_reward_request.rb +23 -0
  311. data/lib/square/types/get_merchant_request.rb +23 -0
  312. data/lib/square/types/get_order_request.rb +23 -0
  313. data/lib/square/types/get_payment_link_request.rb +23 -0
  314. data/lib/square/types/get_snippet_request.rb +23 -0
  315. data/lib/square/types/get_team_member_booking_profile_request.rb +23 -0
  316. data/lib/square/types/get_team_member_booking_profile_response.rb +1 -3
  317. data/lib/square/types/get_team_member_request.rb +23 -0
  318. data/lib/square/types/get_transaction_request.rb +23 -0
  319. data/lib/square/types/get_vendor_request.rb +23 -0
  320. data/lib/square/types/get_wage_setting_request.rb +23 -0
  321. data/lib/square/types/get_webhook_subscription_request.rb +23 -0
  322. data/lib/square/types/get_webhook_subscription_response.rb +2 -1
  323. data/lib/square/types/gift_card_activity.rb +8 -24
  324. data/lib/square/types/gift_card_activity_block_reason.rb +23 -0
  325. data/lib/square/types/gift_card_activity_unblock_reason.rb +23 -0
  326. data/lib/square/types/gift_card_activity_updated_event.rb +2 -1
  327. data/lib/square/types/inventory_count_updated_event_object.rb +1 -3
  328. data/lib/square/types/invoice.rb +6 -13
  329. data/lib/square/types/invoice_accepted_payment_methods.rb +2 -1
  330. data/lib/square/types/invoice_attachment.rb +1 -1
  331. data/lib/square/types/invoice_custom_field.rb +2 -1
  332. data/lib/square/types/invoice_payment_made_event.rb +2 -1
  333. data/lib/square/types/invoice_payment_request.rb +6 -8
  334. data/lib/square/types/invoice_refunded_event.rb +2 -1
  335. data/lib/square/types/invoice_sort_field.rb +23 -0
  336. data/lib/square/types/labor_scheduled_shift_created_event_object.rb +1 -1
  337. data/lib/square/types/labor_scheduled_shift_published_event_object.rb +1 -1
  338. data/lib/square/types/labor_scheduled_shift_updated_event_object.rb +1 -1
  339. data/lib/square/types/list_bank_accounts_response.rb +1 -1
  340. data/lib/square/types/list_booking_custom_attribute_definitions_response.rb +4 -4
  341. data/lib/square/types/list_booking_custom_attributes_response.rb +3 -4
  342. data/lib/square/types/list_cash_drawer_shift_events_response.rb +1 -3
  343. data/lib/square/types/list_cash_drawer_shifts_response.rb +1 -3
  344. data/lib/square/types/list_channels_request_constants.rb +23 -0
  345. data/lib/square/types/list_channels_response.rb +11 -0
  346. data/lib/square/types/list_customer_custom_attribute_definitions_response.rb +4 -4
  347. data/lib/square/types/list_customer_custom_attributes_response.rb +3 -4
  348. data/lib/square/types/list_gift_card_activities_response.rb +1 -3
  349. data/lib/square/types/list_location_booking_profiles_response.rb +1 -3
  350. data/lib/square/types/list_location_custom_attribute_definitions_response.rb +4 -4
  351. data/lib/square/types/list_location_custom_attributes_response.rb +3 -4
  352. data/lib/square/types/list_loyalty_promotions_response.rb +1 -3
  353. data/lib/square/types/list_merchant_custom_attribute_definitions_response.rb +4 -4
  354. data/lib/square/types/list_merchant_custom_attributes_response.rb +3 -4
  355. data/lib/square/types/list_order_custom_attribute_definitions_response.rb +1 -3
  356. data/lib/square/types/list_order_custom_attributes_response.rb +1 -3
  357. data/lib/square/types/list_subscription_events_response.rb +1 -3
  358. data/lib/square/types/list_team_member_booking_profiles_response.rb +1 -3
  359. data/lib/square/types/list_team_member_wages_response.rb +1 -3
  360. data/lib/square/types/list_webhook_subscriptions_response.rb +1 -3
  361. data/lib/square/types/list_workweek_configs_response.rb +1 -3
  362. data/lib/square/types/location.rb +1 -3
  363. data/lib/square/types/location_booking_profile.rb +2 -1
  364. data/lib/square/types/location_custom_attribute_visible_updated_event.rb +6 -3
  365. data/lib/square/types/loyalty_account.rb +1 -3
  366. data/lib/square/types/loyalty_account_mapping_type.rb +23 -0
  367. data/lib/square/types/loyalty_event.rb +3 -4
  368. data/lib/square/types/loyalty_event_filter.rb +1 -3
  369. data/lib/square/types/loyalty_program.rb +4 -7
  370. data/lib/square/types/loyalty_program_accrual_rule.rb +3 -4
  371. data/lib/square/types/loyalty_program_reward_tier.rb +3 -1
  372. data/lib/square/types/loyalty_promotion_incentive.rb +2 -6
  373. data/lib/square/types/loyalty_promotion_incentive_points_addition_data.rb +2 -1
  374. data/lib/square/types/loyalty_promotion_incentive_points_multiplier_data.rb +2 -1
  375. data/lib/square/types/loyalty_promotion_trigger_limit.rb +2 -1
  376. data/lib/square/types/loyalty_reward.rb +4 -2
  377. data/lib/square/types/measurement_unit_generic.rb +23 -0
  378. data/lib/square/types/oauth_authorization_revoked_event_object.rb +1 -3
  379. data/lib/square/types/oauth_authorization_revoked_event_revocation_object.rb +1 -3
  380. data/lib/square/types/order.rb +2 -6
  381. data/lib/square/types/order_card_surcharge_treatment_type.rb +12 -0
  382. data/lib/square/types/order_custom_attribute_definition_owned_created_event.rb +2 -1
  383. data/lib/square/types/order_custom_attribute_definition_owned_deleted_event.rb +2 -1
  384. data/lib/square/types/order_custom_attribute_definition_owned_updated_event.rb +2 -1
  385. data/lib/square/types/order_custom_attribute_definition_visible_created_event.rb +2 -1
  386. data/lib/square/types/order_custom_attribute_definition_visible_deleted_event.rb +2 -1
  387. data/lib/square/types/order_custom_attribute_definition_visible_updated_event.rb +2 -1
  388. data/lib/square/types/order_custom_attribute_owned_deleted_event.rb +2 -1
  389. data/lib/square/types/order_custom_attribute_owned_updated_event.rb +2 -1
  390. data/lib/square/types/order_custom_attribute_visible_deleted_event.rb +2 -1
  391. data/lib/square/types/order_custom_attribute_visible_updated_event.rb +2 -1
  392. data/lib/square/types/order_fulfillment_updated.rb +1 -3
  393. data/lib/square/types/order_line_item.rb +4 -12
  394. data/lib/square/types/order_line_item_applied_tax.rb +1 -0
  395. data/lib/square/types/order_line_item_pricing_blocklists.rb +3 -6
  396. data/lib/square/types/order_line_item_pricing_blocklists_blocked_service_charge.rb +14 -0
  397. data/lib/square/types/order_return.rb +3 -9
  398. data/lib/square/types/order_return_line_item.rb +4 -12
  399. data/lib/square/types/order_return_service_charge.rb +3 -6
  400. data/lib/square/types/order_service_charge.rb +2 -6
  401. data/lib/square/types/payment.rb +1 -3
  402. data/lib/square/types/payment_link_related_resources.rb +1 -3
  403. data/lib/square/types/payment_refund.rb +1 -3
  404. data/lib/square/types/payout_entry.rb +24 -72
  405. data/lib/square/types/pre_populated_data.rb +2 -1
  406. data/lib/square/types/product_type.rb +23 -0
  407. data/lib/square/types/receive_transfer_order_response.rb +11 -0
  408. data/lib/square/types/reference.rb +10 -0
  409. data/lib/square/types/reference_type.rb +25 -0
  410. data/lib/square/types/refund.rb +1 -3
  411. data/lib/square/types/retrieve_booking_custom_attribute_definition_response.rb +4 -4
  412. data/lib/square/types/retrieve_booking_custom_attribute_response.rb +2 -1
  413. data/lib/square/types/retrieve_channel_response.rb +10 -0
  414. data/lib/square/types/retrieve_location_custom_attribute_definition_response.rb +4 -4
  415. data/lib/square/types/retrieve_location_custom_attribute_response.rb +2 -1
  416. data/lib/square/types/retrieve_merchant_custom_attribute_definition_response.rb +4 -4
  417. data/lib/square/types/retrieve_merchant_custom_attribute_response.rb +2 -1
  418. data/lib/square/types/retrieve_order_custom_attribute_definition_response.rb +1 -3
  419. data/lib/square/types/retrieve_transfer_order_response.rb +11 -0
  420. data/lib/square/types/scheduled_shift_filter.rb +3 -7
  421. data/lib/square/types/scheduled_shift_workday.rb +1 -3
  422. data/lib/square/types/search_availability_filter.rb +1 -3
  423. data/lib/square/types/search_catalog_items_response.rb +2 -1
  424. data/lib/square/types/search_catalog_objects_response.rb +1 -3
  425. data/lib/square/types/search_events_sort_field.rb +23 -0
  426. data/lib/square/types/search_loyalty_accounts_request_loyalty_account_query.rb +1 -3
  427. data/lib/square/types/search_loyalty_accounts_response.rb +1 -3
  428. data/lib/square/types/search_orders_date_time_filter.rb +2 -1
  429. data/lib/square/types/search_orders_fulfillment_filter.rb +2 -6
  430. data/lib/square/types/search_orders_source_filter.rb +2 -0
  431. data/lib/square/types/search_scheduled_shifts_response.rb +1 -3
  432. data/lib/square/types/search_transfer_orders_response.rb +12 -0
  433. data/lib/square/types/shift_filter.rb +3 -2
  434. data/lib/square/types/shift_query.rb +2 -1
  435. data/lib/square/types/shift_sort.rb +2 -1
  436. data/lib/square/types/shift_wage.rb +2 -1
  437. data/lib/square/types/shift_workday.rb +2 -1
  438. data/lib/square/types/snippet.rb +2 -1
  439. data/lib/square/types/standard_unit_description_group.rb +1 -3
  440. data/lib/square/types/start_transfer_order_response.rb +11 -0
  441. data/lib/square/types/subscription_event.rb +1 -3
  442. data/lib/square/types/subscription_phase.rb +2 -1
  443. data/lib/square/types/subscription_test_result.rb +5 -3
  444. data/lib/square/types/team_member_assigned_locations.rb +1 -3
  445. data/lib/square/types/team_member_booking_profile.rb +2 -1
  446. data/lib/square/types/tender.rb +2 -6
  447. data/lib/square/types/tender_buy_now_pay_later_details.rb +1 -3
  448. data/lib/square/types/terminal_refund.rb +2 -1
  449. data/lib/square/types/test_webhook_subscription_response.rb +5 -5
  450. data/lib/square/types/timecard_filter.rb +1 -1
  451. data/lib/square/types/transfer_order.rb +35 -0
  452. data/lib/square/types/transfer_order_created_event.rb +14 -0
  453. data/lib/square/types/transfer_order_created_event_data.rb +11 -0
  454. data/lib/square/types/transfer_order_created_event_object.rb +9 -0
  455. data/lib/square/types/transfer_order_deleted_event.rb +14 -0
  456. data/lib/square/types/transfer_order_deleted_event_data.rb +11 -0
  457. data/lib/square/types/transfer_order_filter.rb +12 -0
  458. data/lib/square/types/transfer_order_goods_receipt.rb +27 -0
  459. data/lib/square/types/transfer_order_goods_receipt_line_item.rb +13 -0
  460. data/lib/square/types/transfer_order_line.rb +18 -0
  461. data/lib/square/types/transfer_order_query.rb +11 -0
  462. data/lib/square/types/transfer_order_sort.rb +11 -0
  463. data/lib/square/types/transfer_order_sort_field.rb +12 -0
  464. data/lib/square/types/transfer_order_status.rb +15 -0
  465. data/lib/square/types/transfer_order_updated_event.rb +14 -0
  466. data/lib/square/types/transfer_order_updated_event_data.rb +11 -0
  467. data/lib/square/types/transfer_order_updated_event_object.rb +9 -0
  468. data/lib/square/types/update_booking_custom_attribute_definition_response.rb +4 -4
  469. data/lib/square/types/update_customer_custom_attribute_definition_response.rb +4 -4
  470. data/lib/square/types/update_location_custom_attribute_definition_response.rb +4 -4
  471. data/lib/square/types/update_merchant_custom_attribute_definition_response.rb +4 -4
  472. data/lib/square/types/update_order_custom_attribute_definition_response.rb +1 -3
  473. data/lib/square/types/update_transfer_order_data.rb +15 -0
  474. data/lib/square/types/update_transfer_order_line_data.rb +13 -0
  475. data/lib/square/types/update_transfer_order_response.rb +11 -0
  476. data/lib/square/types/update_webhook_subscription_response.rb +2 -1
  477. data/lib/square/types/update_webhook_subscription_signature_key_response.rb +3 -1
  478. data/lib/square/types/upsert_booking_custom_attribute_response.rb +2 -1
  479. data/lib/square/types/upsert_catalog_object_response.rb +1 -3
  480. data/lib/square/types/upsert_customer_custom_attribute_response.rb +2 -1
  481. data/lib/square/types/upsert_location_custom_attribute_response.rb +2 -1
  482. data/lib/square/types/upsert_merchant_custom_attribute_response.rb +2 -1
  483. data/lib/square/types/v_1_get_payment_request.rb +23 -0
  484. data/lib/square/types/v_1_get_settlement_request.rb +23 -0
  485. data/lib/square/types/v_1_order.rb +1 -3
  486. data/lib/square/types/vendor_created_event_object_operation.rb +23 -0
  487. data/lib/square/types/vendor_updated_event_object_operation.rb +23 -0
  488. data/lib/square/types/wage_setting.rb +1 -3
  489. data/lib/square/v_1_transactions/client.rb +72 -29
  490. data/lib/square/vendors/client.rb +126 -51
  491. data/lib/square/vendors/types/batch_update_vendors_request.rb +1 -3
  492. data/lib/square/version.rb +1 -1
  493. data/lib/square/webhooks/client.rb +3 -1
  494. data/lib/square/webhooks/event_types/client.rb +25 -14
  495. data/lib/square/webhooks/subscriptions/client.rb +164 -69
  496. data/lib/square.rb +106 -5
  497. data/lib/square_legacy/utilities/webhooks_helper.rb +1 -1
  498. data/reference.md +29588 -0
  499. data/wiremock/docker-compose.test.yml +14 -0
  500. data/wiremock/wiremock-mappings.json +1 -0
  501. metadata +118 -45
  502. data/lib/square/mobile/client.rb +0 -50
  503. data/lib/square/mobile/types/create_mobile_authorization_code_request.rb +0 -11
  504. data/lib/square/types/create_mobile_authorization_code_response.rb +0 -13
  505. data/test/square/integration/client_tests/test_cash_drawers.rb +0 -27
  506. data/test/square/integration/client_tests/test_catalog.rb +0 -704
  507. data/test/square/integration/client_tests/test_customers.rb +0 -65
  508. data/test/square/integration/client_tests/test_customers_groups.rb +0 -144
  509. data/test/square/integration/client_tests/test_customers_segments.rb +0 -36
  510. data/test/square/integration/client_tests/test_devices.rb +0 -67
  511. data/test/square/integration/client_tests/test_inventory.rb +0 -28
  512. data/test/square/integration/client_tests/test_locations.rb +0 -18
  513. data/test/square/integration/client_tests/test_merchants.rb +0 -40
  514. data/test/square/integration/client_tests/test_mobile.rb +0 -21
  515. data/test/square/integration/client_tests/test_orders.rb +0 -177
  516. data/test/square/integration/client_tests/test_payments.rb +0 -167
  517. data/test/square/integration/client_tests/test_refunds.rb +0 -133
  518. data/test/square/integration/client_tests/test_team_members.rb +0 -97
  519. data/test/square/integration/client_tests/test_terminal.rb +0 -107
  520. data/test/square/integration/integration_test_base.rb +0 -16
  521. data/test/square/integration/testdata/image.jpeg +0 -0
  522. data/test/square/internal/multipart/test_form_data.rb +0 -311
  523. data/test/square/internal/types/test_array.rb +0 -37
  524. data/test/square/internal/types/test_boolean.rb +0 -35
  525. data/test/square/internal/types/test_enum.rb +0 -42
  526. data/test/square/internal/types/test_hash.rb +0 -50
  527. data/test/square/internal/types/test_model.rb +0 -105
  528. data/test/square/internal/types/test_union.rb +0 -52
  529. data/test/square/internal/types/test_utils.rb +0 -216
  530. data/test/square_legacy/api/api_test_base.rb +0 -27
  531. data/test/square_legacy/api/test_catalog_api.rb +0 -57
  532. data/test/square_legacy/api/test_customers_api.rb +0 -43
  533. data/test/square_legacy/api/test_employees_api.rb +0 -34
  534. data/test/square_legacy/api/test_labor_api.rb +0 -82
  535. data/test/square_legacy/api/test_locations_api.rb +0 -22
  536. data/test/square_legacy/api/test_merchants_api.rb +0 -38
  537. data/test/square_legacy/api/test_payments_api.rb +0 -40
  538. data/test/square_legacy/api/test_refunds_api.rb +0 -42
  539. data/test/square_legacy/http_response_catcher.rb +0 -14
  540. data/test/square_legacy/webhooks/test_webhooks_helper.rb +0 -153
  541. data/test/test_helper.rb +0 -123
@@ -4,39 +4,59 @@ module Square
4
4
  module Customers
5
5
  module Groups
6
6
  class Client
7
- # @return [Square::Customers::Groups::Client]
7
+ # @param client [Square::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
8
10
  def initialize(client:)
9
11
  @client = client
10
12
  end
11
13
 
12
14
  # Retrieves the list of customer groups of a business.
13
15
  #
16
+ # @param request_options [Hash]
17
+ # @param params [Hash]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ # @option params [String, nil] :cursor
24
+ # @option params [Integer, nil] :limit
25
+ #
14
26
  # @return [Square::Types::ListCustomerGroupsResponse]
15
27
  def list(request_options: {}, **params)
16
- _query_param_names = [
17
- %w[cursor limit],
18
- %i[cursor limit]
19
- ].flatten
20
- _query = params.slice(*_query_param_names)
21
- params.except(*_query_param_names)
28
+ params = Square::Internal::Types::Utils.normalize_keys(params)
29
+ query_param_names = %i[cursor limit]
30
+ query_params = {}
31
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
32
+ query_params["limit"] = params[:limit] if params.key?(:limit)
33
+ params.except(*query_param_names)
22
34
 
23
- _request = Square::Internal::JSON::Request.new(
24
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
25
- method: "GET",
26
- path: "v2/customers/groups",
27
- query: _query
28
- )
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)
35
+ Square::Internal::CursorItemIterator.new(
36
+ cursor_field: :cursor,
37
+ item_field: :groups,
38
+ initial_cursor: query_params[:cursor]
39
+ ) do |next_cursor|
40
+ query_params[:cursor] = next_cursor
41
+ request = Square::Internal::JSON::Request.new(
42
+ base_url: request_options[:base_url],
43
+ method: "GET",
44
+ path: "v2/customers/groups",
45
+ query: query_params,
46
+ request_options: request_options
47
+ )
48
+ begin
49
+ response = @client.send(request)
50
+ rescue Net::HTTPRequestTimeout
51
+ raise Square::Errors::TimeoutError
52
+ end
53
+ code = response.code.to_i
54
+ if code.between?(200, 299)
55
+ Square::Types::ListCustomerGroupsResponse.load(response.body)
56
+ else
57
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
58
+ raise error_class.new(response.body, code: code)
59
+ end
40
60
  end
41
61
  end
42
62
 
@@ -44,97 +64,142 @@ module Square
44
64
  #
45
65
  # The request must include the `name` value of the group.
46
66
  #
67
+ # @param request_options [Hash]
68
+ # @param params [Square::Customers::Groups::Types::CreateCustomerGroupRequest]
69
+ # @option request_options [String] :base_url
70
+ # @option request_options [Hash{String => Object}] :additional_headers
71
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
72
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
73
+ # @option request_options [Integer] :timeout_in_seconds
74
+ #
47
75
  # @return [Square::Types::CreateCustomerGroupResponse]
48
76
  def create(request_options: {}, **params)
49
- _request = Square::Internal::JSON::Request.new(
50
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
77
+ params = Square::Internal::Types::Utils.normalize_keys(params)
78
+ request = Square::Internal::JSON::Request.new(
79
+ base_url: request_options[:base_url],
51
80
  method: "POST",
52
81
  path: "v2/customers/groups",
53
- body: params
82
+ body: Square::Customers::Groups::Types::CreateCustomerGroupRequest.new(params).to_h,
83
+ request_options: request_options
54
84
  )
55
85
  begin
56
- _response = @client.send(_request)
86
+ response = @client.send(request)
57
87
  rescue Net::HTTPRequestTimeout
58
88
  raise Square::Errors::TimeoutError
59
89
  end
60
- code = _response.code.to_i
90
+ code = response.code.to_i
61
91
  if code.between?(200, 299)
62
- Square::Types::CreateCustomerGroupResponse.load(_response.body)
92
+ Square::Types::CreateCustomerGroupResponse.load(response.body)
63
93
  else
64
94
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
65
- raise error_class.new(_response.body, code: code)
95
+ raise error_class.new(response.body, code: code)
66
96
  end
67
97
  end
68
98
 
69
99
  # Retrieves a specific customer group as identified by the `group_id` value.
70
100
  #
101
+ # @param request_options [Hash]
102
+ # @param params [Hash]
103
+ # @option request_options [String] :base_url
104
+ # @option request_options [Hash{String => Object}] :additional_headers
105
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
106
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
107
+ # @option request_options [Integer] :timeout_in_seconds
108
+ # @option params [String] :group_id
109
+ #
71
110
  # @return [Square::Types::GetCustomerGroupResponse]
72
111
  def get(request_options: {}, **params)
73
- _request = Square::Internal::JSON::Request.new(
74
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
112
+ params = Square::Internal::Types::Utils.normalize_keys(params)
113
+ request = Square::Internal::JSON::Request.new(
114
+ base_url: request_options[:base_url],
75
115
  method: "GET",
76
- path: "v2/customers/groups/#{params[:group_id]}"
116
+ path: "v2/customers/groups/#{params[:group_id]}",
117
+ request_options: request_options
77
118
  )
78
119
  begin
79
- _response = @client.send(_request)
120
+ response = @client.send(request)
80
121
  rescue Net::HTTPRequestTimeout
81
122
  raise Square::Errors::TimeoutError
82
123
  end
83
- code = _response.code.to_i
124
+ code = response.code.to_i
84
125
  if code.between?(200, 299)
85
- Square::Types::GetCustomerGroupResponse.load(_response.body)
126
+ Square::Types::GetCustomerGroupResponse.load(response.body)
86
127
  else
87
128
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
88
- raise error_class.new(_response.body, code: code)
129
+ raise error_class.new(response.body, code: code)
89
130
  end
90
131
  end
91
132
 
92
133
  # Updates a customer group as identified by the `group_id` value.
93
134
  #
135
+ # @param request_options [Hash]
136
+ # @param params [Square::Customers::Groups::Types::UpdateCustomerGroupRequest]
137
+ # @option request_options [String] :base_url
138
+ # @option request_options [Hash{String => Object}] :additional_headers
139
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
140
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
141
+ # @option request_options [Integer] :timeout_in_seconds
142
+ # @option params [String] :group_id
143
+ #
94
144
  # @return [Square::Types::UpdateCustomerGroupResponse]
95
145
  def update(request_options: {}, **params)
96
- _path_param_names = ["group_id"]
146
+ params = Square::Internal::Types::Utils.normalize_keys(params)
147
+ request_data = Square::Customers::Groups::Types::UpdateCustomerGroupRequest.new(params).to_h
148
+ non_body_param_names = ["group_id"]
149
+ body = request_data.except(*non_body_param_names)
97
150
 
98
- _request = Square::Internal::JSON::Request.new(
99
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
151
+ request = Square::Internal::JSON::Request.new(
152
+ base_url: request_options[:base_url],
100
153
  method: "PUT",
101
154
  path: "v2/customers/groups/#{params[:group_id]}",
102
- body: params.except(*_path_param_names)
155
+ body: body,
156
+ request_options: request_options
103
157
  )
104
158
  begin
105
- _response = @client.send(_request)
159
+ response = @client.send(request)
106
160
  rescue Net::HTTPRequestTimeout
107
161
  raise Square::Errors::TimeoutError
108
162
  end
109
- code = _response.code.to_i
163
+ code = response.code.to_i
110
164
  if code.between?(200, 299)
111
- Square::Types::UpdateCustomerGroupResponse.load(_response.body)
165
+ Square::Types::UpdateCustomerGroupResponse.load(response.body)
112
166
  else
113
167
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
114
- raise error_class.new(_response.body, code: code)
168
+ raise error_class.new(response.body, code: code)
115
169
  end
116
170
  end
117
171
 
118
172
  # Deletes a customer group as identified by the `group_id` value.
119
173
  #
174
+ # @param request_options [Hash]
175
+ # @param params [Hash]
176
+ # @option request_options [String] :base_url
177
+ # @option request_options [Hash{String => Object}] :additional_headers
178
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
179
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
180
+ # @option request_options [Integer] :timeout_in_seconds
181
+ # @option params [String] :group_id
182
+ #
120
183
  # @return [Square::Types::DeleteCustomerGroupResponse]
121
184
  def delete(request_options: {}, **params)
122
- _request = Square::Internal::JSON::Request.new(
123
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
185
+ params = Square::Internal::Types::Utils.normalize_keys(params)
186
+ request = Square::Internal::JSON::Request.new(
187
+ base_url: request_options[:base_url],
124
188
  method: "DELETE",
125
- path: "v2/customers/groups/#{params[:group_id]}"
189
+ path: "v2/customers/groups/#{params[:group_id]}",
190
+ request_options: request_options
126
191
  )
127
192
  begin
128
- _response = @client.send(_request)
193
+ response = @client.send(request)
129
194
  rescue Net::HTTPRequestTimeout
130
195
  raise Square::Errors::TimeoutError
131
196
  end
132
- code = _response.code.to_i
197
+ code = response.code.to_i
133
198
  if code.between?(200, 299)
134
- Square::Types::DeleteCustomerGroupResponse.load(_response.body)
199
+ Square::Types::DeleteCustomerGroupResponse.load(response.body)
135
200
  else
136
201
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
137
- raise error_class.new(_response.body, code: code)
202
+ raise error_class.new(response.body, code: code)
138
203
  end
139
204
  end
140
205
 
@@ -143,24 +208,36 @@ module Square
143
208
  # The customer is identified by the `customer_id` value
144
209
  # and the customer group is identified by the `group_id` value.
145
210
  #
211
+ # @param request_options [Hash]
212
+ # @param params [Hash]
213
+ # @option request_options [String] :base_url
214
+ # @option request_options [Hash{String => Object}] :additional_headers
215
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
216
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
217
+ # @option request_options [Integer] :timeout_in_seconds
218
+ # @option params [String] :customer_id
219
+ # @option params [String] :group_id
220
+ #
146
221
  # @return [Square::Types::AddGroupToCustomerResponse]
147
222
  def add(request_options: {}, **params)
148
- _request = Square::Internal::JSON::Request.new(
149
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
223
+ params = Square::Internal::Types::Utils.normalize_keys(params)
224
+ request = Square::Internal::JSON::Request.new(
225
+ base_url: request_options[:base_url],
150
226
  method: "PUT",
151
- path: "v2/customers/#{params[:customer_id]}/groups/#{params[:group_id]}"
227
+ path: "v2/customers/#{params[:customer_id]}/groups/#{params[:group_id]}",
228
+ request_options: request_options
152
229
  )
153
230
  begin
154
- _response = @client.send(_request)
231
+ response = @client.send(request)
155
232
  rescue Net::HTTPRequestTimeout
156
233
  raise Square::Errors::TimeoutError
157
234
  end
158
- code = _response.code.to_i
235
+ code = response.code.to_i
159
236
  if code.between?(200, 299)
160
- Square::Types::AddGroupToCustomerResponse.load(_response.body)
237
+ Square::Types::AddGroupToCustomerResponse.load(response.body)
161
238
  else
162
239
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
163
- raise error_class.new(_response.body, code: code)
240
+ raise error_class.new(response.body, code: code)
164
241
  end
165
242
  end
166
243
 
@@ -169,24 +246,36 @@ module Square
169
246
  # The customer is identified by the `customer_id` value
170
247
  # and the customer group is identified by the `group_id` value.
171
248
  #
249
+ # @param request_options [Hash]
250
+ # @param params [Hash]
251
+ # @option request_options [String] :base_url
252
+ # @option request_options [Hash{String => Object}] :additional_headers
253
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
254
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
255
+ # @option request_options [Integer] :timeout_in_seconds
256
+ # @option params [String] :customer_id
257
+ # @option params [String] :group_id
258
+ #
172
259
  # @return [Square::Types::RemoveGroupFromCustomerResponse]
173
260
  def remove(request_options: {}, **params)
174
- _request = Square::Internal::JSON::Request.new(
175
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
261
+ params = Square::Internal::Types::Utils.normalize_keys(params)
262
+ request = Square::Internal::JSON::Request.new(
263
+ base_url: request_options[:base_url],
176
264
  method: "DELETE",
177
- path: "v2/customers/#{params[:customer_id]}/groups/#{params[:group_id]}"
265
+ path: "v2/customers/#{params[:customer_id]}/groups/#{params[:group_id]}",
266
+ request_options: request_options
178
267
  )
179
268
  begin
180
- _response = @client.send(_request)
269
+ response = @client.send(request)
181
270
  rescue Net::HTTPRequestTimeout
182
271
  raise Square::Errors::TimeoutError
183
272
  end
184
- code = _response.code.to_i
273
+ code = response.code.to_i
185
274
  if code.between?(200, 299)
186
- Square::Types::RemoveGroupFromCustomerResponse.load(_response.body)
275
+ Square::Types::RemoveGroupFromCustomerResponse.load(response.body)
187
276
  else
188
277
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
189
- raise error_class.new(_response.body, code: code)
278
+ raise error_class.new(response.body, code: code)
190
279
  end
191
280
  end
192
281
  end
@@ -4,62 +4,93 @@ module Square
4
4
  module Customers
5
5
  module Segments
6
6
  class Client
7
- # @return [Square::Customers::Segments::Client]
7
+ # @param client [Square::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
8
10
  def initialize(client:)
9
11
  @client = client
10
12
  end
11
13
 
12
14
  # Retrieves the list of customer segments of a business.
13
15
  #
16
+ # @param request_options [Hash]
17
+ # @param params [Hash]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ # @option params [String, nil] :cursor
24
+ # @option params [Integer, nil] :limit
25
+ #
14
26
  # @return [Square::Types::ListCustomerSegmentsResponse]
15
27
  def list(request_options: {}, **params)
16
- _query_param_names = [
17
- %w[cursor limit],
18
- %i[cursor limit]
19
- ].flatten
20
- _query = params.slice(*_query_param_names)
21
- params.except(*_query_param_names)
28
+ params = Square::Internal::Types::Utils.normalize_keys(params)
29
+ query_param_names = %i[cursor limit]
30
+ query_params = {}
31
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
32
+ query_params["limit"] = params[:limit] if params.key?(:limit)
33
+ params.except(*query_param_names)
22
34
 
23
- _request = Square::Internal::JSON::Request.new(
24
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
25
- method: "GET",
26
- path: "v2/customers/segments",
27
- query: _query
28
- )
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)
35
+ Square::Internal::CursorItemIterator.new(
36
+ cursor_field: :cursor,
37
+ item_field: :segments,
38
+ initial_cursor: query_params[:cursor]
39
+ ) do |next_cursor|
40
+ query_params[:cursor] = next_cursor
41
+ request = Square::Internal::JSON::Request.new(
42
+ base_url: request_options[:base_url],
43
+ method: "GET",
44
+ path: "v2/customers/segments",
45
+ query: query_params,
46
+ request_options: request_options
47
+ )
48
+ begin
49
+ response = @client.send(request)
50
+ rescue Net::HTTPRequestTimeout
51
+ raise Square::Errors::TimeoutError
52
+ end
53
+ code = response.code.to_i
54
+ if code.between?(200, 299)
55
+ Square::Types::ListCustomerSegmentsResponse.load(response.body)
56
+ else
57
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
58
+ raise error_class.new(response.body, code: code)
59
+ end
40
60
  end
41
61
  end
42
62
 
43
63
  # Retrieves a specific customer segment as identified by the `segment_id` value.
44
64
  #
65
+ # @param request_options [Hash]
66
+ # @param params [Hash]
67
+ # @option request_options [String] :base_url
68
+ # @option request_options [Hash{String => Object}] :additional_headers
69
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
70
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
71
+ # @option request_options [Integer] :timeout_in_seconds
72
+ # @option params [String] :segment_id
73
+ #
45
74
  # @return [Square::Types::GetCustomerSegmentResponse]
46
75
  def get(request_options: {}, **params)
47
- _request = Square::Internal::JSON::Request.new(
48
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
76
+ params = Square::Internal::Types::Utils.normalize_keys(params)
77
+ request = Square::Internal::JSON::Request.new(
78
+ base_url: request_options[:base_url],
49
79
  method: "GET",
50
- path: "v2/customers/segments/#{params[:segment_id]}"
80
+ path: "v2/customers/segments/#{params[:segment_id]}",
81
+ request_options: request_options
51
82
  )
52
83
  begin
53
- _response = @client.send(_request)
84
+ response = @client.send(request)
54
85
  rescue Net::HTTPRequestTimeout
55
86
  raise Square::Errors::TimeoutError
56
87
  end
57
- code = _response.code.to_i
88
+ code = response.code.to_i
58
89
  if code.between?(200, 299)
59
- Square::Types::GetCustomerSegmentResponse.load(_response.body)
90
+ Square::Types::GetCustomerSegmentResponse.load(response.body)
60
91
  else
61
92
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
62
- raise error_class.new(_response.body, code: code)
93
+ raise error_class.new(response.body, code: code)
63
94
  end
64
95
  end
65
96
  end
@@ -4,9 +4,7 @@ module Square
4
4
  module Customers
5
5
  module Types
6
6
  class BulkCreateCustomersRequest < Internal::Types::Model
7
- field :customers, lambda {
8
- Internal::Types::Hash[String, Square::Types::BulkCreateCustomerData]
9
- }, optional: false, nullable: false
7
+ field :customers, -> { Internal::Types::Hash[String, Square::Types::BulkCreateCustomerData] }, optional: false, nullable: false
10
8
  end
11
9
  end
12
10
  end
@@ -4,9 +4,7 @@ module Square
4
4
  module Customers
5
5
  module Types
6
6
  class BulkUpdateCustomersRequest < Internal::Types::Model
7
- field :customers, lambda {
8
- Internal::Types::Hash[String, Square::Types::BulkUpdateCustomerData]
9
- }, optional: false, nullable: false
7
+ field :customers, -> { Internal::Types::Hash[String, Square::Types::BulkUpdateCustomerData] }, optional: false, nullable: false
10
8
  end
11
9
  end
12
10
  end
@@ -3,7 +3,9 @@
3
3
  module Square
4
4
  module Devices
5
5
  class Client
6
- # @return [Square::Devices::Client]
6
+ # @param client [Square::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
7
9
  def initialize(client:)
8
10
  @client = client
9
11
  end
@@ -11,55 +13,88 @@ module Square
11
13
  # List devices associated with the merchant. Currently, only Terminal API
12
14
  # devices are supported.
13
15
  #
16
+ # @param request_options [Hash]
17
+ # @param params [Hash]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ # @option params [String, nil] :cursor
24
+ # @option params [Square::Types::SortOrder, nil] :sort_order
25
+ # @option params [Integer, nil] :limit
26
+ # @option params [String, nil] :location_id
27
+ #
14
28
  # @return [Square::Types::ListDevicesResponse]
15
29
  def list(request_options: {}, **params)
16
- _query_param_names = [
17
- %w[cursor sort_order limit location_id],
18
- %i[cursor sort_order limit location_id]
19
- ].flatten
20
- _query = params.slice(*_query_param_names)
21
- params.except(*_query_param_names)
30
+ params = Square::Internal::Types::Utils.normalize_keys(params)
31
+ query_param_names = %i[cursor sort_order limit location_id]
32
+ query_params = {}
33
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
34
+ query_params["sort_order"] = params[:sort_order] if params.key?(:sort_order)
35
+ query_params["limit"] = params[:limit] if params.key?(:limit)
36
+ query_params["location_id"] = params[:location_id] if params.key?(:location_id)
37
+ params.except(*query_param_names)
22
38
 
23
- _request = Square::Internal::JSON::Request.new(
24
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
25
- method: "GET",
26
- path: "v2/devices",
27
- query: _query
28
- )
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::ListDevicesResponse.load(_response.body)
37
- else
38
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
39
- raise error_class.new(_response.body, code: code)
39
+ Square::Internal::CursorItemIterator.new(
40
+ cursor_field: :cursor,
41
+ item_field: :devices,
42
+ initial_cursor: query_params[:cursor]
43
+ ) do |next_cursor|
44
+ query_params[:cursor] = next_cursor
45
+ request = Square::Internal::JSON::Request.new(
46
+ base_url: request_options[:base_url],
47
+ method: "GET",
48
+ path: "v2/devices",
49
+ query: query_params,
50
+ request_options: request_options
51
+ )
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::ListDevicesResponse.load(response.body)
60
+ else
61
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
62
+ raise error_class.new(response.body, code: code)
63
+ end
40
64
  end
41
65
  end
42
66
 
43
67
  # Retrieves Device with the associated `device_id`.
44
68
  #
69
+ # @param request_options [Hash]
70
+ # @param params [Hash]
71
+ # @option request_options [String] :base_url
72
+ # @option request_options [Hash{String => Object}] :additional_headers
73
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
74
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
75
+ # @option request_options [Integer] :timeout_in_seconds
76
+ # @option params [String] :device_id
77
+ #
45
78
  # @return [Square::Types::GetDeviceResponse]
46
79
  def get(request_options: {}, **params)
47
- _request = Square::Internal::JSON::Request.new(
48
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
80
+ params = Square::Internal::Types::Utils.normalize_keys(params)
81
+ request = Square::Internal::JSON::Request.new(
82
+ base_url: request_options[:base_url],
49
83
  method: "GET",
50
- path: "v2/devices/#{params[:device_id]}"
84
+ path: "v2/devices/#{params[:device_id]}",
85
+ request_options: request_options
51
86
  )
52
87
  begin
53
- _response = @client.send(_request)
88
+ response = @client.send(request)
54
89
  rescue Net::HTTPRequestTimeout
55
90
  raise Square::Errors::TimeoutError
56
91
  end
57
- code = _response.code.to_i
92
+ code = response.code.to_i
58
93
  if code.between?(200, 299)
59
- Square::Types::GetDeviceResponse.load(_response.body)
94
+ Square::Types::GetDeviceResponse.load(response.body)
60
95
  else
61
96
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
62
- raise error_class.new(_response.body, code: code)
97
+ raise error_class.new(response.body, code: code)
63
98
  end
64
99
  end
65
100