spree_api 4.3.0 → 4.5.1

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 (351) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/spree/api/v2/caching.rb +7 -3
  3. data/app/controllers/concerns/spree/api/v2/coupon_codes_helper.rb +29 -0
  4. data/app/controllers/concerns/spree/api/v2/number_resource.rb +11 -0
  5. data/app/controllers/concerns/spree/api/v2/platform/nested_set_reposition_concern.rb +37 -0
  6. data/app/controllers/concerns/spree/api/v2/platform/promotion_calculator_params.rb +17 -0
  7. data/app/controllers/concerns/spree/api/v2/platform/promotion_rule_params.rb +16 -0
  8. data/app/controllers/concerns/spree/api/v2/product_list_includes.rb +10 -8
  9. data/app/controllers/concerns/spree/api/v2/storefront/metadata_controller_concern.rb +18 -0
  10. data/app/controllers/spree/api/v2/base_controller.rb +7 -5
  11. data/app/controllers/spree/api/v2/platform/adjustments_controller.rb +19 -0
  12. data/app/controllers/spree/api/v2/platform/classifications_controller.rb +1 -22
  13. data/app/controllers/spree/api/v2/platform/cms_pages_controller.rb +4 -0
  14. data/app/controllers/spree/api/v2/platform/cms_sections_controller.rb +13 -18
  15. data/app/controllers/spree/api/v2/platform/digital_links_controller.rb +25 -0
  16. data/app/controllers/spree/api/v2/platform/digitals_controller.rb +19 -0
  17. data/app/controllers/spree/api/v2/platform/line_items_controller.rb +59 -0
  18. data/app/controllers/spree/api/v2/platform/menu_items_controller.rb +5 -19
  19. data/app/controllers/spree/api/v2/platform/menus_controller.rb +0 -4
  20. data/app/controllers/spree/api/v2/platform/orders_controller.rb +163 -0
  21. data/app/controllers/spree/api/v2/platform/payment_methods_controller.rb +27 -0
  22. data/app/controllers/spree/api/v2/platform/payments_controller.rb +17 -0
  23. data/app/controllers/spree/api/v2/platform/products_controller.rb +5 -1
  24. data/app/controllers/spree/api/v2/platform/promotion_actions_controller.rb +30 -0
  25. data/app/controllers/spree/api/v2/platform/promotion_categories_controller.rb +19 -0
  26. data/app/controllers/spree/api/v2/platform/promotion_rules_controller.rb +25 -0
  27. data/app/controllers/spree/api/v2/platform/promotions_controller.rb +31 -0
  28. data/app/controllers/spree/api/v2/platform/resource_controller.rb +47 -16
  29. data/app/controllers/spree/api/v2/platform/roles_controller.rb +15 -0
  30. data/app/controllers/spree/api/v2/platform/shipments_controller.rb +143 -0
  31. data/app/controllers/spree/api/v2/platform/shipping_categories_controller.rb +15 -0
  32. data/app/controllers/spree/api/v2/platform/shipping_methods_controller.rb +24 -0
  33. data/app/controllers/spree/api/v2/platform/states_controller.rb +19 -0
  34. data/app/controllers/spree/api/v2/platform/stock_items_controller.rb +19 -0
  35. data/app/controllers/spree/api/v2/platform/stock_locations_controller.rb +19 -0
  36. data/app/controllers/spree/api/v2/platform/store_credit_categories_controller.rb +15 -0
  37. data/app/controllers/spree/api/v2/platform/store_credit_types_controller.rb +15 -0
  38. data/app/controllers/spree/api/v2/platform/store_credits_controller.rb +19 -0
  39. data/app/controllers/spree/api/v2/platform/tax_categories_controller.rb +19 -0
  40. data/app/controllers/spree/api/v2/platform/tax_rates_controller.rb +23 -0
  41. data/app/controllers/spree/api/v2/platform/taxonomies_controller.rb +19 -0
  42. data/app/controllers/spree/api/v2/platform/taxons_controller.rb +25 -0
  43. data/app/controllers/spree/api/v2/platform/users_controller.rb +4 -0
  44. data/app/controllers/spree/api/v2/platform/variants_controller.rb +19 -0
  45. data/app/controllers/spree/api/v2/platform/webhooks/events_controller.rb +21 -0
  46. data/app/controllers/spree/api/v2/platform/webhooks/subscribers_controller.rb +21 -0
  47. data/app/controllers/spree/api/v2/platform/wished_items_controller.rb +19 -0
  48. data/app/controllers/spree/api/v2/platform/wishlists_controller.rb +19 -0
  49. data/app/controllers/spree/api/v2/platform/zones_controller.rb +19 -0
  50. data/app/controllers/spree/api/v2/resource_controller.rb +3 -3
  51. data/app/controllers/spree/api/v2/storefront/account/addresses_controller.rb +2 -2
  52. data/app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb +4 -1
  53. data/app/controllers/spree/api/v2/storefront/cart_controller.rb +18 -28
  54. data/app/controllers/spree/api/v2/storefront/checkout_controller.rb +25 -1
  55. data/app/controllers/spree/api/v2/storefront/digitals_controller.rb +58 -0
  56. data/app/controllers/spree/api/v2/storefront/stores_controller.rb +4 -0
  57. data/app/controllers/spree/api/v2/storefront/wishlists_controller.rb +171 -0
  58. data/app/helpers/spree/api/v2/collection_options_helpers.rb +1 -1
  59. data/app/helpers/spree/api/v2/store_media_serializer_images_concern.rb +35 -0
  60. data/app/jobs/spree/webhooks/subscribers/make_request_job.rb +17 -0
  61. data/app/models/concerns/spree/webhooks/has_webhooks.rb +84 -0
  62. data/app/models/spree/api/webhooks/order_decorator.rb +43 -0
  63. data/app/models/spree/api/webhooks/payment_decorator.rb +26 -0
  64. data/app/models/spree/api/webhooks/product_decorator.rb +46 -0
  65. data/app/models/spree/api/webhooks/shipment_decorator.rb +21 -0
  66. data/app/models/spree/api/webhooks/stock_item_decorator.rb +43 -0
  67. data/app/models/spree/api/webhooks/stock_movement_decorator.rb +52 -0
  68. data/app/models/spree/api/webhooks/variant_decorator.rb +26 -0
  69. data/app/models/spree/oauth_access_grant.rb +7 -0
  70. data/app/models/spree/oauth_access_token.rb +7 -0
  71. data/app/models/spree/oauth_application.rb +15 -0
  72. data/app/models/spree/webhooks/base.rb +11 -0
  73. data/app/models/spree/webhooks/event.rb +12 -0
  74. data/app/models/spree/webhooks/subscriber.rb +61 -0
  75. data/app/serializers/concerns/spree/api/v2/resource_serializer_concern.rb +19 -1
  76. data/app/serializers/spree/api/v2/base_serializer.rb +11 -4
  77. data/app/serializers/spree/api/v2/platform/address_serializer.rb +1 -1
  78. data/app/serializers/spree/api/v2/platform/adjustment_serializer.rb +20 -0
  79. data/app/serializers/spree/api/v2/platform/asset_serializer.rb +13 -0
  80. data/app/serializers/spree/api/v2/platform/calculator_serializer.rb +17 -0
  81. data/app/serializers/spree/api/v2/platform/classification_serializer.rb +1 -1
  82. data/app/serializers/spree/api/v2/platform/cms_page_serializer.rb +1 -1
  83. data/app/serializers/spree/api/v2/platform/cms_section_image_one_serializer.rb +9 -0
  84. data/app/serializers/spree/api/v2/platform/cms_section_image_three_serializer.rb +9 -0
  85. data/app/serializers/spree/api/v2/platform/cms_section_image_two_serializer.rb +9 -0
  86. data/app/serializers/spree/api/v2/platform/cms_section_serializer.rb +8 -1
  87. data/app/serializers/spree/api/v2/platform/country_serializer.rb +1 -1
  88. data/app/serializers/spree/api/v2/platform/credit_card_serializer.rb +14 -0
  89. data/app/serializers/spree/api/v2/platform/customer_return_serializer.rb +17 -0
  90. data/app/serializers/spree/api/v2/platform/digital_link_serializer.rb +16 -0
  91. data/app/serializers/spree/api/v2/platform/digital_serializer.rb +30 -0
  92. data/app/serializers/spree/api/v2/platform/feature_page_serializer.rb +11 -0
  93. data/app/serializers/spree/api/v2/platform/hero_image_serializer.rb +10 -0
  94. data/app/serializers/spree/api/v2/platform/homepage_serializer.rb +11 -0
  95. data/app/serializers/spree/api/v2/platform/image_gallery_serializer.rb +10 -0
  96. data/app/serializers/spree/api/v2/platform/inventory_unit_serializer.rb +19 -0
  97. data/app/serializers/spree/api/v2/platform/line_item_serializer.rb +19 -0
  98. data/app/serializers/spree/api/v2/platform/log_entry_serializer.rb +13 -0
  99. data/app/serializers/spree/api/v2/platform/menu_item_serializer.rb +1 -1
  100. data/app/serializers/spree/api/v2/platform/menu_serializer.rb +1 -1
  101. data/app/serializers/spree/api/v2/platform/option_type_serializer.rb +1 -1
  102. data/app/serializers/spree/api/v2/platform/option_value_serializer.rb +1 -1
  103. data/app/serializers/spree/api/v2/platform/order_promotion_serializer.rb +14 -0
  104. data/app/serializers/spree/api/v2/platform/order_serializer.rb +31 -0
  105. data/app/serializers/spree/api/v2/platform/payment_capture_event_serializer.rb +13 -0
  106. data/app/serializers/spree/api/v2/platform/payment_method_serializer.rb +18 -0
  107. data/app/serializers/spree/api/v2/platform/payment_serializer.rb +21 -0
  108. data/app/serializers/spree/api/v2/platform/price_serializer.rb +19 -0
  109. data/app/serializers/spree/api/v2/platform/product_property_serializer.rb +1 -1
  110. data/app/serializers/spree/api/v2/platform/product_serializer.rb +7 -3
  111. data/app/serializers/spree/api/v2/platform/promotion_action_line_item_serializer.rb +14 -0
  112. data/app/serializers/spree/api/v2/platform/promotion_action_serializer.rb +19 -0
  113. data/app/serializers/spree/api/v2/platform/promotion_category_serializer.rb +13 -0
  114. data/app/serializers/spree/api/v2/platform/promotion_rule_serializer.rb +21 -0
  115. data/app/serializers/spree/api/v2/platform/promotion_serializer.rb +17 -0
  116. data/app/serializers/spree/api/v2/platform/property_serializer.rb +11 -0
  117. data/app/serializers/spree/api/v2/platform/prototype_serializer.rb +15 -0
  118. data/app/serializers/spree/api/v2/platform/refund_reason_serializer.rb +11 -0
  119. data/app/serializers/spree/api/v2/platform/refund_serializer.rb +16 -0
  120. data/app/serializers/spree/api/v2/platform/reimbursement_credit_serializer.rb +10 -0
  121. data/app/serializers/spree/api/v2/platform/reimbursement_serializer.rb +18 -0
  122. data/app/serializers/spree/api/v2/platform/reimbursement_type_serializer.rb +11 -0
  123. data/app/serializers/spree/api/v2/platform/return_authorization_reason_serializer.rb +11 -0
  124. data/app/serializers/spree/api/v2/platform/return_authorization_serializer.rb +17 -0
  125. data/app/serializers/spree/api/v2/platform/return_item_serializer.rb +16 -0
  126. data/app/serializers/spree/api/v2/platform/role_serializer.rb +11 -0
  127. data/app/serializers/spree/api/v2/platform/shipment_serializer.rb +22 -0
  128. data/app/serializers/spree/api/v2/platform/shipping_category_serializer.rb +11 -0
  129. data/app/serializers/spree/api/v2/platform/shipping_method_serializer.rb +16 -0
  130. data/app/serializers/spree/api/v2/platform/shipping_rate_serializer.rb +15 -0
  131. data/app/serializers/spree/api/v2/platform/side_by_side_image_serializer.rb +10 -0
  132. data/app/serializers/spree/api/v2/platform/standard_page_serializer.rb +11 -0
  133. data/app/serializers/spree/api/v2/platform/state_change_serializer.rb +13 -0
  134. data/app/serializers/spree/api/v2/platform/state_serializer.rb +1 -1
  135. data/app/serializers/spree/api/v2/platform/stock_item_serializer.rb +1 -3
  136. data/app/serializers/spree/api/v2/platform/stock_location_serializer.rb +2 -4
  137. data/app/serializers/spree/api/v2/platform/stock_movement_serializer.rb +11 -0
  138. data/app/serializers/spree/api/v2/platform/stock_transfer_serializer.rb +15 -0
  139. data/app/serializers/spree/api/v2/platform/store_credit_category_serializer.rb +12 -0
  140. data/app/serializers/spree/api/v2/platform/store_credit_event_serializer.rb +14 -0
  141. data/app/serializers/spree/api/v2/platform/store_credit_serializer.rb +18 -0
  142. data/app/serializers/spree/api/v2/platform/store_credit_type_serializer.rb +12 -0
  143. data/app/serializers/spree/api/v2/platform/store_serializer.rb +2 -1
  144. data/app/serializers/spree/api/v2/platform/tax_category_serializer.rb +2 -2
  145. data/app/serializers/spree/api/v2/platform/tax_rate_serializer.rb +14 -0
  146. data/app/serializers/spree/api/v2/platform/taxon_serializer.rb +1 -1
  147. data/app/serializers/spree/api/v2/platform/taxonomy_serializer.rb +1 -1
  148. data/app/serializers/spree/api/v2/platform/user_serializer.rb +1 -1
  149. data/app/serializers/spree/api/v2/platform/variant_serializer.rb +3 -2
  150. data/app/serializers/spree/api/v2/platform/webhooks/event_serializer.rb +15 -0
  151. data/app/serializers/spree/api/v2/platform/webhooks/subscriber_serializer.rb +13 -0
  152. data/app/serializers/spree/api/v2/platform/wished_item_serializer.rb +29 -0
  153. data/app/serializers/spree/api/v2/platform/wishlist_serializer.rb +19 -0
  154. data/app/serializers/spree/api/v2/platform/zone_member_serializer.rb +13 -0
  155. data/app/serializers/spree/api/v2/platform/zone_serializer.rb +13 -0
  156. data/app/serializers/spree/v2/storefront/address_serializer.rb +1 -1
  157. data/app/serializers/spree/v2/storefront/cart_serializer.rb +1 -1
  158. data/app/serializers/spree/v2/storefront/cms_section_serializer.rb +8 -4
  159. data/app/serializers/spree/v2/storefront/credit_card_serializer.rb +1 -1
  160. data/app/serializers/spree/v2/storefront/digital_link_serializer.rb +11 -0
  161. data/app/serializers/spree/v2/storefront/estimated_shipping_rate_serializer.rb +2 -2
  162. data/app/serializers/spree/v2/storefront/line_item_serializer.rb +2 -1
  163. data/app/serializers/spree/v2/storefront/option_type_serializer.rb +1 -1
  164. data/app/serializers/spree/v2/storefront/option_value_serializer.rb +1 -1
  165. data/app/serializers/spree/v2/storefront/order_serializer.rb +9 -0
  166. data/app/serializers/spree/v2/storefront/payment_method_serializer.rb +1 -1
  167. data/app/serializers/spree/v2/storefront/payment_serializer.rb +1 -1
  168. data/app/serializers/spree/v2/storefront/product_property_serializer.rb +1 -1
  169. data/app/serializers/spree/v2/storefront/product_serializer.rb +2 -2
  170. data/app/serializers/spree/v2/storefront/promotion_serializer.rb +1 -1
  171. data/app/serializers/spree/v2/storefront/shipment_serializer.rb +5 -1
  172. data/app/serializers/spree/v2/storefront/store_credit_serializer.rb +1 -1
  173. data/app/serializers/spree/v2/storefront/store_serializer.rb +5 -10
  174. data/app/serializers/spree/v2/storefront/taxon_serializer.rb +1 -1
  175. data/app/serializers/spree/v2/storefront/taxonomy_serializer.rb +1 -1
  176. data/app/serializers/spree/v2/storefront/user_serializer.rb +1 -1
  177. data/app/serializers/spree/v2/storefront/variant_serializer.rb +1 -1
  178. data/app/serializers/spree/v2/storefront/wished_item_serializer.rb +29 -0
  179. data/app/serializers/spree/v2/storefront/wishlist_serializer.rb +17 -0
  180. data/app/services/spree/webhooks/subscribers/handle_request.rb +73 -0
  181. data/app/services/spree/webhooks/subscribers/make_request.rb +82 -0
  182. data/app/services/spree/webhooks/subscribers/queue_requests.rb +23 -0
  183. data/app/services/spree/webhooks.rb +13 -0
  184. data/config/i18n-tasks.yml +40 -0
  185. data/config/initializers/doorkeeper.rb +12 -12
  186. data/config/locales/en.yml +29 -27
  187. data/config/routes.rb +84 -179
  188. data/db/migrate/20210902162826_create_spree_webhooks_tables.rb +16 -0
  189. data/db/migrate/20210919183228_enable_polymorphic_resource_owner.rb +21 -0
  190. data/db/migrate/20211025162826_create_spree_webhooks_events.rb +14 -0
  191. data/docs/oauth/index.yml +126 -33
  192. data/docs/v2/platform/index.yaml +19696 -1734
  193. data/docs/v2/storefront/index.yaml +15050 -14553
  194. data/lib/spree/api/configuration.rb +11 -0
  195. data/lib/spree/api/dependencies.rb +165 -0
  196. data/lib/spree/api/engine.rb +10 -5
  197. data/lib/spree/api/testing_support/factories/oauth_application_factory.rb +6 -0
  198. data/lib/spree/api/testing_support/factories/webhook_event_factory.rb +27 -0
  199. data/lib/spree/api/testing_support/factories/webhook_subscriber_factory.rb +13 -0
  200. data/lib/spree/api/testing_support/factories.rb +3 -0
  201. data/lib/spree/api/testing_support/jobs.rb +18 -0
  202. data/lib/spree/api/testing_support/matchers/webhooks.rb +67 -0
  203. data/lib/spree/api/testing_support/serializers.rb +25 -0
  204. data/lib/spree/api/testing_support/spree_webhooks.rb +9 -0
  205. data/lib/spree/api/testing_support/v2/base.rb +1 -1
  206. data/lib/spree/api/testing_support/v2/current_order.rb +34 -1
  207. data/lib/spree/api/testing_support/v2/platform_contexts.rb +100 -52
  208. data/lib/spree/api/testing_support/v2/serializers_params.rb +3 -1
  209. data/lib/spree/api.rb +0 -3
  210. data/lib/spree_api.rb +0 -1
  211. data/spec/fixtures/files/icon_256x256.jpg +0 -0
  212. data/spree_api.gemspec +15 -16
  213. metadata +163 -177
  214. data/app/controllers/spree/api/base_controller.rb +0 -171
  215. data/app/controllers/spree/api/errors_controller.rb +0 -9
  216. data/app/controllers/spree/api/v1/addresses_controller.rb +0 -46
  217. data/app/controllers/spree/api/v1/checkouts_controller.rb +0 -106
  218. data/app/controllers/spree/api/v1/classifications_controller.rb +0 -21
  219. data/app/controllers/spree/api/v1/countries_controller.rb +0 -22
  220. data/app/controllers/spree/api/v1/credit_cards_controller.rb +0 -26
  221. data/app/controllers/spree/api/v1/customer_returns_controller.rb +0 -25
  222. data/app/controllers/spree/api/v1/images_controller.rb +0 -58
  223. data/app/controllers/spree/api/v1/inventory_units_controller.rb +0 -54
  224. data/app/controllers/spree/api/v1/line_items_controller.rb +0 -70
  225. data/app/controllers/spree/api/v1/option_types_controller.rb +0 -60
  226. data/app/controllers/spree/api/v1/option_values_controller.rb +0 -62
  227. data/app/controllers/spree/api/v1/orders_controller.rb +0 -160
  228. data/app/controllers/spree/api/v1/payments_controller.rb +0 -82
  229. data/app/controllers/spree/api/v1/product_properties_controller.rb +0 -73
  230. data/app/controllers/spree/api/v1/products_controller.rb +0 -131
  231. data/app/controllers/spree/api/v1/promotions_controller.rb +0 -30
  232. data/app/controllers/spree/api/v1/properties_controller.rb +0 -70
  233. data/app/controllers/spree/api/v1/reimbursements_controller.rb +0 -25
  234. data/app/controllers/spree/api/v1/return_authorizations_controller.rb +0 -70
  235. data/app/controllers/spree/api/v1/shipments_controller.rb +0 -196
  236. data/app/controllers/spree/api/v1/states_controller.rb +0 -36
  237. data/app/controllers/spree/api/v1/stock_items_controller.rb +0 -82
  238. data/app/controllers/spree/api/v1/stock_locations_controller.rb +0 -53
  239. data/app/controllers/spree/api/v1/stock_movements_controller.rb +0 -45
  240. data/app/controllers/spree/api/v1/stores_controller.rb +0 -56
  241. data/app/controllers/spree/api/v1/taxonomies_controller.rb +0 -67
  242. data/app/controllers/spree/api/v1/taxons_controller.rb +0 -100
  243. data/app/controllers/spree/api/v1/users_controller.rb +0 -97
  244. data/app/controllers/spree/api/v1/variants_controller.rb +0 -81
  245. data/app/controllers/spree/api/v1/zones_controller.rb +0 -55
  246. data/app/helpers/spree/api/api_helpers.rb +0 -190
  247. data/app/models/spree/api_configuration.rb +0 -10
  248. data/app/models/spree/api_dependencies.rb +0 -111
  249. data/app/views/spree/api/errors/gateway_error.rabl +0 -2
  250. data/app/views/spree/api/errors/invalid_api_key.rabl +0 -2
  251. data/app/views/spree/api/errors/invalid_resource.rabl +0 -3
  252. data/app/views/spree/api/errors/must_specify_api_key.rabl +0 -2
  253. data/app/views/spree/api/errors/not_found.rabl +0 -2
  254. data/app/views/spree/api/errors/unauthorized.rabl +0 -2
  255. data/app/views/spree/api/v1/addresses/show.rabl +0 -10
  256. data/app/views/spree/api/v1/adjustments/show.rabl +0 -4
  257. data/app/views/spree/api/v1/countries/index.rabl +0 -7
  258. data/app/views/spree/api/v1/countries/show.rabl +0 -5
  259. data/app/views/spree/api/v1/credit_cards/index.rabl +0 -7
  260. data/app/views/spree/api/v1/credit_cards/show.rabl +0 -3
  261. data/app/views/spree/api/v1/customer_returns/index.rabl +0 -7
  262. data/app/views/spree/api/v1/images/index.rabl +0 -4
  263. data/app/views/spree/api/v1/images/new.rabl +0 -3
  264. data/app/views/spree/api/v1/images/show.rabl +0 -6
  265. data/app/views/spree/api/v1/inventory_units/show.rabl +0 -2
  266. data/app/views/spree/api/v1/line_items/new.rabl +0 -3
  267. data/app/views/spree/api/v1/line_items/show.rabl +0 -14
  268. data/app/views/spree/api/v1/option_types/index.rabl +0 -3
  269. data/app/views/spree/api/v1/option_types/new.rabl +0 -3
  270. data/app/views/spree/api/v1/option_types/show.rabl +0 -5
  271. data/app/views/spree/api/v1/option_values/index.rabl +0 -3
  272. data/app/views/spree/api/v1/option_values/new.rabl +0 -3
  273. data/app/views/spree/api/v1/option_values/show.rabl +0 -2
  274. data/app/views/spree/api/v1/orders/address.rabl +0 -0
  275. data/app/views/spree/api/v1/orders/canceled.rabl +0 -0
  276. data/app/views/spree/api/v1/orders/cart.rabl +0 -0
  277. data/app/views/spree/api/v1/orders/complete.rabl +0 -0
  278. data/app/views/spree/api/v1/orders/could_not_apply_coupon.rabl +0 -2
  279. data/app/views/spree/api/v1/orders/could_not_transition.rabl +0 -3
  280. data/app/views/spree/api/v1/orders/index.rabl +0 -7
  281. data/app/views/spree/api/v1/orders/insufficient_quantity.rabl +0 -2
  282. data/app/views/spree/api/v1/orders/invalid_shipping_method.rabl +0 -2
  283. data/app/views/spree/api/v1/orders/mine.rabl +0 -9
  284. data/app/views/spree/api/v1/orders/order.rabl +0 -10
  285. data/app/views/spree/api/v1/orders/payment.rabl +0 -3
  286. data/app/views/spree/api/v1/orders/show.rabl +0 -51
  287. data/app/views/spree/api/v1/payments/credit_over_limit.rabl +0 -2
  288. data/app/views/spree/api/v1/payments/index.rabl +0 -7
  289. data/app/views/spree/api/v1/payments/new.rabl +0 -5
  290. data/app/views/spree/api/v1/payments/show.rabl +0 -2
  291. data/app/views/spree/api/v1/payments/update_forbidden.rabl +0 -2
  292. data/app/views/spree/api/v1/product_properties/index.rabl +0 -7
  293. data/app/views/spree/api/v1/product_properties/new.rabl +0 -2
  294. data/app/views/spree/api/v1/product_properties/show.rabl +0 -2
  295. data/app/views/spree/api/v1/products/index.rabl +0 -9
  296. data/app/views/spree/api/v1/products/new.rabl +0 -3
  297. data/app/views/spree/api/v1/products/product.rabl +0 -1
  298. data/app/views/spree/api/v1/products/show.rabl +0 -36
  299. data/app/views/spree/api/v1/promotions/handler.rabl +0 -5
  300. data/app/views/spree/api/v1/promotions/show.rabl +0 -2
  301. data/app/views/spree/api/v1/properties/index.rabl +0 -7
  302. data/app/views/spree/api/v1/properties/new.rabl +0 -2
  303. data/app/views/spree/api/v1/properties/show.rabl +0 -2
  304. data/app/views/spree/api/v1/reimbursements/index.rabl +0 -7
  305. data/app/views/spree/api/v1/return_authorizations/index.rabl +0 -7
  306. data/app/views/spree/api/v1/return_authorizations/new.rabl +0 -3
  307. data/app/views/spree/api/v1/return_authorizations/show.rabl +0 -2
  308. data/app/views/spree/api/v1/shared/stock_location_required.rabl +0 -2
  309. data/app/views/spree/api/v1/shipments/big.rabl +0 -48
  310. data/app/views/spree/api/v1/shipments/cannot_ready_shipment.rabl +0 -2
  311. data/app/views/spree/api/v1/shipments/mine.rabl +0 -9
  312. data/app/views/spree/api/v1/shipments/show.rabl +0 -32
  313. data/app/views/spree/api/v1/shipments/small.rabl +0 -37
  314. data/app/views/spree/api/v1/shipping_rates/show.rabl +0 -2
  315. data/app/views/spree/api/v1/states/index.rabl +0 -12
  316. data/app/views/spree/api/v1/states/show.rabl +0 -2
  317. data/app/views/spree/api/v1/stock_items/index.rabl +0 -7
  318. data/app/views/spree/api/v1/stock_items/show.rabl +0 -5
  319. data/app/views/spree/api/v1/stock_locations/index.rabl +0 -7
  320. data/app/views/spree/api/v1/stock_locations/show.rabl +0 -8
  321. data/app/views/spree/api/v1/stock_movements/index.rabl +0 -7
  322. data/app/views/spree/api/v1/stock_movements/show.rabl +0 -5
  323. data/app/views/spree/api/v1/stores/index.rabl +0 -4
  324. data/app/views/spree/api/v1/stores/show.rabl +0 -2
  325. data/app/views/spree/api/v1/tags/index.rabl +0 -9
  326. data/app/views/spree/api/v1/taxonomies/index.rabl +0 -7
  327. data/app/views/spree/api/v1/taxonomies/jstree.rabl +0 -7
  328. data/app/views/spree/api/v1/taxonomies/nested.rabl +0 -11
  329. data/app/views/spree/api/v1/taxonomies/new.rabl +0 -3
  330. data/app/views/spree/api/v1/taxonomies/show.rabl +0 -15
  331. data/app/views/spree/api/v1/taxons/index.rabl +0 -10
  332. data/app/views/spree/api/v1/taxons/jstree.rabl +0 -7
  333. data/app/views/spree/api/v1/taxons/new.rabl +0 -3
  334. data/app/views/spree/api/v1/taxons/show.rabl +0 -6
  335. data/app/views/spree/api/v1/taxons/taxons.rabl +0 -5
  336. data/app/views/spree/api/v1/users/index.rabl +0 -7
  337. data/app/views/spree/api/v1/users/new.rabl +0 -3
  338. data/app/views/spree/api/v1/users/show.rabl +0 -11
  339. data/app/views/spree/api/v1/variants/big.rabl +0 -14
  340. data/app/views/spree/api/v1/variants/index.rabl +0 -9
  341. data/app/views/spree/api/v1/variants/new.rabl +0 -2
  342. data/app/views/spree/api/v1/variants/show.rabl +0 -3
  343. data/app/views/spree/api/v1/variants/small.rabl +0 -18
  344. data/app/views/spree/api/v1/zones/index.rabl +0 -7
  345. data/app/views/spree/api/v1/zones/show.rabl +0 -6
  346. data/config/initializers/rabl.rb +0 -9
  347. data/lib/spree/api/controller_setup.rb +0 -19
  348. data/lib/spree/api/responders/rabl_template.rb +0 -28
  349. data/lib/spree/api/responders.rb +0 -11
  350. data/lib/spree/api/testing_support/helpers.rb +0 -44
  351. data/lib/spree/api/testing_support/setup.rb +0 -16
