square.rb 44.1.0.20250924 → 45.0.1.20260122

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