shopify_api 9.0.0 → 12.4.0

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 (843) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -1
  3. data/.github/ISSUE_TEMPLATE/BUG_REPORT.md +40 -0
  4. data/.github/ISSUE_TEMPLATE/ENHANCEMENT.md +9 -0
  5. data/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md +9 -0
  6. data/.github/dependabot.yml +20 -0
  7. data/.github/pull_request_template.md +20 -0
  8. data/.github/workflows/build.yml +39 -0
  9. data/.github/workflows/cla.yml +22 -0
  10. data/.github/workflows/close-waiting-for-response-issues.yml +20 -0
  11. data/.github/workflows/remove-labels-on-activity.yml +16 -0
  12. data/.github/workflows/stale.yml +33 -0
  13. data/.rubocop.yml +56 -5
  14. data/BREAKING_CHANGES_FOR_OLDER_VERSIONS.md +110 -0
  15. data/CHANGELOG.md +417 -265
  16. data/CONTRIBUTING.md +4 -3
  17. data/Gemfile +9 -1
  18. data/Gemfile.lock +159 -0
  19. data/LICENSE +2 -2
  20. data/README.md +81 -390
  21. data/RELEASING.md +19 -0
  22. data/Rakefile +15 -36
  23. data/SECURITY.md +59 -0
  24. data/bin/tapioca +29 -0
  25. data/dev.yml +32 -0
  26. data/docs/README.md +13 -0
  27. data/docs/getting_started.md +53 -0
  28. data/docs/issues.md +39 -0
  29. data/docs/usage/graphql.md +115 -0
  30. data/docs/usage/graphql_storefront.md +42 -0
  31. data/docs/usage/oauth.md +104 -0
  32. data/docs/usage/rest.md +137 -0
  33. data/docs/usage/session_storage.md +46 -0
  34. data/docs/usage/webhooks.md +98 -0
  35. data/lib/shopify_api/admin_versions.rb +20 -0
  36. data/lib/shopify_api/auth/associated_user.rb +36 -0
  37. data/lib/shopify_api/auth/auth_scopes.rb +75 -0
  38. data/lib/shopify_api/auth/file_session_storage.rb +72 -0
  39. data/lib/shopify_api/auth/jwt_payload.rb +83 -0
  40. data/lib/shopify_api/auth/oauth/auth_query.rb +47 -0
  41. data/lib/shopify_api/auth/oauth/session_cookie.rb +28 -0
  42. data/lib/shopify_api/auth/oauth.rb +135 -0
  43. data/lib/shopify_api/auth/session.rb +119 -0
  44. data/lib/shopify_api/auth/session_storage.rb +30 -0
  45. data/lib/shopify_api/auth.rb +26 -0
  46. data/lib/shopify_api/clients/graphql/admin.rb +15 -0
  47. data/lib/shopify_api/clients/graphql/client.rb +40 -0
  48. data/lib/shopify_api/clients/graphql/storefront.rb +35 -0
  49. data/lib/shopify_api/clients/http_client.rb +100 -0
  50. data/lib/shopify_api/clients/http_request.rb +35 -0
  51. data/lib/shopify_api/clients/http_response.rb +66 -0
  52. data/lib/shopify_api/clients/rest/admin.rb +118 -0
  53. data/lib/shopify_api/context.rb +196 -0
  54. data/lib/shopify_api/errors/context_not_setup_error.rb +9 -0
  55. data/lib/shopify_api/errors/cookie_not_found_error.rb +9 -0
  56. data/lib/shopify_api/errors/feature_deprecated_error.rb +9 -0
  57. data/lib/shopify_api/errors/http_response_error.rb +23 -0
  58. data/lib/shopify_api/errors/invalid_graphql_request_error.rb +9 -0
  59. data/lib/shopify_api/errors/invalid_http_request_error.rb +9 -0
  60. data/lib/shopify_api/errors/invalid_jwt_token_error.rb +9 -0
  61. data/lib/shopify_api/errors/invalid_oauth_error.rb +9 -0
  62. data/lib/shopify_api/errors/invalid_webhook_error.rb +9 -0
  63. data/lib/shopify_api/errors/invalid_webhook_registration_error.rb +9 -0
  64. data/lib/shopify_api/errors/log_level_not_found_error.rb +9 -0
  65. data/lib/shopify_api/errors/max_http_retries_exceeded_error.rb +9 -0
  66. data/lib/shopify_api/errors/missing_jwt_token_error.rb +9 -0
  67. data/lib/shopify_api/errors/missing_required_argument_error.rb +9 -0
  68. data/lib/shopify_api/errors/no_active_session_error.rb +9 -0
  69. data/lib/shopify_api/errors/no_session_cookie_error.rb +9 -0
  70. data/lib/shopify_api/errors/no_webhook_handler.rb +9 -0
  71. data/lib/shopify_api/errors/private_app_error.rb +9 -0
  72. data/lib/shopify_api/errors/request_access_token_error.rb +9 -0
  73. data/lib/shopify_api/errors/session_not_found_error.rb +9 -0
  74. data/lib/shopify_api/errors/session_storage_error.rb +9 -0
  75. data/lib/shopify_api/errors/unsupported_oauth_error.rb +9 -0
  76. data/lib/shopify_api/errors/unsupported_version_error.rb +9 -0
  77. data/lib/shopify_api/errors/webhook_registration_error.rb +9 -0
  78. data/lib/shopify_api/inflector.rb +17 -0
  79. data/lib/shopify_api/logger.rb +82 -0
  80. data/lib/shopify_api/rest/base.rb +394 -0
  81. data/lib/shopify_api/rest/base_errors.rb +32 -0
  82. data/lib/shopify_api/rest/resources/2022_01/abandoned_checkout.rb +190 -0
  83. data/lib/shopify_api/rest/resources/2022_01/access_scope.rb +58 -0
  84. data/lib/shopify_api/rest/resources/2022_01/android_pay_key.rb +77 -0
  85. data/lib/shopify_api/rest/resources/2022_01/apple_pay_certificate.rb +105 -0
  86. data/lib/shopify_api/rest/resources/2022_01/application_charge.rb +104 -0
  87. data/lib/shopify_api/rest/resources/2022_01/application_credit.rb +87 -0
  88. data/lib/shopify_api/rest/resources/2022_01/article.rb +265 -0
  89. data/lib/shopify_api/rest/resources/2022_01/asset.rb +118 -0
  90. data/lib/shopify_api/rest/resources/2022_01/assigned_fulfillment_order.rb +86 -0
  91. data/lib/shopify_api/rest/resources/2022_01/balance.rb +50 -0
  92. data/lib/shopify_api/rest/resources/2022_01/blog.rb +162 -0
  93. data/lib/shopify_api/rest/resources/2022_01/cancellation_request.rb +83 -0
  94. data/lib/shopify_api/rest/resources/2022_01/carrier_service.rb +116 -0
  95. data/lib/shopify_api/rest/resources/2022_01/checkout.rb +209 -0
  96. data/lib/shopify_api/rest/resources/2022_01/collect.rb +142 -0
  97. data/lib/shopify_api/rest/resources/2022_01/collection.rb +110 -0
  98. data/lib/shopify_api/rest/resources/2022_01/collection_listing.rb +155 -0
  99. data/lib/shopify_api/rest/resources/2022_01/comment.rb +283 -0
  100. data/lib/shopify_api/rest/resources/2022_01/country.rb +137 -0
  101. data/lib/shopify_api/rest/resources/2022_01/currency.rb +57 -0
  102. data/lib/shopify_api/rest/resources/2022_01/custom_collection.rb +187 -0
  103. data/lib/shopify_api/rest/resources/2022_01/customer.rb +326 -0
  104. data/lib/shopify_api/rest/resources/2022_01/customer_address.rb +201 -0
  105. data/lib/shopify_api/rest/resources/2022_01/customer_saved_search.rb +169 -0
  106. data/lib/shopify_api/rest/resources/2022_01/deprecated_api_call.rb +57 -0
  107. data/lib/shopify_api/rest/resources/2022_01/discount_code.rb +219 -0
  108. data/lib/shopify_api/rest/resources/2022_01/dispute.rb +111 -0
  109. data/lib/shopify_api/rest/resources/2022_01/draft_order.rb +275 -0
  110. data/lib/shopify_api/rest/resources/2022_01/event.rb +148 -0
  111. data/lib/shopify_api/rest/resources/2022_01/fulfillment.rb +272 -0
  112. data/lib/shopify_api/rest/resources/2022_01/fulfillment_event.rb +166 -0
  113. data/lib/shopify_api/rest/resources/2022_01/fulfillment_order.rb +281 -0
  114. data/lib/shopify_api/rest/resources/2022_01/fulfillment_request.rb +87 -0
  115. data/lib/shopify_api/rest/resources/2022_01/fulfillment_service.rb +130 -0
  116. data/lib/shopify_api/rest/resources/2022_01/gift_card.rb +215 -0
  117. data/lib/shopify_api/rest/resources/2022_01/gift_card_adjustment.rb +118 -0
  118. data/lib/shopify_api/rest/resources/2022_01/image.rb +157 -0
  119. data/lib/shopify_api/rest/resources/2022_01/inventory_item.rb +108 -0
  120. data/lib/shopify_api/rest/resources/2022_01/inventory_level.rb +179 -0
  121. data/lib/shopify_api/rest/resources/2022_01/location.rb +167 -0
  122. data/lib/shopify_api/rest/resources/2022_01/locations_for_move.rb +56 -0
  123. data/lib/shopify_api/rest/resources/2022_01/marketing_event.rb +209 -0
  124. data/lib/shopify_api/rest/resources/2022_01/metafield.rb +349 -0
  125. data/lib/shopify_api/rest/resources/2022_01/mobile_platform_application.rb +110 -0
  126. data/lib/shopify_api/rest/resources/2022_01/order.rb +473 -0
  127. data/lib/shopify_api/rest/resources/2022_01/order_risk.rb +135 -0
  128. data/lib/shopify_api/rest/resources/2022_01/page.rb +194 -0
  129. data/lib/shopify_api/rest/resources/2022_01/payment.rb +140 -0
  130. data/lib/shopify_api/rest/resources/2022_01/payment_gateway.rb +143 -0
  131. data/lib/shopify_api/rest/resources/2022_01/payment_transaction.rb +107 -0
  132. data/lib/shopify_api/rest/resources/2022_01/payout.rb +97 -0
  133. data/lib/shopify_api/rest/resources/2022_01/policy.rb +69 -0
  134. data/lib/shopify_api/rest/resources/2022_01/price_rule.rb +223 -0
  135. data/lib/shopify_api/rest/resources/2022_01/product.rb +223 -0
  136. data/lib/shopify_api/rest/resources/2022_01/product_listing.rb +196 -0
  137. data/lib/shopify_api/rest/resources/2022_01/product_resource_feedback.rb +88 -0
  138. data/lib/shopify_api/rest/resources/2022_01/province.rb +132 -0
  139. data/lib/shopify_api/rest/resources/2022_01/recurring_application_charge.rb +167 -0
  140. data/lib/shopify_api/rest/resources/2022_01/redirect.rb +139 -0
  141. data/lib/shopify_api/rest/resources/2022_01/refund.rb +151 -0
  142. data/lib/shopify_api/rest/resources/2022_01/report.rb +121 -0
  143. data/lib/shopify_api/rest/resources/2022_01/resource_feedback.rb +73 -0
  144. data/lib/shopify_api/rest/resources/2022_01/script_tag.rb +155 -0
  145. data/lib/shopify_api/rest/resources/2022_01/shipping_zone.rb +83 -0
  146. data/lib/shopify_api/rest/resources/2022_01/shop.rb +218 -0
  147. data/lib/shopify_api/rest/resources/2022_01/smart_collection.rb +216 -0
  148. data/lib/shopify_api/rest/resources/2022_01/storefront_access_token.rb +87 -0
  149. data/lib/shopify_api/rest/resources/2022_01/tender_transaction.rb +93 -0
  150. data/lib/shopify_api/rest/resources/2022_01/theme.rb +120 -0
  151. data/lib/shopify_api/rest/resources/2022_01/transaction.rb +181 -0
  152. data/lib/shopify_api/rest/resources/2022_01/usage_charge.rb +97 -0
  153. data/lib/shopify_api/rest/resources/2022_01/user.rb +138 -0
  154. data/lib/shopify_api/rest/resources/2022_01/variant.rb +212 -0
  155. data/lib/shopify_api/rest/resources/2022_01/webhook.rb +168 -0
  156. data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +190 -0
  157. data/lib/shopify_api/rest/resources/2022_04/access_scope.rb +58 -0
  158. data/lib/shopify_api/rest/resources/2022_04/android_pay_key.rb +77 -0
  159. data/lib/shopify_api/rest/resources/2022_04/apple_pay_certificate.rb +105 -0
  160. data/lib/shopify_api/rest/resources/2022_04/application_charge.rb +104 -0
  161. data/lib/shopify_api/rest/resources/2022_04/application_credit.rb +87 -0
  162. data/lib/shopify_api/rest/resources/2022_04/article.rb +265 -0
  163. data/lib/shopify_api/rest/resources/2022_04/asset.rb +118 -0
  164. data/lib/shopify_api/rest/resources/2022_04/assigned_fulfillment_order.rb +86 -0
  165. data/lib/shopify_api/rest/resources/2022_04/balance.rb +50 -0
  166. data/lib/shopify_api/rest/resources/2022_04/blog.rb +162 -0
  167. data/lib/shopify_api/rest/resources/2022_04/cancellation_request.rb +83 -0
  168. data/lib/shopify_api/rest/resources/2022_04/carrier_service.rb +116 -0
  169. data/lib/shopify_api/rest/resources/2022_04/checkout.rb +209 -0
  170. data/lib/shopify_api/rest/resources/2022_04/collect.rb +142 -0
  171. data/lib/shopify_api/rest/resources/2022_04/collection.rb +110 -0
  172. data/lib/shopify_api/rest/resources/2022_04/collection_listing.rb +155 -0
  173. data/lib/shopify_api/rest/resources/2022_04/comment.rb +283 -0
  174. data/lib/shopify_api/rest/resources/2022_04/country.rb +137 -0
  175. data/lib/shopify_api/rest/resources/2022_04/currency.rb +57 -0
  176. data/lib/shopify_api/rest/resources/2022_04/custom_collection.rb +187 -0
  177. data/lib/shopify_api/rest/resources/2022_04/customer.rb +329 -0
  178. data/lib/shopify_api/rest/resources/2022_04/customer_address.rb +201 -0
  179. data/lib/shopify_api/rest/resources/2022_04/customer_saved_search.rb +169 -0
  180. data/lib/shopify_api/rest/resources/2022_04/deprecated_api_call.rb +57 -0
  181. data/lib/shopify_api/rest/resources/2022_04/discount_code.rb +219 -0
  182. data/lib/shopify_api/rest/resources/2022_04/dispute.rb +111 -0
  183. data/lib/shopify_api/rest/resources/2022_04/draft_order.rb +275 -0
  184. data/lib/shopify_api/rest/resources/2022_04/event.rb +148 -0
  185. data/lib/shopify_api/rest/resources/2022_04/fulfillment.rb +272 -0
  186. data/lib/shopify_api/rest/resources/2022_04/fulfillment_event.rb +166 -0
  187. data/lib/shopify_api/rest/resources/2022_04/fulfillment_order.rb +284 -0
  188. data/lib/shopify_api/rest/resources/2022_04/fulfillment_request.rb +87 -0
  189. data/lib/shopify_api/rest/resources/2022_04/fulfillment_service.rb +130 -0
  190. data/lib/shopify_api/rest/resources/2022_04/gift_card.rb +215 -0
  191. data/lib/shopify_api/rest/resources/2022_04/gift_card_adjustment.rb +118 -0
  192. data/lib/shopify_api/rest/resources/2022_04/image.rb +157 -0
  193. data/lib/shopify_api/rest/resources/2022_04/inventory_item.rb +108 -0
  194. data/lib/shopify_api/rest/resources/2022_04/inventory_level.rb +179 -0
  195. data/lib/shopify_api/rest/resources/2022_04/location.rb +167 -0
  196. data/lib/shopify_api/rest/resources/2022_04/locations_for_move.rb +56 -0
  197. data/lib/shopify_api/rest/resources/2022_04/marketing_event.rb +209 -0
  198. data/lib/shopify_api/rest/resources/2022_04/metafield.rb +344 -0
  199. data/lib/shopify_api/rest/resources/2022_04/mobile_platform_application.rb +110 -0
  200. data/lib/shopify_api/rest/resources/2022_04/order.rb +473 -0
  201. data/lib/shopify_api/rest/resources/2022_04/order_risk.rb +135 -0
  202. data/lib/shopify_api/rest/resources/2022_04/page.rb +194 -0
  203. data/lib/shopify_api/rest/resources/2022_04/payment.rb +140 -0
  204. data/lib/shopify_api/rest/resources/2022_04/payment_gateway.rb +143 -0
  205. data/lib/shopify_api/rest/resources/2022_04/payment_transaction.rb +107 -0
  206. data/lib/shopify_api/rest/resources/2022_04/payout.rb +97 -0
  207. data/lib/shopify_api/rest/resources/2022_04/policy.rb +69 -0
  208. data/lib/shopify_api/rest/resources/2022_04/price_rule.rb +223 -0
  209. data/lib/shopify_api/rest/resources/2022_04/product.rb +223 -0
  210. data/lib/shopify_api/rest/resources/2022_04/product_listing.rb +196 -0
  211. data/lib/shopify_api/rest/resources/2022_04/product_resource_feedback.rb +88 -0
  212. data/lib/shopify_api/rest/resources/2022_04/province.rb +132 -0
  213. data/lib/shopify_api/rest/resources/2022_04/recurring_application_charge.rb +167 -0
  214. data/lib/shopify_api/rest/resources/2022_04/redirect.rb +139 -0
  215. data/lib/shopify_api/rest/resources/2022_04/refund.rb +151 -0
  216. data/lib/shopify_api/rest/resources/2022_04/report.rb +121 -0
  217. data/lib/shopify_api/rest/resources/2022_04/resource_feedback.rb +73 -0
  218. data/lib/shopify_api/rest/resources/2022_04/script_tag.rb +155 -0
  219. data/lib/shopify_api/rest/resources/2022_04/shipping_zone.rb +83 -0
  220. data/lib/shopify_api/rest/resources/2022_04/shop.rb +218 -0
  221. data/lib/shopify_api/rest/resources/2022_04/smart_collection.rb +216 -0
  222. data/lib/shopify_api/rest/resources/2022_04/storefront_access_token.rb +87 -0
  223. data/lib/shopify_api/rest/resources/2022_04/tender_transaction.rb +93 -0
  224. data/lib/shopify_api/rest/resources/2022_04/theme.rb +120 -0
  225. data/lib/shopify_api/rest/resources/2022_04/transaction.rb +181 -0
  226. data/lib/shopify_api/rest/resources/2022_04/usage_charge.rb +97 -0
  227. data/lib/shopify_api/rest/resources/2022_04/user.rb +138 -0
  228. data/lib/shopify_api/rest/resources/2022_04/variant.rb +212 -0
  229. data/lib/shopify_api/rest/resources/2022_04/webhook.rb +168 -0
  230. data/lib/shopify_api/rest/resources/2022_07/abandoned_checkout.rb +190 -0
  231. data/lib/shopify_api/rest/resources/2022_07/access_scope.rb +58 -0
  232. data/lib/shopify_api/rest/resources/2022_07/android_pay_key.rb +77 -0
  233. data/lib/shopify_api/rest/resources/2022_07/apple_pay_certificate.rb +105 -0
  234. data/lib/shopify_api/rest/resources/2022_07/application_charge.rb +104 -0
  235. data/lib/shopify_api/rest/resources/2022_07/application_credit.rb +87 -0
  236. data/lib/shopify_api/rest/resources/2022_07/article.rb +265 -0
  237. data/lib/shopify_api/rest/resources/2022_07/asset.rb +118 -0
  238. data/lib/shopify_api/rest/resources/2022_07/assigned_fulfillment_order.rb +86 -0
  239. data/lib/shopify_api/rest/resources/2022_07/balance.rb +50 -0
  240. data/lib/shopify_api/rest/resources/2022_07/blog.rb +162 -0
  241. data/lib/shopify_api/rest/resources/2022_07/cancellation_request.rb +83 -0
  242. data/lib/shopify_api/rest/resources/2022_07/carrier_service.rb +113 -0
  243. data/lib/shopify_api/rest/resources/2022_07/checkout.rb +209 -0
  244. data/lib/shopify_api/rest/resources/2022_07/collect.rb +142 -0
  245. data/lib/shopify_api/rest/resources/2022_07/collection.rb +110 -0
  246. data/lib/shopify_api/rest/resources/2022_07/collection_listing.rb +155 -0
  247. data/lib/shopify_api/rest/resources/2022_07/comment.rb +283 -0
  248. data/lib/shopify_api/rest/resources/2022_07/country.rb +137 -0
  249. data/lib/shopify_api/rest/resources/2022_07/currency.rb +57 -0
  250. data/lib/shopify_api/rest/resources/2022_07/custom_collection.rb +187 -0
  251. data/lib/shopify_api/rest/resources/2022_07/customer.rb +329 -0
  252. data/lib/shopify_api/rest/resources/2022_07/customer_address.rb +201 -0
  253. data/lib/shopify_api/rest/resources/2022_07/customer_saved_search.rb +169 -0
  254. data/lib/shopify_api/rest/resources/2022_07/deprecated_api_call.rb +57 -0
  255. data/lib/shopify_api/rest/resources/2022_07/discount_code.rb +219 -0
  256. data/lib/shopify_api/rest/resources/2022_07/dispute.rb +111 -0
  257. data/lib/shopify_api/rest/resources/2022_07/dispute_evidence.rb +117 -0
  258. data/lib/shopify_api/rest/resources/2022_07/dispute_file_upload.rb +81 -0
  259. data/lib/shopify_api/rest/resources/2022_07/draft_order.rb +275 -0
  260. data/lib/shopify_api/rest/resources/2022_07/event.rb +148 -0
  261. data/lib/shopify_api/rest/resources/2022_07/fulfillment.rb +225 -0
  262. data/lib/shopify_api/rest/resources/2022_07/fulfillment_event.rb +166 -0
  263. data/lib/shopify_api/rest/resources/2022_07/fulfillment_order.rb +310 -0
  264. data/lib/shopify_api/rest/resources/2022_07/fulfillment_request.rb +87 -0
  265. data/lib/shopify_api/rest/resources/2022_07/fulfillment_service.rb +130 -0
  266. data/lib/shopify_api/rest/resources/2022_07/gift_card.rb +215 -0
  267. data/lib/shopify_api/rest/resources/2022_07/gift_card_adjustment.rb +118 -0
  268. data/lib/shopify_api/rest/resources/2022_07/image.rb +157 -0
  269. data/lib/shopify_api/rest/resources/2022_07/inventory_item.rb +108 -0
  270. data/lib/shopify_api/rest/resources/2022_07/inventory_level.rb +179 -0
  271. data/lib/shopify_api/rest/resources/2022_07/location.rb +167 -0
  272. data/lib/shopify_api/rest/resources/2022_07/locations_for_move.rb +56 -0
  273. data/lib/shopify_api/rest/resources/2022_07/marketing_event.rb +209 -0
  274. data/lib/shopify_api/rest/resources/2022_07/metafield.rb +344 -0
  275. data/lib/shopify_api/rest/resources/2022_07/mobile_platform_application.rb +110 -0
  276. data/lib/shopify_api/rest/resources/2022_07/order.rb +473 -0
  277. data/lib/shopify_api/rest/resources/2022_07/order_risk.rb +135 -0
  278. data/lib/shopify_api/rest/resources/2022_07/page.rb +194 -0
  279. data/lib/shopify_api/rest/resources/2022_07/payment.rb +140 -0
  280. data/lib/shopify_api/rest/resources/2022_07/payment_gateway.rb +143 -0
  281. data/lib/shopify_api/rest/resources/2022_07/payment_transaction.rb +107 -0
  282. data/lib/shopify_api/rest/resources/2022_07/payout.rb +97 -0
  283. data/lib/shopify_api/rest/resources/2022_07/policy.rb +69 -0
  284. data/lib/shopify_api/rest/resources/2022_07/price_rule.rb +223 -0
  285. data/lib/shopify_api/rest/resources/2022_07/product.rb +223 -0
  286. data/lib/shopify_api/rest/resources/2022_07/product_listing.rb +196 -0
  287. data/lib/shopify_api/rest/resources/2022_07/product_resource_feedback.rb +88 -0
  288. data/lib/shopify_api/rest/resources/2022_07/province.rb +132 -0
  289. data/lib/shopify_api/rest/resources/2022_07/recurring_application_charge.rb +167 -0
  290. data/lib/shopify_api/rest/resources/2022_07/redirect.rb +139 -0
  291. data/lib/shopify_api/rest/resources/2022_07/refund.rb +151 -0
  292. data/lib/shopify_api/rest/resources/2022_07/report.rb +121 -0
  293. data/lib/shopify_api/rest/resources/2022_07/resource_feedback.rb +73 -0
  294. data/lib/shopify_api/rest/resources/2022_07/script_tag.rb +155 -0
  295. data/lib/shopify_api/rest/resources/2022_07/shipping_zone.rb +83 -0
  296. data/lib/shopify_api/rest/resources/2022_07/shop.rb +218 -0
  297. data/lib/shopify_api/rest/resources/2022_07/smart_collection.rb +216 -0
  298. data/lib/shopify_api/rest/resources/2022_07/storefront_access_token.rb +87 -0
  299. data/lib/shopify_api/rest/resources/2022_07/tender_transaction.rb +93 -0
  300. data/lib/shopify_api/rest/resources/2022_07/theme.rb +120 -0
  301. data/lib/shopify_api/rest/resources/2022_07/transaction.rb +181 -0
  302. data/lib/shopify_api/rest/resources/2022_07/usage_charge.rb +97 -0
  303. data/lib/shopify_api/rest/resources/2022_07/user.rb +138 -0
  304. data/lib/shopify_api/rest/resources/2022_07/variant.rb +212 -0
  305. data/lib/shopify_api/rest/resources/2022_07/webhook.rb +168 -0
  306. data/lib/shopify_api/rest/resources/2022_10/abandoned_checkout.rb +190 -0
  307. data/lib/shopify_api/rest/resources/2022_10/access_scope.rb +58 -0
  308. data/lib/shopify_api/rest/resources/2022_10/android_pay_key.rb +77 -0
  309. data/lib/shopify_api/rest/resources/2022_10/apple_pay_certificate.rb +105 -0
  310. data/lib/shopify_api/rest/resources/2022_10/application_charge.rb +104 -0
  311. data/lib/shopify_api/rest/resources/2022_10/application_credit.rb +87 -0
  312. data/lib/shopify_api/rest/resources/2022_10/article.rb +265 -0
  313. data/lib/shopify_api/rest/resources/2022_10/asset.rb +118 -0
  314. data/lib/shopify_api/rest/resources/2022_10/assigned_fulfillment_order.rb +86 -0
  315. data/lib/shopify_api/rest/resources/2022_10/balance.rb +50 -0
  316. data/lib/shopify_api/rest/resources/2022_10/blog.rb +162 -0
  317. data/lib/shopify_api/rest/resources/2022_10/cancellation_request.rb +83 -0
  318. data/lib/shopify_api/rest/resources/2022_10/carrier_service.rb +113 -0
  319. data/lib/shopify_api/rest/resources/2022_10/checkout.rb +209 -0
  320. data/lib/shopify_api/rest/resources/2022_10/collect.rb +142 -0
  321. data/lib/shopify_api/rest/resources/2022_10/collection.rb +110 -0
  322. data/lib/shopify_api/rest/resources/2022_10/collection_listing.rb +155 -0
  323. data/lib/shopify_api/rest/resources/2022_10/comment.rb +283 -0
  324. data/lib/shopify_api/rest/resources/2022_10/country.rb +137 -0
  325. data/lib/shopify_api/rest/resources/2022_10/currency.rb +57 -0
  326. data/lib/shopify_api/rest/resources/2022_10/custom_collection.rb +187 -0
  327. data/lib/shopify_api/rest/resources/2022_10/customer.rb +329 -0
  328. data/lib/shopify_api/rest/resources/2022_10/customer_address.rb +201 -0
  329. data/lib/shopify_api/rest/resources/2022_10/customer_saved_search.rb +169 -0
  330. data/lib/shopify_api/rest/resources/2022_10/deprecated_api_call.rb +57 -0
  331. data/lib/shopify_api/rest/resources/2022_10/discount_code.rb +219 -0
  332. data/lib/shopify_api/rest/resources/2022_10/dispute.rb +111 -0
  333. data/lib/shopify_api/rest/resources/2022_10/dispute_evidence.rb +117 -0
  334. data/lib/shopify_api/rest/resources/2022_10/dispute_file_upload.rb +81 -0
  335. data/lib/shopify_api/rest/resources/2022_10/draft_order.rb +275 -0
  336. data/lib/shopify_api/rest/resources/2022_10/event.rb +148 -0
  337. data/lib/shopify_api/rest/resources/2022_10/fulfillment.rb +225 -0
  338. data/lib/shopify_api/rest/resources/2022_10/fulfillment_event.rb +166 -0
  339. data/lib/shopify_api/rest/resources/2022_10/fulfillment_order.rb +310 -0
  340. data/lib/shopify_api/rest/resources/2022_10/fulfillment_request.rb +87 -0
  341. data/lib/shopify_api/rest/resources/2022_10/fulfillment_service.rb +130 -0
  342. data/lib/shopify_api/rest/resources/2022_10/gift_card.rb +215 -0
  343. data/lib/shopify_api/rest/resources/2022_10/gift_card_adjustment.rb +118 -0
  344. data/lib/shopify_api/rest/resources/2022_10/image.rb +157 -0
  345. data/lib/shopify_api/rest/resources/2022_10/inventory_item.rb +108 -0
  346. data/lib/shopify_api/rest/resources/2022_10/inventory_level.rb +179 -0
  347. data/lib/shopify_api/rest/resources/2022_10/location.rb +167 -0
  348. data/lib/shopify_api/rest/resources/2022_10/locations_for_move.rb +56 -0
  349. data/lib/shopify_api/rest/resources/2022_10/marketing_event.rb +209 -0
  350. data/lib/shopify_api/rest/resources/2022_10/metafield.rb +344 -0
  351. data/lib/shopify_api/rest/resources/2022_10/mobile_platform_application.rb +110 -0
  352. data/lib/shopify_api/rest/resources/2022_10/order.rb +476 -0
  353. data/lib/shopify_api/rest/resources/2022_10/order_risk.rb +135 -0
  354. data/lib/shopify_api/rest/resources/2022_10/page.rb +194 -0
  355. data/lib/shopify_api/rest/resources/2022_10/payment.rb +140 -0
  356. data/lib/shopify_api/rest/resources/2022_10/payment_gateway.rb +143 -0
  357. data/lib/shopify_api/rest/resources/2022_10/payment_transaction.rb +107 -0
  358. data/lib/shopify_api/rest/resources/2022_10/payout.rb +97 -0
  359. data/lib/shopify_api/rest/resources/2022_10/policy.rb +69 -0
  360. data/lib/shopify_api/rest/resources/2022_10/price_rule.rb +223 -0
  361. data/lib/shopify_api/rest/resources/2022_10/product.rb +223 -0
  362. data/lib/shopify_api/rest/resources/2022_10/product_listing.rb +196 -0
  363. data/lib/shopify_api/rest/resources/2022_10/product_resource_feedback.rb +88 -0
  364. data/lib/shopify_api/rest/resources/2022_10/province.rb +132 -0
  365. data/lib/shopify_api/rest/resources/2022_10/recurring_application_charge.rb +167 -0
  366. data/lib/shopify_api/rest/resources/2022_10/redirect.rb +139 -0
  367. data/lib/shopify_api/rest/resources/2022_10/refund.rb +151 -0
  368. data/lib/shopify_api/rest/resources/2022_10/report.rb +121 -0
  369. data/lib/shopify_api/rest/resources/2022_10/resource_feedback.rb +73 -0
  370. data/lib/shopify_api/rest/resources/2022_10/script_tag.rb +155 -0
  371. data/lib/shopify_api/rest/resources/2022_10/shipping_zone.rb +83 -0
  372. data/lib/shopify_api/rest/resources/2022_10/shop.rb +221 -0
  373. data/lib/shopify_api/rest/resources/2022_10/smart_collection.rb +216 -0
  374. data/lib/shopify_api/rest/resources/2022_10/storefront_access_token.rb +87 -0
  375. data/lib/shopify_api/rest/resources/2022_10/tender_transaction.rb +93 -0
  376. data/lib/shopify_api/rest/resources/2022_10/theme.rb +120 -0
  377. data/lib/shopify_api/rest/resources/2022_10/transaction.rb +181 -0
  378. data/lib/shopify_api/rest/resources/2022_10/usage_charge.rb +97 -0
  379. data/lib/shopify_api/rest/resources/2022_10/user.rb +138 -0
  380. data/lib/shopify_api/rest/resources/2022_10/variant.rb +212 -0
  381. data/lib/shopify_api/rest/resources/2022_10/webhook.rb +168 -0
  382. data/lib/shopify_api/rest/resources/2023_01/abandoned_checkout.rb +190 -0
  383. data/lib/shopify_api/rest/resources/2023_01/access_scope.rb +58 -0
  384. data/lib/shopify_api/rest/resources/2023_01/apple_pay_certificate.rb +105 -0
  385. data/lib/shopify_api/rest/resources/2023_01/application_charge.rb +104 -0
  386. data/lib/shopify_api/rest/resources/2023_01/application_credit.rb +87 -0
  387. data/lib/shopify_api/rest/resources/2023_01/article.rb +265 -0
  388. data/lib/shopify_api/rest/resources/2023_01/asset.rb +118 -0
  389. data/lib/shopify_api/rest/resources/2023_01/assigned_fulfillment_order.rb +86 -0
  390. data/lib/shopify_api/rest/resources/2023_01/balance.rb +50 -0
  391. data/lib/shopify_api/rest/resources/2023_01/blog.rb +162 -0
  392. data/lib/shopify_api/rest/resources/2023_01/cancellation_request.rb +83 -0
  393. data/lib/shopify_api/rest/resources/2023_01/carrier_service.rb +113 -0
  394. data/lib/shopify_api/rest/resources/2023_01/checkout.rb +209 -0
  395. data/lib/shopify_api/rest/resources/2023_01/collect.rb +142 -0
  396. data/lib/shopify_api/rest/resources/2023_01/collection.rb +110 -0
  397. data/lib/shopify_api/rest/resources/2023_01/collection_listing.rb +155 -0
  398. data/lib/shopify_api/rest/resources/2023_01/comment.rb +283 -0
  399. data/lib/shopify_api/rest/resources/2023_01/country.rb +137 -0
  400. data/lib/shopify_api/rest/resources/2023_01/currency.rb +57 -0
  401. data/lib/shopify_api/rest/resources/2023_01/custom_collection.rb +187 -0
  402. data/lib/shopify_api/rest/resources/2023_01/customer.rb +329 -0
  403. data/lib/shopify_api/rest/resources/2023_01/customer_address.rb +201 -0
  404. data/lib/shopify_api/rest/resources/2023_01/customer_saved_search.rb +169 -0
  405. data/lib/shopify_api/rest/resources/2023_01/deprecated_api_call.rb +57 -0
  406. data/lib/shopify_api/rest/resources/2023_01/discount_code.rb +219 -0
  407. data/lib/shopify_api/rest/resources/2023_01/dispute.rb +111 -0
  408. data/lib/shopify_api/rest/resources/2023_01/draft_order.rb +275 -0
  409. data/lib/shopify_api/rest/resources/2023_01/event.rb +148 -0
  410. data/lib/shopify_api/rest/resources/2023_01/fulfillment.rb +225 -0
  411. data/lib/shopify_api/rest/resources/2023_01/fulfillment_event.rb +166 -0
  412. data/lib/shopify_api/rest/resources/2023_01/fulfillment_order.rb +316 -0
  413. data/lib/shopify_api/rest/resources/2023_01/fulfillment_request.rb +87 -0
  414. data/lib/shopify_api/rest/resources/2023_01/fulfillment_service.rb +130 -0
  415. data/lib/shopify_api/rest/resources/2023_01/gift_card.rb +215 -0
  416. data/lib/shopify_api/rest/resources/2023_01/gift_card_adjustment.rb +118 -0
  417. data/lib/shopify_api/rest/resources/2023_01/image.rb +157 -0
  418. data/lib/shopify_api/rest/resources/2023_01/inventory_item.rb +108 -0
  419. data/lib/shopify_api/rest/resources/2023_01/inventory_level.rb +179 -0
  420. data/lib/shopify_api/rest/resources/2023_01/location.rb +167 -0
  421. data/lib/shopify_api/rest/resources/2023_01/locations_for_move.rb +56 -0
  422. data/lib/shopify_api/rest/resources/2023_01/marketing_event.rb +209 -0
  423. data/lib/shopify_api/rest/resources/2023_01/metafield.rb +344 -0
  424. data/lib/shopify_api/rest/resources/2023_01/mobile_platform_application.rb +110 -0
  425. data/lib/shopify_api/rest/resources/2023_01/order.rb +479 -0
  426. data/lib/shopify_api/rest/resources/2023_01/order_risk.rb +135 -0
  427. data/lib/shopify_api/rest/resources/2023_01/page.rb +194 -0
  428. data/lib/shopify_api/rest/resources/2023_01/payment.rb +140 -0
  429. data/lib/shopify_api/rest/resources/2023_01/payment_gateway.rb +143 -0
  430. data/lib/shopify_api/rest/resources/2023_01/payment_transaction.rb +107 -0
  431. data/lib/shopify_api/rest/resources/2023_01/payout.rb +97 -0
  432. data/lib/shopify_api/rest/resources/2023_01/policy.rb +69 -0
  433. data/lib/shopify_api/rest/resources/2023_01/price_rule.rb +223 -0
  434. data/lib/shopify_api/rest/resources/2023_01/product.rb +223 -0
  435. data/lib/shopify_api/rest/resources/2023_01/product_listing.rb +196 -0
  436. data/lib/shopify_api/rest/resources/2023_01/product_resource_feedback.rb +88 -0
  437. data/lib/shopify_api/rest/resources/2023_01/province.rb +132 -0
  438. data/lib/shopify_api/rest/resources/2023_01/recurring_application_charge.rb +167 -0
  439. data/lib/shopify_api/rest/resources/2023_01/redirect.rb +139 -0
  440. data/lib/shopify_api/rest/resources/2023_01/refund.rb +151 -0
  441. data/lib/shopify_api/rest/resources/2023_01/report.rb +121 -0
  442. data/lib/shopify_api/rest/resources/2023_01/resource_feedback.rb +73 -0
  443. data/lib/shopify_api/rest/resources/2023_01/script_tag.rb +155 -0
  444. data/lib/shopify_api/rest/resources/2023_01/shipping_zone.rb +83 -0
  445. data/lib/shopify_api/rest/resources/2023_01/shop.rb +221 -0
  446. data/lib/shopify_api/rest/resources/2023_01/smart_collection.rb +216 -0
  447. data/lib/shopify_api/rest/resources/2023_01/storefront_access_token.rb +87 -0
  448. data/lib/shopify_api/rest/resources/2023_01/tender_transaction.rb +93 -0
  449. data/lib/shopify_api/rest/resources/2023_01/theme.rb +120 -0
  450. data/lib/shopify_api/rest/resources/2023_01/transaction.rb +181 -0
  451. data/lib/shopify_api/rest/resources/2023_01/usage_charge.rb +97 -0
  452. data/lib/shopify_api/rest/resources/2023_01/user.rb +138 -0
  453. data/lib/shopify_api/rest/resources/2023_01/variant.rb +212 -0
  454. data/lib/shopify_api/rest/resources/2023_01/webhook.rb +168 -0
  455. data/lib/shopify_api/utils/graphql_proxy.rb +52 -0
  456. data/lib/shopify_api/utils/hmac_validator.rb +44 -0
  457. data/lib/shopify_api/utils/http_utils.rb +17 -0
  458. data/lib/shopify_api/utils/session_utils.rb +152 -0
  459. data/lib/shopify_api/utils/verifiable_query.rb +18 -0
  460. data/lib/shopify_api/version.rb +4 -1
  461. data/lib/shopify_api/webhooks/handler.rb +15 -0
  462. data/lib/shopify_api/webhooks/register_result.rb +14 -0
  463. data/lib/shopify_api/webhooks/registration.rb +73 -0
  464. data/lib/shopify_api/webhooks/registrations/event_bridge.rb +61 -0
  465. data/lib/shopify_api/webhooks/registrations/http.rb +72 -0
  466. data/lib/shopify_api/webhooks/registrations/pub_sub.rb +65 -0
  467. data/lib/shopify_api/webhooks/registry.rb +215 -0
  468. data/lib/shopify_api/webhooks/request.rb +56 -0
  469. data/lib/shopify_api.rb +20 -30
  470. data/service.yml +0 -7
  471. data/shipit.rubygems.yml +1 -1
  472. data/shopify_api.gemspec +35 -21
  473. data/sorbet/config +3 -0
  474. data/sorbet/rbi/gems/activesupport@7.0.1.rbi +654 -0
  475. data/sorbet/rbi/gems/addressable@2.8.0.rbi +290 -0
  476. data/sorbet/rbi/gems/ast@2.4.2.rbi +54 -0
  477. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  478. data/sorbet/rbi/gems/concurrent-ruby@1.1.9.rbi +2401 -0
  479. data/sorbet/rbi/gems/crack@0.4.5.rbi +57 -0
  480. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +185 -0
  481. data/sorbet/rbi/gems/fakefs@1.4.1.rbi +571 -0
  482. data/sorbet/rbi/gems/hash_diff@1.0.0.rbi +47 -0
  483. data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +82 -0
  484. data/sorbet/rbi/gems/httparty@0.20.0.rbi +573 -0
  485. data/sorbet/rbi/gems/i18n@1.8.11.rbi +25 -0
  486. data/sorbet/rbi/gems/jwt@2.3.0.rbi +437 -0
  487. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  488. data/sorbet/rbi/gems/mime-types-data@3.2022.0105.rbi +73 -0
  489. data/sorbet/rbi/gems/mime-types@3.4.1.rbi +295 -0
  490. data/sorbet/rbi/gems/minitest@5.15.0.rbi +541 -0
  491. data/sorbet/rbi/gems/mocha@1.13.0.rbi +986 -0
  492. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +36 -0
  493. data/sorbet/rbi/gems/oj@3.13.11.rbi +274 -0
  494. data/sorbet/rbi/gems/openssl@3.0.0.rbi +581 -0
  495. data/sorbet/rbi/gems/parallel@1.21.0.rbi +113 -0
  496. data/sorbet/rbi/gems/parser@3.1.0.0.rbi +1741 -0
  497. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  498. data/sorbet/rbi/gems/public_suffix@4.0.6.rbi +145 -0
  499. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +157 -0
  500. data/sorbet/rbi/gems/rake@13.0.6.rbi +814 -0
  501. data/sorbet/rbi/gems/rbi@0.0.11.rbi +1646 -0
  502. data/sorbet/rbi/gems/regexp_parser@2.2.0.rbi +1130 -0
  503. data/sorbet/rbi/gems/rexml@3.2.5.rbi +709 -0
  504. data/sorbet/rbi/gems/rubocop-ast@1.15.1.rbi +1921 -0
  505. data/sorbet/rbi/gems/rubocop-shopify@2.4.0.rbi +8 -0
  506. data/sorbet/rbi/gems/rubocop-sorbet@0.6.5.rbi +295 -0
  507. data/sorbet/rbi/gems/rubocop@1.25.1.rbi +13507 -0
  508. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +405 -0
  509. data/sorbet/rbi/gems/securerandom@0.1.1.rbi +10 -0
  510. data/sorbet/rbi/gems/spoom@1.1.8.rbi +1252 -0
  511. data/sorbet/rbi/gems/tapioca@0.6.3.rbi +1238 -0
  512. data/sorbet/rbi/gems/thor@1.2.1.rbi +844 -0
  513. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +858 -0
  514. data/sorbet/rbi/gems/unicode-display_width@2.1.0.rbi +26 -0
  515. data/sorbet/rbi/gems/unparser@0.6.3.rbi +1816 -0
  516. data/sorbet/rbi/gems/webmock@3.14.0.rbi +683 -0
  517. data/sorbet/rbi/gems/webrick@1.7.0.rbi +601 -0
  518. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +199 -0
  519. data/sorbet/rbi/gems/yard@0.9.27.rbi +4145 -0
  520. data/sorbet/rbi/gems/zeitwerk@2.5.4.rbi +200 -0
  521. data/sorbet/rbi/shims/fakefs.rbi +1 -0
  522. data/sorbet/rbi/shims/openssl.rb +3 -0
  523. data/sorbet/rbi/todo.rbi +8 -0
  524. data/sorbet/tapioca/config.yml +4 -0
  525. data/sorbet/tapioca/require.rb +20 -0
  526. metadata +643 -353
  527. data/.document +0 -5
  528. data/.github/probots.yml +0 -2
  529. data/.gitignore +0 -13
  530. data/.rubocop-https---shopify-github-io-ruby-style-guide-rubocop-yml +0 -1027
  531. data/.travis.yml +0 -23
  532. data/CONTRIBUTORS +0 -3
  533. data/Gemfile_ar41 +0 -5
  534. data/Gemfile_ar50 +0 -5
  535. data/Gemfile_ar51 +0 -5
  536. data/Gemfile_ar_master +0 -5
  537. data/RELEASING +0 -13
  538. data/bin/shopify +0 -3
  539. data/docker-compose.yml +0 -13
  540. data/docs/graphql.md +0 -191
  541. data/lib/active_resource/connection_ext.rb +0 -10
  542. data/lib/active_resource/detailed_log_subscriber.rb +0 -42
  543. data/lib/active_resource/json_errors.rb +0 -31
  544. data/lib/shopify_api/api_version.rb +0 -205
  545. data/lib/shopify_api/connection.rb +0 -35
  546. data/lib/shopify_api/countable.rb +0 -14
  547. data/lib/shopify_api/disable_prefix_check.rb +0 -31
  548. data/lib/shopify_api/events.rb +0 -7
  549. data/lib/shopify_api/graphql/http_client.rb +0 -22
  550. data/lib/shopify_api/graphql/railtie.rb +0 -17
  551. data/lib/shopify_api/graphql/task.rake +0 -100
  552. data/lib/shopify_api/graphql.rb +0 -79
  553. data/lib/shopify_api/limits.rb +0 -76
  554. data/lib/shopify_api/message_enricher.rb +0 -17
  555. data/lib/shopify_api/meta.rb +0 -15
  556. data/lib/shopify_api/metafields.rb +0 -20
  557. data/lib/shopify_api/paginated_collection.rb +0 -69
  558. data/lib/shopify_api/pagination_link_headers.rb +0 -33
  559. data/lib/shopify_api/resources/abandoned_checkout.rb +0 -7
  560. data/lib/shopify_api/resources/access_scope.rb +0 -10
  561. data/lib/shopify_api/resources/access_token.rb +0 -8
  562. data/lib/shopify_api/resources/address.rb +0 -4
  563. data/lib/shopify_api/resources/announcement.rb +0 -4
  564. data/lib/shopify_api/resources/api_permission.rb +0 -9
  565. data/lib/shopify_api/resources/application_charge.rb +0 -15
  566. data/lib/shopify_api/resources/application_credit.rb +0 -4
  567. data/lib/shopify_api/resources/array_base.rb +0 -13
  568. data/lib/shopify_api/resources/article.rb +0 -21
  569. data/lib/shopify_api/resources/asset.rb +0 -100
  570. data/lib/shopify_api/resources/assigned_fulfillment_order.rb +0 -16
  571. data/lib/shopify_api/resources/base.rb +0 -162
  572. data/lib/shopify_api/resources/billing_address.rb +0 -4
  573. data/lib/shopify_api/resources/blog.rb +0 -10
  574. data/lib/shopify_api/resources/carrier_service.rb +0 -4
  575. data/lib/shopify_api/resources/cart.rb +0 -4
  576. data/lib/shopify_api/resources/checkout.rb +0 -30
  577. data/lib/shopify_api/resources/collect.rb +0 -6
  578. data/lib/shopify_api/resources/collection.rb +0 -14
  579. data/lib/shopify_api/resources/collection_listing.rb +0 -18
  580. data/lib/shopify_api/resources/collection_publication.rb +0 -10
  581. data/lib/shopify_api/resources/comment.rb +0 -9
  582. data/lib/shopify_api/resources/country.rb +0 -4
  583. data/lib/shopify_api/resources/currency.rb +0 -6
  584. data/lib/shopify_api/resources/custom_collection.rb +0 -19
  585. data/lib/shopify_api/resources/customer.rb +0 -29
  586. data/lib/shopify_api/resources/customer_group.rb +0 -5
  587. data/lib/shopify_api/resources/customer_invite.rb +0 -4
  588. data/lib/shopify_api/resources/customer_saved_search.rb +0 -11
  589. data/lib/shopify_api/resources/discount_code.rb +0 -9
  590. data/lib/shopify_api/resources/draft_order.rb +0 -14
  591. data/lib/shopify_api/resources/draft_order_invoice.rb +0 -4
  592. data/lib/shopify_api/resources/event.rb +0 -8
  593. data/lib/shopify_api/resources/fulfillment.rb +0 -47
  594. data/lib/shopify_api/resources/fulfillment_event.rb +0 -15
  595. data/lib/shopify_api/resources/fulfillment_order.rb +0 -137
  596. data/lib/shopify_api/resources/fulfillment_order_locations_for_move.rb +0 -4
  597. data/lib/shopify_api/resources/fulfillment_request.rb +0 -15
  598. data/lib/shopify_api/resources/fulfillment_service.rb +0 -4
  599. data/lib/shopify_api/resources/fulfillment_v2.rb +0 -20
  600. data/lib/shopify_api/resources/gift_card.rb +0 -7
  601. data/lib/shopify_api/resources/image.rb +0 -16
  602. data/lib/shopify_api/resources/inventory_item.rb +0 -6
  603. data/lib/shopify_api/resources/inventory_level.rb +0 -55
  604. data/lib/shopify_api/resources/line_item.rb +0 -14
  605. data/lib/shopify_api/resources/location.rb +0 -8
  606. data/lib/shopify_api/resources/marketing_event.rb +0 -10
  607. data/lib/shopify_api/resources/metafield.rb +0 -13
  608. data/lib/shopify_api/resources/note_attribute.rb +0 -4
  609. data/lib/shopify_api/resources/option.rb +0 -4
  610. data/lib/shopify_api/resources/order.rb +0 -43
  611. data/lib/shopify_api/resources/order_risk.rb +0 -8
  612. data/lib/shopify_api/resources/page.rb +0 -6
  613. data/lib/shopify_api/resources/payment.rb +0 -7
  614. data/lib/shopify_api/resources/payment_details.rb +0 -4
  615. data/lib/shopify_api/resources/ping.rb +0 -3
  616. data/lib/shopify_api/resources/policy.rb +0 -7
  617. data/lib/shopify_api/resources/price_rule.rb +0 -8
  618. data/lib/shopify_api/resources/product.rb +0 -35
  619. data/lib/shopify_api/resources/product_listing.rb +0 -16
  620. data/lib/shopify_api/resources/product_publication.rb +0 -10
  621. data/lib/shopify_api/resources/province.rb +0 -5
  622. data/lib/shopify_api/resources/publication.rb +0 -5
  623. data/lib/shopify_api/resources/receipt.rb +0 -4
  624. data/lib/shopify_api/resources/recurring_application_charge.rb +0 -31
  625. data/lib/shopify_api/resources/redirect.rb +0 -4
  626. data/lib/shopify_api/resources/refund.rb +0 -14
  627. data/lib/shopify_api/resources/report.rb +0 -4
  628. data/lib/shopify_api/resources/resource_feedback.rb +0 -19
  629. data/lib/shopify_api/resources/rule.rb +0 -4
  630. data/lib/shopify_api/resources/script_tag.rb +0 -4
  631. data/lib/shopify_api/resources/shipping_address.rb +0 -4
  632. data/lib/shopify_api/resources/shipping_line.rb +0 -4
  633. data/lib/shopify_api/resources/shipping_rate.rb +0 -7
  634. data/lib/shopify_api/resources/shipping_zone.rb +0 -4
  635. data/lib/shopify_api/resources/shop.rb +0 -25
  636. data/lib/shopify_api/resources/smart_collection.rb +0 -19
  637. data/lib/shopify_api/resources/storefront_access_token.rb +0 -4
  638. data/lib/shopify_api/resources/tax_line.rb +0 -4
  639. data/lib/shopify_api/resources/tax_service.rb +0 -4
  640. data/lib/shopify_api/resources/tender_transaction.rb +0 -6
  641. data/lib/shopify_api/resources/theme.rb +0 -4
  642. data/lib/shopify_api/resources/transaction.rb +0 -5
  643. data/lib/shopify_api/resources/usage_charge.rb +0 -5
  644. data/lib/shopify_api/resources/user.rb +0 -4
  645. data/lib/shopify_api/resources/variant.rb +0 -8
  646. data/lib/shopify_api/resources/webhook.rb +0 -4
  647. data/lib/shopify_api/resources.rb +0 -3
  648. data/lib/shopify_api/session.rb +0 -172
  649. data/test/abandoned_checkouts_test.rb +0 -29
  650. data/test/access_scope_test.rb +0 -23
  651. data/test/access_token_test.rb +0 -19
  652. data/test/active_resource/json_errors_test.rb +0 -19
  653. data/test/api_permission_test.rb +0 -9
  654. data/test/api_version_test.rb +0 -157
  655. data/test/application_charge_test.rb +0 -79
  656. data/test/application_credit_test.rb +0 -35
  657. data/test/article_test.rb +0 -73
  658. data/test/asset_test.rb +0 -18
  659. data/test/assigned_fulfillment_order_test.rb +0 -77
  660. data/test/base_test.rb +0 -198
  661. data/test/blog_test.rb +0 -8
  662. data/test/carrier_service_test.rb +0 -17
  663. data/test/cart_test.rb +0 -13
  664. data/test/checkouts_test.rb +0 -77
  665. data/test/collect_test.rb +0 -9
  666. data/test/collection_listing_test.rb +0 -79
  667. data/test/collection_publication_test.rb +0 -40
  668. data/test/collection_test.rb +0 -49
  669. data/test/countable_test.rb +0 -13
  670. data/test/currency_test.rb +0 -21
  671. data/test/custom_collection_test.rb +0 -9
  672. data/test/customer_saved_search_test.rb +0 -27
  673. data/test/customer_test.rb +0 -50
  674. data/test/detailed_log_subscriber_test.rb +0 -117
  675. data/test/discount_code_test.rb +0 -53
  676. data/test/draft_order_test.rb +0 -151
  677. data/test/fixtures/abandoned_checkout.json +0 -184
  678. data/test/fixtures/abandoned_checkouts.json +0 -186
  679. data/test/fixtures/access_scopes.json +0 -10
  680. data/test/fixtures/access_token_delegate.json +0 -4
  681. data/test/fixtures/api_versions.json +0 -38
  682. data/test/fixtures/apis.json +0 -42
  683. data/test/fixtures/application_charge.json +0 -16
  684. data/test/fixtures/application_charges.json +0 -57
  685. data/test/fixtures/application_credit.json +0 -12
  686. data/test/fixtures/application_credits.json +0 -24
  687. data/test/fixtures/article.json +0 -15
  688. data/test/fixtures/articles.json +0 -39
  689. data/test/fixtures/asset.json +0 -9
  690. data/test/fixtures/assets.json +0 -136
  691. data/test/fixtures/assigned_fulfillment_orders.json +0 -78
  692. data/test/fixtures/authors.json +0 -1
  693. data/test/fixtures/blog.json +0 -13
  694. data/test/fixtures/blogs.json +0 -13
  695. data/test/fixtures/carrier_service.json +0 -9
  696. data/test/fixtures/carts.json +0 -43
  697. data/test/fixtures/checkout.json +0 -160
  698. data/test/fixtures/checkouts.json +0 -162
  699. data/test/fixtures/collect.json +0 -12
  700. data/test/fixtures/collection.json +0 -17
  701. data/test/fixtures/collection_listing.json +0 -11
  702. data/test/fixtures/collection_listing_product_ids.json +0 -1
  703. data/test/fixtures/collection_listing_product_ids2.json +0 -1
  704. data/test/fixtures/collection_listings.json +0 -13
  705. data/test/fixtures/collection_products.json +0 -47
  706. data/test/fixtures/collection_publication.json +0 -11
  707. data/test/fixtures/collection_publications.json +0 -13
  708. data/test/fixtures/currencies.json +0 -25
  709. data/test/fixtures/custom_collection.json +0 -17
  710. data/test/fixtures/customer_invite.json +0 -9
  711. data/test/fixtures/customer_saved_search.json +0 -9
  712. data/test/fixtures/customer_saved_search_customers.json +0 -60
  713. data/test/fixtures/customers.json +0 -59
  714. data/test/fixtures/customers_account_activation_url.json +0 -3
  715. data/test/fixtures/customers_search.json +0 -60
  716. data/test/fixtures/discount_code.json +0 -10
  717. data/test/fixtures/discount_codes.json +0 -12
  718. data/test/fixtures/draft_order.json +0 -159
  719. data/test/fixtures/draft_order_completed.json +0 -159
  720. data/test/fixtures/draft_order_invoice.json +0 -9
  721. data/test/fixtures/draft_orders.json +0 -161
  722. data/test/fixtures/engagement.json +0 -15
  723. data/test/fixtures/events.json +0 -31
  724. data/test/fixtures/fulfillment.json +0 -49
  725. data/test/fixtures/fulfillment_event.json +0 -12
  726. data/test/fixtures/fulfillment_order.json +0 -38
  727. data/test/fixtures/fulfillment_order_locations_for_move.json +0 -18
  728. data/test/fixtures/fulfillment_orders.json +0 -78
  729. data/test/fixtures/fulfillment_request.json +0 -28
  730. data/test/fixtures/fulfillment_service.json +0 -10
  731. data/test/fixtures/fulfillments.json +0 -53
  732. data/test/fixtures/gift_card.json +0 -20
  733. data/test/fixtures/gift_card_disabled.json +0 -20
  734. data/test/fixtures/graphql/2019-10.json +0 -1083
  735. data/test/fixtures/graphql/dummy_schema.rb +0 -16
  736. data/test/fixtures/graphql/unstable.json +0 -1083
  737. data/test/fixtures/image.json +0 -10
  738. data/test/fixtures/images.json +0 -20
  739. data/test/fixtures/inventory_level.json +0 -7
  740. data/test/fixtures/inventory_levels.json +0 -24
  741. data/test/fixtures/marketing_event.json +0 -28
  742. data/test/fixtures/marketing_events.json +0 -54
  743. data/test/fixtures/metafield.json +0 -12
  744. data/test/fixtures/metafields.json +0 -34
  745. data/test/fixtures/order.json +0 -297
  746. data/test/fixtures/order_risk.json +0 -14
  747. data/test/fixtures/order_risks.json +0 -28
  748. data/test/fixtures/order_with_properties.json +0 -373
  749. data/test/fixtures/orders.json +0 -299
  750. data/test/fixtures/payment.json +0 -7
  751. data/test/fixtures/payments.json +0 -9
  752. data/test/fixtures/ping/conversation.json +0 -1
  753. data/test/fixtures/ping/failed_delivery_confirmation.json +0 -1
  754. data/test/fixtures/ping/message.json +0 -1
  755. data/test/fixtures/ping/successful_delivery_confirmation.json +0 -1
  756. data/test/fixtures/policies.json +0 -8
  757. data/test/fixtures/price_rule.json +0 -27
  758. data/test/fixtures/price_rules.json +0 -28
  759. data/test/fixtures/product.json +0 -116
  760. data/test/fixtures/product_listing.json +0 -86
  761. data/test/fixtures/product_listing_product_ids.json +0 -1
  762. data/test/fixtures/product_listing_product_ids2.json +0 -1
  763. data/test/fixtures/product_listings.json +0 -174
  764. data/test/fixtures/product_publication.json +0 -11
  765. data/test/fixtures/product_publications.json +0 -13
  766. data/test/fixtures/publications.json +0 -9
  767. data/test/fixtures/recurring_application_charge.json +0 -22
  768. data/test/fixtures/recurring_application_charge_adjustment.json +0 -5
  769. data/test/fixtures/recurring_application_charges.json +0 -106
  770. data/test/fixtures/redirect.json +0 -7
  771. data/test/fixtures/refund.json +0 -112
  772. data/test/fixtures/report.json +0 -9
  773. data/test/fixtures/reports.json +0 -11
  774. data/test/fixtures/script_tag.json +0 -10
  775. data/test/fixtures/script_tags.json +0 -18
  776. data/test/fixtures/shipping_rates.json +0 -12
  777. data/test/fixtures/shipping_zones.json +0 -315
  778. data/test/fixtures/shop.json +0 -26
  779. data/test/fixtures/smart_collection.json +0 -21
  780. data/test/fixtures/smart_collection_products.json +0 -155
  781. data/test/fixtures/storefront_access_token.json +0 -9
  782. data/test/fixtures/storefront_access_tokens.json +0 -18
  783. data/test/fixtures/tags.json +0 -1
  784. data/test/fixtures/tax_service.json +0 -9
  785. data/test/fixtures/tender_transactions.json +0 -52
  786. data/test/fixtures/transaction.json +0 -29
  787. data/test/fixtures/usage_charge.json +0 -11
  788. data/test/fixtures/usage_charges.json +0 -23
  789. data/test/fixtures/user.json +0 -21
  790. data/test/fixtures/users.json +0 -42
  791. data/test/fixtures/variant.json +0 -23
  792. data/test/fixtures/variants.json +0 -88
  793. data/test/fixtures/webhook.json +0 -10
  794. data/test/fixtures/webhooks.json +0 -18
  795. data/test/fulfillment_event_test.rb +0 -69
  796. data/test/fulfillment_order_test.rb +0 -462
  797. data/test/fulfillment_order_test_helper.rb +0 -7
  798. data/test/fulfillment_request_test.rb +0 -33
  799. data/test/fulfillment_service_test.rb +0 -17
  800. data/test/fulfillment_test.rb +0 -224
  801. data/test/fulfillment_v2_test.rb +0 -62
  802. data/test/gift_card_test.rb +0 -22
  803. data/test/graphql/http_client_test.rb +0 -26
  804. data/test/graphql_test.rb +0 -147
  805. data/test/image_test.rb +0 -39
  806. data/test/inventory_level_test.rb +0 -59
  807. data/test/lib/webmock_extensions/last_request.rb +0 -16
  808. data/test/limits_test.rb +0 -38
  809. data/test/location_test.rb +0 -14
  810. data/test/marketing_event_test.rb +0 -68
  811. data/test/message_enricher_test.rb +0 -33
  812. data/test/meta_test.rb +0 -49
  813. data/test/metafield_test.rb +0 -46
  814. data/test/order_risk_test.rb +0 -46
  815. data/test/order_test.rb +0 -125
  816. data/test/pagination_test.rb +0 -257
  817. data/test/payment_test.rb +0 -19
  818. data/test/policy_test.rb +0 -19
  819. data/test/price_rule_test.rb +0 -65
  820. data/test/product_listing_test.rb +0 -97
  821. data/test/product_publication_test.rb +0 -40
  822. data/test/product_test.rb +0 -60
  823. data/test/publication_test.rb +0 -12
  824. data/test/recurring_application_charge_test.rb +0 -142
  825. data/test/redirect_test.rb +0 -9
  826. data/test/refund_test.rb +0 -32
  827. data/test/report_test.rb +0 -35
  828. data/test/resource_feedback_test.rb +0 -42
  829. data/test/script_tag_test.rb +0 -30
  830. data/test/session_test.rb +0 -366
  831. data/test/shipping_rate_test.rb +0 -17
  832. data/test/shipping_zone_test.rb +0 -10
  833. data/test/shop_test.rb +0 -68
  834. data/test/smart_collection_test.rb +0 -35
  835. data/test/storefront_access_token_test.rb +0 -32
  836. data/test/tax_service_test.rb +0 -9
  837. data/test/tender_transaction_test.rb +0 -18
  838. data/test/test_helper.rb +0 -124
  839. data/test/transaction_test.rb +0 -17
  840. data/test/usage_charge_test.rb +0 -21
  841. data/test/user_test.rb +0 -17
  842. data/test/variant_test.rb +0 -46
  843. data/test/webhook_test.rb +0 -21