data/config/routes.rb CHANGED
@@ -6,126 +6,6 @@ end
6
6
 
7
7
  Spree::Core::Engine.add_routes do
8
8
  namespace :api, defaults: { format: 'json' } do
9
- namespace :v1 do
10
- resources :promotions, only: [:show]
11
-
12
- resources :customer_returns, only: [:index]
13
- resources :reimbursements, only: [:index]
14
-
15
- resources :products do
16
- resources :images
17
- resources :variants
18
- resources :product_properties
19
- end
20
-
21
- concern :order_routes do
22
- member do
23
- put :approve
24
- put :cancel
25
- put :empty
26
- put :apply_coupon_code
27
- end
28
-
29
- resources :line_items
30
- resources :payments do
31
- member do
32
- put :authorize
33
- put :capture
34
- put :purchase
35
- put :void
36
- put :credit
37
- end
38
- end
39
-
40
- resources :addresses, only: [:show, :update]
41
-
42
- resources :return_authorizations do
43
- member do
44
- put :add
45
- put :cancel
46
- put :receive
47
- end
48
- end
49
- end
50
-
51
- resources :checkouts, only: [:update], concerns: :order_routes do
52
- member do
53
- put :next
54
- put :advance
55
- end
56
- end
57
-
58
- resources :variants do
59
- resources :images
60
- end
61
-
62
- resources :option_types do
63
- resources :option_values
64
- end
65
- resources :option_values
66
-
67
- resources :option_values, only: :index
68
-
69
- get '/orders/mine', to: 'orders#mine', as: 'my_orders'
70
- get '/orders/current', to: 'orders#current', as: 'current_order'
71
-
72
- resources :orders, concerns: :order_routes do
73
- put :remove_coupon_code, on: :member
74
- end
75
-
76
- resources :zones
77
- resources :countries, only: [:index, :show] do
78
- resources :states, only: [:index, :show]
79
- end
80
-
81
- resources :shipments, only: [:create, :update] do
82
- collection do
83
- post 'transfer_to_location'
84
- post 'transfer_to_shipment'
85
- get :mine
86
- end
87
-
88
- member do
89
- put :ready
90
- put :ship
91
- put :add
92
- put :remove
93
- end
94
- end
95
- resources :states, only: [:index, :show]
96
-
97
- resources :taxonomies do
98
- member do
99
- get :jstree
100
- end
101
- resources :taxons do
102
- member do
103
- get :jstree
104
- end
105
- end
106
- end
107
-
108
- resources :taxons, only: [:index]
109
-
110
- resources :inventory_units, only: [:show, :update]
111
-
112
- resources :users do
113
- resources :credit_cards, only: [:index]
114
- end
115
-
116
- resources :properties
117
- resources :stock_locations do
118
- resources :stock_movements
119
- resources :stock_items
120
- end
121
-
122
- resources :stock_items, only: [:index, :update, :destroy]
123
- resources :stores
124
-
125
- put '/classifications', to: 'classifications#update', as: :classifications
126
- get '/taxons/products', to: 'taxons#products', as: :taxon_products
127
- end
128
-
129
9
  namespace :v2 do
