shopify_api 13.0.0 → 14.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (643) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -1
  3. data/.github/workflows/build.yml +4 -1
  4. data/.rubocop.yml +2 -0
  5. data/BREAKING_CHANGES_FOR_V10.md +231 -0
  6. data/CHANGELOG.md +38 -1
  7. data/CODE_OF_CONDUCT.md +46 -0
  8. data/CONTRIBUTING.md +25 -0
  9. data/Gemfile.lock +56 -54
  10. data/README.md +10 -41
  11. data/ROADMAP.md +10 -0
  12. data/dev.yml +3 -2
  13. data/docs/README.md +0 -1
  14. data/docs/getting_started.md +21 -11
  15. data/docs/usage/custom_apps.md +75 -0
  16. data/docs/usage/graphql.md +91 -17
  17. data/docs/usage/oauth.md +160 -27
  18. data/docs/usage/rest.md +269 -59
  19. data/docs/usage/webhooks.md +54 -11
  20. data/lib/shopify_api/admin_versions.rb +4 -1
  21. data/lib/shopify_api/auth/jwt_payload.rb +2 -2
  22. data/lib/shopify_api/auth/oauth/access_token_response.rb +37 -0
  23. data/lib/shopify_api/auth/oauth.rb +17 -38
  24. data/lib/shopify_api/auth/session.rb +31 -0
  25. data/lib/shopify_api/auth/token_exchange.rb +80 -0
  26. data/lib/shopify_api/clients/graphql/client.rb +1 -0
  27. data/lib/shopify_api/clients/http_client.rb +12 -3
  28. data/lib/shopify_api/clients/http_response.rb +29 -2
  29. data/lib/shopify_api/context.rb +19 -5
  30. data/lib/shopify_api/logger.rb +1 -1
  31. data/lib/shopify_api/rest/base.rb +112 -29
  32. data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +7 -3
  33. data/lib/shopify_api/rest/resources/2022_04/access_scope.rb +7 -3
  34. data/lib/shopify_api/rest/resources/2022_04/android_pay_key.rb +7 -3
  35. data/lib/shopify_api/rest/resources/2022_04/apple_pay_certificate.rb +7 -3
  36. data/lib/shopify_api/rest/resources/2022_04/application_charge.rb +7 -3
  37. data/lib/shopify_api/rest/resources/2022_04/application_credit.rb +7 -3
  38. data/lib/shopify_api/rest/resources/2022_04/article.rb +7 -3
  39. data/lib/shopify_api/rest/resources/2022_04/asset.rb +7 -3
  40. data/lib/shopify_api/rest/resources/2022_04/assigned_fulfillment_order.rb +12 -6
  41. data/lib/shopify_api/rest/resources/2022_04/balance.rb +6 -3
  42. data/lib/shopify_api/rest/resources/2022_04/blog.rb +7 -3
  43. data/lib/shopify_api/rest/resources/2022_04/cancellation_request.rb +7 -3
  44. data/lib/shopify_api/rest/resources/2022_04/carrier_service.rb +7 -3
  45. data/lib/shopify_api/rest/resources/2022_04/checkout.rb +7 -3
  46. data/lib/shopify_api/rest/resources/2022_04/collect.rb +7 -3
  47. data/lib/shopify_api/rest/resources/2022_04/collection.rb +7 -3
  48. data/lib/shopify_api/rest/resources/2022_04/collection_listing.rb +7 -3
  49. data/lib/shopify_api/rest/resources/2022_04/comment.rb +7 -3
  50. data/lib/shopify_api/rest/resources/2022_04/country.rb +7 -3
  51. data/lib/shopify_api/rest/resources/2022_04/currency.rb +7 -3
  52. data/lib/shopify_api/rest/resources/2022_04/custom_collection.rb +7 -3
  53. data/lib/shopify_api/rest/resources/2022_04/customer.rb +7 -3
  54. data/lib/shopify_api/rest/resources/2022_04/customer_address.rb +17 -3
  55. data/lib/shopify_api/rest/resources/2022_04/customer_saved_search.rb +7 -3
  56. data/lib/shopify_api/rest/resources/2022_04/deprecated_api_call.rb +7 -3
  57. data/lib/shopify_api/rest/resources/2022_04/discount_code.rb +7 -3
  58. data/lib/shopify_api/rest/resources/2022_04/dispute.rb +7 -3
  59. data/lib/shopify_api/rest/resources/2022_04/draft_order.rb +7 -3
  60. data/lib/shopify_api/rest/resources/2022_04/event.rb +7 -3
  61. data/lib/shopify_api/rest/resources/2022_04/fulfillment.rb +7 -3
  62. data/lib/shopify_api/rest/resources/2022_04/fulfillment_event.rb +7 -3
  63. data/lib/shopify_api/rest/resources/2022_04/fulfillment_order.rb +10 -10
  64. data/lib/shopify_api/rest/resources/2022_04/fulfillment_request.rb +17 -3
  65. data/lib/shopify_api/rest/resources/2022_04/fulfillment_service.rb +7 -3
  66. data/lib/shopify_api/rest/resources/2022_04/gift_card.rb +7 -3
  67. data/lib/shopify_api/rest/resources/2022_04/gift_card_adjustment.rb +7 -3
  68. data/lib/shopify_api/rest/resources/2022_04/image.rb +7 -3
  69. data/lib/shopify_api/rest/resources/2022_04/inventory_item.rb +7 -3
  70. data/lib/shopify_api/rest/resources/2022_04/inventory_level.rb +7 -3
  71. data/lib/shopify_api/rest/resources/2022_04/location.rb +7 -3
  72. data/lib/shopify_api/rest/resources/2022_04/locations_for_move.rb +7 -3
  73. data/lib/shopify_api/rest/resources/2022_04/marketing_event.rb +7 -3
  74. data/lib/shopify_api/rest/resources/2022_04/metafield.rb +7 -3
  75. data/lib/shopify_api/rest/resources/2022_04/mobile_platform_application.rb +7 -3
  76. data/lib/shopify_api/rest/resources/2022_04/order.rb +7 -3
  77. data/lib/shopify_api/rest/resources/2022_04/order_risk.rb +12 -6
  78. data/lib/shopify_api/rest/resources/2022_04/page.rb +7 -3
  79. data/lib/shopify_api/rest/resources/2022_04/payment.rb +7 -3
  80. data/lib/shopify_api/rest/resources/2022_04/payment_gateway.rb +7 -3
  81. data/lib/shopify_api/rest/resources/2022_04/payment_transaction.rb +7 -3
  82. data/lib/shopify_api/rest/resources/2022_04/payout.rb +7 -3
  83. data/lib/shopify_api/rest/resources/2022_04/policy.rb +7 -3
  84. data/lib/shopify_api/rest/resources/2022_04/price_rule.rb +7 -3
  85. data/lib/shopify_api/rest/resources/2022_04/product.rb +7 -3
  86. data/lib/shopify_api/rest/resources/2022_04/product_listing.rb +7 -3
  87. data/lib/shopify_api/rest/resources/2022_04/product_resource_feedback.rb +7 -3
  88. data/lib/shopify_api/rest/resources/2022_04/province.rb +7 -3
  89. data/lib/shopify_api/rest/resources/2022_04/recurring_application_charge.rb +7 -3
  90. data/lib/shopify_api/rest/resources/2022_04/redirect.rb +7 -3
  91. data/lib/shopify_api/rest/resources/2022_04/refund.rb +7 -3
  92. data/lib/shopify_api/rest/resources/2022_04/report.rb +7 -3
  93. data/lib/shopify_api/rest/resources/2022_04/resource_feedback.rb +7 -3
  94. data/lib/shopify_api/rest/resources/2022_04/script_tag.rb +7 -3
  95. data/lib/shopify_api/rest/resources/2022_04/shipping_zone.rb +7 -3
  96. data/lib/shopify_api/rest/resources/2022_04/shop.rb +9 -5
  97. data/lib/shopify_api/rest/resources/2022_04/smart_collection.rb +7 -3
  98. data/lib/shopify_api/rest/resources/2022_04/storefront_access_token.rb +7 -3
  99. data/lib/shopify_api/rest/resources/2022_04/tender_transaction.rb +7 -3
  100. data/lib/shopify_api/rest/resources/2022_04/theme.rb +7 -3
  101. data/lib/shopify_api/rest/resources/2022_04/transaction.rb +7 -3
  102. data/lib/shopify_api/rest/resources/2022_04/usage_charge.rb +7 -3
  103. data/lib/shopify_api/rest/resources/2022_04/user.rb +7 -3
  104. data/lib/shopify_api/rest/resources/2022_04/variant.rb +7 -3
  105. data/lib/shopify_api/rest/resources/2022_04/webhook.rb +7 -3
  106. data/lib/shopify_api/rest/resources/2022_07/abandoned_checkout.rb +7 -3
  107. data/lib/shopify_api/rest/resources/2022_07/access_scope.rb +7 -3
  108. data/lib/shopify_api/rest/resources/2022_07/android_pay_key.rb +7 -3
  109. data/lib/shopify_api/rest/resources/2022_07/apple_pay_certificate.rb +7 -3
  110. data/lib/shopify_api/rest/resources/2022_07/application_charge.rb +7 -3
  111. data/lib/shopify_api/rest/resources/2022_07/application_credit.rb +7 -3
  112. data/lib/shopify_api/rest/resources/2022_07/article.rb +7 -3
  113. data/lib/shopify_api/rest/resources/2022_07/asset.rb +7 -3
  114. data/lib/shopify_api/rest/resources/2022_07/assigned_fulfillment_order.rb +12 -6
  115. data/lib/shopify_api/rest/resources/2022_07/balance.rb +11 -3
  116. data/lib/shopify_api/rest/resources/2022_07/blog.rb +7 -3
  117. data/lib/shopify_api/rest/resources/2022_07/cancellation_request.rb +7 -3
  118. data/lib/shopify_api/rest/resources/2022_07/carrier_service.rb +7 -3
  119. data/lib/shopify_api/rest/resources/2022_07/checkout.rb +7 -3
  120. data/lib/shopify_api/rest/resources/2022_07/collect.rb +7 -3
  121. data/lib/shopify_api/rest/resources/2022_07/collection.rb +7 -3
  122. data/lib/shopify_api/rest/resources/2022_07/collection_listing.rb +7 -3
  123. data/lib/shopify_api/rest/resources/2022_07/comment.rb +7 -3
  124. data/lib/shopify_api/rest/resources/2022_07/country.rb +7 -3
  125. data/lib/shopify_api/rest/resources/2022_07/currency.rb +7 -3
  126. data/lib/shopify_api/rest/resources/2022_07/custom_collection.rb +7 -3
  127. data/lib/shopify_api/rest/resources/2022_07/customer.rb +7 -3
  128. data/lib/shopify_api/rest/resources/2022_07/customer_address.rb +17 -3
  129. data/lib/shopify_api/rest/resources/2022_07/deprecated_api_call.rb +7 -3
  130. data/lib/shopify_api/rest/resources/2022_07/discount_code.rb +7 -3
  131. data/lib/shopify_api/rest/resources/2022_07/dispute.rb +7 -3
  132. data/lib/shopify_api/rest/resources/2022_07/dispute_evidence.rb +7 -3
  133. data/lib/shopify_api/rest/resources/2022_07/dispute_file_upload.rb +7 -3
  134. data/lib/shopify_api/rest/resources/2022_07/draft_order.rb +7 -3
  135. data/lib/shopify_api/rest/resources/2022_07/event.rb +7 -3
  136. data/lib/shopify_api/rest/resources/2022_07/fulfillment.rb +7 -3
  137. data/lib/shopify_api/rest/resources/2022_07/fulfillment_event.rb +7 -3
  138. data/lib/shopify_api/rest/resources/2022_07/fulfillment_order.rb +10 -10
  139. data/lib/shopify_api/rest/resources/2022_07/fulfillment_request.rb +17 -3
  140. data/lib/shopify_api/rest/resources/2022_07/fulfillment_service.rb +7 -3
  141. data/lib/shopify_api/rest/resources/2022_07/gift_card.rb +7 -3
  142. data/lib/shopify_api/rest/resources/2022_07/gift_card_adjustment.rb +7 -3
  143. data/lib/shopify_api/rest/resources/2022_07/image.rb +7 -3
  144. data/lib/shopify_api/rest/resources/2022_07/inventory_item.rb +7 -3
  145. data/lib/shopify_api/rest/resources/2022_07/inventory_level.rb +7 -3
  146. data/lib/shopify_api/rest/resources/2022_07/location.rb +7 -3
  147. data/lib/shopify_api/rest/resources/2022_07/locations_for_move.rb +7 -3
  148. data/lib/shopify_api/rest/resources/2022_07/marketing_event.rb +7 -3
  149. data/lib/shopify_api/rest/resources/2022_07/metafield.rb +7 -3
  150. data/lib/shopify_api/rest/resources/2022_07/mobile_platform_application.rb +7 -3
  151. data/lib/shopify_api/rest/resources/2022_07/order.rb +10 -3
  152. data/lib/shopify_api/rest/resources/2022_07/order_risk.rb +12 -6
  153. data/lib/shopify_api/rest/resources/2022_07/page.rb +7 -3
  154. data/lib/shopify_api/rest/resources/2022_07/payment.rb +7 -3
  155. data/lib/shopify_api/rest/resources/2022_07/payment_gateway.rb +7 -3
  156. data/lib/shopify_api/rest/resources/2022_07/payment_transaction.rb +7 -3
  157. data/lib/shopify_api/rest/resources/2022_07/payout.rb +7 -3
  158. data/lib/shopify_api/rest/resources/2022_07/policy.rb +7 -3
  159. data/lib/shopify_api/rest/resources/2022_07/price_rule.rb +7 -3
  160. data/lib/shopify_api/rest/resources/2022_07/product.rb +7 -3
  161. data/lib/shopify_api/rest/resources/2022_07/product_listing.rb +7 -3
  162. data/lib/shopify_api/rest/resources/2022_07/product_resource_feedback.rb +7 -3
  163. data/lib/shopify_api/rest/resources/2022_07/province.rb +7 -3
  164. data/lib/shopify_api/rest/resources/2022_07/recurring_application_charge.rb +7 -3
  165. data/lib/shopify_api/rest/resources/2022_07/redirect.rb +7 -3
  166. data/lib/shopify_api/rest/resources/2022_07/refund.rb +7 -3
  167. data/lib/shopify_api/rest/resources/2022_07/report.rb +7 -3
  168. data/lib/shopify_api/rest/resources/2022_07/resource_feedback.rb +7 -3
  169. data/lib/shopify_api/rest/resources/2022_07/script_tag.rb +7 -3
  170. data/lib/shopify_api/rest/resources/2022_07/shipping_zone.rb +7 -3
  171. data/lib/shopify_api/rest/resources/2022_07/shop.rb +9 -5
  172. data/lib/shopify_api/rest/resources/2022_07/smart_collection.rb +7 -3
  173. data/lib/shopify_api/rest/resources/2022_07/storefront_access_token.rb +7 -3
  174. data/lib/shopify_api/rest/resources/2022_07/tender_transaction.rb +7 -3
  175. data/lib/shopify_api/rest/resources/2022_07/theme.rb +7 -3
  176. data/lib/shopify_api/rest/resources/2022_07/transaction.rb +7 -3
  177. data/lib/shopify_api/rest/resources/2022_07/usage_charge.rb +7 -3
  178. data/lib/shopify_api/rest/resources/2022_07/user.rb +7 -3
  179. data/lib/shopify_api/rest/resources/2022_07/variant.rb +7 -3
  180. data/lib/shopify_api/rest/resources/2022_07/webhook.rb +7 -3
  181. data/lib/shopify_api/rest/resources/2022_10/abandoned_checkout.rb +7 -3
  182. data/lib/shopify_api/rest/resources/2022_10/access_scope.rb +7 -3
  183. data/lib/shopify_api/rest/resources/2022_10/android_pay_key.rb +7 -3
  184. data/lib/shopify_api/rest/resources/2022_10/apple_pay_certificate.rb +7 -3
  185. data/lib/shopify_api/rest/resources/2022_10/application_charge.rb +7 -3
  186. data/lib/shopify_api/rest/resources/2022_10/application_credit.rb +7 -3
  187. data/lib/shopify_api/rest/resources/2022_10/article.rb +7 -3
  188. data/lib/shopify_api/rest/resources/2022_10/asset.rb +7 -3
  189. data/lib/shopify_api/rest/resources/2022_10/assigned_fulfillment_order.rb +12 -6
  190. data/lib/shopify_api/rest/resources/2022_10/balance.rb +11 -3
  191. data/lib/shopify_api/rest/resources/2022_10/blog.rb +7 -3
  192. data/lib/shopify_api/rest/resources/2022_10/cancellation_request.rb +7 -3
  193. data/lib/shopify_api/rest/resources/2022_10/carrier_service.rb +7 -3
  194. data/lib/shopify_api/rest/resources/2022_10/checkout.rb +7 -3
  195. data/lib/shopify_api/rest/resources/2022_10/collect.rb +7 -3
  196. data/lib/shopify_api/rest/resources/2022_10/collection.rb +7 -3
  197. data/lib/shopify_api/rest/resources/2022_10/collection_listing.rb +7 -3
  198. data/lib/shopify_api/rest/resources/2022_10/comment.rb +7 -3
  199. data/lib/shopify_api/rest/resources/2022_10/country.rb +7 -3
  200. data/lib/shopify_api/rest/resources/2022_10/currency.rb +7 -3
  201. data/lib/shopify_api/rest/resources/2022_10/custom_collection.rb +7 -3
  202. data/lib/shopify_api/rest/resources/2022_10/customer.rb +7 -3
  203. data/lib/shopify_api/rest/resources/2022_10/customer_address.rb +17 -3
  204. data/lib/shopify_api/rest/resources/2022_10/deprecated_api_call.rb +7 -3
  205. data/lib/shopify_api/rest/resources/2022_10/discount_code.rb +7 -3
  206. data/lib/shopify_api/rest/resources/2022_10/dispute.rb +7 -3
  207. data/lib/shopify_api/rest/resources/2022_10/dispute_evidence.rb +7 -3
  208. data/lib/shopify_api/rest/resources/2022_10/dispute_file_upload.rb +7 -3
  209. data/lib/shopify_api/rest/resources/2022_10/draft_order.rb +7 -3
  210. data/lib/shopify_api/rest/resources/2022_10/event.rb +7 -3
  211. data/lib/shopify_api/rest/resources/2022_10/fulfillment.rb +7 -3
  212. data/lib/shopify_api/rest/resources/2022_10/fulfillment_event.rb +7 -3
  213. data/lib/shopify_api/rest/resources/2022_10/fulfillment_order.rb +10 -10
  214. data/lib/shopify_api/rest/resources/2022_10/fulfillment_request.rb +17 -3
  215. data/lib/shopify_api/rest/resources/2022_10/fulfillment_service.rb +7 -3
  216. data/lib/shopify_api/rest/resources/2022_10/gift_card.rb +7 -3
  217. data/lib/shopify_api/rest/resources/2022_10/gift_card_adjustment.rb +7 -3
  218. data/lib/shopify_api/rest/resources/2022_10/image.rb +7 -3
  219. data/lib/shopify_api/rest/resources/2022_10/inventory_item.rb +7 -3
  220. data/lib/shopify_api/rest/resources/2022_10/inventory_level.rb +7 -3
  221. data/lib/shopify_api/rest/resources/2022_10/location.rb +7 -3
  222. data/lib/shopify_api/rest/resources/2022_10/locations_for_move.rb +7 -3
  223. data/lib/shopify_api/rest/resources/2022_10/marketing_event.rb +7 -3
  224. data/lib/shopify_api/rest/resources/2022_10/metafield.rb +7 -3
  225. data/lib/shopify_api/rest/resources/2022_10/mobile_platform_application.rb +7 -3
  226. data/lib/shopify_api/rest/resources/2022_10/order.rb +10 -3
  227. data/lib/shopify_api/rest/resources/2022_10/order_risk.rb +12 -6
  228. data/lib/shopify_api/rest/resources/2022_10/page.rb +7 -3
  229. data/lib/shopify_api/rest/resources/2022_10/payment.rb +7 -3
  230. data/lib/shopify_api/rest/resources/2022_10/payment_gateway.rb +7 -3
  231. data/lib/shopify_api/rest/resources/2022_10/payment_transaction.rb +7 -3
  232. data/lib/shopify_api/rest/resources/2022_10/payout.rb +7 -3
  233. data/lib/shopify_api/rest/resources/2022_10/policy.rb +7 -3
  234. data/lib/shopify_api/rest/resources/2022_10/price_rule.rb +7 -3
  235. data/lib/shopify_api/rest/resources/2022_10/product.rb +7 -3
  236. data/lib/shopify_api/rest/resources/2022_10/product_listing.rb +7 -3
  237. data/lib/shopify_api/rest/resources/2022_10/product_resource_feedback.rb +7 -3
  238. data/lib/shopify_api/rest/resources/2022_10/province.rb +7 -3
  239. data/lib/shopify_api/rest/resources/2022_10/recurring_application_charge.rb +7 -3
  240. data/lib/shopify_api/rest/resources/2022_10/redirect.rb +7 -3
  241. data/lib/shopify_api/rest/resources/2022_10/refund.rb +7 -3
  242. data/lib/shopify_api/rest/resources/2022_10/report.rb +7 -3
  243. data/lib/shopify_api/rest/resources/2022_10/resource_feedback.rb +7 -3
  244. data/lib/shopify_api/rest/resources/2022_10/script_tag.rb +7 -3
  245. data/lib/shopify_api/rest/resources/2022_10/shipping_zone.rb +7 -3
  246. data/lib/shopify_api/rest/resources/2022_10/shop.rb +9 -8
  247. data/lib/shopify_api/rest/resources/2022_10/smart_collection.rb +7 -3
  248. data/lib/shopify_api/rest/resources/2022_10/storefront_access_token.rb +7 -3
  249. data/lib/shopify_api/rest/resources/2022_10/tender_transaction.rb +7 -3
  250. data/lib/shopify_api/rest/resources/2022_10/theme.rb +7 -3
  251. data/lib/shopify_api/rest/resources/2022_10/transaction.rb +7 -3
  252. data/lib/shopify_api/rest/resources/2022_10/usage_charge.rb +7 -3
  253. data/lib/shopify_api/rest/resources/2022_10/user.rb +7 -3
  254. data/lib/shopify_api/rest/resources/2022_10/variant.rb +8 -8
  255. data/lib/shopify_api/rest/resources/2022_10/webhook.rb +7 -3
  256. data/lib/shopify_api/rest/resources/2023_01/abandoned_checkout.rb +7 -3
  257. data/lib/shopify_api/rest/resources/2023_01/access_scope.rb +7 -3
  258. data/lib/shopify_api/rest/resources/2023_01/apple_pay_certificate.rb +7 -3
  259. data/lib/shopify_api/rest/resources/2023_01/application_charge.rb +7 -3
  260. data/lib/shopify_api/rest/resources/2023_01/application_credit.rb +7 -3
  261. data/lib/shopify_api/rest/resources/2023_01/article.rb +7 -3
  262. data/lib/shopify_api/rest/resources/2023_01/asset.rb +7 -3
  263. data/lib/shopify_api/rest/resources/2023_01/assigned_fulfillment_order.rb +12 -6
  264. data/lib/shopify_api/rest/resources/2023_01/balance.rb +11 -3
  265. data/lib/shopify_api/rest/resources/2023_01/blog.rb +7 -3
  266. data/lib/shopify_api/rest/resources/2023_01/cancellation_request.rb +7 -3
  267. data/lib/shopify_api/rest/resources/2023_01/carrier_service.rb +7 -3
  268. data/lib/shopify_api/rest/resources/2023_01/checkout.rb +7 -3
  269. data/lib/shopify_api/rest/resources/2023_01/collect.rb +7 -3
  270. data/lib/shopify_api/rest/resources/2023_01/collection.rb +7 -3
  271. data/lib/shopify_api/rest/resources/2023_01/collection_listing.rb +7 -3
  272. data/lib/shopify_api/rest/resources/2023_01/comment.rb +7 -3
  273. data/lib/shopify_api/rest/resources/2023_01/country.rb +7 -3
  274. data/lib/shopify_api/rest/resources/2023_01/currency.rb +7 -3
  275. data/lib/shopify_api/rest/resources/2023_01/custom_collection.rb +7 -3
  276. data/lib/shopify_api/rest/resources/2023_01/customer.rb +7 -3
  277. data/lib/shopify_api/rest/resources/2023_01/customer_address.rb +17 -3
  278. data/lib/shopify_api/rest/resources/2023_01/customer_saved_search.rb +7 -3
  279. data/lib/shopify_api/rest/resources/2023_01/deprecated_api_call.rb +7 -3
  280. data/lib/shopify_api/rest/resources/2023_01/discount_code.rb +7 -3
  281. data/lib/shopify_api/rest/resources/2023_01/dispute.rb +7 -3
  282. data/lib/shopify_api/rest/resources/2023_01/dispute_evidence.rb +7 -3
  283. data/lib/shopify_api/rest/resources/2023_01/dispute_file_upload.rb +7 -3
  284. data/lib/shopify_api/rest/resources/2023_01/draft_order.rb +7 -3
  285. data/lib/shopify_api/rest/resources/2023_01/event.rb +7 -3
  286. data/lib/shopify_api/rest/resources/2023_01/fulfillment.rb +7 -3
  287. data/lib/shopify_api/rest/resources/2023_01/fulfillment_event.rb +7 -3
  288. data/lib/shopify_api/rest/resources/2023_01/fulfillment_order.rb +15 -13
  289. data/lib/shopify_api/rest/resources/2023_01/fulfillment_request.rb +17 -3
  290. data/lib/shopify_api/rest/resources/2023_01/fulfillment_service.rb +7 -3
  291. data/lib/shopify_api/rest/resources/2023_01/gift_card.rb +7 -3
  292. data/lib/shopify_api/rest/resources/2023_01/gift_card_adjustment.rb +7 -3
  293. data/lib/shopify_api/rest/resources/2023_01/image.rb +7 -3
  294. data/lib/shopify_api/rest/resources/2023_01/inventory_item.rb +7 -3
  295. data/lib/shopify_api/rest/resources/2023_01/inventory_level.rb +7 -3
  296. data/lib/shopify_api/rest/resources/2023_01/location.rb +7 -3
  297. data/lib/shopify_api/rest/resources/2023_01/locations_for_move.rb +7 -3
  298. data/lib/shopify_api/rest/resources/2023_01/marketing_event.rb +7 -3
  299. data/lib/shopify_api/rest/resources/2023_01/metafield.rb +7 -3
  300. data/lib/shopify_api/rest/resources/2023_01/mobile_platform_application.rb +7 -3
  301. data/lib/shopify_api/rest/resources/2023_01/order.rb +10 -3
  302. data/lib/shopify_api/rest/resources/2023_01/order_risk.rb +12 -6
  303. data/lib/shopify_api/rest/resources/2023_01/page.rb +7 -3
  304. data/lib/shopify_api/rest/resources/2023_01/payment.rb +7 -3
  305. data/lib/shopify_api/rest/resources/2023_01/payment_gateway.rb +7 -3
  306. data/lib/shopify_api/rest/resources/2023_01/payment_transaction.rb +12 -5
  307. data/lib/shopify_api/rest/resources/2023_01/payout.rb +7 -3
  308. data/lib/shopify_api/rest/resources/2023_01/policy.rb +7 -3
  309. data/lib/shopify_api/rest/resources/2023_01/price_rule.rb +7 -3
  310. data/lib/shopify_api/rest/resources/2023_01/product.rb +7 -3
  311. data/lib/shopify_api/rest/resources/2023_01/product_listing.rb +7 -3
  312. data/lib/shopify_api/rest/resources/2023_01/product_resource_feedback.rb +7 -3
  313. data/lib/shopify_api/rest/resources/2023_01/province.rb +7 -3
  314. data/lib/shopify_api/rest/resources/2023_01/recurring_application_charge.rb +7 -3
  315. data/lib/shopify_api/rest/resources/2023_01/redirect.rb +7 -3
  316. data/lib/shopify_api/rest/resources/2023_01/refund.rb +7 -3
  317. data/lib/shopify_api/rest/resources/2023_01/report.rb +7 -3
  318. data/lib/shopify_api/rest/resources/2023_01/resource_feedback.rb +7 -3
  319. data/lib/shopify_api/rest/resources/2023_01/script_tag.rb +7 -3
  320. data/lib/shopify_api/rest/resources/2023_01/shipping_zone.rb +7 -3
  321. data/lib/shopify_api/rest/resources/2023_01/shop.rb +9 -8
  322. data/lib/shopify_api/rest/resources/2023_01/smart_collection.rb +7 -3
  323. data/lib/shopify_api/rest/resources/2023_01/storefront_access_token.rb +7 -3
  324. data/lib/shopify_api/rest/resources/2023_01/tender_transaction.rb +7 -3
  325. data/lib/shopify_api/rest/resources/2023_01/theme.rb +7 -3
  326. data/lib/shopify_api/rest/resources/2023_01/transaction.rb +7 -3
  327. data/lib/shopify_api/rest/resources/2023_01/usage_charge.rb +7 -3
  328. data/lib/shopify_api/rest/resources/2023_01/user.rb +7 -3
  329. data/lib/shopify_api/rest/resources/2023_01/variant.rb +8 -8
  330. data/lib/shopify_api/rest/resources/2023_01/webhook.rb +7 -3
  331. data/lib/shopify_api/rest/resources/2023_04/abandoned_checkout.rb +7 -3
  332. data/lib/shopify_api/rest/resources/2023_04/access_scope.rb +7 -3
  333. data/lib/shopify_api/rest/resources/2023_04/apple_pay_certificate.rb +7 -3
  334. data/lib/shopify_api/rest/resources/2023_04/application_charge.rb +7 -3
  335. data/lib/shopify_api/rest/resources/2023_04/application_credit.rb +7 -3
  336. data/lib/shopify_api/rest/resources/2023_04/article.rb +7 -3
  337. data/lib/shopify_api/rest/resources/2023_04/asset.rb +7 -3
  338. data/lib/shopify_api/rest/resources/2023_04/assigned_fulfillment_order.rb +12 -6
  339. data/lib/shopify_api/rest/resources/2023_04/balance.rb +11 -3
  340. data/lib/shopify_api/rest/resources/2023_04/blog.rb +7 -3
  341. data/lib/shopify_api/rest/resources/2023_04/cancellation_request.rb +7 -3
  342. data/lib/shopify_api/rest/resources/2023_04/carrier_service.rb +7 -3
  343. data/lib/shopify_api/rest/resources/2023_04/checkout.rb +7 -3
  344. data/lib/shopify_api/rest/resources/2023_04/collect.rb +7 -3
  345. data/lib/shopify_api/rest/resources/2023_04/collection.rb +7 -3
  346. data/lib/shopify_api/rest/resources/2023_04/collection_listing.rb +7 -3
  347. data/lib/shopify_api/rest/resources/2023_04/comment.rb +7 -3
  348. data/lib/shopify_api/rest/resources/2023_04/country.rb +7 -3
  349. data/lib/shopify_api/rest/resources/2023_04/currency.rb +7 -3
  350. data/lib/shopify_api/rest/resources/2023_04/custom_collection.rb +7 -3
  351. data/lib/shopify_api/rest/resources/2023_04/customer.rb +7 -3
  352. data/lib/shopify_api/rest/resources/2023_04/customer_address.rb +17 -3
  353. data/lib/shopify_api/rest/resources/2023_04/customer_saved_search.rb +7 -3
  354. data/lib/shopify_api/rest/resources/2023_04/deprecated_api_call.rb +7 -3
  355. data/lib/shopify_api/rest/resources/2023_04/discount_code.rb +7 -3
  356. data/lib/shopify_api/rest/resources/2023_04/dispute.rb +7 -3
  357. data/lib/shopify_api/rest/resources/2023_04/dispute_evidence.rb +7 -3
  358. data/lib/shopify_api/rest/resources/2023_04/dispute_file_upload.rb +7 -3
  359. data/lib/shopify_api/rest/resources/2023_04/draft_order.rb +7 -3
  360. data/lib/shopify_api/rest/resources/2023_04/event.rb +7 -3
  361. data/lib/shopify_api/rest/resources/2023_04/fulfillment.rb +7 -3
  362. data/lib/shopify_api/rest/resources/2023_04/fulfillment_event.rb +7 -3
  363. data/lib/shopify_api/rest/resources/2023_04/fulfillment_order.rb +12 -6
  364. data/lib/shopify_api/rest/resources/2023_04/fulfillment_request.rb +17 -3
  365. data/lib/shopify_api/rest/resources/2023_04/fulfillment_service.rb +7 -3
  366. data/lib/shopify_api/rest/resources/2023_04/gift_card.rb +7 -3
  367. data/lib/shopify_api/rest/resources/2023_04/gift_card_adjustment.rb +7 -3
  368. data/lib/shopify_api/rest/resources/2023_04/image.rb +7 -3
  369. data/lib/shopify_api/rest/resources/2023_04/inventory_item.rb +7 -3
  370. data/lib/shopify_api/rest/resources/2023_04/inventory_level.rb +7 -3
  371. data/lib/shopify_api/rest/resources/2023_04/location.rb +7 -3
  372. data/lib/shopify_api/rest/resources/2023_04/locations_for_move.rb +7 -3
  373. data/lib/shopify_api/rest/resources/2023_04/marketing_event.rb +7 -3
  374. data/lib/shopify_api/rest/resources/2023_04/metafield.rb +7 -3
  375. data/lib/shopify_api/rest/resources/2023_04/mobile_platform_application.rb +7 -3
  376. data/lib/shopify_api/rest/resources/2023_04/order.rb +10 -9
  377. data/lib/shopify_api/rest/resources/2023_04/order_risk.rb +12 -6
  378. data/lib/shopify_api/rest/resources/2023_04/page.rb +7 -3
  379. data/lib/shopify_api/rest/resources/2023_04/payment.rb +7 -3
  380. data/lib/shopify_api/rest/resources/2023_04/payment_gateway.rb +7 -3
  381. data/lib/shopify_api/rest/resources/2023_04/payment_transaction.rb +12 -5
  382. data/lib/shopify_api/rest/resources/2023_04/payout.rb +7 -3
  383. data/lib/shopify_api/rest/resources/2023_04/policy.rb +7 -3
  384. data/lib/shopify_api/rest/resources/2023_04/price_rule.rb +7 -3
  385. data/lib/shopify_api/rest/resources/2023_04/product.rb +7 -3
  386. data/lib/shopify_api/rest/resources/2023_04/product_listing.rb +7 -3
  387. data/lib/shopify_api/rest/resources/2023_04/product_resource_feedback.rb +7 -3
  388. data/lib/shopify_api/rest/resources/2023_04/province.rb +7 -3
  389. data/lib/shopify_api/rest/resources/2023_04/recurring_application_charge.rb +7 -3
  390. data/lib/shopify_api/rest/resources/2023_04/redirect.rb +7 -3
  391. data/lib/shopify_api/rest/resources/2023_04/refund.rb +7 -3
  392. data/lib/shopify_api/rest/resources/2023_04/report.rb +7 -3
  393. data/lib/shopify_api/rest/resources/2023_04/resource_feedback.rb +7 -3
  394. data/lib/shopify_api/rest/resources/2023_04/script_tag.rb +7 -3
  395. data/lib/shopify_api/rest/resources/2023_04/shipping_zone.rb +7 -3
  396. data/lib/shopify_api/rest/resources/2023_04/shop.rb +9 -8
  397. data/lib/shopify_api/rest/resources/2023_04/smart_collection.rb +7 -3
  398. data/lib/shopify_api/rest/resources/2023_04/storefront_access_token.rb +7 -3
  399. data/lib/shopify_api/rest/resources/2023_04/tender_transaction.rb +7 -3
  400. data/lib/shopify_api/rest/resources/2023_04/theme.rb +7 -3
  401. data/lib/shopify_api/rest/resources/2023_04/transaction.rb +7 -3
  402. data/lib/shopify_api/rest/resources/2023_04/usage_charge.rb +7 -3
  403. data/lib/shopify_api/rest/resources/2023_04/user.rb +7 -3
  404. data/lib/shopify_api/rest/resources/2023_04/variant.rb +8 -8
  405. data/lib/shopify_api/rest/resources/2023_04/webhook.rb +7 -3
  406. data/lib/shopify_api/rest/resources/2023_07/abandoned_checkout.rb +194 -0
  407. data/lib/shopify_api/rest/resources/2023_07/access_scope.rb +62 -0
  408. data/lib/shopify_api/rest/resources/2023_07/apple_pay_certificate.rb +109 -0
  409. data/lib/shopify_api/rest/resources/2023_07/application_charge.rb +113 -0
  410. data/lib/shopify_api/rest/resources/2023_07/application_credit.rb +95 -0
  411. data/lib/shopify_api/rest/resources/2023_07/article.rb +269 -0
  412. data/lib/shopify_api/rest/resources/2023_07/asset.rb +122 -0
  413. data/lib/shopify_api/rest/resources/2023_07/assigned_fulfillment_order.rb +92 -0
  414. data/lib/shopify_api/rest/resources/2023_07/balance.rb +58 -0
  415. data/lib/shopify_api/rest/resources/2023_07/blog.rb +166 -0
  416. data/lib/shopify_api/rest/resources/2023_07/cancellation_request.rb +87 -0
  417. data/lib/shopify_api/rest/resources/2023_07/carrier_service.rb +120 -0
  418. data/lib/shopify_api/rest/resources/2023_07/checkout.rb +213 -0
  419. data/lib/shopify_api/rest/resources/{2022_07/customer_saved_search.rb → 2023_07/collect.rb} +29 -52
  420. data/lib/shopify_api/rest/resources/2023_07/collection.rb +114 -0
  421. data/lib/shopify_api/rest/resources/2023_07/collection_listing.rb +159 -0
  422. data/lib/shopify_api/rest/resources/2023_07/comment.rb +287 -0
  423. data/lib/shopify_api/rest/resources/2023_07/country.rb +141 -0
  424. data/lib/shopify_api/rest/resources/2023_07/currency.rb +61 -0
  425. data/lib/shopify_api/rest/resources/2023_07/custom_collection.rb +191 -0
  426. data/lib/shopify_api/rest/resources/2023_07/customer.rb +333 -0
  427. data/lib/shopify_api/rest/resources/2023_07/customer_address.rb +215 -0
  428. data/lib/shopify_api/rest/resources/{2022_10 → 2023_07}/customer_saved_search.rb +7 -3
  429. data/lib/shopify_api/rest/resources/2023_07/deprecated_api_call.rb +61 -0
  430. data/lib/shopify_api/rest/resources/2023_07/discount_code.rb +226 -0
  431. data/lib/shopify_api/rest/resources/2023_07/dispute.rb +115 -0
  432. data/lib/shopify_api/rest/resources/2023_07/dispute_evidence.rb +121 -0
  433. data/lib/shopify_api/rest/resources/2023_07/dispute_file_upload.rb +85 -0
  434. data/lib/shopify_api/rest/resources/2023_07/draft_order.rb +279 -0
  435. data/lib/shopify_api/rest/resources/2023_07/event.rb +152 -0
  436. data/lib/shopify_api/rest/resources/2023_07/fulfillment.rb +235 -0
  437. data/lib/shopify_api/rest/resources/2023_07/fulfillment_event.rb +170 -0
  438. data/lib/shopify_api/rest/resources/2023_07/fulfillment_order.rb +318 -0
  439. data/lib/shopify_api/rest/resources/2023_07/fulfillment_request.rb +101 -0
  440. data/lib/shopify_api/rest/resources/2023_07/fulfillment_service.rb +134 -0
  441. data/lib/shopify_api/rest/resources/2023_07/gift_card.rb +222 -0
  442. data/lib/shopify_api/rest/resources/2023_07/gift_card_adjustment.rb +122 -0
  443. data/lib/shopify_api/rest/resources/2023_07/image.rb +161 -0
  444. data/lib/shopify_api/rest/resources/2023_07/inventory_item.rb +112 -0
  445. data/lib/shopify_api/rest/resources/2023_07/inventory_level.rb +183 -0
  446. data/lib/shopify_api/rest/resources/2023_07/location.rb +171 -0
  447. data/lib/shopify_api/rest/resources/2023_07/locations_for_move.rb +60 -0
  448. data/lib/shopify_api/rest/resources/2023_07/marketing_event.rb +213 -0
  449. data/lib/shopify_api/rest/resources/2023_07/metafield.rb +348 -0
  450. data/lib/shopify_api/rest/resources/2023_07/mobile_platform_application.rb +114 -0
  451. data/lib/shopify_api/rest/resources/2023_07/order.rb +489 -0
  452. data/lib/shopify_api/rest/resources/2023_07/order_risk.rb +148 -0
  453. data/lib/shopify_api/rest/resources/2023_07/page.rb +198 -0
  454. data/lib/shopify_api/rest/resources/2023_07/payment.rb +144 -0
  455. data/lib/shopify_api/rest/resources/2023_07/payment_gateway.rb +147 -0
  456. data/lib/shopify_api/rest/resources/2023_07/payment_transaction.rb +114 -0
  457. data/lib/shopify_api/rest/resources/2023_07/payout.rb +101 -0
  458. data/lib/shopify_api/rest/resources/2023_07/policy.rb +73 -0
  459. data/lib/shopify_api/rest/resources/2023_07/price_rule.rb +227 -0
  460. data/lib/shopify_api/rest/resources/2023_07/product.rb +227 -0
  461. data/lib/shopify_api/rest/resources/2023_07/product_listing.rb +200 -0
  462. data/lib/shopify_api/rest/resources/2023_07/product_resource_feedback.rb +92 -0
  463. data/lib/shopify_api/rest/resources/2023_07/province.rb +136 -0
  464. data/lib/shopify_api/rest/resources/2023_07/recurring_application_charge.rb +176 -0
  465. data/lib/shopify_api/rest/resources/2023_07/redirect.rb +143 -0
  466. data/lib/shopify_api/rest/resources/2023_07/refund.rb +155 -0
  467. data/lib/shopify_api/rest/resources/2023_07/report.rb +125 -0
  468. data/lib/shopify_api/rest/resources/2023_07/resource_feedback.rb +77 -0
  469. data/lib/shopify_api/rest/resources/2023_07/script_tag.rb +159 -0
  470. data/lib/shopify_api/rest/resources/2023_07/shipping_zone.rb +87 -0
  471. data/lib/shopify_api/rest/resources/2023_07/shop.rb +222 -0
  472. data/lib/shopify_api/rest/resources/2023_07/smart_collection.rb +220 -0
  473. data/lib/shopify_api/rest/resources/2023_07/storefront_access_token.rb +91 -0
  474. data/lib/shopify_api/rest/resources/2023_07/tender_transaction.rb +97 -0
  475. data/lib/shopify_api/rest/resources/2023_07/theme.rb +127 -0
  476. data/lib/shopify_api/rest/resources/2023_07/transaction.rb +188 -0
  477. data/lib/shopify_api/rest/resources/2023_07/usage_charge.rb +106 -0
  478. data/lib/shopify_api/rest/resources/2023_07/user.rb +142 -0
  479. data/lib/shopify_api/rest/resources/2023_07/variant.rb +212 -0
  480. data/lib/shopify_api/rest/resources/2023_07/webhook.rb +172 -0
  481. data/lib/shopify_api/rest/resources/2023_10/abandoned_checkout.rb +194 -0
  482. data/lib/shopify_api/rest/resources/2023_10/access_scope.rb +62 -0
  483. data/lib/shopify_api/rest/resources/2023_10/apple_pay_certificate.rb +109 -0
  484. data/lib/shopify_api/rest/resources/2023_10/application_charge.rb +113 -0
  485. data/lib/shopify_api/rest/resources/2023_10/application_credit.rb +95 -0
  486. data/lib/shopify_api/rest/resources/2023_10/article.rb +269 -0
  487. data/lib/shopify_api/rest/resources/2023_10/asset.rb +122 -0
  488. data/lib/shopify_api/rest/resources/2023_10/assigned_fulfillment_order.rb +92 -0
  489. data/lib/shopify_api/rest/resources/2023_10/balance.rb +58 -0
  490. data/lib/shopify_api/rest/resources/2023_10/blog.rb +166 -0
  491. data/lib/shopify_api/rest/resources/2023_10/cancellation_request.rb +87 -0
  492. data/lib/shopify_api/rest/resources/2023_10/carrier_service.rb +120 -0
  493. data/lib/shopify_api/rest/resources/2023_10/checkout.rb +213 -0
  494. data/lib/shopify_api/rest/resources/2023_10/collect.rb +146 -0
  495. data/lib/shopify_api/rest/resources/2023_10/collection.rb +114 -0
  496. data/lib/shopify_api/rest/resources/2023_10/collection_listing.rb +159 -0
  497. data/lib/shopify_api/rest/resources/2023_10/comment.rb +287 -0
  498. data/lib/shopify_api/rest/resources/2023_10/country.rb +141 -0
  499. data/lib/shopify_api/rest/resources/2023_10/currency.rb +61 -0
  500. data/lib/shopify_api/rest/resources/2023_10/custom_collection.rb +191 -0
  501. data/lib/shopify_api/rest/resources/2023_10/customer.rb +333 -0
  502. data/lib/shopify_api/rest/resources/2023_10/customer_address.rb +215 -0
  503. data/lib/shopify_api/rest/resources/2023_10/deprecated_api_call.rb +61 -0
  504. data/lib/shopify_api/rest/resources/2023_10/discount_code.rb +226 -0
  505. data/lib/shopify_api/rest/resources/2023_10/dispute.rb +115 -0
  506. data/lib/shopify_api/rest/resources/2023_10/dispute_evidence.rb +121 -0
  507. data/lib/shopify_api/rest/resources/2023_10/dispute_file_upload.rb +85 -0
  508. data/lib/shopify_api/rest/resources/2023_10/draft_order.rb +279 -0
  509. data/lib/shopify_api/rest/resources/2023_10/event.rb +152 -0
  510. data/lib/shopify_api/rest/resources/2023_10/fulfillment.rb +235 -0
  511. data/lib/shopify_api/rest/resources/2023_10/fulfillment_event.rb +170 -0
  512. data/lib/shopify_api/rest/resources/2023_10/fulfillment_order.rb +318 -0
  513. data/lib/shopify_api/rest/resources/2023_10/fulfillment_request.rb +101 -0
  514. data/lib/shopify_api/rest/resources/2023_10/fulfillment_service.rb +134 -0
  515. data/lib/shopify_api/rest/resources/2023_10/gift_card.rb +222 -0
  516. data/lib/shopify_api/rest/resources/2023_10/gift_card_adjustment.rb +122 -0
  517. data/lib/shopify_api/rest/resources/2023_10/image.rb +161 -0
  518. data/lib/shopify_api/rest/resources/2023_10/inventory_item.rb +112 -0
  519. data/lib/shopify_api/rest/resources/2023_10/inventory_level.rb +183 -0
  520. data/lib/shopify_api/rest/resources/2023_10/location.rb +171 -0
  521. data/lib/shopify_api/rest/resources/2023_10/locations_for_move.rb +60 -0
  522. data/lib/shopify_api/rest/resources/2023_10/marketing_event.rb +213 -0
  523. data/lib/shopify_api/rest/resources/2023_10/metafield.rb +348 -0
  524. data/lib/shopify_api/rest/resources/2023_10/mobile_platform_application.rb +114 -0
  525. data/lib/shopify_api/rest/resources/2023_10/order.rb +489 -0
  526. data/lib/shopify_api/rest/resources/2023_10/order_risk.rb +148 -0
  527. data/lib/shopify_api/rest/resources/2023_10/page.rb +198 -0
  528. data/lib/shopify_api/rest/resources/2023_10/payment.rb +144 -0
  529. data/lib/shopify_api/rest/resources/2023_10/payment_gateway.rb +147 -0
  530. data/lib/shopify_api/rest/resources/2023_10/payment_transaction.rb +114 -0
  531. data/lib/shopify_api/rest/resources/2023_10/payout.rb +101 -0
  532. data/lib/shopify_api/rest/resources/2023_10/policy.rb +73 -0
  533. data/lib/shopify_api/rest/resources/2023_10/price_rule.rb +227 -0
  534. data/lib/shopify_api/rest/resources/2023_10/product.rb +227 -0
  535. data/lib/shopify_api/rest/resources/2023_10/product_listing.rb +200 -0
  536. data/lib/shopify_api/rest/resources/2023_10/product_resource_feedback.rb +92 -0
  537. data/lib/shopify_api/rest/resources/2023_10/province.rb +136 -0
  538. data/lib/shopify_api/rest/resources/2023_10/recurring_application_charge.rb +176 -0
  539. data/lib/shopify_api/rest/resources/2023_10/redirect.rb +143 -0
  540. data/lib/shopify_api/rest/resources/2023_10/refund.rb +155 -0
  541. data/lib/shopify_api/rest/resources/2023_10/report.rb +125 -0
  542. data/lib/shopify_api/rest/resources/2023_10/resource_feedback.rb +77 -0
  543. data/lib/shopify_api/rest/resources/2023_10/script_tag.rb +159 -0
  544. data/lib/shopify_api/rest/resources/2023_10/shipping_zone.rb +87 -0
  545. data/lib/shopify_api/rest/resources/2023_10/shop.rb +222 -0
  546. data/lib/shopify_api/rest/resources/2023_10/smart_collection.rb +220 -0
  547. data/lib/shopify_api/rest/resources/2023_10/storefront_access_token.rb +91 -0
  548. data/lib/shopify_api/rest/resources/2023_10/tender_transaction.rb +97 -0
  549. data/lib/shopify_api/rest/resources/2023_10/theme.rb +127 -0
  550. data/lib/shopify_api/rest/resources/2023_10/transaction.rb +188 -0
  551. data/lib/shopify_api/rest/resources/2023_10/usage_charge.rb +106 -0
  552. data/lib/shopify_api/rest/resources/2023_10/user.rb +142 -0
  553. data/lib/shopify_api/rest/resources/2023_10/variant.rb +212 -0
  554. data/lib/shopify_api/rest/resources/2023_10/webhook.rb +172 -0
  555. data/lib/shopify_api/rest/resources/2024_01/abandoned_checkout.rb +194 -0
  556. data/lib/shopify_api/rest/resources/2024_01/access_scope.rb +62 -0
  557. data/lib/shopify_api/rest/resources/2024_01/apple_pay_certificate.rb +109 -0
  558. data/lib/shopify_api/rest/resources/2024_01/application_charge.rb +113 -0
  559. data/lib/shopify_api/rest/resources/2024_01/application_credit.rb +95 -0
  560. data/lib/shopify_api/rest/resources/2024_01/article.rb +269 -0
  561. data/lib/shopify_api/rest/resources/2024_01/asset.rb +122 -0
  562. data/lib/shopify_api/rest/resources/2024_01/assigned_fulfillment_order.rb +92 -0
  563. data/lib/shopify_api/rest/resources/2024_01/balance.rb +58 -0
  564. data/lib/shopify_api/rest/resources/2024_01/blog.rb +166 -0
  565. data/lib/shopify_api/rest/resources/2024_01/cancellation_request.rb +87 -0
  566. data/lib/shopify_api/rest/resources/2024_01/carrier_service.rb +120 -0
  567. data/lib/shopify_api/rest/resources/2024_01/checkout.rb +213 -0
  568. data/lib/shopify_api/rest/resources/2024_01/collect.rb +146 -0
  569. data/lib/shopify_api/rest/resources/2024_01/collection.rb +114 -0
  570. data/lib/shopify_api/rest/resources/2024_01/collection_listing.rb +159 -0
  571. data/lib/shopify_api/rest/resources/2024_01/comment.rb +287 -0
  572. data/lib/shopify_api/rest/resources/2024_01/country.rb +141 -0
  573. data/lib/shopify_api/rest/resources/2024_01/currency.rb +61 -0
  574. data/lib/shopify_api/rest/resources/2024_01/custom_collection.rb +191 -0
  575. data/lib/shopify_api/rest/resources/2024_01/customer.rb +333 -0
  576. data/lib/shopify_api/rest/resources/2024_01/customer_address.rb +215 -0
  577. data/lib/shopify_api/rest/resources/2024_01/deprecated_api_call.rb +61 -0
  578. data/lib/shopify_api/rest/resources/2024_01/discount_code.rb +226 -0
  579. data/lib/shopify_api/rest/resources/2024_01/dispute.rb +115 -0
  580. data/lib/shopify_api/rest/resources/2024_01/dispute_evidence.rb +121 -0
  581. data/lib/shopify_api/rest/resources/2024_01/dispute_file_upload.rb +85 -0
  582. data/lib/shopify_api/rest/resources/2024_01/draft_order.rb +279 -0
  583. data/lib/shopify_api/rest/resources/2024_01/event.rb +152 -0
  584. data/lib/shopify_api/rest/resources/2024_01/fulfillment.rb +235 -0
  585. data/lib/shopify_api/rest/resources/2024_01/fulfillment_event.rb +170 -0
  586. data/lib/shopify_api/rest/resources/2024_01/fulfillment_order.rb +326 -0
  587. data/lib/shopify_api/rest/resources/2024_01/fulfillment_request.rb +101 -0
  588. data/lib/shopify_api/rest/resources/2024_01/fulfillment_service.rb +134 -0
  589. data/lib/shopify_api/rest/resources/2024_01/gift_card.rb +222 -0
  590. data/lib/shopify_api/rest/resources/2024_01/gift_card_adjustment.rb +122 -0
  591. data/lib/shopify_api/rest/resources/2024_01/image.rb +161 -0
  592. data/lib/shopify_api/rest/resources/2024_01/inventory_item.rb +112 -0
  593. data/lib/shopify_api/rest/resources/2024_01/inventory_level.rb +183 -0
  594. data/lib/shopify_api/rest/resources/2024_01/location.rb +171 -0
  595. data/lib/shopify_api/rest/resources/2024_01/locations_for_move.rb +60 -0
  596. data/lib/shopify_api/rest/resources/2024_01/marketing_event.rb +213 -0
  597. data/lib/shopify_api/rest/resources/2024_01/metafield.rb +348 -0
  598. data/lib/shopify_api/rest/resources/2024_01/mobile_platform_application.rb +114 -0
  599. data/lib/shopify_api/rest/resources/2024_01/order.rb +489 -0
  600. data/lib/shopify_api/rest/resources/2024_01/order_risk.rb +148 -0
  601. data/lib/shopify_api/rest/resources/2024_01/page.rb +198 -0
  602. data/lib/shopify_api/rest/resources/2024_01/payment.rb +144 -0
  603. data/lib/shopify_api/rest/resources/2024_01/payment_gateway.rb +147 -0
  604. data/lib/shopify_api/rest/resources/2024_01/payment_transaction.rb +114 -0
  605. data/lib/shopify_api/rest/resources/2024_01/payout.rb +101 -0
  606. data/lib/shopify_api/rest/resources/2024_01/policy.rb +73 -0
  607. data/lib/shopify_api/rest/resources/2024_01/price_rule.rb +227 -0
  608. data/lib/shopify_api/rest/resources/2024_01/product.rb +227 -0
  609. data/lib/shopify_api/rest/resources/2024_01/product_listing.rb +200 -0
  610. data/lib/shopify_api/rest/resources/2024_01/product_resource_feedback.rb +92 -0
  611. data/lib/shopify_api/rest/resources/2024_01/province.rb +136 -0
  612. data/lib/shopify_api/rest/resources/2024_01/recurring_application_charge.rb +176 -0
  613. data/lib/shopify_api/rest/resources/2024_01/redirect.rb +143 -0
  614. data/lib/shopify_api/rest/resources/2024_01/refund.rb +155 -0
  615. data/lib/shopify_api/rest/resources/2024_01/report.rb +125 -0
  616. data/lib/shopify_api/rest/resources/2024_01/resource_feedback.rb +77 -0
  617. data/lib/shopify_api/rest/resources/2024_01/script_tag.rb +159 -0
  618. data/lib/shopify_api/rest/resources/2024_01/shipping_zone.rb +87 -0
  619. data/lib/shopify_api/rest/resources/2024_01/shop.rb +222 -0
  620. data/lib/shopify_api/rest/resources/2024_01/smart_collection.rb +220 -0
  621. data/lib/shopify_api/rest/resources/2024_01/storefront_access_token.rb +91 -0
  622. data/lib/shopify_api/rest/resources/2024_01/tender_transaction.rb +97 -0
  623. data/lib/shopify_api/rest/resources/2024_01/theme.rb +127 -0
  624. data/lib/shopify_api/rest/resources/2024_01/transaction.rb +188 -0
  625. data/lib/shopify_api/rest/resources/2024_01/usage_charge.rb +106 -0
  626. data/lib/shopify_api/rest/resources/2024_01/user.rb +142 -0
  627. data/lib/shopify_api/rest/resources/2024_01/variant.rb +212 -0
  628. data/lib/shopify_api/rest/resources/2024_01/webhook.rb +172 -0
  629. data/lib/shopify_api/utils/attributes_comparator.rb +85 -0
  630. data/lib/shopify_api/utils/hmac_validator.rb +2 -2
  631. data/lib/shopify_api/version.rb +1 -1
  632. data/lib/shopify_api/webhooks/handler.rb +24 -1
  633. data/lib/shopify_api/webhooks/registration.rb +21 -6
  634. data/lib/shopify_api/webhooks/registrations/event_bridge.rb +1 -1
  635. data/lib/shopify_api/webhooks/registrations/http.rb +1 -1
  636. data/lib/shopify_api/webhooks/registrations/pub_sub.rb +2 -1
  637. data/lib/shopify_api/webhooks/registry.rb +49 -7
  638. data/lib/shopify_api/webhooks/request.rb +10 -0
  639. data/shopify_api.gemspec +2 -3
  640. metadata +234 -29
  641. data/.github/workflows/stale.yml +0 -43
  642. data/docs/issues.md +0 -39
  643. data/docs/usage/session_storage.md +0 -46
