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