130
10
  namespace :storefront do
131
11
  resource :cart, controller: :cart, only: %i[show create destroy] do
@@ -145,10 +25,12 @@ Spree::Core::Engine.add_routes do
145
25
  patch :next
146
26
  patch :advance
147
27
  patch :complete
28
+ post :create_payment
148
29
  post :add_store_credit
149
30
  post :remove_store_credit
150
31
  get :payment_methods
151
32
  get :shipping_rates
33
+ patch :select_shipping_method
152
34
  end
153
35
 
154
36
  resource :account, controller: :account, only: %i[show create update]
@@ -165,35 +47,51 @@ Spree::Core::Engine.add_routes do
165
47
  resources :products, only: %i[index show]
166
48
  resources :taxons, only: %i[index show], id: /.+/
167
49
  get '/stores/:code', to: 'stores#show', as: :store
50
+ get '/store', to: 'stores#current', as: :current_store
168
51
 
169
52
  resources :menus, only: %i[index show]
170
53
  resources :cms_pages, only: %i[index show]
54
+
55
+ resources :wishlists do
56
+ get :default, on: :collection
57
+
58
+ member do
59
+ post :add_item
60
+ patch 'set_item_quantity/:item_id', to: 'wishlists#set_item_quantity', as: :set_item_quantity
61
+ delete 'remove_item/:item_id', to: 'wishlists#remove_item', as: :remove_item
62
+ end
63
+ end
64
+
65
+ get '/digitals/:token', to: 'digitals#download', as: 'digital'
171
66
  end