@@ -5,6 +5,11 @@ module ShopifyAPI
5
5
  module Webhooks
6
6
  class Registry
7
7
  @registry = T.let({}, T::Hash[String, Registration])
8
+ MANDATORY_TOPICS = T.let([
9
+ "shop/redact",
10
+ "customers/redact",
11
+ "customers/data_request",
12
+ ].freeze, T::Array[String])
8
13
 
9
14
  class << self
10
15
  extend T::Sig
@@ -12,21 +17,25 @@ module ShopifyAPI
12
17
  params(topic: String,
13
18
  delivery_method: Symbol,
14
19
  path: String,
15
- handler: T.nilable(Handler),
16
- fields: T.nilable(String)).void
20
+ handler: T.nilable(T.any(Handler, WebhookHandler)),
21
+ fields: T.nilable(T.any(String, T::Array[String])),
22
+ metafield_namespaces: T.nilable(T::Array[String])).void
17
23
  end
18
- def add_registration(topic:, delivery_method:, path:, handler: nil, fields: nil)
24
+ def add_registration(topic:, delivery_method:, path:, handler: nil, fields: nil, metafield_namespaces: nil)
19
25
  @registry[topic] = case delivery_method
20
26
  when :pub_sub
21
- Registrations::PubSub.new(topic: topic, path: path, fields: fields)
27
+ Registrations::PubSub.new(topic: topic, path: path, fields: fields,
28
+ metafield_namespaces: metafield_namespaces)
22
29
  when :event_bridge
