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,7 +4,9 @@ module Square
4
4
  module Merchants
5
5
  module CustomAttributes
6
6
  class Client
7
- # @return [Square::Merchants::CustomAttributes::Client]
7
+ # @param client [Square::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
8
10
  def initialize(client:)
9
11
  @client = client
10
12
  end
@@ -13,32 +15,44 @@ module Square
13
15
  # To delete a custom attribute owned by another application, the `visibility` setting must be
14
16
  # `VISIBILITY_READ_WRITE_VALUES`.
15
17
  #
18
+ # @param request_options [Hash]
19
+ # @param params [Square::Merchants::CustomAttributes::Types::BulkDeleteMerchantCustomAttributesRequest]
20
+ # @option request_options [String] :base_url
21
+ # @option request_options [Hash{String => Object}] :additional_headers
22
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
23
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
24
+ # @option request_options [Integer] :timeout_in_seconds
25
+ #
16
26
  # @return [Square::Types::BulkDeleteMerchantCustomAttributesResponse]
17
27
  def batch_delete(request_options: {}, **params)
18
- _request = Square::Internal::JSON::Request.new(
19
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
28
+ params = Square::Internal::Types::Utils.normalize_keys(params)
29
+ request = Square::Internal::JSON::Request.new(
30
+ base_url: request_options[:base_url],
20
31
  method: "POST",
21
32
  path: "v2/merchants/custom-attributes/bulk-delete",
22
- body: params
33
+ body: Square::Merchants::CustomAttributes::Types::BulkDeleteMerchantCustomAttributesRequest.new(params).to_h,
34
+ request_options: request_options
23
35
  )
24
36
  begin
25
- _response = @client.send(_request)
37
+ response = @client.send(request)
26
38
  rescue Net::HTTPRequestTimeout
27
39
  raise Square::Errors::TimeoutError
28
40
  end
29
- code = _response.code.to_i
41
+ code = response.code.to_i
30
42
  if code.between?(200, 299)
31
- Square::Types::BulkDeleteMerchantCustomAttributesResponse.load(_response.body)
43
+ Square::Types::BulkDeleteMerchantCustomAttributesResponse.load(response.body)
32
44
  else
33
45
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
34
- raise error_class.new(_response.body, code: code)
46
+ raise error_class.new(response.body, code: code)
35
47
  end
36
48
  end
37
49
 
38
50
  # Creates or updates [custom attributes](entity:CustomAttribute) for a merchant as a bulk operation.
39
51
  # Use this endpoint to set the value of one or more custom attributes for a merchant.
40
52
  # A custom attribute is based on a custom attribute definition in a Square seller account, which is
41
- # created using the [CreateMerchantCustomAttributeDefinition](api-endpoint:MerchantCustomAttributes-CreateMerchantCustomAttributeDefinition) endpoint.
53
+ # created using the
54
+ # [CreateMerchantCustomAttributeDefinition](api-endpoint:MerchantCustomAttributes-CreateMerchantCustomAttributeDefinition)
55
+ # endpoint.
42
56
  # This `BulkUpsertMerchantCustomAttributes` endpoint accepts a map of 1 to 25 individual upsert
43
57
  # requests and returns a map of individual upsert responses. Each upsert request has a unique ID
44
58
  # and provides a merchant ID and custom attribute. Each upsert response is returned with the ID
@@ -46,25 +60,35 @@ module Square
46
60
  # To create or update a custom attribute owned by another application, the `visibility` setting
47
61
  # must be `VISIBILITY_READ_WRITE_VALUES`.
48
62
  #
63
+ # @param request_options [Hash]
64
+ # @param params [Square::Merchants::CustomAttributes::Types::BulkUpsertMerchantCustomAttributesRequest]
65
+ # @option request_options [String] :base_url
66
+ # @option request_options [Hash{String => Object}] :additional_headers
67
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
68
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
69
+ # @option request_options [Integer] :timeout_in_seconds
70
+ #
49
71
  # @return [Square::Types::BulkUpsertMerchantCustomAttributesResponse]
50
72
  def batch_upsert(request_options: {}, **params)
51
- _request = Square::Internal::JSON::Request.new(
52
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
73
+ params = Square::Internal::Types::Utils.normalize_keys(params)
74
+ request = Square::Internal::JSON::Request.new(
75
+ base_url: request_options[:base_url],
53
76
  method: "POST",
54
77
  path: "v2/merchants/custom-attributes/bulk-upsert",
55
- body: params
78
+ body: Square::Merchants::CustomAttributes::Types::BulkUpsertMerchantCustomAttributesRequest.new(params).to_h,
79
+ request_options: request_options
56
80
  )
57
81
  begin
58
- _response = @client.send(_request)
82
+ response = @client.send(request)
59
83
  rescue Net::HTTPRequestTimeout
60
84
  raise Square::Errors::TimeoutError
61
85
  end
62
- code = _response.code.to_i
86
+ code = response.code.to_i
63
87
  if code.between?(200, 299)
64
- Square::Types::BulkUpsertMerchantCustomAttributesResponse.load(_response.body)
88
+ Square::Types::BulkUpsertMerchantCustomAttributesResponse.load(response.body)
65
89
  else
66
90
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
67
- raise error_class.new(_response.body, code: code)
91
+ raise error_class.new(response.body, code: code)
68
92
  end
69
93
  end
70
94
 
@@ -75,32 +99,55 @@ module Square
75
99
  # visible to the requesting application, including those that are owned by other applications
76
100
  # and set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.
77
101
  #
102
+ # @param request_options [Hash]
103
+ # @param params [Hash]
104
+ # @option request_options [String] :base_url
105
+ # @option request_options [Hash{String => Object}] :additional_headers
106
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
107
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
108
+ # @option request_options [Integer] :timeout_in_seconds
109
+ # @option params [String] :merchant_id
110
+ # @option params [Square::Types::VisibilityFilter, nil] :visibility_filter
111
+ # @option params [Integer, nil] :limit
112
+ # @option params [String, nil] :cursor
113
+ # @option params [Boolean, nil] :with_definitions
114
+ #
78
115
  # @return [Square::Types::ListMerchantCustomAttributesResponse]
79
116
  def list(request_options: {}, **params)
80
- _query_param_names = [
81
- %w[visibility_filter limit cursor with_definitions],
82
- %i[visibility_filter limit cursor with_definitions]
83
- ].flatten
84
- _query = params.slice(*_query_param_names)
85
- params = params.except(*_query_param_names)
117
+ params = Square::Internal::Types::Utils.normalize_keys(params)
118
+ query_param_names = %i[visibility_filter limit cursor with_definitions]
119
+ query_params = {}
120
+ query_params["visibility_filter"] = params[:visibility_filter] if params.key?(:visibility_filter)
121
+ query_params["limit"] = params[:limit] if params.key?(:limit)
122
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
123
+ query_params["with_definitions"] = params[:with_definitions] if params.key?(:with_definitions)
124
+ params = params.except(*query_param_names)
86
125
 
87
- _request = Square::Internal::JSON::Request.new(
88
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
89
- method: "GET",
90
- path: "v2/merchants/#{params[:merchant_id]}/custom-attributes",
91
- query: _query
92
- )
93
- begin
94
- _response = @client.send(_request)
95
- rescue Net::HTTPRequestTimeout
96
- raise Square::Errors::TimeoutError
97
- end
98
- code = _response.code.to_i
99
- if code.between?(200, 299)
100
- Square::Types::ListMerchantCustomAttributesResponse.load(_response.body)
101
- else
102
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
103
- raise error_class.new(_response.body, code: code)
126
+ Square::Internal::CursorItemIterator.new(
127
+ cursor_field: :cursor,
128
+ item_field: :custom_attributes,
129
+ initial_cursor: query_params[:cursor]
130
+ ) do |next_cursor|
131
+ query_params[:cursor] = next_cursor
132
+ request = Square::Internal::JSON::Request.new(
133
+ base_url: request_options[:base_url],
134
+ method: "GET",
135
+ path: "v2/merchants/#{params[:merchant_id]}/custom-attributes",
136
+ query: query_params,
137
+ request_options: request_options
138
+ )
139
+ begin
140
+ response = @client.send(request)
141
+ rescue Net::HTTPRequestTimeout
142
+ raise Square::Errors::TimeoutError
143
+ end
144
+ code = response.code.to_i
145
+ if code.between?(200, 299)
146
+ Square::Types::ListMerchantCustomAttributesResponse.load(response.body)
147
+ else
148
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
149
+ raise error_class.new(response.body, code: code)
150
+ end
104
151
  end
105
152
  end
106
153
 
@@ -110,63 +157,92 @@ module Square
110
157
  # To retrieve a custom attribute owned by another application, the `visibility` setting must be
111
158
  # `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.
112
159
  #
160
+ # @param request_options [Hash]
161
+ # @param params [Hash]
162
+ # @option request_options [String] :base_url
163
+ # @option request_options [Hash{String => Object}] :additional_headers
164
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
165
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
166
+ # @option request_options [Integer] :timeout_in_seconds
167
+ # @option params [String] :merchant_id
168
+ # @option params [String] :key
169
+ # @option params [Boolean, nil] :with_definition
170
+ # @option params [Integer, nil] :version
171
+ #
113
172
  # @return [Square::Types::RetrieveMerchantCustomAttributeResponse]
114
173
  def get(request_options: {}, **params)
115
- _query_param_names = [
116
- %w[with_definition version],
117
- %i[with_definition version]
118
- ].flatten
119
- _query = params.slice(*_query_param_names)
120
- params = params.except(*_query_param_names)
174
+ params = Square::Internal::Types::Utils.normalize_keys(params)
175
+ query_param_names = %i[with_definition version]
176
+ query_params = {}
177
+ query_params["with_definition"] = params[:with_definition] if params.key?(:with_definition)
178
+ query_params["version"] = params[:version] if params.key?(:version)
179
+ params = params.except(*query_param_names)
121
180
 
122
- _request = Square::Internal::JSON::Request.new(
123
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
181
+ request = Square::Internal::JSON::Request.new(
182
+ base_url: request_options[:base_url],
124
183
  method: "GET",
125
184
  path: "v2/merchants/#{params[:merchant_id]}/custom-attributes/#{params[:key]}",
126
- query: _query
185
+ query: query_params,
186
+ request_options: request_options
127
187
  )
128
188
  begin
129
- _response = @client.send(_request)
189
+ response = @client.send(request)
130
190
  rescue Net::HTTPRequestTimeout
131
191
  raise Square::Errors::TimeoutError
132
192
  end
133
- code = _response.code.to_i
193
+ code = response.code.to_i
134
194
  if code.between?(200, 299)
135
- Square::Types::RetrieveMerchantCustomAttributeResponse.load(_response.body)
195
+ Square::Types::RetrieveMerchantCustomAttributeResponse.load(response.body)
136
196
  else
137
197
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
138
- raise error_class.new(_response.body, code: code)
198
+ raise error_class.new(response.body, code: code)
139
199
  end
140
200
  end
141
201
 
142
202
  # Creates or updates a [custom attribute](entity:CustomAttribute) for a merchant.
143
203
  # Use this endpoint to set the value of a custom attribute for a specified merchant.
144
204
  # A custom attribute is based on a custom attribute definition in a Square seller account, which
145
- # is created using the [CreateMerchantCustomAttributeDefinition](api-endpoint:MerchantCustomAttributes-CreateMerchantCustomAttributeDefinition) endpoint.
205
+ # is created using the
206
+ # [CreateMerchantCustomAttributeDefinition](api-endpoint:MerchantCustomAttributes-CreateMerchantCustomAttributeDefinition)
207
+ # endpoint.
146
208
  # To create or update a custom attribute owned by another application, the `visibility` setting
147
209
  # must be `VISIBILITY_READ_WRITE_VALUES`.
148
210
  #
211
+ # @param request_options [Hash]
212
+ # @param params [Square::Merchants::CustomAttributes::Types::UpsertMerchantCustomAttributeRequest]
213
+ # @option request_options [String] :base_url
214
+ # @option request_options [Hash{String => Object}] :additional_headers
215
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
216
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
217
+ # @option request_options [Integer] :timeout_in_seconds
218
+ # @option params [String] :merchant_id
219
+ # @option params [String] :key
220
+ #
149
221
  # @return [Square::Types::UpsertMerchantCustomAttributeResponse]
150
222
  def upsert(request_options: {}, **params)
151
- _path_param_names = %w[merchant_id key]
223
+ params = Square::Internal::Types::Utils.normalize_keys(params)
224
+ request_data = Square::Merchants::CustomAttributes::Types::UpsertMerchantCustomAttributeRequest.new(params).to_h
225
+ non_body_param_names = %w[merchant_id key]
226
+ body = request_data.except(*non_body_param_names)
152
227
 
153
- _request = Square::Internal::JSON::Request.new(
154
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
228
+ request = Square::Internal::JSON::Request.new(
229
+ base_url: request_options[:base_url],
155
230
  method: "POST",
156
231
  path: "v2/merchants/#{params[:merchant_id]}/custom-attributes/#{params[:key]}",
157
- body: params.except(*_path_param_names)
232
+ body: body,
233
+ request_options: request_options
158
234
  )
159
235
  begin
160
- _response = @client.send(_request)
236
+ response = @client.send(request)
161
237
  rescue Net::HTTPRequestTimeout
162
238
  raise Square::Errors::TimeoutError
163
239
  end
164
- code = _response.code.to_i
240
+ code = response.code.to_i
165
241
  if code.between?(200, 299)
166
- Square::Types::UpsertMerchantCustomAttributeResponse.load(_response.body)
242
+ Square::Types::UpsertMerchantCustomAttributeResponse.load(response.body)
167
243
  else
168
244
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
169
- raise error_class.new(_response.body, code: code)
245
+ raise error_class.new(response.body, code: code)
170
246
  end
171
247
  end
172
248
 
@@ -174,24 +250,36 @@ module Square
174
250
  # To delete a custom attribute owned by another application, the `visibility` setting must be
175
251
  # `VISIBILITY_READ_WRITE_VALUES`.
176
252
  #
253
+ # @param request_options [Hash]
254
+ # @param params [Hash]
255
+ # @option request_options [String] :base_url
256
+ # @option request_options [Hash{String => Object}] :additional_headers
257
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
258
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
259
+ # @option request_options [Integer] :timeout_in_seconds
260
+ # @option params [String] :merchant_id
261
+ # @option params [String] :key
262
+ #
177
263
  # @return [Square::Types::DeleteMerchantCustomAttributeResponse]
178
264
  def delete(request_options: {}, **params)
179
- _request = Square::Internal::JSON::Request.new(
180
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
265
+ params = Square::Internal::Types::Utils.normalize_keys(params)
266
+ request = Square::Internal::JSON::Request.new(
267
+ base_url: request_options[:base_url],
181
268
  method: "DELETE",
182
- path: "v2/merchants/#{params[:merchant_id]}/custom-attributes/#{params[:key]}"
269
+ path: "v2/merchants/#{params[:merchant_id]}/custom-attributes/#{params[:key]}",
270
+ request_options: request_options
183
271
  )
184
272
  begin
185
- _response = @client.send(_request)
273
+ response = @client.send(request)
186
274
  rescue Net::HTTPRequestTimeout
187
275
  raise Square::Errors::TimeoutError
188
276
  end
189
- code = _response.code.to_i
277
+ code = response.code.to_i
190
278
  if code.between?(200, 299)
191
- Square::Types::DeleteMerchantCustomAttributeResponse.load(_response.body)
279
+ Square::Types::DeleteMerchantCustomAttributeResponse.load(response.body)
192
280
  else
193
281
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
194
- raise error_class.new(_response.body, code: code)
282
+ raise error_class.new(response.body, code: code)
195
283
  end
196
284
  end
197
285
  end
@@ -5,9 +5,7 @@ module Square
5
5
  module CustomAttributes
6
6
  module Types
7
7
  class BulkDeleteMerchantCustomAttributesRequest < Internal::Types::Model
8
- field :values, lambda {
9
- Internal::Types::Hash[String, Square::Types::BulkDeleteMerchantCustomAttributesRequestMerchantCustomAttributeDeleteRequest]
10
- }, optional: false, nullable: false
8
+ field :values, -> { Internal::Types::Hash[String, Square::Types::BulkDeleteMerchantCustomAttributesRequestMerchantCustomAttributeDeleteRequest] }, optional: false, nullable: false
11
9
  end
12
10
  end
13
11
  end
@@ -5,9 +5,7 @@ module Square
5
5
  module CustomAttributes
6
6
  module Types
7
7
  class BulkUpsertMerchantCustomAttributesRequest < Internal::Types::Model
8
- field :values, lambda {
9
- Internal::Types::Hash[String, Square::Types::BulkUpsertMerchantCustomAttributesRequestMerchantCustomAttributeUpsertRequest]
10
- }, optional: false, nullable: false
8
+ field :values, -> { Internal::Types::Hash[String, Square::Types::BulkUpsertMerchantCustomAttributesRequestMerchantCustomAttributeUpsertRequest] }, optional: false, nullable: false
11
9
  end
12
10
  end
13
11
  end
@@ -3,7 +3,9 @@
3
3
  module Square
4
4
  module OAuth
5
5
  class Client
6
- # @return [Square::OAuth::Client]
6
+ # @param client [Square::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
7
9
  def initialize(client:)
8
10
  @client = client
9
11
  end
@@ -23,25 +25,35 @@ module Square
23
25
  # Replace `APPLICATION_SECRET` with the application secret on the **OAuth**
24
26
  # page for your application in the Developer Dashboard.
25
27
  #
28
+ # @param request_options [Hash]
29
+ # @param params [Square::OAuth::Types::RevokeTokenRequest]
30
+ # @option request_options [String] :base_url
31
+ # @option request_options [Hash{String => Object}] :additional_headers
32
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
33
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
34
+ # @option request_options [Integer] :timeout_in_seconds
35
+ #
26
36
  # @return [Square::Types::RevokeTokenResponse]
27
37
  def revoke_token(request_options: {}, **params)
28
- _request = Square::Internal::JSON::Request.new(
29
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
38
+ params = Square::Internal::Types::Utils.normalize_keys(params)
39
+ request = Square::Internal::JSON::Request.new(
40
+ base_url: request_options[:base_url],
30
41
  method: "POST",
31
42
  path: "oauth2/revoke",
32
- body: params
43
+ body: Square::OAuth::Types::RevokeTokenRequest.new(params).to_h,
44
+ request_options: request_options
33
45
  )
34
46
  begin
35
- _response = @client.send(_request)
47
+ response = @client.send(request)
36
48
  rescue Net::HTTPRequestTimeout
37
49
  raise Square::Errors::TimeoutError
38
50
  end
39
- code = _response.code.to_i
51
+ code = response.code.to_i
40
52
  if code.between?(200, 299)
41
- Square::Types::RevokeTokenResponse.load(_response.body)
53
+ Square::Types::RevokeTokenResponse.load(response.body)
42
54
  else
43
55
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
44
- raise error_class.new(_response.body, code: code)
56
+ raise error_class.new(response.body, code: code)
45
57
  end
46
58
  end
47
59
 
@@ -67,29 +79,42 @@ module Square
67
79
  # __Important:__ OAuth tokens should be encrypted and stored on a secure server.
68
80
  # Application clients should never interact directly with OAuth tokens.
69
81
  #
82
+ # @param request_options [Hash]
83
+ # @param params [Square::OAuth::Types::ObtainTokenRequest]
84
+ # @option request_options [String] :base_url
85
+ # @option request_options [Hash{String => Object}] :additional_headers
86
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
87
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
88
+ # @option request_options [Integer] :timeout_in_seconds
89
+ #
70
90
  # @return [Square::Types::ObtainTokenResponse]
71
91
  def obtain_token(request_options: {}, **params)
72
- _request = Square::Internal::JSON::Request.new(
73
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
92
+ params = Square::Internal::Types::Utils.normalize_keys(params)
93
+ request = Square::Internal::JSON::Request.new(
94
+ base_url: request_options[:base_url],
74
95
  method: "POST",
75
96
  path: "oauth2/token",
76
- body: params
97
+ body: Square::OAuth::Types::ObtainTokenRequest.new(params).to_h,
98
+ request_options: request_options
77
99
  )
78
100
  begin
79
- _response = @client.send(_request)
101
+ response = @client.send(request)
80
102
  rescue Net::HTTPRequestTimeout
81
103
  raise Square::Errors::TimeoutError
82
104
  end
83
- code = _response.code.to_i
105
+ code = response.code.to_i
84
106
  if code.between?(200, 299)
85
- Square::Types::ObtainTokenResponse.load(_response.body)
107
+ Square::Types::ObtainTokenResponse.load(response.body)
86
108
  else
87
109
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
88
- raise error_class.new(_response.body, code: code)
110
+ raise error_class.new(response.body, code: code)
89
111
  end
90
112
  end
91
113
 
92
- # Returns information about an [OAuth access token](https://developer.squareup.com/docs/build-basics/access-tokens#get-an-oauth-access-token) or an application’s [personal access token](https://developer.squareup.com/docs/build-basics/access-tokens#get-a-personal-access-token).
114
+ # Returns information about an [OAuth access
115
+ # token](https://developer.squareup.com/docs/build-basics/access-tokens#get-an-oauth-access-token) or an
116
+ # application’s [personal access
117
+ # token](https://developer.squareup.com/docs/build-basics/access-tokens#get-a-personal-access-token).
93
118
  #
94
119
  # Add the access token to the Authorization header of the request.
95
120
  #
@@ -104,44 +129,64 @@ module Square
104
129
  #
105
130
  # If the access token is expired or not a valid access token, the endpoint returns an `UNAUTHORIZED` error.
106
131
  #
132
+ # @param request_options [Hash]
133
+ # @param params [Hash]
134
+ # @option request_options [String] :base_url
135
+ # @option request_options [Hash{String => Object}] :additional_headers
136
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
137
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
138
+ # @option request_options [Integer] :timeout_in_seconds
139
+ #
107
140
  # @return [Square::Types::RetrieveTokenStatusResponse]
108
- def retrieve_token_status(request_options: {}, **_params)
109
- _request = Square::Internal::JSON::Request.new(
110
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
141
+ def retrieve_token_status(request_options: {}, **params)
142
+ Square::Internal::Types::Utils.normalize_keys(params)
143
+ request = Square::Internal::JSON::Request.new(
144
+ base_url: request_options[:base_url],
111
145
  method: "POST",
112
- path: "oauth2/token/status"
146
+ path: "oauth2/token/status",
147
+ request_options: request_options
113
148
  )
114
149
  begin
115
- _response = @client.send(_request)
150
+ response = @client.send(request)
116
151
  rescue Net::HTTPRequestTimeout
117
152
  raise Square::Errors::TimeoutError
118
153
  end
119
- code = _response.code.to_i
154
+ code = response.code.to_i
120
155
  if code.between?(200, 299)
121
- Square::Types::RetrieveTokenStatusResponse.load(_response.body)
156
+ Square::Types::RetrieveTokenStatusResponse.load(response.body)
122
157
  else
123
158
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
124
- raise error_class.new(_response.body, code: code)
159
+ raise error_class.new(response.body, code: code)
125
160
  end
126
161
  end
127
162
 
163
+ # @param request_options [Hash]
164
+ # @param params [Hash]
165
+ # @option request_options [String] :base_url
166
+ # @option request_options [Hash{String => Object}] :additional_headers
167
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
168
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
169
+ # @option request_options [Integer] :timeout_in_seconds
170
+ #
128
171
  # @return [untyped]
129
- def authorize(request_options: {}, **_params)
130
- _request = Square::Internal::JSON::Request.new(
131
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
172
+ def authorize(request_options: {}, **params)
173
+ Square::Internal::Types::Utils.normalize_keys(params)
174
+ request = Square::Internal::JSON::Request.new(
175
+ base_url: request_options[:base_url],
132
176
  method: "GET",
133
- path: "oauth2/authorize"
177
+ path: "oauth2/authorize",
178
+ request_options: request_options
134
179
  )
135
180
  begin
136
- _response = @client.send(_request)
181
+ response = @client.send(request)
137
182
  rescue Net::HTTPRequestTimeout
138
183
  raise Square::Errors::TimeoutError
139
184
  end
140
- code = _response.code.to_i
185
+ code = response.code.to_i
141
186
  return if code.between?(200, 299)
142
187
 
143
188
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
144
- raise error_class.new(_response.body, code: code)
189
+ raise error_class.new(response.body, code: code)
145
190
  end
146
191
  end
147
192
  end
@@ -14,6 +14,7 @@ module Square
14
14
  field :scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false
15
15
  field :short_lived, -> { Internal::Types::Boolean }, optional: true, nullable: false
16
16
  field :code_verifier, -> { String }, optional: true, nullable: false
17
+ field :use_jwt, -> { Internal::Types::Boolean }, optional: true, nullable: false
17
18
  end
18
19
  end
19
20
  end