172
67
 
173
68
  namespace :platform do
174
69
  # Promotions API
175
70
  resources :promotions
71
+ resources :promotion_actions
72
+ resources :promotion_categories
73
+ resources :promotion_rules
176
74
 
177
75
  # Returns API
178
76
  resources :customer_returns
179
77
  resources :reimbursements
180
78
  resources :return_authorizations do
181
79
  member do
182
- put :add
183
- put :cancel
184
- put :receive
80
+ patch :add
81
+ patch :cancel
82
+ patch :receive
185
83
  end
186
84
  end
187
85
 
188
86
  # Product Catalog API
189
87
  resources :products
190
88
  resources :taxonomies
191
- resources :taxons
192
- resources :classifications do
89
+ resources :taxons do
193
90
  member do
194
- put :reposition
91
+ patch :reposition
195
92
  end
196
93
  end
94
+ resources :classifications
197
95
  resources :images
198
96
  resources :variants
199
97
  resources :properties
@@ -204,26 +102,38 @@ Spree::Core::Engine.add_routes do
204
102
  # Order API
205
103
  resources :orders do
206
104
  member do
207
- put :next
208
- put :advance
209
- put :approve
210
- put :cancel
211
- put :empty
212
- put :apply_coupon_code
213
- put :remove_coupon_code
105
+ patch :next
106
+ patch :advance
107
+ patch :approve
108
+ patch :cancel
109
+ patch :empty
110
+ patch :apply_coupon_code
111
+ patch :complete
112
+ patch :use_store_credit
113
+ patch :cancel
114
+ patch :approve
214
115
  end