23
- Registrations::EventBridge.new(topic: topic, path: path, fields: fields)
30
+ Registrations::EventBridge.new(topic: topic, path: path, fields: fields,
31
+ metafield_namespaces: metafield_namespaces)
24
32
  when :http
25
33
  unless handler
26
34
  raise Errors::InvalidWebhookRegistrationError, "Cannot create an Http registration without a handler."
27
35
  end
28
36
 
29
- Registrations::Http.new(topic: topic, path: path, handler: handler, fields: fields)
37
+ Registrations::Http.new(topic: topic, path: path, handler: handler,
38
+ fields: fields, metafield_namespaces: metafield_namespaces)
30
39
  else
31
40
  raise Errors::InvalidWebhookRegistrationError,
32
41
  "Unsupported delivery method #{delivery_method}. Allowed values: {:http, :pub_sub, :event_bridge}."
@@ -45,6 +54,8 @@ module ShopifyAPI
45
54
  ).returns(RegisterResult)
46
55
  end
47
56
  def register(topic:, session:)
57
+ return mandatory_registration_result(topic) if mandatory_webhook_topic?(topic)
58
+
48
59
  registration = @registry[topic]
49
60
 
50
61
  unless registration
@@ -72,6 +83,17 @@ module ShopifyAPI
72
83
  RegisterResult.new(topic: topic, success: registered, body: register_body)
