shopify_api 4.13.0 → 12.2.1

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