data/CHANGELOG.md CHANGED
@@ -1,429 +1,581 @@
1
- == Version 9.0.0
1
+ # Changelog
2
2
 
3
- * Breaking change: Improved GraphQL client [#672](https://github.com/Shopify/shopify_api/pull/672). See the [client docs](docs/graphql.md) for usage and a migration guide.
3
+ Note: For changes to the API, see https://shopify.dev/changelog?filter=api
4
4
 
5
- * Added options hash to create_permission_url and makes redirect_uri required [#670](https://github.com/Shopify/shopify_api/pull/670)
5
+ ## Unreleased
6
6
 
7
- * Release new Endpoint `fulfillment_order.locations_for_move` in 2020-01 REST API version [#669](https://github.com/Shopify/shopify_api/pull/669)
7
+ ## Version 12.4.0
8
8
 
9
- * Release new Endpoints for `fulfillment` in 2020-01 REST API version [#639](https://github.com/Shopify/shopify_api/pull/639):
10
- * `fulfillment.create` with `line_items_by_fulfillment_order`
11
- * `fulfillment.update_tracking`
12
- * `fulfillment.cancel`
9
+ - [#1092](https://github.com/Shopify/shopify-api-ruby/pull/1092) Add support for 2023-01 API version.
10
+ - [#1081](https://github.com/Shopify/shopify-api-ruby/pull/1081) Fixed an error when parsing the JSON response body for the AssignedFulfillmentOrder resource.
13
11
 
14
- * Release new Endpoints for `fulfillment_order` in 2020-01 REST API version [#637](https://github.com/Shopify/shopify_api/pull/637):
15
- * `fulfillment_order.fulfillment_request`
16
- * `fulfillment_order.fulfillment_request.accept`
17
- * `fulfillment_order.fulfillment_request.reject`
18
- * `fulfillment_order.cancellation_request`
19
- * `fulfillment_order.cancellation_request.accept`
20
- * `fulfillment_order.cancellation_request.reject`
12
+ ## Version 12.3.0
21
13
 
22
- * Release new Endpoints `fulfillment_order.move`, `fulfillment_order.cancel` and `fulfillment_order.close` in 2020-01 REST API version [#635](https://github.com/Shopify/shopify_api/pull/635)
14
+ - [#1040](https://github.com/Shopify/shopify-api-ruby/pull/1040) `ShopifyAPI::Clients::HttpResponse` as argument for `ShopifyAPI::Errors::HttpResponseError`
15
+ - [#1055](https://github.com/Shopify/shopify-api-ruby/pull/1055) Makes session_storage optional. Configuring the API with session_storage is now deprecated. Session persistence is handled by the [shopify_app gem](https://github.com/Shopify/shopify_app) if using Rails.
16
+ - [#1063](https://github.com/Shopify/shopify-api-ruby/pull/1063) Fix ActiveSupport inflector dependency
17
+ - [#1069](https://github.com/Shopify/shopify-api-ruby/pull/1069) Adds a custom Logger to help write uniform logs across the api and the [shopify_app gem](https://github.com/Shopify/shopify_app)
23
18
 
24
- * Release new Endpoint `order.fulfillment_orders`, and active resources `AssignedFulfillmentOrder` and `FulfillmentOrder` in 2020-01 REST API version [#633](https://github.com/Shopify/shopify_api/pull/633)
19
+ ## Version 12.2.1
25
20
 
26
- == Version 8.1.0
21
+ - [#1045](https://github.com/Shopify/shopify-api-ruby/pull/1045) Fixes bug with host/host_name requirement.
27
22
 
28
- * Release 2020-01 REST ADMIN API VERSION [#656](https://github.com/Shopify/shopify_api/pull/656)
29
- * Release new Endpoint `collection.products` and `collection.find()` in 2020-01 REST API version [#657](https://github.com/Shopify/shopify_api/pull/657)
30
- * Enrich 4xx errors with error message from response body [#647](https://github.com/Shopify/shopify_api/pull/647)
31
- * Make relative cursor based pagination work across page loads [#625](https://github.com/Shopify/shopify_api/pull/625)
32
- * Small ruby compat fix [#623](https://github.com/Shopify/shopify_api/pull/623)
33
- * Small consistency change [#621](https://github.com/Shopify/shopify_api/pull/621)
23
+ ## Version 12.2.0
34
24
 
35
- == Version 8.0.0
25
+ - [#1023](https://github.com/Shopify/shopify-api-ruby/pull/1023) Allow custom scopes during the OAuth process
36
26
 
37
- * Api Version changes [#600](https://github.com/Shopify/shopify_api/pull/600)
38
- * Remove static Api Version definitions.
39
- * Introduces Api Version lookup modes: `:define_on_unknown` and `:raise_on_unknown`
40
- * See [migration notes](README.md#-breaking-change-notice-for-version-800-)
41
- * `Session.valid?` checks that api_version `is_a?(ApiVersion)` instead of `present?`
42
- * `ApiVersion::NullVersion` cannot be instantiated and now has a `match?` method [#615](https://github.com/Shopify/shopify_api/pull/615/files)
43
- * Introduces new Collection endpoint for looking up products without knowing collection type. Only available if ApiVersion is `:unstable` [#609](https://github.com/Shopify/shopify_api/pull/609)
27
+ ## Version 12.1.0
44
28
 
45
- == Version 7.1.0
29
+ - [#1017](https://github.com/Shopify/shopify-api-ruby/pull/1017) Add support for `http` with localhost development without using a TLS tunnel
46
30
 
47
- * Add 2019-10 to known API versions
48
- * Add support for cursor pagination [#594](https://github.com/Shopify/shopify_api/pull/594) and
49
- [#611](https://github.com/Shopify/shopify_api/pull/611)
50
- * `ShopifyAPI::Base.api_version` now defaults to `ShopifyAPI::ApiVersion::NullVersion` instead of `nil`. Making requests without first setting an ApiVersion raises `ApiVersionNotSetError` instead of `NoMethodError: undefined method 'construct_api_path' for nil:NilClass'` [#605](https://github.com/Shopify/shopify_api/pull/605)
31
+ ## Version 12.0.0
51
32
 
52
- == Version 7.0.2
33
+ - [#1027](https://github.com/Shopify/shopify-api-ruby/pull/1027) ⚠️ [Breaking] Remove support for deprecated API version `2021-10` and added support for version `2022-10`
34
+ - [#1008](https://github.com/Shopify/shopify-api-ruby/pull/1008) Increase session token JWT validation leeway from 5s to 10s
53
35
 
54
- * Add 2019-07 to known API versions.
36
+ ## Version 11.1.0
55
37
 
56
- == Version 7.0.1
38
+ - [#1002](https://github.com/Shopify/shopify-api-ruby/pull/1002) Add new method to construct the host app URL for an embedded app, allowing for safer redirect to app inside appropriate shop admin
39
+ - [#1004](https://github.com/Shopify/shopify-api-ruby/pull/1004) Support full URL and scheme-less URL when registering HTTP webhooks
57
40
 
58
- * Support passing version string to `ShopifyAPI::Base.api_version` [#563](https://github.com/Shopify/shopify_api/pull/563)
41
+ ## Version 11.0.1
59
42
 
60
- == Version 7.0.0
43
+ - [#990](https://github.com/Shopify/shopify-api-ruby/pull/991) Validate `hmac` signature of OAuth callback using both old and new API secrets
61
44
 
62
- * Removed support for `ActiveResouce` < `4.1`.
63
- * Removed `ShopifyAPI::Oauth`.
64
- * Added api version support, See [migration
65
- notes](README.md#-breaking-change-notice-for-version-700-)
66
- * Changed `ShopifyAPI::Session` method signatures from positional to keyword
67
- arguments, See [migration notes](README.md#-breaking-change-notice-for-version-700-)
68
- * Add support for newer call limit header `X-Shopify-Shop-Api-Call-Limit`.
69
- * Removed all Ping resources.
45
+ ## Version 11.0.0
70
46
 
71
- == Version 6.0.0
47
+ - [#987](https://github.com/Shopify/shopify-api-ruby/pull/987) ⚠️ [Breaking] Add REST resources for July 2022 API version, remove support and REST resources for July 2021 (`2021-07`) API version
48
+ - [#979](https://github.com/Shopify/shopify-api-ruby/pull/979) Update `ShopifyAPI::Context.setup` to take `old_api_secret_key` to support API credentials rotation
49
+ - [#977](https://github.com/Shopify/shopify-api-ruby/pull/977) Fix webhook requests when a header is present having a symbol key (e.g. `:clearance`)
72
50
 
73
- * Removed undocumented `protocol` and `port` options from `ShopifyAPI::Session`.
51
+ ## Version 10.1.0
74
52
 
75
- == Version 5.2.4
53
+ - [#933](https://github.com/Shopify/shopify-api-ruby/pull/933) Fix syntax of GraphQL query in `Webhooks.get_webhook_id` method by removing extra curly brace
54
+ - [#941](https://github.com/Shopify/shopify-api-ruby/pull/941) Fix `to_hash` to return readonly attributes, unless being used for serialize the object for saving - fix issue [#930](https://github.com/Shopify/shopify-api-ruby/issues/930)
55
+ - [#959](https://github.com/Shopify/shopify-api-ruby/pull/959) Update `LATEST_SUPPORTED_ADMIN_VERSION` to `2022-04` to align it with the current value
76
56
 
77
- * Added `currency` parameter to `ShopifyAPI::Order#capture`. This parameter is required for apps that belong to the
78
- multi-currency beta program.
57
+ ## Version 10.0.3
79
58
 
80
- == Version 5.2.3
59
+ ### Fixed
81
60
 
82
- * Update delivery confirmation resource to delivery confirmation details resource.
61
+ - [#935](https://github.com/Shopify/shopify-api-ruby/pull/935) Fix issue [#931](https://github.com/Shopify/shopify-api-ruby/pull/931), weight of variant should be float
62
+ - [#944](https://github.com/Shopify/shopify-api-ruby/pull/944) Deprecated the `validate_shop` method from the JWT class since we can trust the token payload, since it comes from Shopify.
83
63
 
84
- == Version 5.2.2
64
+ ## Version 10.0.2
85
65
 
86
- * Add delivery confirmation endpoint to Ping resources.
66
+ - [#929](https://github.com/Shopify/shopify-api-ruby/pull/929) Aligning sorbet dependencies
87
67
 
88
- == Version 5.2.1
68
+ ## Version 10.0.1
89
69
 
90
- * Log warning when Shopify indicates deprecated API call was performed
70
+ ### Fixed
91
71
 
92
- == Version 5.2.0
72
+ - [#919](https://github.com/Shopify/shopify-api-ruby/pull/919) Allow REST resources to configure a deny list of attributes to be excluded when saving
73
+ - [#920](https://github.com/Shopify/shopify-api-ruby/pull/920) Set all values received from the API response to REST resource objects, and allow setting / getting attributes with special characters (such as `?`)
74
+ - [#927](https://github.com/Shopify/shopify-api-ruby/pull/927) Fix the `ShopifyAPI::AdminVersions` module for backward compatibility
93
75
 
94
- * Added `ShopifyAPI::Currency` to fetch list of supported currencies on a shop
95
- * Added `ShopifyAPI::TenderTransaction` to fetch list of transactions on a shop
96
- * Fixed bug with X-Shopify-Checkout-Version on ShopifyAPI::Checkout header being applied to all requests
76
+ ## Version 10.0.0
97
77
 
98
- == Version 5.1.0
78
+ - Major update to the library to provide _all_ essential functions needed for a Shopify app, supporting embedded apps with session tokens. See the [full list of changes](https://github.com/Shopify/shopify-api-ruby#breaking-change-notice-for-version-1000) here
99
79
 
100
- * Added `ShopifyAPI::Publications`
101
- * Added `ShopifyAPI::ProductPublications`
102
- * Added `ShopifyAPI::CollectionPublications`
103
- * Added support for new collection products endpoint from `ShopifyAPI::Collection#products`
80
+ ## Version 9.5.1
104
81
 
105
- == Version 5.0.0
82
+ - [#891](https://github.com/Shopify/shopify-api-ruby/pull/891) Removed the upper bound on the `activeresource` dependency to allow apps to use the latest version
106
83
 
107
- * Breaking change: `ShopifyAPI::Checkout` now maps to the Checkout API, rather than the Abandoned Checkouts API
108
- * See the README for more details
109
- * Added `ShopifyAPI::AbandonedCheckout`
110
- * Added support for X-Shopify-Checkout-Version header on `ShopifyAPI::Checkout`
111
- * Added `ShopifyAPI::ShippingRate`
112
- * Added `ShopifyAPI::Payment`
113
- * Added support for `Checkout::complete` endpoint
114
- * Fixed session handling support for Rails 5.2.1
84
+ ## Version 9.5
115
85
 
116
- == Version 4.13.0
117
- * Added `ShopifyAPI::ApiPermission` resource for uninstalling an application
118
- * Added a deprecation warning to `ShopifyAPI::OAuth`
86
+ - [#883](https://github.com/Shopify/shopify-api-ruby/pull/883) Add support for Ruby 3.0
119
87
 
120
- == Version 4.12.0
88
+ ## Version 9.4.1
121
89
 
122
- * Added support for the GraphQL API
90
+ - [#847](https://github.com/Shopify/shopify-api-ruby/pull/847) Update `create_permission_url` method to use grant_options
91
+ - [#852](https://github.com/Shopify/shopify-api-ruby/pull/852) Bumping kramdown to fix a security vulnerability
123
92
 
124
- == Version 4.11.0
93
+ ## Version 9.4.0
125
94
 
126
- * Added `ShopifyAPI::InventoryItem`
127
- * Added `ShopifyAPI::InventoryLevel`
128
- * Added `#inventory_levels` method to `ShopifyAPI::Location`
95
+ - [#843](https://github.com/Shopify/shopify-api-ruby/pull/843) Introduce a new `access_scopes` attribute on the Session class.
96
+ - Specifying this in the Session constructor is optional. By default, this attribute returns `nil`.
129
97
 
130
- == Version 4.10.0
98
+ ## Version 9.3.0
131
99
 
132
- * Added `ShopifyAPI::AccessScope`
100
+ - [#797](https://github.com/Shopify/shopify-api-ruby/pull/797) Release new Endpoint `fulfillment_order.open` and `fulfillment_order.reschedule`.
133
101
 
134
- == Version 4.9.1
102
+ - [#818](https://github.com/Shopify/shopify-api-ruby/pull/818) Avoid depending on ActiveSupport in Sesssion class.
135
103
 
136
- * Fix a bug with custom properties for orders
104
+ - Freeze all string literals. This should have no impact unless your application is modifying ('monkeypatching') the internals of the library in an unusual way.
137
105
 
138
- == Version 4.9.0
106
+ - [#802](https://github.com/Shopify/shopify-api-ruby/pull/802) Made `inventory_quantity` a read-only field in Variant
139
107
 
140
- * Added `ShopifyAPI::PriceRule`
141
- * Added `ShopifyAPI::DiscountCode`
108
+ - [#821](https://github.com/Shopify/shopify-api-ruby/pull/821) Add logging based on environment variable, move log subscriber out of `detailed_log_subscriber`.
109
+ The `ActiveResource::DetailedLogSubscriber` no longer automatically attaches when the class is loaded. If you were previously relying on that behaviour, you'll now need to call `ActiveResource::DetailedLogSubscriber.attach_to(:active_resource_detailed)`. (If using the new `SHOPIFY_LOG_PATH` environment setting then this is handled for you).
142
110
 
143
- == Version 4.8.0
111
+ - Provide `ApiAccess` value object to encapsulate scope operations [#829](https://github.com/Shopify/shopify-api-ruby/pull/829)
144
112
 
145
- * Added `add_engagements` to `ShopifyAPI::MarketingEvent`
113
+ ## Version 9.2.0
146
114
 
147
- == Version 4.7.1
115
+ - Removes the `shopify` binary which will be used by the Shopify CLI
148
116
 
149
- * Added support for URL parameter (e.g. limit & page) to ShopifyAPI::Metafields
150
- * Added support for URL parameter (e.g. limit & page) to metafield operator in ShopifyAPI::Shop
117
+ ## Version 9.1.1
151
118
 
152
- == Version 4.7.0
119
+ - Make cursor based pagination return relative uri's when fetching next and previous pages. [#726](https://github.com/Shopify/shopify-api-ruby/pull/726)
153
120
 
154
- * Removed the mandatory `application_id` parameter from `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
155
- * Fixed a bug related to the non-standard primary key for `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
121
+ ## Version 9.1.0
156
122
 
157
- == Version 4.6.0
123
+ - Implements equality operator on `Session` [#714](https://github.com/Shopify/shopify-api-ruby/pull/714)
158
124
 
159
- * Added `ShopifyAPI::Report`
125
+ ## Version 9.0.4
160
126
 
161
- == Version 4.5.0
127
+ - Contains [#708](https://github.com/Shopify/shopify-api-ruby/pull/708) which is a revert for [#655](https://github.com/Shopify/shopify-api-ruby/pull/655) due to the deprecated inventory parameters not being removed correctly in some cases
162
128
 
163
- * Added `ShopifyAPI::MarketingEvent`
129
+ ## Version 9.0.3
164
130
 
165
- == Version 4.4.0
131
+ - We now raise a `ShopifyAPI::ValidationException` exception when clients try to use `Product` and `Variant` with deprecated inventory-related fields in API version `2019-10` or later. [#655](https://github.com/Shopify/shopify-api-ruby/pull/655) Deprecation and migration information can be found in the following documents:
132
+ - [Product Variant REST API Reference](https://shopify.dev/docs/admin-api/rest/reference/products/product-variant)
133
+ - [Migrate your app to support multiple locations](https://shopify.dev/tutorials/migrate-your-app-to-support-multiple-locations)
134
+ - [Manage product inventory with the Admin API](https://shopify.dev/tutorials/manage-product-inventory-with-admin-api)
135
+ - Added support for the Discount Code API batch endpoints [#701](https://github.com/Shopify/shopify-api-ruby/pull/701)
136
+ - [Create](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_create-2020-01)
137
+ - [Show](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_show-2020-01)
138
+ - [List](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_discount_codes_index-2020-01)
139
+ - Fix issue in the README to explicitly say clients need to require the `shopify_api` gem [#700](https://github.com/Shopify/shopify-api-ruby/pull/700)
166
140
 
167
- * Added `ShopifyAPI::CustomerInvite`
168
- * Support for Customer#send_invite endpoint
141
+ ## Version 9.0.2
169
142
 
170
- == Version 4.3.8
143
+ - Added optional flag passed to `initialize_clients` to prevent from raising the `InvalidSchema` exception [#693](https://github.com/Shopify/shopify-api-ruby/pull/693)
171
144
 
172
- * Added `ShopifyAPI::ResourceFeedback`
145
+ ## Version 9.0.1
173
146
 
174
- == Version 4.3.7
147
+ - Added warning message if API version used is unsupported or soon to be unsupported [#685](https://github.com/Shopify/shopify-api-ruby/pull/685)
148
+ - Take into account "errors" messages from response body [#677](https://github.com/Shopify/shopify-api-ruby/pull/677)
175
149
 
176
- * Added support for `complete` in `ShopifyAPI::DraftOrder`
150
+ ## Version 9.0.0
177
151
 
178
- == Version 4.3.6
152
+ - Breaking change: Improved GraphQL client [#672](https://github.com/Shopify/shopify-api-ruby/pull/672). See the [client docs](docs/graphql.md) for usage and a migration guide.
179
153
 
180
- * Fixed the `customer_saved_search_id` param in `ShopifyAPI::CustomerSavedSearch#customers`.
154
+ - Added options hash to create_permission_url and makes redirect_uri required [#670](https://github.com/Shopify/shopify-api-ruby/pull/670)
181
155
 
182
- == Version 4.3.5
156
+ - Release new Endpoint `fulfillment_order.locations_for_move` in 2020-01 REST API version [#669](https://github.com/Shopify/shopify-api-ruby/pull/669)
183
157
 
184
- * Added support for online mode access tokens, token expiry, and associated_user information.
185
- * Added `ShopifyAPI::DraftOrder`
186
- * Added `ShopifyAPI::DraftOrderInvoice`
158
+ - Release new Endpoints for `fulfillment` in 2020-01 REST API version [#639](https://github.com/Shopify/shopify-api-ruby/pull/639):
187
159
 
188
- == Version 4.3.4
160
+ - `fulfillment.create` with `line_items_by_fulfillment_order`
161
+ - `fulfillment.update_tracking`
162
+ - `fulfillment.cancel`
189
163
 
190
- * Added `ShopifyAPI::ProductListing`
191
- * Added `ShopifyAPI::CollectionListing`
164
+ - Release new Endpoints for `fulfillment_order` in 2020-01 REST API version [#637](https://github.com/Shopify/shopify-api-ruby/pull/637):
192
165
 
193
- == Version 4.3.3
166
+ - `fulfillment_order.fulfillment_request`
167
+ - `fulfillment_order.fulfillment_request.accept`
168
+ - `fulfillment_order.fulfillment_request.reject`
169
+ - `fulfillment_order.cancellation_request`
170
+ - `fulfillment_order.cancellation_request.accept`
171
+ - `fulfillment_order.cancellation_request.reject`
194
172
 
195
- * Added `ShopifyAPI::StorefrontAccessToken`
173
+ - Release new Endpoints `fulfillment_order.move`, `fulfillment_order.cancel` and `fulfillment_order.close` in 2020-01 REST API version [#635](https://github.com/Shopify/shopify-api-ruby/pull/635)
196
174
 
197
- == Version 4.3.2
175
+ - Release new Endpoint `order.fulfillment_orders`, and active resources `AssignedFulfillmentOrder` and `FulfillmentOrder` in 2020-01 REST API version [#633](https://github.com/Shopify/shopify-api-ruby/pull/633)
198
176
 
199
- * Relax Ruby version requirement to >= `2.0`
177
+ ## Version 8.1.0
200
178
 
201
- == Version 4.3.1
179
+ - Release 2020-01 REST ADMIN API VERSION [#656](https://github.com/Shopify/shopify-api-ruby/pull/656)
180
+ - Release new Endpoint `collection.products` and `collection.find()` in 2020-01 REST API version [#657](https://github.com/Shopify/shopify-api-ruby/pull/657)
181
+ - Enrich 4xx errors with error message from response body [#647](https://github.com/Shopify/shopify-api-ruby/pull/647)
182
+ - Make relative cursor based pagination work across page loads [#625](https://github.com/Shopify/shopify-api-ruby/pull/625)
183
+ - Small ruby compat fix [#623](https://github.com/Shopify/shopify-api-ruby/pull/623)
184
+ - Small consistency change [#621](https://github.com/Shopify/shopify-api-ruby/pull/621)
202
185
 
203
- * Support for ShopifyAPI::ApplicationCredit
186
+ ## Version 8.0.0
204
187
 
205
- == Version 4.3.0
188
+ - Api Version changes [#600](https://github.com/Shopify/shopify-api-ruby/pull/600)
189
+ - Remove static Api Version definitions.
190
+ - Introduces Api Version lookup modes: `:define_on_unknown` and `:raise_on_unknown`
191
+ - See [migration notes](README.md#-breaking-change-notice-for-version-800-)
192
+ - `Session.valid?` checks that api_version `is_a?(ApiVersion)` instead of `present?`
193
+ - `ApiVersion::NullVersion` cannot be instantiated and now has a `match?` method [#615](https://github.com/Shopify/shopify-api-ruby/pull/615/files)
194
+ - Introduces new Collection endpoint for looking up products without knowing collection type. Only available if ApiVersion is `:unstable` [#609](https://github.com/Shopify/shopify-api-ruby/pull/609)
206
195
 
207
- * Require Ruby >= `2.3.0`
208
- * Use inheritance instead of the deprecated Rails `Module#alias_method_chain`
196
+ ## Version 7.1.0
209
197
 
210
- == Version 4.2.2
198
+ - Add 2019-10 to known API versions
199
+ - Add support for cursor pagination [#594](https://github.com/Shopify/shopify-api-ruby/pull/594) and
200
+ [#611](https://github.com/Shopify/shopify-api-ruby/pull/611)
201
+ - `ShopifyAPI::Base.api_version` now defaults to `ShopifyAPI::ApiVersion::NullVersion` instead of `nil`. Making requests without first setting an ApiVersion raises `ApiVersionNotSetError` instead of `NoMethodError: undefined method 'construct_api_path' for nil:NilClass'` [#605](https://github.com/Shopify/shopify-api-ruby/pull/605)
211
202
 
212
- * Support for AccessToken#delegate endpoint
203
+ ## Version 7.0.2
213
204
 
214
- == Version 4.2.1
205
+ - Add 2019-07 to known API versions.
215
206
 
216
- * Support for Users and Discounts (Shopify Plus only)
217
- * Adds Customer#account_activation_url method
218
- * Adds ability to open a fulfillment.
207
+ ## Version 7.0.1
219
208
 
220
- == Version 4.2.0
209
+ - Support passing version string to `ShopifyAPI::Base.api_version` [#563](https://github.com/Shopify/shopify-api-ruby/pull/563)
221
210
 
222
- * Threadsafety is now compatible with the latest ActiveResource master
211
+ ## Version 7.0.0
223
212
 
224
- == Version 4.1.1
213
+ - Removed support for `ActiveResouce` < `4.1`.
214
+ - Removed `ShopifyAPI::Oauth`.
215
+ - Added api version support, See [migration
216
+ notes](README.md#-breaking-change-notice-for-version-700-)
217
+ - Changed `ShopifyAPI::Session` method signatures from positional to keyword
218
+ arguments, See [migration notes](README.md#-breaking-change-notice-for-version-700-)
219
+ - Add support for newer call limit header `X-Shopify-Shop-Api-Call-Limit`.
220
+ - Removed all Ping resources.
225
221
 
226
- * Added explicit 90 second timeout to `ShopifyAPI::Base`
222
+ ## Version 6.0.0
227
223
 
228
- == Version 4.0.7
224
+ - Removed undocumented `protocol` and `port` options from `ShopifyAPI::Session`.
229
225
 
230
- * Added `ShippingAPI::ShippingZone`
226
+ ## Version 5.2.4
231
227
 
232
- == Version 4.0.6
228
+ - Added `currency` parameter to `ShopifyAPI::Order#capture`. This parameter is required for apps that belong to the
229
+ multi-currency beta program.
233
230
 
234
- * Replaced `cancelled` with `expired` in `ShopifyAPI::ApplicationCharge`
231
+ ## Version 5.2.3
235
232
 
236
- == Version 4.0.5
233
+ - Update delivery confirmation resource to delivery confirmation details resource.
237
234
 
238
- * Added `pending`, `cancelled`, `accepted`, `declined` helper methods to `ShopifyAPI::ApplicationCharge`
235
+ ## Version 5.2.2
239
236
 
240
- == Version 4.0.4
237
+ - Add delivery confirmation endpoint to Ping resources.
241
238
 
242
- * Fixed truthiness for order cancellations. Requests are now sent in the request body and as JSON
239
+ ## Version 5.2.1
243
240
 
244
- == Version 4.0.3
241
+ - Log warning when Shopify indicates deprecated API call was performed
245
242
 
246
- * Fixed hmac signature validation for params with delimiters (`&`, `=` or `%`)
243
+ ## Version 5.2.0
247
244
 
248
- == Version 4.0.2
245
+ - Added `ShopifyAPI::Currency` to fetch list of supported currencies on a shop
246
+ - Added `ShopifyAPI::TenderTransaction` to fetch list of transactions on a shop
247
+ - Fixed bug with X-Shopify-Checkout-Version on ShopifyAPI::Checkout header being applied to all requests
249
248
 
250
- * Verify that the shop domain is a subdomain of .myshopify.com which creating the session
249
+ ## Version 5.1.0
251
250
 
252
- == Version 4.0.1
251
+ - Added `ShopifyAPI::Publications`
252
+ - Added `ShopifyAPI::ProductPublications`
253
+ - Added `ShopifyAPI::CollectionPublications`
254
+ - Added support for new collection products endpoint from `ShopifyAPI::Collection#products`
253
255
 
254
- * Added `ShopifyAPI::OAuth.revoke` for easy token revocation.
256
+ ## Version 5.0.0
255
257
 
256
- == Version 3.2.6
258
+ - Breaking change: `ShopifyAPI::Checkout` now maps to the Checkout API, rather than the Abandoned Checkouts API
259
+ - See the README for more details
260
+ - Added `ShopifyAPI::AbandonedCheckout`
261
+ - Added support for X-Shopify-Checkout-Version header on `ShopifyAPI::Checkout`
262
+ - Added `ShopifyAPI::ShippingRate`
263
+ - Added `ShopifyAPI::Payment`
264
+ - Added support for `Checkout::complete` endpoint
265
+ - Fixed session handling support for Rails 5.2.1
257
266
 
258
- * Fixed CustomerSavedSearch#customers method to now correctly return only relevant customers
267
+ ## Version 4.13.0
259
268
 
260
- == Version 3.2.5
269
+ - Added `ShopifyAPI::ApiPermission` resource for uninstalling an application
270
+ - Added a deprecation warning to `ShopifyAPI::OAuth`
261
271
 
262
- * More useful error messages for activating nil sessions
263
- * Add tests for commonly deleted objects, and metafield tests, fix naming error in order_risk_test.rb
272
+ ## Version 4.12.0
264
273
 
265
- == Version 3.2.4
274
+ - Added support for the GraphQL API
266
275
 
267
- * No API changes
276
+ ## Version 4.11.0
268
277
 
269
- == Version 3.2.3
278
+ - Added `ShopifyAPI::InventoryItem`
279
+ - Added `ShopifyAPI::InventoryLevel`
280
+ - Added `#inventory_levels` method to `ShopifyAPI::Location`
270
281
 
271
- * Added pry to the CLI
282
+ ## Version 4.10.0
272
283
 
273
- == Version 3.2.2
284
+ - Added `ShopifyAPI::AccessScope`
274
285
 
275
- * Temporary fix for the CLI
276
- * Add a specific exception for signature validation failures
286
+ ## Version 4.9.1
277
287
 
278
- == Version 3.2.1
288
+ - Fix a bug with custom properties for orders
279
289
 
280
- * Added CarrierService resource
281
- * Added optionally using threadsafe ActiveResource (see readme)
282
- * Fixed bug in validate_signature
290
+ ## Version 4.9.0
283
291
 
284
- == Version 3.2.0
292
+ - Added `ShopifyAPI::PriceRule`
293
+ - Added `ShopifyAPI::DiscountCode`
285
294
 
286
- * in Session::request_token params is no longer optional, you must pass all the params and the method will now extract the code
287
- * Fixed JSON errors handling (#103)
288
- * Fixed compatibility with Ruby 2.1.x (#83)
289
- * Fixed getting parent ID from nested resources like Variants (#44)
290
- * Cleaned up compatibility with ActiveResource 4.0.x
291
- * Added OrderRisk resource
292
- * Added FulfillmentService resource
293
- * Removed discontinued ProductSearchEngine resource
294
- * Added convenience method Customer#search (#45)
295
+ ## Version 4.8.0
295
296
 
296
- == Version 3.1.8
297
+ - Added `add_engagements` to `ShopifyAPI::MarketingEvent`
297
298
 
298
- * Expose `index` and `show` actions of `Location`
299
- * Added create_permission_url and request_token helper methods
300
- * Edited the readme to better describe the getting started procedure
299
+ ## Version 4.7.1
301
300
 
302
- == Version 3.1.7
301
+ - Added support for URL parameter (e.g. limit & page) to ShopifyAPI::Metafields
302
+ - Added support for URL parameter (e.g. limit & page) to metafield operator in ShopifyAPI::Shop
303
303
 
304
- * Expose `authors` and `tags` action on Article
304
+ ## Version 4.7.0
305
305
 
306
- == Version 3.1.6
306
+ - Removed the mandatory `application_id` parameter from `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
307
+ - Fixed a bug related to the non-standard primary key for `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
307
308
 
308
- * Add LineItem::Property resource
309
+ ## Version 4.6.0
309
310
 
310
- == Version 3.1.5
311
+ - Added `ShopifyAPI::Report`
311
312
 
312
- * Expose `orders` action on Customer
313
+ ## Version 4.5.0
313
314
 
314
- == Version 3.1.3
315
+ - Added `ShopifyAPI::MarketingEvent`
315
316
 
316
- * Expose `complete` action on Fulfillment
317
+ ## Version 4.4.0
317
318
 
318
- == Version 3.1.2
319
+ - Added `ShopifyAPI::CustomerInvite`
320
+ - Support for Customer#send_invite endpoint
319
321
 
320
- * Includes port in domain URI (when other than http/80 or https/443)
321
- * Adds access to CustomerSavedSearch
322
- * Adds resources: Order::DefaultAddress, Client::ClientDetails, Announcement
323
- * Allows access to Articles without a blog_id
324
- * Moves encode and as_json overrides to ShopifyAPI::Base scope
325
- * Exposes the `order` action in SmartCollection for general use
322
+ ## Version 4.3.8
326
323
 
327
- == Version 3.0.3
324
+ - Added `ShopifyAPI::ResourceFeedback`
328
325
 
329
- * Add a `customers` helper method to the CustomerGroup resource
326
+ ## Version 4.3.7
330
327
 
331
- == Version 3.0.2
328
+ - Added support for `complete` in `ShopifyAPI::DraftOrder`
332
329
 
333
- * Brevity in require statements
330
+ ## Version 4.3.6
334
331
 
335
- == Version 3.0.1
332
+ - Fixed the `customer_saved_search_id` param in `ShopifyAPI::CustomerSavedSearch#customers`.
336
333
 
337
- * Fix saving nested resources in ActiveResource 3.1+
334
+ ## Version 4.3.5
338
335
 
339
- == Version 3.0.0
336
+ - Added support for online mode access tokens, token expiry, and associated_user information.
337
+ - Added `ShopifyAPI::DraftOrder`
338
+ - Added `ShopifyAPI::DraftOrderInvoice`
340
339
 
341
- * Added support for OAuth Authentication
342
- * Removal of support for Legacy Authentication
343
- * Added Cart resource
340
+ ## Version 4.3.4
344
341
 
345
- == Version 2.3.0
342
+ - Added `ShopifyAPI::ProductListing`
343
+ - Added `ShopifyAPI::CollectionListing`
346
344
 
347
- * Fix double root bug with ActiveSupport 3.2.0
348
- * Add metafields methods on Customer resource
349
- * Fix prefix_options on assets returned from Asset.find
345
+ ## Version 4.3.3
350
346
 
351
- == Version 2.2.0
347
+ - Added `ShopifyAPI::StorefrontAccessToken`
352
348
 
353
- * Fix issues with resources that have both direct and namespaced routes
354
- * Added detailed logger to help with debugging ActiveResource
355
- requests/responses
356
- * Add fulfillment#cancel
349
+ ## Version 4.3.2
357
350
 
358
- == Version 2.1.0
351
+ - Relax Ruby version requirement to >= `2.0`
359
352
 
360
- * Fix JSON errors handling
361
- * Remove global limit from ShopifyAPI::Limits
353
+ ## Version 4.3.1
362
354
 
363
- == Version 2.0.0
355
+ - Support for ShopifyAPI::ApplicationCredit
364
356
 
365
- * Bump to 2.0.0 as this release breaks Rails 2 compatibility; we're now officially only supporting Rails 3. Rails 2 devs can follow the rails2 tag in this repo to know where we broke off
366
- * Refactored resources into their own source files
367
- * Added API limits functionality
368
- * Patched ActiveResource issue with roots in JSON
369
- * Added pending, cancelled, accepted, and declined convenience methods to ShopifyAPI::RecurringApplicationCharge
370
- * ShopifyAPI::Session#temp now available as a convenience method to support temporarily switching to other shops when making calls
371
- * Fixes to `shopify console` CLI tool
357
+ ## Version 4.3.0
372
358
 
373
- == Version 1.2.5
359
+ - Require Ruby >= `2.3.0`
360
+ - Use inheritance instead of the deprecated Rails `Module#alias_method_chain`
374
361
 
375
- * Fix for Article#comments
362
+ ## Version 4.2.2
376
363
 
377
- == Version 1.2.4
364
+ - Support for AccessToken#delegate endpoint
378
365
 
379
- * Added Article#comments
380
- * Added Order#cancel
381
- * Added Comment#restore, #not_spam
366
+ ## Version 4.2.1
382
367
 
383
- == Version 1.2.3
368
+ - Support for Users and Discounts (Shopify Plus only)
369
+ - Adds Customer#account_activation_url method
370
+ - Adds ability to open a fulfillment.
384
371
 
385
- * Added Customer, CustomerGroup support
372
+ ## Version 4.2.0
386
373
 
387
- == Version 1.2.2
374
+ - Threadsafety is now compatible with the latest ActiveResource master
388
375
 
389
- * Added ScriptTag support
376
+ ## Version 4.1.1
390
377
 
391
- == Version 1.2.1
378
+ - Added explicit 90 second timeout to `ShopifyAPI::Base`
392
379
 
393
- * Allow abbreviated names for all commands like rails does, e.g. 'shopify c' instead of 'shopify console'
394
- * Fix Variant to support accessing both nested variants with a product prefix as well as top level variants directly
395
- * Add 'grande' to supported product image size variants
380
+ ## Version 4.0.7
396
381
 
397
- == Version 1.2.0
382
+ - Added `ShippingAPI::ShippingZone`
398
383
 
399
- * Command-line interface
400
- * Allow custom params when fetching a single Asset
384
+ ## Version 4.0.6
401
385
 
402
- == Version 1.1.3 (November 4, 2010)
386
+ - Replaced `cancelled` with `expired` in `ShopifyAPI::ApplicationCharge`
403
387
 
404
- * Add ProductSearchEngines resource
388
+ ## Version 4.0.5
405
389
 
406
- == Version 1.1.2 (October 20, 2010)
390
+ - Added `pending`, `cancelled`, `accepted`, `declined` helper methods to `ShopifyAPI::ApplicationCharge`
407
391
 
408
- * Fix for users of ActiveResource 3.x
392
+ ## Version 4.0.4
409
393
 
410
- == Version 1.1.1 (October 5, 2010)
394
+ - Fixed truthiness for order cancellations. Requests are now sent in the request body and as JSON
411
395
 
412
- * Remove hard coded xml formatting in API calls
413
- * Remove jeweler stuff
414
- * Ruby 1.9 encoding fix
396
+ ## Version 4.0.3
415
397
 
416
- == Version 1.1.0 (September 24, 2010)
398
+ - Fixed hmac signature validation for params with delimiters (`&`, `=` or `%`)
417
399
 
418
- * Add new Events API for Shop, Order, Product, CustomCollection, SmartCollection, Page, Blog and Article
419
- * Add new 'compact' product image size variant
420
- * Rails 3 fix: attribute_accessors has to be explicitly included since activesupport 3.0.0
400
+ ## Version 4.0.2
421
401
 
422
- == Version 1.0.6
402
+ - Verify that the shop domain is a subdomain of .myshopify.com which creating the session
423
403
 
424
- * Add metafields
425
- * Add latest changes from Shopify including asset support, token validation and a common base class
404
+ ## Version 4.0.1
426
405
 
427
- == Version 1.0.0
406
+ - Added `ShopifyAPI::OAuth.revoke` for easy token revocation.
428
407
 
429
- * extracting ShopifyAPI from Shopify into Gem
408
+ ## Version 3.2.6
409
+
410
+ - Fixed CustomerSavedSearch#customers method to now correctly return only relevant customers
411
+
412
+ ## Version 3.2.5
413
+
414
+ - More useful error messages for activating nil sessions
415
+ - Add tests for commonly deleted objects, and metafield tests, fix naming error in order_risk_test.rb
416
+
417
+ ## Version 3.2.4
418
+
419
+ - No API changes
420
+
421
+ ## Version 3.2.3
422
+
423
+ - Added pry to the CLI
424
+
425
+ ## Version 3.2.2
426
+
427
+ - Temporary fix for the CLI
428
+ - Add a specific exception for signature validation failures
429
+
430
+ ## Version 3.2.1
431
+
432
+ - Added CarrierService resource
433
+ - Added optionally using threadsafe ActiveResource (see readme)
434
+ - Fixed bug in validate_signature
435
+
436
+ ## Version 3.2.0
437
+
438
+ - in Session::request_token params is no longer optional, you must pass all the params and the method will now extract the code
439
+ - Fixed JSON errors handling (#103)
440
+ - Fixed compatibility with Ruby 2.1.x (#83)
441
+ - Fixed getting parent ID from nested resources like Variants (#44)
442
+ - Cleaned up compatibility with ActiveResource 4.0.x
443
+ - Added OrderRisk resource
444
+ - Added FulfillmentService resource
445
+ - Removed discontinued ProductSearchEngine resource
446
+ - Added convenience method Customer#search (#45)
447
+
448
+ ## Version 3.1.8
449
+
450
+ - Expose `index` and `show` actions of `Location`
451
+ - Added create_permission_url and request_token helper methods
452
+ - Edited the readme to better describe the getting started procedure
453
+
454
+ ## Version 3.1.7
455
+
456
+ - Expose `authors` and `tags` action on Article
457
+
458
+ ## Version 3.1.6
459
+
460
+ - Add LineItem::Property resource
461
+
462
+ ## Version 3.1.5
463
+
464
+ - Expose `orders` action on Customer
465
+
466
+ ## Version 3.1.3
467
+
468
+ - Expose `complete` action on Fulfillment
469
+
470
+ ## Version 3.1.2
471
+
472
+ - Includes port in domain URI (when other than http/80 or https/443)
473
+ - Adds access to CustomerSavedSearch
474
+ - Adds resources: Order::DefaultAddress, Client::ClientDetails, Announcement
475
+ - Allows access to Articles without a blog_id
476
+ - Moves encode and as_json overrides to ShopifyAPI::Base scope
477
+ - Exposes the `order` action in SmartCollection for general use
478
+
479
+ ## Version 3.0.3
480
+
481
+ - Add a `customers` helper method to the CustomerGroup resource
482
+
483
+ ## Version 3.0.2
484
+
485
+ - Brevity in require statements
486
+
487
+ ## Version 3.0.1
488
+
489
+ - Fix saving nested resources in ActiveResource 3.1+
490
+
491
+ ## Version 3.0.0
492
+
493
+ - Added support for OAuth Authentication
494
+ - Removal of support for Legacy Authentication
495
+ - Added Cart resource
496
+
497
+ ## Version 2.3.0
498
+
499
+ - Fix double root bug with ActiveSupport 3.2.0
500
+ - Add metafields methods on Customer resource
501
+ - Fix prefix_options on assets returned from Asset.find
502
+
503
+ ## Version 2.2.0
504
+
505
+ - Fix issues with resources that have both direct and namespaced routes
506
+ - Added detailed logger to help with debugging ActiveResource
507
+ requests/responses
508
+ - Add fulfillment#cancel
509
+
510
+ ## Version 2.1.0
511
+
512
+ - Fix JSON errors handling
513
+ - Remove global limit from ShopifyAPI::Limits
514
+
515
+ ## Version 2.0.0
516
+
517
+ - Bump to 2.0.0 as this release breaks Rails 2 compatibility; we're now officially only supporting Rails 3. Rails 2 devs can follow the rails2 tag in this repo to know where we broke off
518
+ - Refactored resources into their own source files
519
+ - Added API limits functionality
520
+ - Patched ActiveResource issue with roots in JSON
521
+ - Added pending, cancelled, accepted, and declined convenience methods to ShopifyAPI::RecurringApplicationCharge
522
+ - ShopifyAPI::Session#temp now available as a convenience method to support temporarily switching to other shops when making calls
523
+ - Fixes to `shopify console` CLI tool
524
+
525
+ ## Version 1.2.5
526
+
527
+ - Fix for Article#comments
528
+
529
+ ## Version 1.2.4
530
+
531
+ - Added Article#comments
532
+ - Added Order#cancel
533
+ - Added Comment#restore, #not_spam
534
+
535
+ ## Version 1.2.3
536
+
537
+ - Added Customer, CustomerGroup support
538
+
539
+ ## Version 1.2.2
540
+
541
+ - Added ScriptTag support
542
+
543
+ ## Version 1.2.1
544
+
545
+ - Allow abbreviated names for all commands like rails does, e.g. 'shopify c' instead of 'shopify console'
546
+ - Fix Variant to support accessing both nested variants with a product prefix as well as top level variants directly
547
+ - Add 'grande' to supported product image size variants
548
+
549
+ ## Version 1.2.0
550
+
551
+ - Command-line interface
552
+ - Allow custom params when fetching a single Asset
553
+
554
+ ## Version 1.1.3 (November 4, 2010)
555
+
556
+ - Add ProductSearchEngines resource
557
+
558
+ ## Version 1.1.2 (October 20, 2010)
559
+
560
+ - Fix for users of ActiveResource 3.x
561
+
562
+ ## Version 1.1.1 (October 5, 2010)
563
+
564
+ - Remove hard coded xml formatting in API calls
565
+ - Remove jeweler stuff
566
+ - Ruby 1.9 encoding fix
567
+
568
+ ## Version 1.1.0 (September 24, 2010)
569
+
570
+ - Add new Events API for Shop, Order, Product, CustomCollection, SmartCollection, Page, Blog and Article
571
+ - Add new 'compact' product image size variant
572
+ - Rails 3 fix: attribute_accessors has to be explicitly included since activesupport 3.0.0
573
+
574
+ ## Version 1.0.6
575
+
576
+ - Add metafields
577
+ - Add latest changes from Shopify including asset support, token validation and a common base class
578
+
579
+ ## Version 1.0.0
580
+
581
+ - extracting ShopifyAPI from Shopify into Gem