73
84
  end
74
85
 
86
+ sig do
87
+ params(topic: String).returns(RegisterResult)
88
+ end
89
+ def mandatory_registration_result(topic)
90
+ RegisterResult.new(
91
+ topic: topic,
92
+ success: false,
93
+ body: "Mandatory webhooks are to be registered in the partners dashboard",
94
+ )
95
+ end
96
+
75
97
  sig do
76
98
  params(
77
99
  session: Auth::Session,
@@ -97,6 +119,8 @@ module ShopifyAPI
97
119
  ).returns(T::Hash[String, T.untyped])
98
120
  end
99
121
  def unregister(topic:, session:)
122
+ return { "response": nil } if mandatory_webhook_topic?(topic)
123
+
100
124
  client = Clients::Graphql::Admin.new(session: session)
101
125
 
102
126
  webhook_id = get_webhook_id(topic: topic, client: client)
@@ -169,7 +193,18 @@ module ShopifyAPI
169
193
  raise Errors::NoWebhookHandler, "No webhook handler found for topic: #{request.topic}."
170
194
  end
171
195
 
172
- handler.handle(topic: request.topic, shop: request.shop, body: request.parsed_body)
196
+ if handler.is_a?(WebhookHandler)
197
+ handler.handle(data: WebhookMetadata.new(topic: request.topic, shop: request.shop,
198
+ body: request.parsed_body, api_version: request.api_version, webhook_id: request.webhook_id))
199
+ else
200
+ handler.handle(topic: request.topic, shop: request.shop, body: request.parsed_body)
201
+ ShopifyAPI::Logger.deprecated(
202
+ "DEPRECATED: Use ShopifyAPI::Webhooks::WebhookHandler#handle \
203
+ instead of ShopifyAPI::Webhooks::Handler#handle.
204
+ https://github.com/Shopify/shopify-api-ruby/blob/main/docs/usage/webhooks.md#create-a-webhook-handler",
205
+ "14.0.0",
206
+ )
207
+ end
173
208
  end
