square.rb 44.2.0.20251016 → 45.0.1.20260122

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