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
@@ -4,187 +4,282 @@ module Square
4
4
  module Webhooks
5
5
  module Subscriptions
6
6
  class Client
7
- # @return [Square::Webhooks::Subscriptions::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
  # Lists all webhook subscriptions owned by your application.
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 [Boolean, nil] :include_disabled
25
+ # @option params [Square::Types::SortOrder, nil] :sort_order
26
+ # @option params [Integer, nil] :limit
27
+ #
14
28
  # @return [Square::Types::ListWebhookSubscriptionsResponse]
15
29
  def list(request_options: {}, **params)
16
- _query_param_names = [
17
- %w[cursor include_disabled sort_order limit],
18
- %i[cursor include_disabled sort_order limit]
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 include_disabled sort_order limit]
32
+ query_params = {}
33
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
34
+ query_params["include_disabled"] = params[:include_disabled] if params.key?(:include_disabled)
35
+ query_params["sort_order"] = params[:sort_order] if params.key?(:sort_order)
36
+ query_params["limit"] = params[:limit] if params.key?(:limit)
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/webhooks/subscriptions",
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::ListWebhookSubscriptionsResponse.load(_response.body)
37
- else
38
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
39
- raise error_class.new(_response.body, code: code)
39
+ Square::Internal::CursorItemIterator.new(
40
+ cursor_field: :cursor,
41
+ item_field: :subscriptions,
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/webhooks/subscriptions",
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::ListWebhookSubscriptionsResponse.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
  # Creates a webhook subscription.
44
68
  #
69
+ # @param request_options [Hash]
70
+ # @param params [Square::Webhooks::Subscriptions::Types::CreateWebhookSubscriptionRequest]
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
+ #
45
77
  # @return [Square::Types::CreateWebhookSubscriptionResponse]
46
78
  def create(request_options: {}, **params)
47
- _request = Square::Internal::JSON::Request.new(
48
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
79
+ params = Square::Internal::Types::Utils.normalize_keys(params)
80
+ request = Square::Internal::JSON::Request.new(
81
+ base_url: request_options[:base_url],
49
82
  method: "POST",
50
83
  path: "v2/webhooks/subscriptions",
51
- body: params
84
+ body: Square::Webhooks::Subscriptions::Types::CreateWebhookSubscriptionRequest.new(params).to_h,
85
+ request_options: request_options
52
86
  )
53
87
  begin
54
- _response = @client.send(_request)
88
+ response = @client.send(request)
55
89
  rescue Net::HTTPRequestTimeout
56
90
  raise Square::Errors::TimeoutError
57
91
  end
58
- code = _response.code.to_i
92
+ code = response.code.to_i
59
93
  if code.between?(200, 299)
60
- Square::Types::CreateWebhookSubscriptionResponse.load(_response.body)
94
+ Square::Types::CreateWebhookSubscriptionResponse.load(response.body)
61
95
  else
62
96
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
63
- raise error_class.new(_response.body, code: code)
97
+ raise error_class.new(response.body, code: code)
64
98
  end
65
99
  end
66
100
 
67
101
  # Retrieves a webhook subscription identified by its ID.
68
102
  #
103
+ # @param request_options [Hash]
104
+ # @param params [Hash]
105
+ # @option request_options [String] :base_url
106
+ # @option request_options [Hash{String => Object}] :additional_headers
107
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
108
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
109
+ # @option request_options [Integer] :timeout_in_seconds
110
+ # @option params [String] :subscription_id
111
+ #
69
112
  # @return [Square::Types::GetWebhookSubscriptionResponse]
70
113
  def get(request_options: {}, **params)
71
- _request = Square::Internal::JSON::Request.new(
72
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
114
+ params = Square::Internal::Types::Utils.normalize_keys(params)
115
+ request = Square::Internal::JSON::Request.new(
116
+ base_url: request_options[:base_url],
73
117
  method: "GET",
74
- path: "v2/webhooks/subscriptions/#{params[:subscription_id]}"
118
+ path: "v2/webhooks/subscriptions/#{params[:subscription_id]}",
119
+ request_options: request_options
75
120
  )
76
121
  begin
77
- _response = @client.send(_request)
122
+ response = @client.send(request)
78
123
  rescue Net::HTTPRequestTimeout
79
124
  raise Square::Errors::TimeoutError
80
125
  end
81
- code = _response.code.to_i
126
+ code = response.code.to_i
82
127
  if code.between?(200, 299)
83
- Square::Types::GetWebhookSubscriptionResponse.load(_response.body)
128
+ Square::Types::GetWebhookSubscriptionResponse.load(response.body)
84
129
  else
85
130
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
86
- raise error_class.new(_response.body, code: code)
131
+ raise error_class.new(response.body, code: code)
87
132
  end
88
133
  end
89
134
 
90
135
  # Updates a webhook subscription.
91
136
  #
137
+ # @param request_options [Hash]
138
+ # @param params [Square::Webhooks::Subscriptions::Types::UpdateWebhookSubscriptionRequest]
139
+ # @option request_options [String] :base_url
140
+ # @option request_options [Hash{String => Object}] :additional_headers
141
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
142
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
143
+ # @option request_options [Integer] :timeout_in_seconds
144
+ # @option params [String] :subscription_id
145
+ #
92
146
  # @return [Square::Types::UpdateWebhookSubscriptionResponse]
93
147
  def update(request_options: {}, **params)
94
- _path_param_names = ["subscription_id"]
148
+ params = Square::Internal::Types::Utils.normalize_keys(params)
149
+ request_data = Square::Webhooks::Subscriptions::Types::UpdateWebhookSubscriptionRequest.new(params).to_h
150
+ non_body_param_names = ["subscription_id"]
151
+ body = request_data.except(*non_body_param_names)
95
152
 
96
- _request = Square::Internal::JSON::Request.new(
97
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
153
+ request = Square::Internal::JSON::Request.new(
154
+ base_url: request_options[:base_url],
98
155
  method: "PUT",
99
156
  path: "v2/webhooks/subscriptions/#{params[:subscription_id]}",
100
- body: params.except(*_path_param_names)
157
+ body: body,
158
+ request_options: request_options
101
159
  )
102
160
  begin
103
- _response = @client.send(_request)
161
+ response = @client.send(request)
104
162
  rescue Net::HTTPRequestTimeout
105
163
  raise Square::Errors::TimeoutError
106
164
  end
107
- code = _response.code.to_i
165
+ code = response.code.to_i
108
166
  if code.between?(200, 299)
109
- Square::Types::UpdateWebhookSubscriptionResponse.load(_response.body)
167
+ Square::Types::UpdateWebhookSubscriptionResponse.load(response.body)
110
168
  else
111
169
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
112
- raise error_class.new(_response.body, code: code)
170
+ raise error_class.new(response.body, code: code)
113
171
  end
114
172
  end
115
173
 
116
174
  # Deletes a webhook subscription.
117
175
  #
176
+ # @param request_options [Hash]
177
+ # @param params [Hash]
178
+ # @option request_options [String] :base_url
179
+ # @option request_options [Hash{String => Object}] :additional_headers
180
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
181
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
182
+ # @option request_options [Integer] :timeout_in_seconds
183
+ # @option params [String] :subscription_id
184
+ #
118
185
  # @return [Square::Types::DeleteWebhookSubscriptionResponse]
119
186
  def delete(request_options: {}, **params)
120
- _request = Square::Internal::JSON::Request.new(
121
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
187
+ params = Square::Internal::Types::Utils.normalize_keys(params)
188
+ request = Square::Internal::JSON::Request.new(
189
+ base_url: request_options[:base_url],
122
190
  method: "DELETE",
123
- path: "v2/webhooks/subscriptions/#{params[:subscription_id]}"
191
+ path: "v2/webhooks/subscriptions/#{params[:subscription_id]}",
192
+ request_options: request_options
124
193
  )
125
194
  begin
126
- _response = @client.send(_request)
195
+ response = @client.send(request)
127
196
  rescue Net::HTTPRequestTimeout
128
197
  raise Square::Errors::TimeoutError
129
198
  end
130
- code = _response.code.to_i
199
+ code = response.code.to_i
131
200
  if code.between?(200, 299)
132
- Square::Types::DeleteWebhookSubscriptionResponse.load(_response.body)
201
+ Square::Types::DeleteWebhookSubscriptionResponse.load(response.body)
133
202
  else
134
203
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
135
- raise error_class.new(_response.body, code: code)
204
+ raise error_class.new(response.body, code: code)
136
205
  end
137
206
  end
138
207
 
139
208
  # Updates a webhook subscription by replacing the existing signature key with a new one.
140
209
  #
210
+ # @param request_options [Hash]
211
+ # @param params [Square::Webhooks::Subscriptions::Types::UpdateWebhookSubscriptionSignatureKeyRequest]
212
+ # @option request_options [String] :base_url
213
+ # @option request_options [Hash{String => Object}] :additional_headers
214
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
215
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
216
+ # @option request_options [Integer] :timeout_in_seconds
217
+ # @option params [String] :subscription_id
218
+ #
141
219
  # @return [Square::Types::UpdateWebhookSubscriptionSignatureKeyResponse]
142
220
  def update_signature_key(request_options: {}, **params)
143
- _path_param_names = ["subscription_id"]
221
+ params = Square::Internal::Types::Utils.normalize_keys(params)
222
+ request_data = Square::Webhooks::Subscriptions::Types::UpdateWebhookSubscriptionSignatureKeyRequest.new(params).to_h
223
+ non_body_param_names = ["subscription_id"]
224
+ body = request_data.except(*non_body_param_names)
144
225
 
145
- _request = Square::Internal::JSON::Request.new(
146
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
226
+ request = Square::Internal::JSON::Request.new(
227
+ base_url: request_options[:base_url],
147
228
  method: "POST",
148
229
  path: "v2/webhooks/subscriptions/#{params[:subscription_id]}/signature-key",
149
- body: params.except(*_path_param_names)
230
+ body: body,
231
+ request_options: request_options
150
232
  )
151
233
  begin
152
- _response = @client.send(_request)
234
+ response = @client.send(request)
153
235
  rescue Net::HTTPRequestTimeout
154
236
  raise Square::Errors::TimeoutError
155
237
  end
156
- code = _response.code.to_i
238
+ code = response.code.to_i
157
239
  if code.between?(200, 299)
158
- Square::Types::UpdateWebhookSubscriptionSignatureKeyResponse.load(_response.body)
240
+ Square::Types::UpdateWebhookSubscriptionSignatureKeyResponse.load(response.body)
159
241
  else
160
242
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
161
- raise error_class.new(_response.body, code: code)
243
+ raise error_class.new(response.body, code: code)
162
244
  end
163
245
  end
164
246
 
165
247
  # Tests a webhook subscription by sending a test event to the notification URL.
166
248
  #
249
+ # @param request_options [Hash]
250
+ # @param params [Square::Webhooks::Subscriptions::Types::TestWebhookSubscriptionRequest]
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] :subscription_id
257
+ #
167
258
  # @return [Square::Types::TestWebhookSubscriptionResponse]
168
259
  def test(request_options: {}, **params)
169
- _path_param_names = ["subscription_id"]
260
+ params = Square::Internal::Types::Utils.normalize_keys(params)
261
+ request_data = Square::Webhooks::Subscriptions::Types::TestWebhookSubscriptionRequest.new(params).to_h
262
+ non_body_param_names = ["subscription_id"]
263
+ body = request_data.except(*non_body_param_names)
170
264
 
171
- _request = Square::Internal::JSON::Request.new(
172
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
265
+ request = Square::Internal::JSON::Request.new(
266
+ base_url: request_options[:base_url],
173
267
  method: "POST",
174
268
  path: "v2/webhooks/subscriptions/#{params[:subscription_id]}/test",
175
- body: params.except(*_path_param_names)
269
+ body: body,
270
+ request_options: request_options
176
271
  )
177
272
  begin
178
- _response = @client.send(_request)
273
+ response = @client.send(request)
179
274
  rescue Net::HTTPRequestTimeout
180
275
  raise Square::Errors::TimeoutError
181
276
  end
182
- code = _response.code.to_i
277
+ code = response.code.to_i
183
278
  if code.between?(200, 299)
184
- Square::Types::TestWebhookSubscriptionResponse.load(_response.body)
279
+ Square::Types::TestWebhookSubscriptionResponse.load(response.body)
185
280
  else
186
281
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
187
- raise error_class.new(_response.body, code: code)
282
+ raise error_class.new(response.body, code: code)
188
283
  end
189
284
  end
190
285
  end
data/lib/square.rb CHANGED
@@ -30,6 +30,11 @@ require_relative "square/errors/client_error"
30
30
  require_relative "square/errors/redirect_error"
31
31
  require_relative "square/errors/server_error"
32
32
  require_relative "square/errors/timeout_error"
33
+ require_relative "square/internal/iterators/item_iterator"
34
+ require_relative "square/internal/iterators/cursor_item_iterator"
35
+ require_relative "square/internal/iterators/offset_item_iterator"
36
+ require_relative "square/internal/iterators/cursor_page_iterator"
37
+ require_relative "square/internal/iterators/offset_page_iterator"
33
38
  require_relative "square/types/ach_details"
34
39
  require_relative "square/types/card_brand"
35
40
  require_relative "square/types/currency"
@@ -65,6 +70,7 @@ require_relative "square/types/adjust_loyalty_points_response"
65
70
  require_relative "square/types/afterpay_details"
66
71
  require_relative "square/types/application_details_external_square_product"
67
72
  require_relative "square/types/application_details"
73
+ require_relative "square/types/application_type"
68
74
  require_relative "square/types/appointment_segment"
69
75
  require_relative "square/types/archived_state"
70
76
  require_relative "square/types/availability"
@@ -83,6 +89,7 @@ require_relative "square/types/bank_account_verified_event_data"
83
89
  require_relative "square/types/bank_account_verified_event"
84
90
  require_relative "square/types/measurement_unit_area"
85
91
  require_relative "square/types/measurement_unit_custom"
92
+ require_relative "square/types/measurement_unit_generic"
86
93
  require_relative "square/types/measurement_unit_length"
87
94
  require_relative "square/types/measurement_unit_time"
88
95
  require_relative "square/types/measurement_unit_unit_type"
@@ -131,6 +138,7 @@ require_relative "square/types/catalog_item_food_and_beverage_details_dietary_pr
131
138
  require_relative "square/types/catalog_item_food_and_beverage_details_ingredient_standard_ingredient"
132
139
  require_relative "square/types/catalog_item_food_and_beverage_details_ingredient"
133
140
  require_relative "square/types/catalog_item_food_and_beverage_details"
141
+ require_relative "square/types/catalog_modifier_toggle_override_type"
134
142
  require_relative "square/types/catalog_modifier_override"
135
143
  require_relative "square/types/catalog_item_modifier_list_info"
136
144
  require_relative "square/types/catalog_item_option_for_item"
@@ -146,7 +154,6 @@ require_relative "square/types/modifier_location_overrides"
146
154
  require_relative "square/types/catalog_modifier"
147
155
  require_relative "square/types/catalog_modifier_list_modifier_type"
148
156
  require_relative "square/types/catalog_modifier_list_selection_type"
149
- require_relative "square/types/catalog_object_base"
150
157
  require_relative "square/types/exclude_strategy"
151
158
  require_relative "square/types/catalog_pricing_rule"
152
159
  require_relative "square/types/catalog_product_set"
@@ -163,6 +170,7 @@ require_relative "square/types/tax_calculation_phase"
163
170
  require_relative "square/types/tax_inclusion_type"
164
171
  require_relative "square/types/catalog_tax"
165
172
  require_relative "square/types/catalog_time_period"
173
+ require_relative "square/types/catalog_object_base"
166
174
  require_relative "square/types/catalog_object_image"
167
175
  require_relative "square/types/catalog_object_item_variation"
168
176
  require_relative "square/types/catalog_object_tax"
@@ -192,6 +200,7 @@ require_relative "square/types/batch_get_inventory_changes_response"
192
200
  require_relative "square/types/batch_get_inventory_counts_request"
193
201
  require_relative "square/types/batch_get_inventory_counts_response"
194
202
  require_relative "square/types/card_co_brand"
203
+ require_relative "square/types/card_issuer_alert"
195
204
  require_relative "square/types/card_prepaid_type"
196
205
  require_relative "square/types/card_type"
197
206
  require_relative "square/types/card"
@@ -213,6 +222,7 @@ require_relative "square/types/order_line_item_applied_tax"
213
222
  require_relative "square/types/order_line_item_item_type"
214
223
  require_relative "square/types/order_line_item_modifier"
215
224
  require_relative "square/types/order_line_item_pricing_blocklists_blocked_discount"
225
+ require_relative "square/types/order_line_item_pricing_blocklists_blocked_service_charge"
216
226
  require_relative "square/types/order_line_item_pricing_blocklists_blocked_tax"
217
227
  require_relative "square/types/order_line_item_pricing_blocklists"
218
228
  require_relative "square/types/order_quantity_unit"
@@ -231,13 +241,13 @@ require_relative "square/types/order_return_line_item"
231
241
  require_relative "square/types/order_service_charge_calculation_phase"
232
242
  require_relative "square/types/order_service_charge_scope"
233
243
  require_relative "square/types/order_service_charge_treatment_type"
244
+ require_relative "square/types/order_service_charge_type"
234
245
  require_relative "square/types/order_return_service_charge"
235
246
  require_relative "square/types/order_return_tax"
236
247
  require_relative "square/types/order_return_tip"
237
248
  require_relative "square/types/order_rounding_adjustment"
238
249
  require_relative "square/types/order_return"
239
250
  require_relative "square/types/order_reward"
240
- require_relative "square/types/order_service_charge_type"
241
251
  require_relative "square/types/order_service_charge"
242
252
  require_relative "square/types/order_source"
243
253
  require_relative "square/types/order_state"
@@ -335,6 +345,7 @@ require_relative "square/types/publish_scheduled_shift_response"
335
345
  require_relative "square/types/bulk_publish_scheduled_shifts_response"
336
346
  require_relative "square/types/get_booking_response"
337
347
  require_relative "square/types/bulk_retrieve_bookings_response"
348
+ require_relative "square/types/bulk_retrieve_channels_request_constants"
338
349
  require_relative "square/types/channel_status"
339
350
  require_relative "square/types/reference_type"
340
351
  require_relative "square/types/reference"
@@ -536,6 +547,7 @@ require_relative "square/types/device_component_details_measurement"
536
547
  require_relative "square/types/device_component_details_wi_fi_details"
537
548
  require_relative "square/types/component"
538
549
  require_relative "square/types/coordinates"
550
+ require_relative "square/types/create_bank_account_response"
539
551
  require_relative "square/types/create_booking_custom_attribute_definition_response"
540
552
  require_relative "square/types/create_booking_response"
541
553
  require_relative "square/types/create_break_type_response"
@@ -548,6 +560,7 @@ require_relative "square/types/create_customer_custom_attribute_definition_respo
548
560
  require_relative "square/types/customer_group"
549
561
  require_relative "square/types/create_customer_group_response"
550
562
  require_relative "square/types/device_code_status"
563
+ require_relative "square/types/product_type"
551
564
  require_relative "square/types/device_code"
552
565
  require_relative "square/types/create_device_code_response"
553
566
  require_relative "square/types/dispute_evidence_type"
@@ -561,6 +574,7 @@ require_relative "square/types/gift_card_activity_adjust_decrement_reason"
561
574
  require_relative "square/types/gift_card_activity_adjust_decrement"
562
575
  require_relative "square/types/gift_card_activity_adjust_increment_reason"
563
576
  require_relative "square/types/gift_card_activity_adjust_increment"
577
+ require_relative "square/types/gift_card_activity_block_reason"
564
578
  require_relative "square/types/gift_card_activity_block"
565
579
  require_relative "square/types/gift_card_activity_clear_balance_reason"
566
580
  require_relative "square/types/gift_card_activity_clear_balance"
@@ -575,6 +589,7 @@ require_relative "square/types/gift_card_activity_refund"
575
589
  require_relative "square/types/gift_card_activity_transfer_balance_from"
576
590
  require_relative "square/types/gift_card_activity_transfer_balance_to"
577
591
  require_relative "square/types/gift_card_activity_type"
592
+ require_relative "square/types/gift_card_activity_unblock_reason"
578
593
  require_relative "square/types/gift_card_activity_unblock"
579
594
  require_relative "square/types/gift_card_activity_unlinked_activity_refund"
580
595
  require_relative "square/types/gift_card_activity"
@@ -605,7 +620,6 @@ require_relative "square/types/loyalty_reward_status"
605
620
  require_relative "square/types/loyalty_reward"
606
621
  require_relative "square/types/create_loyalty_reward_response"
607
622
  require_relative "square/types/create_merchant_custom_attribute_definition_response"
608
- require_relative "square/types/create_mobile_authorization_code_response"
609
623
  require_relative "square/types/create_order_custom_attribute_definition_response"
610
624
  require_relative "square/types/create_order_request"
611
625
  require_relative "square/types/create_order_response"
@@ -726,6 +740,7 @@ require_relative "square/types/device_code_paired_event"
726
740
  require_relative "square/types/device_created_event_object"
727
741
  require_relative "square/types/device_created_event_data"
728
742
  require_relative "square/types/device_created_event"
743
+ require_relative "square/types/disable_bank_account_response"
729
744
  require_relative "square/types/disable_card_response"
730
745
  require_relative "square/types/disable_events_response"
731
746
  require_relative "square/types/dismiss_terminal_action_response"
@@ -819,6 +834,7 @@ require_relative "square/types/invoice_payment_made_event"
819
834
  require_relative "square/types/invoice_published_event_object"
820
835
  require_relative "square/types/invoice_published_event_data"
821
836
  require_relative "square/types/invoice_published_event"
837
+ require_relative "square/types/invoice_sort_field"
822
838
  require_relative "square/types/invoice_sort"
823
839
  require_relative "square/types/invoice_query"
824
840
  require_relative "square/types/invoice_refunded_event_object"
@@ -873,6 +889,7 @@ require_relative "square/types/list_cards_response"
873
889
  require_relative "square/types/list_cash_drawer_shift_events_response"
874
890
  require_relative "square/types/list_cash_drawer_shifts_response"
875
891
  require_relative "square/types/list_catalog_response"
892
+ require_relative "square/types/list_channels_request_constants"
876
893
  require_relative "square/types/list_channels_response"
877
894
  require_relative "square/types/list_customer_custom_attribute_definitions_response"
878
895
  require_relative "square/types/list_customer_custom_attributes_response"
@@ -989,6 +1006,7 @@ require_relative "square/types/loyalty_account_created_event"
989
1006
  require_relative "square/types/loyalty_account_deleted_event_object"
990
1007
  require_relative "square/types/loyalty_account_deleted_event_data"
991
1008
  require_relative "square/types/loyalty_account_deleted_event"
1009
+ require_relative "square/types/loyalty_account_mapping_type"
992
1010
  require_relative "square/types/loyalty_account_updated_event_object"
993
1011
  require_relative "square/types/loyalty_account_updated_event_data"
994
1012
  require_relative "square/types/loyalty_account_updated_event"
@@ -1033,6 +1051,7 @@ require_relative "square/types/oauth_authorization_revoked_event_object"
1033
1051
  require_relative "square/types/oauth_authorization_revoked_event_data"
1034
1052
  require_relative "square/types/oauth_authorization_revoked_event"
1035
1053
  require_relative "square/types/obtain_token_response"
1054
+ require_relative "square/types/order_card_surcharge_treatment_type"
1036
1055
  require_relative "square/types/order_created"
1037
1056
  require_relative "square/types/order_created_object"
1038
1057
  require_relative "square/types/order_created_event_data"
@@ -1164,6 +1183,7 @@ require_relative "square/types/search_catalog_items_response"
1164
1183
  require_relative "square/types/search_catalog_objects_response"
1165
1184
  require_relative "square/types/search_customers_response"
1166
1185
  require_relative "square/types/search_events_filter"
1186
+ require_relative "square/types/search_events_sort_field"
1167
1187
  require_relative "square/types/search_events_sort"
1168
1188
  require_relative "square/types/search_events_query"
1169
1189
  require_relative "square/types/search_events_response"
@@ -1327,17 +1347,47 @@ require_relative "square/types/v_1_tender_type"
1327
1347
  require_relative "square/types/v_1_tender"
1328
1348
  require_relative "square/types/v_1_order"
1329
1349
  require_relative "square/types/v_1_update_order_request_action"
1350
+ require_relative "square/types/vendor_created_event_object_operation"
1330
1351
  require_relative "square/types/vendor_created_event_object"
1331
1352
  require_relative "square/types/vendor_created_event_data"
1332
1353
  require_relative "square/types/vendor_created_event"
1354
+ require_relative "square/types/vendor_updated_event_object_operation"
1333
1355
  require_relative "square/types/vendor_updated_event_object"
1334
1356
  require_relative "square/types/vendor_updated_event_data"
1335
1357
  require_relative "square/types/vendor_updated_event"
1336
1358
  require_relative "square/types/visibility_filter"
1337
1359
  require_relative "square/types/void_transaction_response"
1360
+ require_relative "square/types/get_loyalty_account_request"
1361
+ require_relative "square/types/get_loyalty_program_request"
1362
+ require_relative "square/types/get_loyalty_promotion_request"
1363
+ require_relative "square/types/get_loyalty_reward_request"
1364
+ require_relative "square/types/get_card_request"
1365
+ require_relative "square/types/get_dispute_evidence_request"
1366
+ require_relative "square/types/get_dispute_request"
1367
+ require_relative "square/types/v_1_get_payment_request"
1368
+ require_relative "square/types/v_1_get_settlement_request"
1369
+ require_relative "square/types/get_customer_group_request"
1370
+ require_relative "square/types/get_customer_request"
1371
+ require_relative "square/types/get_customer_segment_request"
1372
+ require_relative "square/types/get_transaction_request"
1373
+ require_relative "square/types/get_booking_request"
1374
+ require_relative "square/types/get_business_booking_profile_request"
1375
+ require_relative "square/types/get_team_member_booking_profile_request"
1376
+ require_relative "square/types/get_snippet_request"
1377
+ require_relative "square/types/get_inventory_adjustment_request"
1378
+ require_relative "square/types/get_inventory_physical_count_request"
1379
+ require_relative "square/types/get_inventory_transfer_request"
1380
+ require_relative "square/types/get_vendor_request"
1381
+ require_relative "square/types/get_payment_link_request"
1382
+ require_relative "square/types/get_gift_card_request"
1383
+ require_relative "square/types/get_order_request"
1384
+ require_relative "square/types/get_employee_request"
1385
+ require_relative "square/types/get_location_request"
1386
+ require_relative "square/types/get_merchant_request"
1387
+ require_relative "square/types/get_team_member_request"
1388
+ require_relative "square/types/get_wage_setting_request"
1389
+ require_relative "square/types/get_webhook_subscription_request"
1338
1390
  require_relative "square/client"
1339
- require_relative "square/mobile/client"
1340
- require_relative "square/mobile/types/create_mobile_authorization_code_request"
1341
1391
  require_relative "square/o_auth/client"
1342
1392
  require_relative "square/o_auth/types/revoke_token_request"
1343
1393
  require_relative "square/o_auth/types/obtain_token_request"
@@ -1349,8 +1399,10 @@ require_relative "square/apple_pay/client"
1349
1399
  require_relative "square/apple_pay/types/register_domain_request"
1350
1400
  require_relative "square/bank_accounts/client"
1351
1401
  require_relative "square/bank_accounts/types/list_bank_accounts_request"
1402
+ require_relative "square/bank_accounts/types/create_bank_account_request"
1352
1403
  require_relative "square/bank_accounts/types/get_by_v_1_id_bank_accounts_request"
1353
1404
  require_relative "square/bank_accounts/types/get_bank_accounts_request"
1405
+ require_relative "square/bank_accounts/types/disable_bank_account_request"
1354
1406
  require_relative "square/bookings/client"
1355
1407
  require_relative "square/bookings/types/list_bookings_request"
1356
1408
  require_relative "square/bookings/types/create_booking_request"
@@ -10,7 +10,7 @@ module SquareLegacy
10
10
 
11
11
  # Perform UTF-8 encoding to bytes
12
12
  payload_bytes = "#{notification_url}#{request_body}".force_encoding('utf-8')
13
- signature_key_bytes = signature_key.force_encoding('utf-8')
13
+ signature_key_bytes = signature_key.dup.force_encoding('utf-8')
14
14
 
15
15
  # Compute the hash value
16
16
  hmac = OpenSSL::HMAC.digest('sha256', signature_key_bytes, payload_bytes)