174
209
 
175
210
  private
@@ -209,6 +244,13 @@ module ShopifyAPI
209
244
  def registration_sucessful?(body, mutation_name)
210
245
  !body.dig("data", mutation_name, "webhookSubscription").nil?
211
246
  end
247
+
248
+ # Mandatory webhooks are subscribed to via the partner dashboard not the API
249
+ # https://shopify.dev/docs/apps/webhooks/configuration/mandatory-webhooks
250
+ sig { params(topic: String).returns(T::Boolean) }
251
+ def mandatory_webhook_topic?(topic)
252
+ MANDATORY_TOPICS.include?(topic)
253
+ end
212
254
  end
213
255
  end
214
256
  end
@@ -22,6 +22,16 @@ module ShopifyAPI
22
22
  T.cast(@headers["x-shopify-shop-domain"], String)
23
23
  end
24
24
 
25
+ sig { returns(String) }
26
+ def api_version
27
+ T.cast(@headers["x-shopify-api-version"], String)
28
+ end
29
+
30
+ sig { returns(String) }
31
+ def webhook_id
32
+ T.cast(@headers["x-shopify-webhook-id"], String)
33
+ end
34
+
25
35
  sig { override.returns(String) }
26
36
  def to_signable_string
27
37
  @raw_body
data/shopify_api.gemspec CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
30
30
 