215
116
  end
216
117
  resources :line_items
118
+ resources :adjustments
119
+
120
+ # Payments API
217
121
  resources :payments do
218
- member do
219
- put :authorize
220
- put :capture
221
- put :purchase
222
- put :void
223
- put :credit
224
- end
122
+ # TODO: support custom actions
123
+ # member do
124
+ # patch :authorize
125
+ # patch :capture
126
+ # patch :purchase
127
+ # patch :void
128
+ # patch :credit
129
+ # end
225
130
  end
226
131
 
132
+ # Store Credit API
133
+ resources :store_credits
134
+ resources :store_credit_categories
135
+ resources :store_credit_types
136
+
227
137
  # Geo API
228
138
  resources :zones
229
139
  resources :countries, only: [:index, :show]
@@ -231,18 +141,21 @@ Spree::Core::Engine.add_routes do
231
141
 
232
142
  # Shipment API
233
143
  resources :shipments do
234
- collection do
235
- post 'transfer_to_location'
236
- post 'transfer_to_shipment'
237
- end
238
144
  member do
239
- put :ready
240
- put :ship
241
- put :add
242
- put :remove
145
+ %w[ready ship cancel resume pend].each do |state|
146
+ patch state.to_sym
147
+ end
148
+ patch :add_item
149
+ patch :remove_item
150
+ patch :transfer_to_location
151
+ patch :transfer_to_shipment
243
152
  end
