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,83 +4,118 @@ module Square
4
4
  module Loyalty
5
5
  module Accounts
6
6
  class Client
7
- # @return [Square::Loyalty::Accounts::Client]
7
+ # @param client [Square::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
8
10
  def initialize(client:)
9
11
  @client = client
10
12
  end
11
13
 
12
- # Creates a loyalty account. To create a loyalty account, you must provide the `program_id` and a `mapping` with the `phone_number` of the buyer.
14
+ # Creates a loyalty account. To create a loyalty account, you must provide the `program_id` and a `mapping` with
15
+ # the `phone_number` of the buyer.
16
+ #
17
+ # @param request_options [Hash]
18
+ # @param params [Square::Loyalty::Accounts::Types::CreateLoyaltyAccountRequest]
19
+ # @option request_options [String] :base_url
20
+ # @option request_options [Hash{String => Object}] :additional_headers
21
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
22
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
23
+ # @option request_options [Integer] :timeout_in_seconds
13
24
  #
14
25
  # @return [Square::Types::CreateLoyaltyAccountResponse]
15
26
  def create(request_options: {}, **params)
16
- _request = Square::Internal::JSON::Request.new(
17
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
27
+ params = Square::Internal::Types::Utils.normalize_keys(params)
28
+ request = Square::Internal::JSON::Request.new(
29
+ base_url: request_options[:base_url],
18
30
  method: "POST",
19
31
  path: "v2/loyalty/accounts",
20
- body: params
32
+ body: Square::Loyalty::Accounts::Types::CreateLoyaltyAccountRequest.new(params).to_h,
33
+ request_options: request_options
21
34
  )
22
35
  begin
23
- _response = @client.send(_request)
36
+ response = @client.send(request)
24
37
  rescue Net::HTTPRequestTimeout
25
38
  raise Square::Errors::TimeoutError
26
39
  end
27
- code = _response.code.to_i
40
+ code = response.code.to_i
28
41
  if code.between?(200, 299)
29
- Square::Types::CreateLoyaltyAccountResponse.load(_response.body)
42
+ Square::Types::CreateLoyaltyAccountResponse.load(response.body)
30
43
  else
31
44
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
32
- raise error_class.new(_response.body, code: code)
45
+ raise error_class.new(response.body, code: code)
33
46
  end
34
47
  end
35
48
 
36
49
  # Searches for loyalty accounts in a loyalty program.
37
50
  #
38
- # You can search for a loyalty account using the phone number or customer ID associated with the account. To return all loyalty accounts, specify an empty `query` object or omit it entirely.
51
+ # You can search for a loyalty account using the phone number or customer ID associated with the account. To
52
+ # return all loyalty accounts, specify an empty `query` object or omit it entirely.
39
53
  #
40
54
  # Search results are sorted by `created_at` in ascending order.
41
55
  #
56
+ # @param request_options [Hash]
57
+ # @param params [Square::Loyalty::Accounts::Types::SearchLoyaltyAccountsRequest]
58
+ # @option request_options [String] :base_url
59
+ # @option request_options [Hash{String => Object}] :additional_headers
60
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
61
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
62
+ # @option request_options [Integer] :timeout_in_seconds
63
+ #
42
64
  # @return [Square::Types::SearchLoyaltyAccountsResponse]
43
65
  def search(request_options: {}, **params)
44
- _request = Square::Internal::JSON::Request.new(
45
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
66
+ params = Square::Internal::Types::Utils.normalize_keys(params)
67
+ request = Square::Internal::JSON::Request.new(
68
+ base_url: request_options[:base_url],
46
69
  method: "POST",
47
70
  path: "v2/loyalty/accounts/search",
48
- body: params
71
+ body: Square::Loyalty::Accounts::Types::SearchLoyaltyAccountsRequest.new(params).to_h,
72
+ request_options: request_options
49
73
  )
50
74
  begin
51
- _response = @client.send(_request)
75
+ response = @client.send(request)
52
76
  rescue Net::HTTPRequestTimeout
53
77
  raise Square::Errors::TimeoutError
54
78
  end
55
- code = _response.code.to_i
79
+ code = response.code.to_i
56
80
  if code.between?(200, 299)
57
- Square::Types::SearchLoyaltyAccountsResponse.load(_response.body)
81
+ Square::Types::SearchLoyaltyAccountsResponse.load(response.body)
58
82
  else
59
83
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
60
- raise error_class.new(_response.body, code: code)
84
+ raise error_class.new(response.body, code: code)
61
85
  end
62
86
  end
63
87
 
64
88
  # Retrieves a loyalty account.
65
89
  #
90
+ # @param request_options [Hash]
91
+ # @param params [Hash]
92
+ # @option request_options [String] :base_url
93
+ # @option request_options [Hash{String => Object}] :additional_headers
94
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
95
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
96
+ # @option request_options [Integer] :timeout_in_seconds
97
+ # @option params [String] :account_id
98
+ #
66
99
  # @return [Square::Types::GetLoyaltyAccountResponse]
67
100
  def get(request_options: {}, **params)
68
- _request = Square::Internal::JSON::Request.new(
69
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
101
+ params = Square::Internal::Types::Utils.normalize_keys(params)
102
+ request = Square::Internal::JSON::Request.new(
103
+ base_url: request_options[:base_url],
70
104
  method: "GET",
71
- path: "v2/loyalty/accounts/#{params[:account_id]}"
105
+ path: "v2/loyalty/accounts/#{params[:account_id]}",
106
+ request_options: request_options
72
107
  )
73
108
  begin
74
- _response = @client.send(_request)
109
+ response = @client.send(request)
75
110
  rescue Net::HTTPRequestTimeout
76
111
  raise Square::Errors::TimeoutError
77
112
  end
78
- code = _response.code.to_i
113
+ code = response.code.to_i
79
114
  if code.between?(200, 299)
80
- Square::Types::GetLoyaltyAccountResponse.load(_response.body)
115
+ Square::Types::GetLoyaltyAccountResponse.load(response.body)
81
116
  else
82
117
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
83
- raise error_class.new(_response.body, code: code)
118
+ raise error_class.new(response.body, code: code)
84
119
  end
85
120
  end
86
121
 
@@ -91,35 +126,52 @@ module Square
91
126
  # [loyalty promotion](entity:LoyaltyPromotion). For purchases that qualify for multiple accrual
92
127
  # rules, Square computes points based on the accrual rule that grants the most points.
93
128
  # For purchases that qualify for multiple promotions, Square computes points based on the most
94
- # recently created promotion. A purchase must first qualify for program points to be eligible for promotion points.
129
+ # recently created promotion. A purchase must first qualify for program points to be eligible for promotion
130
+ # points.
95
131
  #
96
132
  # - If you are not using the Orders API to manage orders, provide `points` with the number of points to add.
97
133
  # You must first perform a client-side computation of the points earned from the loyalty program and
98
- # loyalty promotion. For spend-based and visit-based programs, you can call [CalculateLoyaltyPoints](api-endpoint:Loyalty-CalculateLoyaltyPoints)
99
- # to compute the points earned from the base loyalty program. For information about computing points earned from a loyalty promotion, see
100
- # [Calculating promotion points](https://developer.squareup.com/docs/loyalty-api/loyalty-promotions#calculate-promotion-points).
134
+ # loyalty promotion. For spend-based and visit-based programs, you can call
135
+ # [CalculateLoyaltyPoints](api-endpoint:Loyalty-CalculateLoyaltyPoints)
136
+ # to compute the points earned from the base loyalty program. For information about computing points earned from
137
+ # a loyalty promotion, see
138
+ # [Calculating promotion
139
+ # points](https://developer.squareup.com/docs/loyalty-api/loyalty-promotions#calculate-promotion-points).
140
+ #
141
+ # @param request_options [Hash]
142
+ # @param params [Square::Loyalty::Accounts::Types::AccumulateLoyaltyPointsRequest]
143
+ # @option request_options [String] :base_url
144
+ # @option request_options [Hash{String => Object}] :additional_headers
145
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
146
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
147
+ # @option request_options [Integer] :timeout_in_seconds
148
+ # @option params [String] :account_id
101
149
  #
102
150
  # @return [Square::Types::AccumulateLoyaltyPointsResponse]
103
151
  def accumulate_points(request_options: {}, **params)
104
- _path_param_names = ["account_id"]
152
+ params = Square::Internal::Types::Utils.normalize_keys(params)
153
+ request_data = Square::Loyalty::Accounts::Types::AccumulateLoyaltyPointsRequest.new(params).to_h
154
+ non_body_param_names = ["account_id"]
155
+ body = request_data.except(*non_body_param_names)
105
156
 
106
- _request = Square::Internal::JSON::Request.new(
107
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
157
+ request = Square::Internal::JSON::Request.new(
158
+ base_url: request_options[:base_url],
108
159
  method: "POST",
109
160
  path: "v2/loyalty/accounts/#{params[:account_id]}/accumulate",
110
- body: params.except(*_path_param_names)
161
+ body: body,
162
+ request_options: request_options
111
163
  )
112
164
  begin
113
- _response = @client.send(_request)
165
+ response = @client.send(request)
114
166
  rescue Net::HTTPRequestTimeout
115
167
  raise Square::Errors::TimeoutError
116
168
  end
117
- code = _response.code.to_i
169
+ code = response.code.to_i
118
170
  if code.between?(200, 299)
119
- Square::Types::AccumulateLoyaltyPointsResponse.load(_response.body)
171
+ Square::Types::AccumulateLoyaltyPointsResponse.load(response.body)
120
172
  else
121
173
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
122
- raise error_class.new(_response.body, code: code)
174
+ raise error_class.new(response.body, code: code)
123
175
  end
124
176
  end
125
177
 
@@ -129,27 +181,40 @@ module Square
129
181
  # [AccumulateLoyaltyPoints](api-endpoint:Loyalty-AccumulateLoyaltyPoints)
130
182
  # to add points when a buyer pays for the purchase.
131
183
  #
184
+ # @param request_options [Hash]
185
+ # @param params [Square::Loyalty::Accounts::Types::AdjustLoyaltyPointsRequest]
186
+ # @option request_options [String] :base_url
187
+ # @option request_options [Hash{String => Object}] :additional_headers
188
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
189
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
190
+ # @option request_options [Integer] :timeout_in_seconds
191
+ # @option params [String] :account_id
192
+ #
132
193
  # @return [Square::Types::AdjustLoyaltyPointsResponse]
133
194
  def adjust(request_options: {}, **params)
134
- _path_param_names = ["account_id"]
195
+ params = Square::Internal::Types::Utils.normalize_keys(params)
196
+ request_data = Square::Loyalty::Accounts::Types::AdjustLoyaltyPointsRequest.new(params).to_h
197
+ non_body_param_names = ["account_id"]
198
+ body = request_data.except(*non_body_param_names)
135
199
 
136
- _request = Square::Internal::JSON::Request.new(
137
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
200
+ request = Square::Internal::JSON::Request.new(
201
+ base_url: request_options[:base_url],
138
202
  method: "POST",
139
203
  path: "v2/loyalty/accounts/#{params[:account_id]}/adjust",
140
- body: params.except(*_path_param_names)
204
+ body: body,
205
+ request_options: request_options
141
206
  )
142
207
  begin
143
- _response = @client.send(_request)
208
+ response = @client.send(request)
144
209
  rescue Net::HTTPRequestTimeout
145
210
  raise Square::Errors::TimeoutError
146
211
  end
147
- code = _response.code.to_i
212
+ code = response.code.to_i
148
213
  if code.between?(200, 299)
149
- Square::Types::AdjustLoyaltyPointsResponse.load(_response.body)
214
+ Square::Types::AdjustLoyaltyPointsResponse.load(response.body)
150
215
  else
151
216
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
152
- raise error_class.new(_response.body, code: code)
217
+ raise error_class.new(response.body, code: code)
153
218
  end
154
219
  end
155
220
  end
@@ -5,9 +5,7 @@ module Square
5
5
  module Accounts
6
6
  module Types
7
7
  class SearchLoyaltyAccountsRequest < Internal::Types::Model
8
- field :query, lambda {
9
- Square::Types::SearchLoyaltyAccountsRequestLoyaltyAccountQuery
10
- }, optional: true, nullable: false
8
+ field :query, -> { Square::Types::SearchLoyaltyAccountsRequestLoyaltyAccountQuery }, optional: true, nullable: false
11
9
  field :limit, -> { Integer }, optional: true, nullable: false
12
10
  field :cursor, -> { String }, optional: true, nullable: false
13
11
  end
@@ -3,7 +3,9 @@
3
3
  module Square
4
4
  module Loyalty
5
5
  class Client
6
- # @return [Square::Loyalty::Client]
6
+ # @param client [Square::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
7
9
  def initialize(client:)
8
10
  @client = client
9
11
  end
@@ -17,25 +19,35 @@ module Square
17
19
  #
18
20
  # Search results are sorted by `created_at` in descending order.
19
21
  #
22
+ # @param request_options [Hash]
23
+ # @param params [Square::Loyalty::Types::SearchLoyaltyEventsRequest]
24
+ # @option request_options [String] :base_url
25
+ # @option request_options [Hash{String => Object}] :additional_headers
26
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
27
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
28
+ # @option request_options [Integer] :timeout_in_seconds
29
+ #
20
30
  # @return [Square::Types::SearchLoyaltyEventsResponse]
21
31
  def search_events(request_options: {}, **params)
22
- _request = Square::Internal::JSON::Request.new(
23
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
32
+ params = Square::Internal::Types::Utils.normalize_keys(params)
33
+ request = Square::Internal::JSON::Request.new(
34
+ base_url: request_options[:base_url],
24
35
  method: "POST",
25
36
  path: "v2/loyalty/events/search",
26
- body: params
37
+ body: Square::Loyalty::Types::SearchLoyaltyEventsRequest.new(params).to_h,
38
+ request_options: request_options
27
39
  )
28
40
  begin
29
- _response = @client.send(_request)
41
+ response = @client.send(request)
30
42
  rescue Net::HTTPRequestTimeout
31
43
  raise Square::Errors::TimeoutError
32
44
  end
33
- code = _response.code.to_i
45
+ code = response.code.to_i
34
46
  if code.between?(200, 299)
35
- Square::Types::SearchLoyaltyEventsResponse.load(_response.body)
47
+ Square::Types::SearchLoyaltyEventsResponse.load(response.body)
36
48
  else
37
49
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
38
- raise error_class.new(_response.body, code: code)
50
+ raise error_class.new(response.body, code: code)
39
51
  end
40
52
  end
41
53
 
@@ -4,67 +4,96 @@ module Square
4
4
  module Loyalty
5
5
  module Programs
6
6
  class Client
7
- # @return [Square::Loyalty::Programs::Client]
7
+ # @param client [Square::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
8
10
  def initialize(client:)
9
11
  @client = client
10
12
  end
11
13
 
12
14
  # Returns a list of loyalty programs in the seller's account.
13
- # Loyalty programs define how buyers can earn points and redeem points for rewards. Square sellers can have only one loyalty program, which is created and managed from the Seller Dashboard. For more information, see [Loyalty Program Overview](https://developer.squareup.com/docs/loyalty/overview).
15
+ # Loyalty programs define how buyers can earn points and redeem points for rewards. Square sellers can have only
16
+ # one loyalty program, which is created and managed from the Seller Dashboard. For more information, see
17
+ # [Loyalty Program Overview](https://developer.squareup.com/docs/loyalty/overview).
18
+ #
14
19
  #
20
+ # Replaced with [RetrieveLoyaltyProgram](api-endpoint:Loyalty-RetrieveLoyaltyProgram) when used with the keyword
21
+ # `main`.
15
22
  #
16
- # Replaced with [RetrieveLoyaltyProgram](api-endpoint:Loyalty-RetrieveLoyaltyProgram) when used with the keyword `main`.
23
+ # @param request_options [Hash]
24
+ # @param params [Hash]
25
+ # @option request_options [String] :base_url
26
+ # @option request_options [Hash{String => Object}] :additional_headers
27
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
28
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
29
+ # @option request_options [Integer] :timeout_in_seconds
17
30
  #
18
31
  # @return [Square::Types::ListLoyaltyProgramsResponse]
19
- def list(request_options: {}, **_params)
20
- _request = Square::Internal::JSON::Request.new(
21
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
32
+ def list(request_options: {}, **params)
33
+ Square::Internal::Types::Utils.normalize_keys(params)
34
+ request = Square::Internal::JSON::Request.new(
35
+ base_url: request_options[:base_url],
22
36
  method: "GET",
23
- path: "v2/loyalty/programs"
37
+ path: "v2/loyalty/programs",
38
+ request_options: request_options
24
39
  )
25
40
  begin
26
- _response = @client.send(_request)
41
+ response = @client.send(request)
27
42
  rescue Net::HTTPRequestTimeout
28
43
  raise Square::Errors::TimeoutError
29
44
  end
30
- code = _response.code.to_i
45
+ code = response.code.to_i
31
46
  if code.between?(200, 299)
32
- Square::Types::ListLoyaltyProgramsResponse.load(_response.body)
47
+ Square::Types::ListLoyaltyProgramsResponse.load(response.body)
33
48
  else
34
49
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
35
- raise error_class.new(_response.body, code: code)
50
+ raise error_class.new(response.body, code: code)
36
51
  end
37
52
  end
38
53
 
39
54
  # Retrieves the loyalty program in a seller's account, specified by the program ID or the keyword `main`.
40
55
  #
41
- # Loyalty programs define how buyers can earn points and redeem points for rewards. Square sellers can have only one loyalty program, which is created and managed from the Seller Dashboard. For more information, see [Loyalty Program Overview](https://developer.squareup.com/docs/loyalty/overview).
56
+ # Loyalty programs define how buyers can earn points and redeem points for rewards. Square sellers can have only
57
+ # one loyalty program, which is created and managed from the Seller Dashboard. For more information, see
58
+ # [Loyalty Program Overview](https://developer.squareup.com/docs/loyalty/overview).
59
+ #
60
+ # @param request_options [Hash]
61
+ # @param params [Hash]
62
+ # @option request_options [String] :base_url
63
+ # @option request_options [Hash{String => Object}] :additional_headers
64
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
65
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
66
+ # @option request_options [Integer] :timeout_in_seconds
67
+ # @option params [String] :program_id
42
68
  #
43
69
  # @return [Square::Types::GetLoyaltyProgramResponse]
44
70
  def get(request_options: {}, **params)
45
- _request = Square::Internal::JSON::Request.new(
46
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
71
+ params = Square::Internal::Types::Utils.normalize_keys(params)
72
+ request = Square::Internal::JSON::Request.new(
73
+ base_url: request_options[:base_url],
47
74
  method: "GET",
48
- path: "v2/loyalty/programs/#{params[:program_id]}"
75
+ path: "v2/loyalty/programs/#{params[:program_id]}",
76
+ request_options: request_options
49
77
  )
50
78
  begin
51
- _response = @client.send(_request)
79
+ response = @client.send(request)
52
80
  rescue Net::HTTPRequestTimeout
53
81
  raise Square::Errors::TimeoutError
54
82
  end
55
- code = _response.code.to_i
83
+ code = response.code.to_i
56
84
  if code.between?(200, 299)
57
- Square::Types::GetLoyaltyProgramResponse.load(_response.body)
85
+ Square::Types::GetLoyaltyProgramResponse.load(response.body)
58
86
  else
59
87
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
60
- raise error_class.new(_response.body, code: code)
88
+ raise error_class.new(response.body, code: code)
61
89
  end
62
90
  end
63
91
 
64
92
  # Calculates the number of points a buyer can earn from a purchase. Applications might call this endpoint
65
93
  # to display the points to the buyer.
66
94
  #
67
- # - If you are using the Orders API to manage orders, provide the `order_id` and (optional) `loyalty_account_id`.
95
+ # - If you are using the Orders API to manage orders, provide the `order_id` and (optional)
96
+ # `loyalty_account_id`.
68
97
  # Square reads the order to compute the points earned from the base loyalty program and an associated
69
98
  # [loyalty promotion](entity:LoyaltyPromotion).
70
99
  #
@@ -75,29 +104,43 @@ module Square
75
104
  # If the purchase qualifies for program points, call
76
105
  # [ListLoyaltyPromotions](api-endpoint:Loyalty-ListLoyaltyPromotions) and perform a client-side computation
77
106
  # to calculate whether the purchase also qualifies for promotion points. For more information, see
78
- # [Calculating promotion points](https://developer.squareup.com/docs/loyalty-api/loyalty-promotions#calculate-promotion-points).
107
+ # [Calculating promotion
108
+ # points](https://developer.squareup.com/docs/loyalty-api/loyalty-promotions#calculate-promotion-points).
109
+ #
110
+ # @param request_options [Hash]
111
+ # @param params [Square::Loyalty::Programs::Types::CalculateLoyaltyPointsRequest]
112
+ # @option request_options [String] :base_url
113
+ # @option request_options [Hash{String => Object}] :additional_headers
114
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
115
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
116
+ # @option request_options [Integer] :timeout_in_seconds
117
+ # @option params [String] :program_id
79
118
  #
80
119
  # @return [Square::Types::CalculateLoyaltyPointsResponse]
81
120
  def calculate(request_options: {}, **params)
82
- _path_param_names = ["program_id"]
121
+ params = Square::Internal::Types::Utils.normalize_keys(params)
122
+ request_data = Square::Loyalty::Programs::Types::CalculateLoyaltyPointsRequest.new(params).to_h
123
+ non_body_param_names = ["program_id"]
124
+ body = request_data.except(*non_body_param_names)
83
125
 
84
- _request = Square::Internal::JSON::Request.new(
85
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
126
+ request = Square::Internal::JSON::Request.new(
127
+ base_url: request_options[:base_url],
86
128
  method: "POST",
87
129
  path: "v2/loyalty/programs/#{params[:program_id]}/calculate",
88
- body: params.except(*_path_param_names)
130
+ body: body,
131
+ request_options: request_options
89
132
  )
90
133
  begin
91
- _response = @client.send(_request)
134
+ response = @client.send(request)
92
135
  rescue Net::HTTPRequestTimeout
93
136
  raise Square::Errors::TimeoutError
94
137
  end
95
- code = _response.code.to_i
138
+ code = response.code.to_i
96
139
  if code.between?(200, 299)
97
- Square::Types::CalculateLoyaltyPointsResponse.load(_response.body)
140
+ Square::Types::CalculateLoyaltyPointsResponse.load(response.body)
98
141
  else
99
142
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
100
- raise error_class.new(_response.body, code: code)
143
+ raise error_class.new(response.body, code: code)
101
144
  end
102
145
  end
103
146