31
31
  s.license = "MIT"
32
32
 
33
- s.required_ruby_version = ">= 2.6"
33
+ s.required_ruby_version = ">= 3.0"
34
34
 
35
35
  s.add_runtime_dependency("activesupport")
36
36
  s.add_runtime_dependency("concurrent-ruby")
@@ -41,14 +41,13 @@ Gem::Specification.new do |s|
41
41
  s.add_runtime_dependency("openssl")
42
42
  s.add_runtime_dependency("securerandom")
43
43
  s.add_runtime_dependency("sorbet-runtime")
44
- s.add_runtime_dependency("zeitwerk", "~> 2.5", "< 2.6.5") # https://github.com/Shopify/shopify-api-ruby/issues/1058
44
+ s.add_runtime_dependency("zeitwerk", "~> 2.5")
45
45
 
46
46
  s.add_development_dependency("pry-byebug")
47
47
  s.add_development_dependency("rake")
48
48
  s.add_development_dependency("rubocop")
49
49
  s.add_development_dependency("rubocop-shopify")
50
50
  s.add_development_dependency("rubocop-sorbet")
51
- s.add_development_dependency("ruby-lsp")
52
51
  s.add_development_dependency("sorbet")
53
52
  s.add_development_dependency("tapioca")
54
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 13.0.0
4
+ version: 14.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-16 00:00:00.000000000 Z
11
+ date: 2024-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -143,9 +143,6 @@ dependencies:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
145
  version: '2.5'
146
- - - "<"
147
- - !ruby/object:Gem::Version
148
- version: 2.6.5
149
146
  type: :runtime
150
147
  prerelease: false
151
148
  version_requirements: !ruby/object:Gem::Requirement
@@ -153,9 +150,6 @@ dependencies:
153
150
  - - "~>"
154
151
  - !ruby/object:Gem::Version
155
152
  version: '2.5'
156
- - - "<"
157
- - !ruby/object:Gem::Version
158
- version: 2.6.5
159
153
  - !ruby/object:Gem::Dependency
160
154
  name: pry-byebug
161
155
  requirement: !ruby/object:Gem::Requirement
@@ -226,20 +220,6 @@ dependencies:
226
220
  - - ">="
227
221
  - !ruby/object:Gem::Version
228
222
  version: '0'
229
- - !ruby/object:Gem::Dependency
230
- name: ruby-lsp
231
- requirement: !ruby/object:Gem::Requirement
232
- requirements:
233
- - - ">="
234
- - !ruby/object:Gem::Version
235
- version: '0'
236
- type: :development
237
- prerelease: false
238
- version_requirements: !ruby/object:Gem::Requirement
239
- requirements:
240
- - - ">="
241
- - !ruby/object:Gem::Version
242
- version: '0'
243
223
  - !ruby/object:Gem::Dependency
244
224
  name: sorbet
245
225
  requirement: !ruby/object:Gem::Requirement
@@ -292,28 +272,29 @@ files:
292
272
  - ".github/workflows/cla.yml"
293
273
  - ".github/workflows/close-waiting-for-response-issues.yml"
294
274
  - ".github/workflows/remove-labels-on-activity.yml"
295
- - ".github/workflows/stale.yml"
296
275
  - ".rubocop.yml"
297
276
  - BREAKING_CHANGES_FOR_OLDER_VERSIONS.md
277
+ - BREAKING_CHANGES_FOR_V10.md
298
278
  - CHANGELOG.md
279
+ - CODE_OF_CONDUCT.md
299
280
  - CONTRIBUTING.md
300
281
  - Gemfile
301
282
  - Gemfile.lock
302
283
  - LICENSE
303
284
  - README.md
304
285
  - RELEASING.md
286
+ - ROADMAP.md
305
287
  - Rakefile
306
288
  - SECURITY.md
307
289
  - bin/tapioca
308
290
  - dev.yml
309
291
  - docs/README.md
310
292
  - docs/getting_started.md
311
- - docs/issues.md
293
+ - docs/usage/custom_apps.md
312
294
  - docs/usage/graphql.md
313
295
  - docs/usage/graphql_storefront.md
314
296
  - docs/usage/oauth.md
315
297
  - docs/usage/rest.md
316
- - docs/usage/session_storage.md
317
298
  - docs/usage/webhooks.md
318
299
  - lib/shopify_api.rb
319
300
  - lib/shopify_api/admin_versions.rb
@@ -322,9 +303,11 @@ files:
322
303
  - lib/shopify_api/auth/auth_scopes.rb
323
304
  - lib/shopify_api/auth/jwt_payload.rb
324
305
  - lib/shopify_api/auth/oauth.rb
306
+ - lib/shopify_api/auth/oauth/access_token_response.rb
325
307
  - lib/shopify_api/auth/oauth/auth_query.rb
326
308
  - lib/shopify_api/auth/oauth/session_cookie.rb
327
309
  - lib/shopify_api/auth/session.rb
310
+ - lib/shopify_api/auth/token_exchange.rb
328
311
  - lib/shopify_api/clients/graphql/admin.rb
329
312
  - lib/shopify_api/clients/graphql/client.rb
330
313
  - lib/shopify_api/clients/graphql/storefront.rb
@@ -458,7 +441,6 @@ files:
458
441
  - lib/shopify_api/rest/resources/2022_07/custom_collection.rb
459
442
  - lib/shopify_api/rest/resources/2022_07/customer.rb
460
443
  - lib/shopify_api/rest/resources/2022_07/customer_address.rb
461
- - lib/shopify_api/rest/resources/2022_07/customer_saved_search.rb
462
444
  - lib/shopify_api/rest/resources/2022_07/deprecated_api_call.rb
463
445
  - lib/shopify_api/rest/resources/2022_07/discount_code.rb
464
446
  - lib/shopify_api/rest/resources/2022_07/dispute.rb
@@ -534,7 +516,6 @@ files:
534
516
  - lib/shopify_api/rest/resources/2022_10/custom_collection.rb
535
517
  - lib/shopify_api/rest/resources/2022_10/customer.rb
536
518
  - lib/shopify_api/rest/resources/2022_10/customer_address.rb
537
- - lib/shopify_api/rest/resources/2022_10/customer_saved_search.rb
538
519
  - lib/shopify_api/rest/resources/2022_10/deprecated_api_call.rb
539
520
  - lib/shopify_api/rest/resources/2022_10/discount_code.rb
540
521
  - lib/shopify_api/rest/resources/2022_10/dispute.rb
@@ -737,6 +718,230 @@ files:
737
718
  - lib/shopify_api/rest/resources/2023_04/user.rb
738
719
  - lib/shopify_api/rest/resources/2023_04/variant.rb
739
720
  - lib/shopify_api/rest/resources/2023_04/webhook.rb