244
153
  end
245
154
 
155
+ # Tax API
156
+ resources :tax_rates
157
+ resources :tax_categories
158
+
246
159
  # Inventory API
247
160
  resources :inventory_units
248
161
  resources :stock_items
@@ -254,6 +167,8 @@ Spree::Core::Engine.add_routes do
254
167
  resources :credit_cards
255
168
  resources :addresses
256
169
 
170
+ resources :roles
171
+
257
172
  # Menu API
258
173
  resources :menus
259
174
  resources :menu_items do
@@ -262,46 +177,36 @@ Spree::Core::Engine.add_routes do
262
177
  end
263
178
  end
264
179
 
265
- # CMS Pages API
266
- resources :cms_pages do
267
- member do
268
- patch :toggle_visibility
269
- end
270
- end
180
+ # CMS
181
+ resources :cms_pages
182
+ resources :cms_sections
183
+
184
+ # Wishlists API
185
+ resources :wishlists
186
+ resources :wished_items
271
187
 
272
- resource :cms_sections do
188
+ # Digitals API
189
+ resources :digitals
190
+ resources :digital_links do
273
191
  member do
274
- patch :reposition
192
+ patch :reset
275
193
  end
276
194
  end
277
195
 
278
196
  # Store API
279
197
  resources :stores
280
- end
281
- end
282
-
283
- get '/404', to: 'errors#render_404'
284
198
 