721
+ - lib/shopify_api/rest/resources/2023_07/abandoned_checkout.rb
722
+ - lib/shopify_api/rest/resources/2023_07/access_scope.rb
723
+ - lib/shopify_api/rest/resources/2023_07/apple_pay_certificate.rb
724
+ - lib/shopify_api/rest/resources/2023_07/application_charge.rb
725
+ - lib/shopify_api/rest/resources/2023_07/application_credit.rb
726
+ - lib/shopify_api/rest/resources/2023_07/article.rb
727
+ - lib/shopify_api/rest/resources/2023_07/asset.rb
728
+ - lib/shopify_api/rest/resources/2023_07/assigned_fulfillment_order.rb
729
+ - lib/shopify_api/rest/resources/2023_07/balance.rb
730
+ - lib/shopify_api/rest/resources/2023_07/blog.rb
731
+ - lib/shopify_api/rest/resources/2023_07/cancellation_request.rb
732
+ - lib/shopify_api/rest/resources/2023_07/carrier_service.rb
733
+ - lib/shopify_api/rest/resources/2023_07/checkout.rb
734
+ - lib/shopify_api/rest/resources/2023_07/collect.rb
735
+ - lib/shopify_api/rest/resources/2023_07/collection.rb
736
+ - lib/shopify_api/rest/resources/2023_07/collection_listing.rb
737
+ - lib/shopify_api/rest/resources/2023_07/comment.rb
738
+ - lib/shopify_api/rest/resources/2023_07/country.rb
739
+ - lib/shopify_api/rest/resources/2023_07/currency.rb
740
+ - lib/shopify_api/rest/resources/2023_07/custom_collection.rb
741
+ - lib/shopify_api/rest/resources/2023_07/customer.rb
742
+ - lib/shopify_api/rest/resources/2023_07/customer_address.rb
743
+ - lib/shopify_api/rest/resources/2023_07/customer_saved_search.rb
744
+ - lib/shopify_api/rest/resources/2023_07/deprecated_api_call.rb
745
+ - lib/shopify_api/rest/resources/2023_07/discount_code.rb
746
+ - lib/shopify_api/rest/resources/2023_07/dispute.rb
747
+ - lib/shopify_api/rest/resources/2023_07/dispute_evidence.rb
748
+ - lib/shopify_api/rest/resources/2023_07/dispute_file_upload.rb
749
+ - lib/shopify_api/rest/resources/2023_07/draft_order.rb
750
+ - lib/shopify_api/rest/resources/2023_07/event.rb
751
+ - lib/shopify_api/rest/resources/2023_07/fulfillment.rb
752
+ - lib/shopify_api/rest/resources/2023_07/fulfillment_event.rb
753
+ - lib/shopify_api/rest/resources/2023_07/fulfillment_order.rb
754
+ - lib/shopify_api/rest/resources/2023_07/fulfillment_request.rb
755
+ - lib/shopify_api/rest/resources/2023_07/fulfillment_service.rb
756
+ - lib/shopify_api/rest/resources/2023_07/gift_card.rb
757
+ - lib/shopify_api/rest/resources/2023_07/gift_card_adjustment.rb
758
+ - lib/shopify_api/rest/resources/2023_07/image.rb
759
+ - lib/shopify_api/rest/resources/2023_07/inventory_item.rb
760
+ - lib/shopify_api/rest/resources/2023_07/inventory_level.rb
761
+ - lib/shopify_api/rest/resources/2023_07/location.rb
762
+ - lib/shopify_api/rest/resources/2023_07/locations_for_move.rb
763
+ - lib/shopify_api/rest/resources/2023_07/marketing_event.rb
764
+ - lib/shopify_api/rest/resources/2023_07/metafield.rb
765
+ - lib/shopify_api/rest/resources/2023_07/mobile_platform_application.rb
766
+ - lib/shopify_api/rest/resources/2023_07/order.rb
767
+ - lib/shopify_api/rest/resources/2023_07/order_risk.rb
768
+ - lib/shopify_api/rest/resources/2023_07/page.rb
769
+ - lib/shopify_api/rest/resources/2023_07/payment.rb
770
+ - lib/shopify_api/rest/resources/2023_07/payment_gateway.rb
771
+ - lib/shopify_api/rest/resources/2023_07/payment_transaction.rb
772
+ - lib/shopify_api/rest/resources/2023_07/payout.rb
773
+ - lib/shopify_api/rest/resources/2023_07/policy.rb
774
+ - lib/shopify_api/rest/resources/2023_07/price_rule.rb
775
+ - lib/shopify_api/rest/resources/2023_07/product.rb
776
+ - lib/shopify_api/rest/resources/2023_07/product_listing.rb
777
+ - lib/shopify_api/rest/resources/2023_07/product_resource_feedback.rb
778
+ - lib/shopify_api/rest/resources/2023_07/province.rb
779
+ - lib/shopify_api/rest/resources/2023_07/recurring_application_charge.rb
780
+ - lib/shopify_api/rest/resources/2023_07/redirect.rb
781
+ - lib/shopify_api/rest/resources/2023_07/refund.rb
782
+ - lib/shopify_api/rest/resources/2023_07/report.rb
783
+ - lib/shopify_api/rest/resources/2023_07/resource_feedback.rb
784
+ - lib/shopify_api/rest/resources/2023_07/script_tag.rb
785
+ - lib/shopify_api/rest/resources/2023_07/shipping_zone.rb
786
+ - lib/shopify_api/rest/resources/2023_07/shop.rb
787
+ - lib/shopify_api/rest/resources/2023_07/smart_collection.rb
788
+ - lib/shopify_api/rest/resources/2023_07/storefront_access_token.rb
789
+ - lib/shopify_api/rest/resources/2023_07/tender_transaction.rb
790
+ - lib/shopify_api/rest/resources/2023_07/theme.rb
791
+ - lib/shopify_api/rest/resources/2023_07/transaction.rb
792
+ - lib/shopify_api/rest/resources/2023_07/usage_charge.rb
793
+ - lib/shopify_api/rest/resources/2023_07/user.rb
794
+ - lib/shopify_api/rest/resources/2023_07/variant.rb
795
+ - lib/shopify_api/rest/resources/2023_07/webhook.rb
796
+ - lib/shopify_api/rest/resources/2023_10/abandoned_checkout.rb
797
+ - lib/shopify_api/rest/resources/2023_10/access_scope.rb
798
+ - lib/shopify_api/rest/resources/2023_10/apple_pay_certificate.rb
799
+ - lib/shopify_api/rest/resources/2023_10/application_charge.rb
800
+ - lib/shopify_api/rest/resources/2023_10/application_credit.rb
801
+ - lib/shopify_api/rest/resources/2023_10/article.rb
802
+ - lib/shopify_api/rest/resources/2023_10/asset.rb
803
+ - lib/shopify_api/rest/resources/2023_10/assigned_fulfillment_order.rb
804
+ - lib/shopify_api/rest/resources/2023_10/balance.rb
805
+ - lib/shopify_api/rest/resources/2023_10/blog.rb
806
+ - lib/shopify_api/rest/resources/2023_10/cancellation_request.rb
807
+ - lib/shopify_api/rest/resources/2023_10/carrier_service.rb
808
+ - lib/shopify_api/rest/resources/2023_10/checkout.rb
809
+ - lib/shopify_api/rest/resources/2023_10/collect.rb
810
+ - lib/shopify_api/rest/resources/2023_10/collection.rb
811
+ - lib/shopify_api/rest/resources/2023_10/collection_listing.rb
812
+ - lib/shopify_api/rest/resources/2023_10/comment.rb
813
+ - lib/shopify_api/rest/resources/2023_10/country.rb
814
+ - lib/shopify_api/rest/resources/2023_10/currency.rb
815
+ - lib/shopify_api/rest/resources/2023_10/custom_collection.rb
816
+ - lib/shopify_api/rest/resources/2023_10/customer.rb
817
+ - lib/shopify_api/rest/resources/2023_10/customer_address.rb
818
+ - lib/shopify_api/rest/resources/2023_10/deprecated_api_call.rb
819
+ - lib/shopify_api/rest/resources/2023_10/discount_code.rb
820
+ - lib/shopify_api/rest/resources/2023_10/dispute.rb
821
+ - lib/shopify_api/rest/resources/2023_10/dispute_evidence.rb
822
+ - lib/shopify_api/rest/resources/2023_10/dispute_file_upload.rb
823
+ - lib/shopify_api/rest/resources/2023_10/draft_order.rb
824
+ - lib/shopify_api/rest/resources/2023_10/event.rb
825
+ - lib/shopify_api/rest/resources/2023_10/fulfillment.rb
826
+ - lib/shopify_api/rest/resources/2023_10/fulfillment_event.rb
827
+ - lib/shopify_api/rest/resources/2023_10/fulfillment_order.rb
828
+ - lib/shopify_api/rest/resources/2023_10/fulfillment_request.rb
829
+ - lib/shopify_api/rest/resources/2023_10/fulfillment_service.rb
830
+ - lib/shopify_api/rest/resources/2023_10/gift_card.rb
831
+ - lib/shopify_api/rest/resources/2023_10/gift_card_adjustment.rb
832
+ - lib/shopify_api/rest/resources/2023_10/image.rb
833
+ - lib/shopify_api/rest/resources/2023_10/inventory_item.rb
834
+ - lib/shopify_api/rest/resources/2023_10/inventory_level.rb
835
+ - lib/shopify_api/rest/resources/2023_10/location.rb
836
+ - lib/shopify_api/rest/resources/2023_10/locations_for_move.rb
837
+ - lib/shopify_api/rest/resources/2023_10/marketing_event.rb
838
+ - lib/shopify_api/rest/resources/2023_10/metafield.rb
839
+ - lib/shopify_api/rest/resources/2023_10/mobile_platform_application.rb
840
+ - lib/shopify_api/rest/resources/2023_10/order.rb
841
+ - lib/shopify_api/rest/resources/2023_10/order_risk.rb
842
+ - lib/shopify_api/rest/resources/2023_10/page.rb
843
+ - lib/shopify_api/rest/resources/2023_10/payment.rb
844
+ - lib/shopify_api/rest/resources/2023_10/payment_gateway.rb
845
+ - lib/shopify_api/rest/resources/2023_10/payment_transaction.rb
846
+ - lib/shopify_api/rest/resources/2023_10/payout.rb
847
+ - lib/shopify_api/rest/resources/2023_10/policy.rb
848
+ - lib/shopify_api/rest/resources/2023_10/price_rule.rb
849
+ - lib/shopify_api/rest/resources/2023_10/product.rb
850
+ - lib/shopify_api/rest/resources/2023_10/product_listing.rb
851
+ - lib/shopify_api/rest/resources/2023_10/product_resource_feedback.rb
852
+ - lib/shopify_api/rest/resources/2023_10/province.rb
853
+ - lib/shopify_api/rest/resources/2023_10/recurring_application_charge.rb
854
+ - lib/shopify_api/rest/resources/2023_10/redirect.rb
855
+ - lib/shopify_api/rest/resources/2023_10/refund.rb
856
+ - lib/shopify_api/rest/resources/2023_10/report.rb
857
+ - lib/shopify_api/rest/resources/2023_10/resource_feedback.rb
858
+ - lib/shopify_api/rest/resources/2023_10/script_tag.rb
859
+ - lib/shopify_api/rest/resources/2023_10/shipping_zone.rb
860
+ - lib/shopify_api/rest/resources/2023_10/shop.rb
861
+ - lib/shopify_api/rest/resources/2023_10/smart_collection.rb
862
+ - lib/shopify_api/rest/resources/2023_10/storefront_access_token.rb
863
+ - lib/shopify_api/rest/resources/2023_10/tender_transaction.rb
864
+ - lib/shopify_api/rest/resources/2023_10/theme.rb
865
+ - lib/shopify_api/rest/resources/2023_10/transaction.rb
866
+ - lib/shopify_api/rest/resources/2023_10/usage_charge.rb
867
+ - lib/shopify_api/rest/resources/2023_10/user.rb
868
+ - lib/shopify_api/rest/resources/2023_10/variant.rb
869
+ - lib/shopify_api/rest/resources/2023_10/webhook.rb
870
+ - lib/shopify_api/rest/resources/2024_01/abandoned_checkout.rb
871
+ - lib/shopify_api/rest/resources/2024_01/access_scope.rb
872
+ - lib/shopify_api/rest/resources/2024_01/apple_pay_certificate.rb
873
+ - lib/shopify_api/rest/resources/2024_01/application_charge.rb
874
+ - lib/shopify_api/rest/resources/2024_01/application_credit.rb
875
+ - lib/shopify_api/rest/resources/2024_01/article.rb
876
+ - lib/shopify_api/rest/resources/2024_01/asset.rb
877
+ - lib/shopify_api/rest/resources/2024_01/assigned_fulfillment_order.rb
878
+ - lib/shopify_api/rest/resources/2024_01/balance.rb
879
+ - lib/shopify_api/rest/resources/2024_01/blog.rb
880
+ - lib/shopify_api/rest/resources/2024_01/cancellation_request.rb
881
+ - lib/shopify_api/rest/resources/2024_01/carrier_service.rb
882
+ - lib/shopify_api/rest/resources/2024_01/checkout.rb
883
+ - lib/shopify_api/rest/resources/2024_01/collect.rb
884
+ - lib/shopify_api/rest/resources/2024_01/collection.rb
885
+ - lib/shopify_api/rest/resources/2024_01/collection_listing.rb
886
+ - lib/shopify_api/rest/resources/2024_01/comment.rb
887
+ - lib/shopify_api/rest/resources/2024_01/country.rb
888
+ - lib/shopify_api/rest/resources/2024_01/currency.rb
889
+ - lib/shopify_api/rest/resources/2024_01/custom_collection.rb
890
+ - lib/shopify_api/rest/resources/2024_01/customer.rb
891
+ - lib/shopify_api/rest/resources/2024_01/customer_address.rb
892
+ - lib/shopify_api/rest/resources/2024_01/deprecated_api_call.rb
893
+ - lib/shopify_api/rest/resources/2024_01/discount_code.rb
894
+ - lib/shopify_api/rest/resources/2024_01/dispute.rb
895
+ - lib/shopify_api/rest/resources/2024_01/dispute_evidence.rb
896
+ - lib/shopify_api/rest/resources/2024_01/dispute_file_upload.rb
897
+ - lib/shopify_api/rest/resources/2024_01/draft_order.rb
898
+ - lib/shopify_api/rest/resources/2024_01/event.rb
899
+ - lib/shopify_api/rest/resources/2024_01/fulfillment.rb
900
+ - lib/shopify_api/rest/resources/2024_01/fulfillment_event.rb
901
+ - lib/shopify_api/rest/resources/2024_01/fulfillment_order.rb
902
+ - lib/shopify_api/rest/resources/2024_01/fulfillment_request.rb
903
+ - lib/shopify_api/rest/resources/2024_01/fulfillment_service.rb
904
+ - lib/shopify_api/rest/resources/2024_01/gift_card.rb
905
+ - lib/shopify_api/rest/resources/2024_01/gift_card_adjustment.rb
906
+ - lib/shopify_api/rest/resources/2024_01/image.rb
907
+ - lib/shopify_api/rest/resources/2024_01/inventory_item.rb
908
+ - lib/shopify_api/rest/resources/2024_01/inventory_level.rb
909
+ - lib/shopify_api/rest/resources/2024_01/location.rb
910
+ - lib/shopify_api/rest/resources/2024_01/locations_for_move.rb
911
+ - lib/shopify_api/rest/resources/2024_01/marketing_event.rb
912
+ - lib/shopify_api/rest/resources/2024_01/metafield.rb
913
+ - lib/shopify_api/rest/resources/2024_01/mobile_platform_application.rb
914
+ - lib/shopify_api/rest/resources/2024_01/order.rb
915
+ - lib/shopify_api/rest/resources/2024_01/order_risk.rb
916
+ - lib/shopify_api/rest/resources/2024_01/page.rb
917
+ - lib/shopify_api/rest/resources/2024_01/payment.rb
918
+ - lib/shopify_api/rest/resources/2024_01/payment_gateway.rb
919
+ - lib/shopify_api/rest/resources/2024_01/payment_transaction.rb
920
+ - lib/shopify_api/rest/resources/2024_01/payout.rb
921
+ - lib/shopify_api/rest/resources/2024_01/policy.rb
922
+ - lib/shopify_api/rest/resources/2024_01/price_rule.rb
923
+ - lib/shopify_api/rest/resources/2024_01/product.rb
924
+ - lib/shopify_api/rest/resources/2024_01/product_listing.rb
925
+ - lib/shopify_api/rest/resources/2024_01/product_resource_feedback.rb
926
+ - lib/shopify_api/rest/resources/2024_01/province.rb
927
+ - lib/shopify_api/rest/resources/2024_01/recurring_application_charge.rb
928
+ - lib/shopify_api/rest/resources/2024_01/redirect.rb
929
+ - lib/shopify_api/rest/resources/2024_01/refund.rb
930
+ - lib/shopify_api/rest/resources/2024_01/report.rb
931
+ - lib/shopify_api/rest/resources/2024_01/resource_feedback.rb
932
+ - lib/shopify_api/rest/resources/2024_01/script_tag.rb
933
+ - lib/shopify_api/rest/resources/2024_01/shipping_zone.rb
934
+ - lib/shopify_api/rest/resources/2024_01/shop.rb
935
+ - lib/shopify_api/rest/resources/2024_01/smart_collection.rb
936
+ - lib/shopify_api/rest/resources/2024_01/storefront_access_token.rb
937
+ - lib/shopify_api/rest/resources/2024_01/tender_transaction.rb
938
+ - lib/shopify_api/rest/resources/2024_01/theme.rb
939
+ - lib/shopify_api/rest/resources/2024_01/transaction.rb
940
+ - lib/shopify_api/rest/resources/2024_01/usage_charge.rb
941
+ - lib/shopify_api/rest/resources/2024_01/user.rb
942
+ - lib/shopify_api/rest/resources/2024_01/variant.rb
943
+ - lib/shopify_api/rest/resources/2024_01/webhook.rb
944
+ - lib/shopify_api/utils/attributes_comparator.rb
740
945
  - lib/shopify_api/utils/graphql_proxy.rb
741
946
  - lib/shopify_api/utils/hmac_validator.rb
742
947
  - lib/shopify_api/utils/http_utils.rb
@@ -821,14 +1026,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
821
1026
  requirements:
822
1027
  - - ">="
823
1028
  - !ruby/object:Gem::Version
824
- version: '2.6'
1029
+ version: '3.0'
825
1030
  required_rubygems_version: !ruby/object:Gem::Requirement
826
1031
  requirements:
827
1032
  - - ">="
828
1033
  - !ruby/object:Gem::Version
829
1034
  version: '0'
830
1035
  requirements: []
831
- rubygems_version: 3.4.13
1036
+ rubygems_version: 3.5.6
832
1037
  signing_key:
833
1038
  specification_version: 4
834
1039
  summary: The gem for accessing the Shopify API
@@ -1,43 +0,0 @@
1
- name: Close inactive issues / prs
2
- on:
3
- schedule:
4
- - cron: "30 1 * * *"
5
-
6
- jobs:
7
- stale:
8
- runs-on: ubuntu-latest
9
- permissions:
10
- issues: write
11
- pull-requests: write
12
- steps:
13
- - uses: actions/stale@v7
14
- with:
15
- days-before-issue-stale: 60
16
- days-before-issue-close: 14
17
- days-before-pr-stale: 60
18
- days-before-pr-close: 14
19
- operations-per-run: 1000
20
- stale-issue-label: "Stale"
21
- stale-pr-label: "Stale"
22
- stale-issue-message: >
23
- This issue is stale because it has been open for 60 days with no activity. It will be closed if no further action occurs in 14 days.
24
- close-issue-message: |
25
- We are closing this issue because it has been inactive for a few months.
26
- This probably means that it is not reproducible or it has been fixed in a newer version.
27
- If it’s an enhancement and hasn’t been taken on since it was submitted, then it seems other issues have taken priority.
28
-
29
- If you still encounter this issue with the latest stable version, please reopen using the issue template. You can also contribute directly by submitting a pull request– see the [CONTRIBUTING.md](https://github.com/Shopify/shopify-api-ruby/blob/main/CONTRIBUTING.md) file for guidelines
30
-
31
- Thank you!
32
- stale-pr-message: >
33
- This pull request is stale because it has been open for 60 days with no activity. It will be closed if no further action occurs in 14 days.
34
- close-pr-message: |
35
- We are closing this pull request because it has been inactive for a few months.
36
- This probably means that it is not reproducible or it has been fixed in a newer version.
37
- If it’s an enhancement and hasn’t been taken on since it was submitted, then it seems other issues have taken priority.
38
-
39
- If you still encounter this pull request with the latest stable version, please reopen using the pull request template. You can also contribute directly by submitting a pull request– see the [CONTRIBUTING.md](https://github.com/Shopify/shopify-api-ruby/blob/main/CONTRIBUTING.md) file for guidelines
40
-
41
- Thank you!
42
- repo-token: ${{ github.token }}
43
- close-issue-reason: "not_planned"
data/docs/issues.md DELETED
@@ -1,39 +0,0 @@
1
- # Known issues and caveats
2
-
3
- By following this guide, you will have a fully functional Shopify app. However, there are some things you should be aware of before using your new app in a production environment.
4
-
5
- ## Notes on session handling
6
-
7
- Before you start writing your application, please note that the Shopify library needs to store some information for OAuth in sessions. Since each application may choose a different strategy to store information, the library cannot dictate any specific storage strategy. When calling `ShopifyAPI::Context.setup`, you'll need to provide an instance of a class that implements the `ShopifyAPI::Auth::SessionStorage` interface.
8
-
9
- This library provides a very simple implementation of that interface which stores sessions in files, `ShopifyAPI::Auth::FileSessionStorage` ([source code](../lib/shopify_api/auth/file_session_storage.rb)). This class is meant to speed up development with this library, but it is not suitable for production use, because it will lead to disk build-up as old sessions are not cleaned up.
10
-
11
- Before you deploy your app to production, it should use your selected storage method for sessions. You can do that by creating a class that implements the `SessionStorage` interface and pass that in your `Context.setup` call. Your class will need to implement the methods below.
12
-
13
- **Note**: After you create your implementation of `SessionStorage`, you should make sure to clean up old sessions periodically in your data storage. The library will delete some sessions when they are no longer useful, but it cannot guarantee that expired sessions are deleted automatically.
14
-
15
- #### `SessionStorage.storeSession`
16
-
17
- Creates **or updates** a `Session` object in your storage. This function should return a `bool` indicating whether the operation was successful.
18
-
19
- | Param | Type | Notes |
20
- | --------- | --------- | --------------------------- |
21
- | `session` | `Session` | The session object to store |
22
-
23
- #### `SessionStorage.loadSession`
24
-
25
- Fetches a `Session` object from your storage. This function should return a `Session` object, or `null` if it was not found.
26
-
27
- | Param | Type | Notes |
28
- | ----------- | -------- | ----------------------------- |
29
- | `sessionId` | `string` | The id of the session to load |
30
-
31
- #### `SessionStorage.deleteSession`
32
-
33
- Deletes a session from your storage. This function should return a `bool` indicating whether the operation was successful.
34
-
35
- | Param | Type | Notes |
36
- | ----------- | -------- | ------------------------------- |
37
- | `sessionId` | `string` | The id of the session to delete |
38
-
39
- [Back to guide index](README.md)
@@ -1,46 +0,0 @@
1
-
2
- # Create a Session Storage Implementation
3
-
4
- The implementation of session storage that you pass in `ShopifyAPI::Context.setup` is what the Shopify gem will use to store and load sessions. [Shopify::Auth::FileSessionStorage](../../lib/shopify_api/auth/file_session_storage.rb) can be used for testing purposes and as an example of how to make an implementation in your app. This is not recommended for production, we recommend you implement a solution that will store and load serialized sessions from a more ideal store such as a database like MySQL or MongoDB.
5
-
6
- ## Create a New Session Storage Class
7
-
8
- You can create a session storage class that includes `ShopifyAPI::Auth::SessionStorage` and override the methods as shown in the table and example below:
9
-
10
- | Method Name | Input Type | Return Type |
11
- | ---------------------- | --------------------------------- | ------------------------------ |
12
- | `store_session` | `ShopifyAPI::Auth::Session` | `Boolean` (true if successful) |
13
- | `load_session` | `String` (session id) | `ShopifyAPI::Auth::Session` |
14
- | `delete_session` | `String` (session id) | `Boolean` (true if successful) |
15
-
16
-
17
- ```ruby
18
- class CustomSessionStorage
19
- include ShopifyAPI::Auth::SessionStorage
20
-
21
- def initialize
22
- # Initialize as needed
23
- end
24
-
25
- def store_session(session)
26
- # Implement a store function
27
- some_store_function(id: session.id, session_data: session.serialize)
28
- end
29
-
30
- def load_session(id)
31
- # Implement a fetch function
32
- session_data = some_fetch_function(id)
33
- ShopifyAPI::Auth::Session.deserialize(session_data)
34
- end
35
-
36
- def delete_session(id)
37
- # Implement a delete function
38
- some_delete_function(id)
39
- true
40
- end
41
- end
42
- ```
43
-
44
- **Note:** We recommend utilizing the Session `serialize` and `deserialize` functions to make storing and loading sessions easier.
45
-
46
- Once this is complete you can pass an instance of this session storage class as `session_storage` in `ShopifyAPI::Context.setup`