285
- match 'v:api/*path', to: redirect { |params, request|
286
- format = ".#{params[:format]}" unless params[:format].blank?
287
- query = "?#{request.query_string}" unless request.query_string.blank?
199
+ # Configurations API
200
+ resources :payment_methods
201
+ resources :shipping_categories
202
+ resources :shipping_methods
288
203
 
289
- if request.path == "#{spree_path}api/v1/#{params[:path]}#{format}#{query}"
290
- "#{spree_path}api/404"
291
- else
292
- "#{spree_path}api/v1/#{params[:path]}#{format}#{query}"
293
- end
294
- }, via: [:get, :post, :put, :patch, :delete]
295
-
296
- match '*path', to: redirect { |params, request|
297
- format = ".#{params[:format]}" unless params[:format].blank?
298
- query = "?#{request.query_string}" unless request.query_string.blank?
299
-
300
- if request.path == "#{spree_path}api/v1/#{params[:path]}#{format}#{query}"
301
- "#{spree_path}api/404"
302
- else
303
- "#{spree_path}api/v1/#{params[:path]}#{format}#{query}"
204
+ # Webhooks API
205
+ namespace :webhooks do
206
+ resources :events, only: :index
207
+ resources :subscribers
208
+ end
304
209
  end
305
- }, via: [:get, :post, :put, :patch, :delete]
210
+ end
306
211
  end
307
212
  end
@@ -0,0 +1,16 @@
1
+ class CreateSpreeWebhooksTables < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :spree_webhooks_subscribers do |t|
4
+ t.string :url, null: false
5
+ t.boolean :active, default: false, index: true
6
+
7
+ if t.respond_to? :jsonb
8
+ t.jsonb :subscriptions
9
+ else
10
+ t.json :subscriptions
11
+ end
12
+
13
+ t.timestamps
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,21 @@
1
+ class EnablePolymorphicResourceOwner < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :spree_oauth_access_tokens, :resource_owner_type, :string
4
+ add_column :spree_oauth_access_grants, :resource_owner_type, :string
5
+ change_column_null :spree_oauth_access_grants, :resource_owner_type, false
6
+
7
+ add_index :spree_oauth_access_tokens,
8
+ [:resource_owner_id, :resource_owner_type],
9
+ name: 'polymorphic_owner_oauth_access_tokens'
10
+
11
+ add_index :spree_oauth_access_grants,
12
+ [:resource_owner_id, :resource_owner_type],
13
+ name: 'polymorphic_owner_oauth_access_grants'
14
+
15
+ Spree::OauthAccessToken.reset_column_information
16
+ Spree::OauthAccessToken.update_all(resource_owner_type: Spree.user_class)
17
+
18
+ Spree::OauthAccessGrant.reset_column_information
19
+ Spree::OauthAccessGrant.update_all(resource_owner_type: Spree.user_class)
20
+ end
21
+ end
@@ -0,0 +1,14 @@
1
+ class CreateSpreeWebhooksEvents < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :spree_webhooks_events do |t|
4
+ t.integer "execution_time"
5
+ t.string "name", null: false
6
+ t.string "request_errors"
7
+ t.string "response_code", index: true
8
+ t.belongs_to "subscriber", null: false, index: true
9
+ t.boolean "success", index: true
10
+ t.string "url", null: false
11
+ t.timestamps
12
+ end
13
+ end
14
+ end
data/docs/oauth/index.yml CHANGED
@@ -1,4 +1,4 @@
1
- openapi: 3.0.0
1
+ openapi: 3.0.3
2
2
  servers:
3
3
  - url: 'https://demo.spreecommerce.org'
4
4
  description: demo
@@ -7,7 +7,7 @@ servers:
7
7
  info:
8
8
  version: 1.0.0
9
9
  title: Authentication
10
- description: "Spree uses oAuth based Authentication via short-lived Bearer tokens. You can either create a new one or refresh existing token."
10
+ description: Spree uses oAuth based Authentication via short-lived Bearer tokens. You can either create a new one or refresh existing token.
11
11
  contact:
12
12
  name: Spark Solutions
13
13
  url: 'https://sparksolutions.co'
@@ -18,26 +18,35 @@ info:
18
18
  paths:
19
19
  /spree_oauth/token:
20
20
  post:
21
- description: Creates or refreshes a Bearer token required to authorize API calls
22
- tags:
23
- - Token
24
- operationId: Create or Refresh Token
21
+ description: |-
22
+ This endpoint creates a new Bearer Token or refreshes an existing Bearer Token.
23
+
24
+ The `token` found in the response body is required to authorize API calls.
25
+ operationId: create-or-refresh-token
25
26
  responses:
26
27
  '200':
27
- description: Token was successfully created or refreshed
28
+ description: Token was successfully created or refreshed.
28
29
  content:
29
30
  application/json:
30
31
  schema:
31
32
  $ref: '#/components/schemas/Token'
32
33
  examples:
33
- create token:
34
+ Storefront User Token:
34
35
  value:
35
36
  access_token: SfM3k8kq5Wkc6xz6rgMlsl-mbygJ1ptq4DR0Ah51vjA
36
37
  token_type: Bearer
37
38
  expires_in: 7200
38
39
  refresh_token: SqJDIwX00fehqHxS6xmb-kzqAlrYe_0EHgekMexVT8k
39
40
  created_at: 1581873931
40
- refresh token:
41
+ Platform User Token:
42
+ value:
43
+ access_token: 2480c16561d1391ea81ca5336b651e9a29f4524f6dee8c7f3f02a600159189c3
44
+ token_type: Bearer
45
+ expires_in: 7200
46
+ refresh_token: f5d78642252eeb3f3001f67b196ac21a27afc030462a54060b0ebbdae2b8dc9c
47
+ scope: admin
48
+ created_at: 1539863418
49
+ Refreshed Token:
41
50
  value:
42
51
  access_token: Es9lLPW2mVaDB80I-I_OdQCw3JfOT1s19YN1naFWx98
43
52
  token_type: Bearer
@@ -51,21 +60,57 @@ paths:
51
60
  schema:
52
61
  oneOf:
53
62
  - $ref: '#/components/schemas/CreateTokenBody'
63
+ - $ref: '#/components/schemas/ClientTokenBody'
54
64
  - $ref: '#/components/schemas/RefreshTokenBody'
55
65
  examples:
56
- create token:
66
+ Create Storefront API User Token:
67
+ value:
68
+ grant_type: password
69
+ username: spree@example.com
70
+ password: spree123
71
+ Create Platform API User Token:
57
72
  value:
73
+ client_id: 7ZY15L7crVZul8i3PZPrnpOkEURK7xnXEWRZdE6K39M
74
+ client_secret: cxMZ0tbe604qj_13hibNmc3GDsXUQfpzHt9PvweihFc
58
75
  grant_type: password
59
76
  username: spree@example.com
60
77
  password: spree123
61
- refresh token:
78
+ scope: admin
79
+ Create Platform API Application Token:
80
+ value:
81
+ grant_type: client_credentials
82
+ client_id: 7ZY15L7crVZul8i3PZPrnpOkEURK7xnXEWRZdE6K39M
83
+ client_secret: cxMZ0tbe604qj_13hibNmc3GDsXUQfpzHt9PvweihFc
84
+ scope: admin
85
+ Refresh a Token:
62
86
  value:
63
87
  grant_type: refresh_token
64
88
  refresh_token: SqJDIwX00fehqHxS6xmb-kzqAlrYe_0EHgekMexVT8k
89
+ application/xml:
90
+ schema:
91
+ type: object
92
+ properties: {}
65
93
  description: ''
94
+ summary: Create or Refresh a Token
95
+ tags:
96
+ - Token
66
97
  components:
67
98
  schemas:
68
99
  Token:
100
+ x-examples:
101
+ create token:
102
+ access_token: SfM3k8kq5Wkc6xz6rgMlsl-mbygJ1ptq4DR0Ah51vjA
103
+ token_type: Bearer
104
+ expires_in: 7200
105
+ refresh_token: SqJDIwX00fehqHxS6xmb-kzqAlrYe_0EHgekMexVT8k
106
+ created_at: 1581873931
107
+ refresh token:
108
+ access_token: Es9lLPW2mVaDB80I-I_OdQCw3JfOT1s19YN1naFWx98
109
+ token_type: Bearer
110
+ expires_in: 7200
111
+ refresh_token: j92BxulqIIYtiiaBsuAM1TzGsGSVxaykT4kk8OYHGNY
112
+ created_at: 1581876572
113
+ type: object
69
114
  properties:
70
115
  access_token:
71
116
  type: string
@@ -81,34 +126,42 @@ components:
81
126
  refresh_token:
82
127
  type: string
83
128
  example: f5d78642252eeb3f3001f67b196ac21a27afc030462a54060b0ebbdae2b8dc9c
129
+ scope:
130
+ type: string
131
+ example: admin
132
+ default: admin
84
133
  created_at:
85
134
  type: integer
86
135
  example: 1539863418
87
- x-examples:
88
- create token:
89
- access_token: SfM3k8kq5Wkc6xz6rgMlsl-mbygJ1ptq4DR0Ah51vjA
90
- token_type: Bearer
91
- expires_in: 7200
92
- refresh_token: SqJDIwX00fehqHxS6xmb-kzqAlrYe_0EHgekMexVT8k
93
- created_at: 1581873931
94
- refresh token:
95
- access_token: Es9lLPW2mVaDB80I-I_OdQCw3JfOT1s19YN1naFWx98
96
- token_type: Bearer
97
- expires_in: 7200
98
- refresh_token: j92BxulqIIYtiiaBsuAM1TzGsGSVxaykT4kk8OYHGNY
99
- created_at: 1581876572
136
+ required:
137
+ - access_token
138
+ - token_type
139
+ - expires_in
140
+ - refresh_token
141
+ - created_at
142
+ x-internal: true
100
143
  CreateTokenBody:
101
144
  type: object
102
145
  x-examples:
103
- example-1:
146
+ User Token:
147
+ grant_type: password
148
+ username: spree@example.com
149
+ password: spree123
150
+ Application Token:
104
151
  grant_type: password
105
152
  username: spree@example.com
106
153
  password: spree123
154
+ scope: admin
155
+ x-internal: true
156
+ title: 'Create a new token (grant_type: password)'
157
+ description: ''
107
158
  properties:
108
159
  grant_type:
109
160
  type: string
110
- default: password
111
- description: Use `password` to create a token and `refresh_token` to refresh it
161
+ description: ''
162
+ example: password
163
+ enum:
164
+ - password
112
165
  username:
113
166
  type: string
114
167
  description: User email address
@@ -117,24 +170,64 @@ components:
117
170
  type: string
118
171
  description: User password
119
172
  example: spree123
173
+ scope:
174
+ type: string
175
+ enum:
176
+ - admin
177
+ description: 'Pass the value `admin` to create a Platform User Token, allowing access to the Platform API.'
178
+ nullable: true
120
179
  required:
121
180
  - grant_type
122
181
  - username
123
182
  - password
124
- RefreshTokenBody:
183
+ ClientTokenBody:
125
184
  type: object
185
+ x-examples:
186
+ example-1:
187
+ grant_type: refresh_token
188
+ refresh_token: SqJDIwX00fehqHxS6xmb-kzqAlrYe_0EHgekMexVT8k
189
+ x-internal: true
190
+ title: 'Create a new token (grant_type: client_credentials)'
191
+ description: ''
126
192
  properties:
127
193
  grant_type:
128
194
  type: string
129
- default: refresh_token
130
- refresh_token:
195
+ example: client_credentials
196
+ enum:
197
+ - client_credentials
198
+ client_id:
131
199
  type: string
132
- description: Refresh token obtained from the create token response
133
- example: "27af95fd57a424e5d01aaf5eab1324a8d5c0ca57daf384fae39f811a5144330143301'"
200
+ description: Use the client id
201
+ example: 27af95fd57a424e5d01aaf5eab
202
+ client_secret:
203
+ type: string
204
+ example: 1324a8d5c0ca57daf384fae39f811a5144330143301'
205
+ description: Client secret key.
134
206
  required:
135
207
  - grant_type
136
- - refresh_token
208
+ - client_id
209
+ - client_secret
210
+ RefreshTokenBody:
211
+ type: object
137
212
  x-examples:
138
213
  example-1:
139
214
  grant_type: refresh_token
140
215
  refresh_token: SqJDIwX00fehqHxS6xmb-kzqAlrYe_0EHgekMexVT8k
216
+ x-internal: true
217
+ title: 'Refresh an existing token (grant_type: refresh_token)'
218
+ description: ''
219
+ properties:
220
+ grant_type:
221
+ type: string
222
+ example: refresh_token
223
+ enum:
224
+ - refresh_token
225
+ refresh_token:
226
+ type: string
227
+ description: Refresh token obtained from the create token response
228
+ example: 27af95fd57a424e5d01aaf5eab1324a8d5c0ca57daf384fae39f811a5144330143301'
229
+ required:
230
+ - grant_type
231
+ - refresh_token
232
+ tags:
233
+ - name: Token