shopify_api 13.0.0 → 14.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +1 -1
- data/.github/workflows/build.yml +4 -1
- data/.rubocop.yml +2 -0
- data/BREAKING_CHANGES_FOR_V10.md +231 -0
- data/CHANGELOG.md +38 -1
- data/CODE_OF_CONDUCT.md +46 -0
- data/CONTRIBUTING.md +25 -0
- data/Gemfile.lock +56 -54
- data/README.md +10 -41
- data/ROADMAP.md +10 -0
- data/dev.yml +3 -2
- data/docs/README.md +0 -1
- data/docs/getting_started.md +21 -11
- data/docs/usage/custom_apps.md +75 -0
- data/docs/usage/graphql.md +91 -17
- data/docs/usage/oauth.md +160 -27
- data/docs/usage/rest.md +269 -59
- data/docs/usage/webhooks.md +54 -11
- data/lib/shopify_api/admin_versions.rb +4 -1
- data/lib/shopify_api/auth/jwt_payload.rb +2 -2
- data/lib/shopify_api/auth/oauth/access_token_response.rb +37 -0
- data/lib/shopify_api/auth/oauth.rb +17 -38
- data/lib/shopify_api/auth/session.rb +31 -0
- data/lib/shopify_api/auth/token_exchange.rb +80 -0
- data/lib/shopify_api/clients/graphql/client.rb +1 -0
- data/lib/shopify_api/clients/http_client.rb +12 -3
- data/lib/shopify_api/clients/http_response.rb +29 -2
- data/lib/shopify_api/context.rb +19 -5
- data/lib/shopify_api/logger.rb +1 -1
- data/lib/shopify_api/rest/base.rb +112 -29
- data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/access_scope.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/android_pay_key.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/apple_pay_certificate.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/application_credit.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/article.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/asset.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/assigned_fulfillment_order.rb +12 -6
- data/lib/shopify_api/rest/resources/2022_04/balance.rb +6 -3
- data/lib/shopify_api/rest/resources/2022_04/blog.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/cancellation_request.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/carrier_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/collect.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/collection_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/comment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/country.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/currency.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/custom_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/customer.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/customer_address.rb +17 -3
- data/lib/shopify_api/rest/resources/2022_04/customer_saved_search.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/deprecated_api_call.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/discount_code.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/dispute.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/draft_order.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/event.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/fulfillment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/fulfillment_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/fulfillment_order.rb +10 -10
- data/lib/shopify_api/rest/resources/2022_04/fulfillment_request.rb +17 -3
- data/lib/shopify_api/rest/resources/2022_04/fulfillment_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/gift_card.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/gift_card_adjustment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/image.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/inventory_item.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/inventory_level.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/location.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/locations_for_move.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/marketing_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/metafield.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/mobile_platform_application.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/order.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/order_risk.rb +12 -6
- data/lib/shopify_api/rest/resources/2022_04/page.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/payment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/payment_gateway.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/payment_transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/payout.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/policy.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/price_rule.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/product.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/product_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/product_resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/province.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/recurring_application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/redirect.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/refund.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/report.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/script_tag.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/shipping_zone.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/shop.rb +9 -5
- data/lib/shopify_api/rest/resources/2022_04/smart_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/storefront_access_token.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/tender_transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/theme.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/usage_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/user.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/variant.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_04/webhook.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/abandoned_checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/access_scope.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/android_pay_key.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/apple_pay_certificate.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/application_credit.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/article.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/asset.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/assigned_fulfillment_order.rb +12 -6
- data/lib/shopify_api/rest/resources/2022_07/balance.rb +11 -3
- data/lib/shopify_api/rest/resources/2022_07/blog.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/cancellation_request.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/carrier_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/collect.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/collection_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/comment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/country.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/currency.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/custom_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/customer.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/customer_address.rb +17 -3
- data/lib/shopify_api/rest/resources/2022_07/deprecated_api_call.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/discount_code.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/dispute.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/dispute_evidence.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/dispute_file_upload.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/draft_order.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/event.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/fulfillment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/fulfillment_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/fulfillment_order.rb +10 -10
- data/lib/shopify_api/rest/resources/2022_07/fulfillment_request.rb +17 -3
- data/lib/shopify_api/rest/resources/2022_07/fulfillment_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/gift_card.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/gift_card_adjustment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/image.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/inventory_item.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/inventory_level.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/location.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/locations_for_move.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/marketing_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/metafield.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/mobile_platform_application.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/order.rb +10 -3
- data/lib/shopify_api/rest/resources/2022_07/order_risk.rb +12 -6
- data/lib/shopify_api/rest/resources/2022_07/page.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/payment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/payment_gateway.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/payment_transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/payout.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/policy.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/price_rule.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/product.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/product_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/product_resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/province.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/recurring_application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/redirect.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/refund.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/report.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/script_tag.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/shipping_zone.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/shop.rb +9 -5
- data/lib/shopify_api/rest/resources/2022_07/smart_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/storefront_access_token.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/tender_transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/theme.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/usage_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/user.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/variant.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_07/webhook.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/abandoned_checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/access_scope.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/android_pay_key.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/apple_pay_certificate.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/application_credit.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/article.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/asset.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/assigned_fulfillment_order.rb +12 -6
- data/lib/shopify_api/rest/resources/2022_10/balance.rb +11 -3
- data/lib/shopify_api/rest/resources/2022_10/blog.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/cancellation_request.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/carrier_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/collect.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/collection_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/comment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/country.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/currency.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/custom_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/customer.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/customer_address.rb +17 -3
- data/lib/shopify_api/rest/resources/2022_10/deprecated_api_call.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/discount_code.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/dispute.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/dispute_evidence.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/dispute_file_upload.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/draft_order.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/event.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/fulfillment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/fulfillment_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/fulfillment_order.rb +10 -10
- data/lib/shopify_api/rest/resources/2022_10/fulfillment_request.rb +17 -3
- data/lib/shopify_api/rest/resources/2022_10/fulfillment_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/gift_card.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/gift_card_adjustment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/image.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/inventory_item.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/inventory_level.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/location.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/locations_for_move.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/marketing_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/metafield.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/mobile_platform_application.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/order.rb +10 -3
- data/lib/shopify_api/rest/resources/2022_10/order_risk.rb +12 -6
- data/lib/shopify_api/rest/resources/2022_10/page.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/payment.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/payment_gateway.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/payment_transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/payout.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/policy.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/price_rule.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/product.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/product_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/product_resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/province.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/recurring_application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/redirect.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/refund.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/report.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/script_tag.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/shipping_zone.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/shop.rb +9 -8
- data/lib/shopify_api/rest/resources/2022_10/smart_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/storefront_access_token.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/tender_transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/theme.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/usage_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/user.rb +7 -3
- data/lib/shopify_api/rest/resources/2022_10/variant.rb +8 -8
- data/lib/shopify_api/rest/resources/2022_10/webhook.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/abandoned_checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/access_scope.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/apple_pay_certificate.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/application_credit.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/article.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/asset.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/assigned_fulfillment_order.rb +12 -6
- data/lib/shopify_api/rest/resources/2023_01/balance.rb +11 -3
- data/lib/shopify_api/rest/resources/2023_01/blog.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/cancellation_request.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/carrier_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/collect.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/collection_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/comment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/country.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/currency.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/custom_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/customer.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/customer_address.rb +17 -3
- data/lib/shopify_api/rest/resources/2023_01/customer_saved_search.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/deprecated_api_call.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/discount_code.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/dispute.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/dispute_evidence.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/dispute_file_upload.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/draft_order.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/fulfillment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/fulfillment_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/fulfillment_order.rb +15 -13
- data/lib/shopify_api/rest/resources/2023_01/fulfillment_request.rb +17 -3
- data/lib/shopify_api/rest/resources/2023_01/fulfillment_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/gift_card.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/gift_card_adjustment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/image.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/inventory_item.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/inventory_level.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/location.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/locations_for_move.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/marketing_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/metafield.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/mobile_platform_application.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/order.rb +10 -3
- data/lib/shopify_api/rest/resources/2023_01/order_risk.rb +12 -6
- data/lib/shopify_api/rest/resources/2023_01/page.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/payment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/payment_gateway.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/payment_transaction.rb +12 -5
- data/lib/shopify_api/rest/resources/2023_01/payout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/policy.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/price_rule.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/product.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/product_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/product_resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/province.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/recurring_application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/redirect.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/refund.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/report.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/script_tag.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/shipping_zone.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/shop.rb +9 -8
- data/lib/shopify_api/rest/resources/2023_01/smart_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/storefront_access_token.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/tender_transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/theme.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/usage_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/user.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_01/variant.rb +8 -8
- data/lib/shopify_api/rest/resources/2023_01/webhook.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/abandoned_checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/access_scope.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/apple_pay_certificate.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/application_credit.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/article.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/asset.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/assigned_fulfillment_order.rb +12 -6
- data/lib/shopify_api/rest/resources/2023_04/balance.rb +11 -3
- data/lib/shopify_api/rest/resources/2023_04/blog.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/cancellation_request.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/carrier_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/collect.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/collection_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/comment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/country.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/currency.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/custom_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/customer.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/customer_address.rb +17 -3
- data/lib/shopify_api/rest/resources/2023_04/customer_saved_search.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/deprecated_api_call.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/discount_code.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/dispute.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/dispute_evidence.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/dispute_file_upload.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/draft_order.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/fulfillment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/fulfillment_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/fulfillment_order.rb +12 -6
- data/lib/shopify_api/rest/resources/2023_04/fulfillment_request.rb +17 -3
- data/lib/shopify_api/rest/resources/2023_04/fulfillment_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/gift_card.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/gift_card_adjustment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/image.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/inventory_item.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/inventory_level.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/location.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/locations_for_move.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/marketing_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/metafield.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/mobile_platform_application.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/order.rb +10 -9
- data/lib/shopify_api/rest/resources/2023_04/order_risk.rb +12 -6
- data/lib/shopify_api/rest/resources/2023_04/page.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/payment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/payment_gateway.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/payment_transaction.rb +12 -5
- data/lib/shopify_api/rest/resources/2023_04/payout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/policy.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/price_rule.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/product.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/product_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/product_resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/province.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/recurring_application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/redirect.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/refund.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/report.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/script_tag.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/shipping_zone.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/shop.rb +9 -8
- data/lib/shopify_api/rest/resources/2023_04/smart_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/storefront_access_token.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/tender_transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/theme.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/usage_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/user.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_04/variant.rb +8 -8
- data/lib/shopify_api/rest/resources/2023_04/webhook.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/abandoned_checkout.rb +194 -0
- data/lib/shopify_api/rest/resources/2023_07/access_scope.rb +62 -0
- data/lib/shopify_api/rest/resources/2023_07/apple_pay_certificate.rb +109 -0
- data/lib/shopify_api/rest/resources/2023_07/application_charge.rb +113 -0
- data/lib/shopify_api/rest/resources/2023_07/application_credit.rb +95 -0
- data/lib/shopify_api/rest/resources/2023_07/article.rb +269 -0
- data/lib/shopify_api/rest/resources/2023_07/asset.rb +122 -0
- data/lib/shopify_api/rest/resources/2023_07/assigned_fulfillment_order.rb +92 -0
- data/lib/shopify_api/rest/resources/2023_07/balance.rb +58 -0
- data/lib/shopify_api/rest/resources/2023_07/blog.rb +166 -0
- data/lib/shopify_api/rest/resources/2023_07/cancellation_request.rb +87 -0
- data/lib/shopify_api/rest/resources/2023_07/carrier_service.rb +120 -0
- data/lib/shopify_api/rest/resources/2023_07/checkout.rb +213 -0
- data/lib/shopify_api/rest/resources/{2022_07/customer_saved_search.rb → 2023_07/collect.rb} +29 -52
- data/lib/shopify_api/rest/resources/2023_07/collection.rb +114 -0
- data/lib/shopify_api/rest/resources/2023_07/collection_listing.rb +159 -0
- data/lib/shopify_api/rest/resources/2023_07/comment.rb +287 -0
- data/lib/shopify_api/rest/resources/2023_07/country.rb +141 -0
- data/lib/shopify_api/rest/resources/2023_07/currency.rb +61 -0
- data/lib/shopify_api/rest/resources/2023_07/custom_collection.rb +191 -0
- data/lib/shopify_api/rest/resources/2023_07/customer.rb +333 -0
- data/lib/shopify_api/rest/resources/2023_07/customer_address.rb +215 -0
- data/lib/shopify_api/rest/resources/{2022_10 → 2023_07}/customer_saved_search.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/deprecated_api_call.rb +61 -0
- data/lib/shopify_api/rest/resources/2023_07/discount_code.rb +226 -0
- data/lib/shopify_api/rest/resources/2023_07/dispute.rb +115 -0
- data/lib/shopify_api/rest/resources/2023_07/dispute_evidence.rb +121 -0
- data/lib/shopify_api/rest/resources/2023_07/dispute_file_upload.rb +85 -0
- data/lib/shopify_api/rest/resources/2023_07/draft_order.rb +279 -0
- data/lib/shopify_api/rest/resources/2023_07/event.rb +152 -0
- data/lib/shopify_api/rest/resources/2023_07/fulfillment.rb +235 -0
- data/lib/shopify_api/rest/resources/2023_07/fulfillment_event.rb +170 -0
- data/lib/shopify_api/rest/resources/2023_07/fulfillment_order.rb +318 -0
- data/lib/shopify_api/rest/resources/2023_07/fulfillment_request.rb +101 -0
- data/lib/shopify_api/rest/resources/2023_07/fulfillment_service.rb +134 -0
- data/lib/shopify_api/rest/resources/2023_07/gift_card.rb +222 -0
- data/lib/shopify_api/rest/resources/2023_07/gift_card_adjustment.rb +122 -0
- data/lib/shopify_api/rest/resources/2023_07/image.rb +161 -0
- data/lib/shopify_api/rest/resources/2023_07/inventory_item.rb +112 -0
- data/lib/shopify_api/rest/resources/2023_07/inventory_level.rb +183 -0
- data/lib/shopify_api/rest/resources/2023_07/location.rb +171 -0
- data/lib/shopify_api/rest/resources/2023_07/locations_for_move.rb +60 -0
- data/lib/shopify_api/rest/resources/2023_07/marketing_event.rb +213 -0
- data/lib/shopify_api/rest/resources/2023_07/metafield.rb +348 -0
- data/lib/shopify_api/rest/resources/2023_07/mobile_platform_application.rb +114 -0
- data/lib/shopify_api/rest/resources/2023_07/order.rb +489 -0
- data/lib/shopify_api/rest/resources/2023_07/order_risk.rb +148 -0
- data/lib/shopify_api/rest/resources/2023_07/page.rb +198 -0
- data/lib/shopify_api/rest/resources/2023_07/payment.rb +144 -0
- data/lib/shopify_api/rest/resources/2023_07/payment_gateway.rb +147 -0
- data/lib/shopify_api/rest/resources/2023_07/payment_transaction.rb +114 -0
- data/lib/shopify_api/rest/resources/2023_07/payout.rb +101 -0
- data/lib/shopify_api/rest/resources/2023_07/policy.rb +73 -0
- data/lib/shopify_api/rest/resources/2023_07/price_rule.rb +227 -0
- data/lib/shopify_api/rest/resources/2023_07/product.rb +227 -0
- data/lib/shopify_api/rest/resources/2023_07/product_listing.rb +200 -0
- data/lib/shopify_api/rest/resources/2023_07/product_resource_feedback.rb +92 -0
- data/lib/shopify_api/rest/resources/2023_07/province.rb +136 -0
- data/lib/shopify_api/rest/resources/2023_07/recurring_application_charge.rb +176 -0
- data/lib/shopify_api/rest/resources/2023_07/redirect.rb +143 -0
- data/lib/shopify_api/rest/resources/2023_07/refund.rb +155 -0
- data/lib/shopify_api/rest/resources/2023_07/report.rb +125 -0
- data/lib/shopify_api/rest/resources/2023_07/resource_feedback.rb +77 -0
- data/lib/shopify_api/rest/resources/2023_07/script_tag.rb +159 -0
- data/lib/shopify_api/rest/resources/2023_07/shipping_zone.rb +87 -0
- data/lib/shopify_api/rest/resources/2023_07/shop.rb +222 -0
- data/lib/shopify_api/rest/resources/2023_07/smart_collection.rb +220 -0
- data/lib/shopify_api/rest/resources/2023_07/storefront_access_token.rb +91 -0
- data/lib/shopify_api/rest/resources/2023_07/tender_transaction.rb +97 -0
- data/lib/shopify_api/rest/resources/2023_07/theme.rb +127 -0
- data/lib/shopify_api/rest/resources/2023_07/transaction.rb +188 -0
- data/lib/shopify_api/rest/resources/2023_07/usage_charge.rb +106 -0
- data/lib/shopify_api/rest/resources/2023_07/user.rb +142 -0
- data/lib/shopify_api/rest/resources/2023_07/variant.rb +212 -0
- data/lib/shopify_api/rest/resources/2023_07/webhook.rb +172 -0
- data/lib/shopify_api/rest/resources/2023_10/abandoned_checkout.rb +194 -0
- data/lib/shopify_api/rest/resources/2023_10/access_scope.rb +62 -0
- data/lib/shopify_api/rest/resources/2023_10/apple_pay_certificate.rb +109 -0
- data/lib/shopify_api/rest/resources/2023_10/application_charge.rb +113 -0
- data/lib/shopify_api/rest/resources/2023_10/application_credit.rb +95 -0
- data/lib/shopify_api/rest/resources/2023_10/article.rb +269 -0
- data/lib/shopify_api/rest/resources/2023_10/asset.rb +122 -0
- data/lib/shopify_api/rest/resources/2023_10/assigned_fulfillment_order.rb +92 -0
- data/lib/shopify_api/rest/resources/2023_10/balance.rb +58 -0
- data/lib/shopify_api/rest/resources/2023_10/blog.rb +166 -0
- data/lib/shopify_api/rest/resources/2023_10/cancellation_request.rb +87 -0
- data/lib/shopify_api/rest/resources/2023_10/carrier_service.rb +120 -0
- data/lib/shopify_api/rest/resources/2023_10/checkout.rb +213 -0
- data/lib/shopify_api/rest/resources/2023_10/collect.rb +146 -0
- data/lib/shopify_api/rest/resources/2023_10/collection.rb +114 -0
- data/lib/shopify_api/rest/resources/2023_10/collection_listing.rb +159 -0
- data/lib/shopify_api/rest/resources/2023_10/comment.rb +287 -0
- data/lib/shopify_api/rest/resources/2023_10/country.rb +141 -0
- data/lib/shopify_api/rest/resources/2023_10/currency.rb +61 -0
- data/lib/shopify_api/rest/resources/2023_10/custom_collection.rb +191 -0
- data/lib/shopify_api/rest/resources/2023_10/customer.rb +333 -0
- data/lib/shopify_api/rest/resources/2023_10/customer_address.rb +215 -0
- data/lib/shopify_api/rest/resources/2023_10/deprecated_api_call.rb +61 -0
- data/lib/shopify_api/rest/resources/2023_10/discount_code.rb +226 -0
- data/lib/shopify_api/rest/resources/2023_10/dispute.rb +115 -0
- data/lib/shopify_api/rest/resources/2023_10/dispute_evidence.rb +121 -0
- data/lib/shopify_api/rest/resources/2023_10/dispute_file_upload.rb +85 -0
- data/lib/shopify_api/rest/resources/2023_10/draft_order.rb +279 -0
- data/lib/shopify_api/rest/resources/2023_10/event.rb +152 -0
- data/lib/shopify_api/rest/resources/2023_10/fulfillment.rb +235 -0
- data/lib/shopify_api/rest/resources/2023_10/fulfillment_event.rb +170 -0
- data/lib/shopify_api/rest/resources/2023_10/fulfillment_order.rb +318 -0
- data/lib/shopify_api/rest/resources/2023_10/fulfillment_request.rb +101 -0
- data/lib/shopify_api/rest/resources/2023_10/fulfillment_service.rb +134 -0
- data/lib/shopify_api/rest/resources/2023_10/gift_card.rb +222 -0
- data/lib/shopify_api/rest/resources/2023_10/gift_card_adjustment.rb +122 -0
- data/lib/shopify_api/rest/resources/2023_10/image.rb +161 -0
- data/lib/shopify_api/rest/resources/2023_10/inventory_item.rb +112 -0
- data/lib/shopify_api/rest/resources/2023_10/inventory_level.rb +183 -0
- data/lib/shopify_api/rest/resources/2023_10/location.rb +171 -0
- data/lib/shopify_api/rest/resources/2023_10/locations_for_move.rb +60 -0
- data/lib/shopify_api/rest/resources/2023_10/marketing_event.rb +213 -0
- data/lib/shopify_api/rest/resources/2023_10/metafield.rb +348 -0
- data/lib/shopify_api/rest/resources/2023_10/mobile_platform_application.rb +114 -0
- data/lib/shopify_api/rest/resources/2023_10/order.rb +489 -0
- data/lib/shopify_api/rest/resources/2023_10/order_risk.rb +148 -0
- data/lib/shopify_api/rest/resources/2023_10/page.rb +198 -0
- data/lib/shopify_api/rest/resources/2023_10/payment.rb +144 -0
- data/lib/shopify_api/rest/resources/2023_10/payment_gateway.rb +147 -0
- data/lib/shopify_api/rest/resources/2023_10/payment_transaction.rb +114 -0
- data/lib/shopify_api/rest/resources/2023_10/payout.rb +101 -0
- data/lib/shopify_api/rest/resources/2023_10/policy.rb +73 -0
- data/lib/shopify_api/rest/resources/2023_10/price_rule.rb +227 -0
- data/lib/shopify_api/rest/resources/2023_10/product.rb +227 -0
- data/lib/shopify_api/rest/resources/2023_10/product_listing.rb +200 -0
- data/lib/shopify_api/rest/resources/2023_10/product_resource_feedback.rb +92 -0
- data/lib/shopify_api/rest/resources/2023_10/province.rb +136 -0
- data/lib/shopify_api/rest/resources/2023_10/recurring_application_charge.rb +176 -0
- data/lib/shopify_api/rest/resources/2023_10/redirect.rb +143 -0
- data/lib/shopify_api/rest/resources/2023_10/refund.rb +155 -0
- data/lib/shopify_api/rest/resources/2023_10/report.rb +125 -0
- data/lib/shopify_api/rest/resources/2023_10/resource_feedback.rb +77 -0
- data/lib/shopify_api/rest/resources/2023_10/script_tag.rb +159 -0
- data/lib/shopify_api/rest/resources/2023_10/shipping_zone.rb +87 -0
- data/lib/shopify_api/rest/resources/2023_10/shop.rb +222 -0
- data/lib/shopify_api/rest/resources/2023_10/smart_collection.rb +220 -0
- data/lib/shopify_api/rest/resources/2023_10/storefront_access_token.rb +91 -0
- data/lib/shopify_api/rest/resources/2023_10/tender_transaction.rb +97 -0
- data/lib/shopify_api/rest/resources/2023_10/theme.rb +127 -0
- data/lib/shopify_api/rest/resources/2023_10/transaction.rb +188 -0
- data/lib/shopify_api/rest/resources/2023_10/usage_charge.rb +106 -0
- data/lib/shopify_api/rest/resources/2023_10/user.rb +142 -0
- data/lib/shopify_api/rest/resources/2023_10/variant.rb +212 -0
- data/lib/shopify_api/rest/resources/2023_10/webhook.rb +172 -0
- data/lib/shopify_api/rest/resources/2024_01/abandoned_checkout.rb +194 -0
- data/lib/shopify_api/rest/resources/2024_01/access_scope.rb +62 -0
- data/lib/shopify_api/rest/resources/2024_01/apple_pay_certificate.rb +109 -0
- data/lib/shopify_api/rest/resources/2024_01/application_charge.rb +113 -0
- data/lib/shopify_api/rest/resources/2024_01/application_credit.rb +95 -0
- data/lib/shopify_api/rest/resources/2024_01/article.rb +269 -0
- data/lib/shopify_api/rest/resources/2024_01/asset.rb +122 -0
- data/lib/shopify_api/rest/resources/2024_01/assigned_fulfillment_order.rb +92 -0
- data/lib/shopify_api/rest/resources/2024_01/balance.rb +58 -0
- data/lib/shopify_api/rest/resources/2024_01/blog.rb +166 -0
- data/lib/shopify_api/rest/resources/2024_01/cancellation_request.rb +87 -0
- data/lib/shopify_api/rest/resources/2024_01/carrier_service.rb +120 -0
- data/lib/shopify_api/rest/resources/2024_01/checkout.rb +213 -0
- data/lib/shopify_api/rest/resources/2024_01/collect.rb +146 -0
- data/lib/shopify_api/rest/resources/2024_01/collection.rb +114 -0
- data/lib/shopify_api/rest/resources/2024_01/collection_listing.rb +159 -0
- data/lib/shopify_api/rest/resources/2024_01/comment.rb +287 -0
- data/lib/shopify_api/rest/resources/2024_01/country.rb +141 -0
- data/lib/shopify_api/rest/resources/2024_01/currency.rb +61 -0
- data/lib/shopify_api/rest/resources/2024_01/custom_collection.rb +191 -0
- data/lib/shopify_api/rest/resources/2024_01/customer.rb +333 -0
- data/lib/shopify_api/rest/resources/2024_01/customer_address.rb +215 -0
- data/lib/shopify_api/rest/resources/2024_01/deprecated_api_call.rb +61 -0
- data/lib/shopify_api/rest/resources/2024_01/discount_code.rb +226 -0
- data/lib/shopify_api/rest/resources/2024_01/dispute.rb +115 -0
- data/lib/shopify_api/rest/resources/2024_01/dispute_evidence.rb +121 -0
- data/lib/shopify_api/rest/resources/2024_01/dispute_file_upload.rb +85 -0
- data/lib/shopify_api/rest/resources/2024_01/draft_order.rb +279 -0
- data/lib/shopify_api/rest/resources/2024_01/event.rb +152 -0
- data/lib/shopify_api/rest/resources/2024_01/fulfillment.rb +235 -0
- data/lib/shopify_api/rest/resources/2024_01/fulfillment_event.rb +170 -0
- data/lib/shopify_api/rest/resources/2024_01/fulfillment_order.rb +326 -0
- data/lib/shopify_api/rest/resources/2024_01/fulfillment_request.rb +101 -0
- data/lib/shopify_api/rest/resources/2024_01/fulfillment_service.rb +134 -0
- data/lib/shopify_api/rest/resources/2024_01/gift_card.rb +222 -0
- data/lib/shopify_api/rest/resources/2024_01/gift_card_adjustment.rb +122 -0
- data/lib/shopify_api/rest/resources/2024_01/image.rb +161 -0
- data/lib/shopify_api/rest/resources/2024_01/inventory_item.rb +112 -0
- data/lib/shopify_api/rest/resources/2024_01/inventory_level.rb +183 -0
- data/lib/shopify_api/rest/resources/2024_01/location.rb +171 -0
- data/lib/shopify_api/rest/resources/2024_01/locations_for_move.rb +60 -0
- data/lib/shopify_api/rest/resources/2024_01/marketing_event.rb +213 -0
- data/lib/shopify_api/rest/resources/2024_01/metafield.rb +348 -0
- data/lib/shopify_api/rest/resources/2024_01/mobile_platform_application.rb +114 -0
- data/lib/shopify_api/rest/resources/2024_01/order.rb +489 -0
- data/lib/shopify_api/rest/resources/2024_01/order_risk.rb +148 -0
- data/lib/shopify_api/rest/resources/2024_01/page.rb +198 -0
- data/lib/shopify_api/rest/resources/2024_01/payment.rb +144 -0
- data/lib/shopify_api/rest/resources/2024_01/payment_gateway.rb +147 -0
- data/lib/shopify_api/rest/resources/2024_01/payment_transaction.rb +114 -0
- data/lib/shopify_api/rest/resources/2024_01/payout.rb +101 -0
- data/lib/shopify_api/rest/resources/2024_01/policy.rb +73 -0
- data/lib/shopify_api/rest/resources/2024_01/price_rule.rb +227 -0
- data/lib/shopify_api/rest/resources/2024_01/product.rb +227 -0
- data/lib/shopify_api/rest/resources/2024_01/product_listing.rb +200 -0
- data/lib/shopify_api/rest/resources/2024_01/product_resource_feedback.rb +92 -0
- data/lib/shopify_api/rest/resources/2024_01/province.rb +136 -0
- data/lib/shopify_api/rest/resources/2024_01/recurring_application_charge.rb +176 -0
- data/lib/shopify_api/rest/resources/2024_01/redirect.rb +143 -0
- data/lib/shopify_api/rest/resources/2024_01/refund.rb +155 -0
- data/lib/shopify_api/rest/resources/2024_01/report.rb +125 -0
- data/lib/shopify_api/rest/resources/2024_01/resource_feedback.rb +77 -0
- data/lib/shopify_api/rest/resources/2024_01/script_tag.rb +159 -0
- data/lib/shopify_api/rest/resources/2024_01/shipping_zone.rb +87 -0
- data/lib/shopify_api/rest/resources/2024_01/shop.rb +222 -0
- data/lib/shopify_api/rest/resources/2024_01/smart_collection.rb +220 -0
- data/lib/shopify_api/rest/resources/2024_01/storefront_access_token.rb +91 -0
- data/lib/shopify_api/rest/resources/2024_01/tender_transaction.rb +97 -0
- data/lib/shopify_api/rest/resources/2024_01/theme.rb +127 -0
- data/lib/shopify_api/rest/resources/2024_01/transaction.rb +188 -0
- data/lib/shopify_api/rest/resources/2024_01/usage_charge.rb +106 -0
- data/lib/shopify_api/rest/resources/2024_01/user.rb +142 -0
- data/lib/shopify_api/rest/resources/2024_01/variant.rb +212 -0
- data/lib/shopify_api/rest/resources/2024_01/webhook.rb +172 -0
- data/lib/shopify_api/utils/attributes_comparator.rb +85 -0
- data/lib/shopify_api/utils/hmac_validator.rb +2 -2
- data/lib/shopify_api/version.rb +1 -1
- data/lib/shopify_api/webhooks/handler.rb +24 -1
- data/lib/shopify_api/webhooks/registration.rb +21 -6
- data/lib/shopify_api/webhooks/registrations/event_bridge.rb +1 -1
- data/lib/shopify_api/webhooks/registrations/http.rb +1 -1
- data/lib/shopify_api/webhooks/registrations/pub_sub.rb +2 -1
- data/lib/shopify_api/webhooks/registry.rb +49 -7
- data/lib/shopify_api/webhooks/request.rb +10 -0
- data/shopify_api.gemspec +2 -3
- metadata +234 -29
- data/.github/workflows/stale.yml +0 -43
- data/docs/issues.md +0 -39
- data/docs/usage/session_storage.md +0 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d335207bd3fc2cf7798f48f3b7a0ff9ea05c05969e189423a9cd89a06c9d155b
|
4
|
+
data.tar.gz: 873f2d725e8e1b84e4d8fc617e1b9aa6d3ddec6a9791646a76fb2f946d39ac9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 994fa799e6f84043aeec3ffd7c49789588299cf55d40de6bfe091b1b3d935fa99312666d78addb4238532345d6cae97d65f3785ef4fc38a576dfdc9eaa127ca9
|
7
|
+
data.tar.gz: 2ff189f2ecb5bb7a9ead4852162857c6e13a29f5fa2229e15378b1ba05ff92cd9c0a3e663161f4f17285a843a88882b53a358c1070ca881e49ba185be98184e7
|
data/.github/CODEOWNERS
CHANGED
@@ -1 +1 @@
|
|
1
|
-
* @
|
1
|
+
* @Shopify/client-libraries-app-templates
|
data/.github/workflows/build.yml
CHANGED
@@ -11,7 +11,6 @@ jobs:
|
|
11
11
|
strategy:
|
12
12
|
matrix:
|
13
13
|
version:
|
14
|
-
- 2.7
|
15
14
|
- 3.0
|
16
15
|
- 3.1
|
17
16
|
steps:
|
@@ -20,6 +19,10 @@ jobs:
|
|
20
19
|
uses: ruby/setup-ruby@v1
|
21
20
|
with:
|
22
21
|
ruby-version: ${{ matrix.version }}
|
22
|
+
- name: Install OpenSSL
|
23
|
+
run: |
|
24
|
+
sudo apt-get update
|
25
|
+
sudo apt-get install -y libssl-dev
|
23
26
|
- name: Run Bundle Commands
|
24
27
|
run: |
|
25
28
|
bundle config set --with docs
|
data/.rubocop.yml
CHANGED
@@ -0,0 +1,231 @@
|
|
1
|
+
# Breaking change notice for version 10.0.0
|
2
|
+
|
3
|
+
We've rewritten this library for v10, so that it provides all essential features for a Shopify app without depending on the [Active Resource](https://github.com/rails/activeresource) or [graphql-client](https://github.com/github/graphql-client) libraries.
|
4
|
+
|
5
|
+
#### Table of Contents
|
6
|
+
- [New Features](#new-features)
|
7
|
+
- [Upgrade Guide](#upgrade-guide)
|
8
|
+
- [1. Configuration Changes](#1-configuration-changes)
|
9
|
+
- [2. Session Changes](#2-session-changes)
|
10
|
+
- [ShopifyAPI::Auth::Session](#shopifyapiauthsession)
|
11
|
+
- [3. API Client Changes](#3-api-client-changes)
|
12
|
+
- [GraphQL](#graphql)
|
13
|
+
- [Rest](#rest)
|
14
|
+
- [Using Rest Resources](#using-rest-resources)
|
15
|
+
- [Using Rest Admin Client](#using-rest-admin-client)
|
16
|
+
- [Generic HTTP Client](#generic-http-client)
|
17
|
+
- [Useful References](#useful-references)
|
18
|
+
|
19
|
+
## New Features
|
20
|
+
Here are the main features version 10 provides:
|
21
|
+
|
22
|
+
- OAuth support, both with online and offline tokens.
|
23
|
+
- Full, transparent support for JWT sessions for embedded apps and cookies for non-embedded ones.
|
24
|
+
- Removal of support for 3rd party cookies which are increasingly more difficult to use with modern browsers.
|
25
|
+
- Admin API support
|
26
|
+
- Auto-generated, version-specific REST resources which are similar to `ActiveResource` (though not identical), that provide methods for all endpoints defined in our [REST API reference](https://shopify.dev/docs/api/admin-rest), as well as direct definition of known attributes.
|
27
|
+
- A GraphQL client that doesn't rely on the ActiveResource implementation for REST.
|
28
|
+
- Webhook management, with features for adding handlers and registering them with Shopify.
|
29
|
+
- Storefront GraphQL API support
|
30
|
+
|
31
|
+
Please refer to the [Getting Started](docs/getting_started.md) guide in this repository for instructions on how to use each of these components.
|
32
|
+
|
33
|
+
### Reasoning
|
34
|
+
- Browsers stopped allowing 3rd party cookies, even after jumping through several [ITP](https://webkit.org/tracking-prevention-policy/) hoops, which made the code
|
35
|
+
even more more complex and error prone.
|
36
|
+
- Session tokens and `authenticatedFetch` were introduced to make it possible for apps to authenticate requests without depending on cookies.
|
37
|
+
- The gem was too closely tied to rails on how it sets up sessions (which worked for cookies), so we had to detach the library from rails
|
38
|
+
in order to be able to work with both cookies and session tokens.
|
39
|
+
- We previously relied on an `omniauth-oauth2` strategy that worked fine when cookies were the only option. But it became increasingly
|
40
|
+
awkward when we moved towards session tokens, which meant re-writing the OAuth process in the gem as a whole.
|
41
|
+
- Introducing a DB stored session persistence rather than cookie stored.
|
42
|
+
- Most feedback we got previously was due to the `ActiveResource` classes failing out of sync with the API because:
|
43
|
+
1. We have some endpoints that didn't 100% follow REST convention;
|
44
|
+
2. We had a single class for each resource and manually maintained custom methods that didn't work across API versions.
|
45
|
+
|
46
|
+
- To solve the REST problems:
|
47
|
+
- We were adding support for auto-generated, version-specific resources for other languages, we decided to add them for Ruby too.
|
48
|
+
But those same instances where the API doesn't follow convention would become problematic. Thus we opted for the most explicit option where **every** method was "custom" rather than just some, so that the resources were always consistent.
|
49
|
+
|
50
|
+
## Upgrade Guide
|
51
|
+
With this, a lot changed in how apps access the library. Here are the updates you should make when migrating to v10:
|
52
|
+
|
53
|
+
### 1. Configuration Changes
|
54
|
+
#### Removed ShopifyAPI::Base
|
55
|
+
`ShopifyAPI::Base` class has been removed. Previous versions of this gem used this class to configure API request setting like:
|
56
|
+
- **API request version**
|
57
|
+
- **Previously**: Set by `ShopifyAPI::Base.api_version = "xxxx"`
|
58
|
+
- **Change**: Configured `api_version` in [ShopifyAPI::Context.setup](#shopifyapicontextsetup)
|
59
|
+
- **Set `User-Agent` on API request header**
|
60
|
+
- **Previously**: Set by `ShopifyAPI::Base.header["User-Agent"] = "xxxxx"`
|
61
|
+
- **Change**: Configured `user_agent_prefix` in [ShopifyAPI::Context.setup](#shopifyapicontextsetup)
|
62
|
+
- **Set custom headers on API requests**
|
63
|
+
- **Previously**: Set by `ShopifyAPI::Base.header["User-Agent"] = "xxxxx"`
|
64
|
+
- **Change**: Custom headers can be added to requests when you use [`ShopifyAPI::Clients::HttpRequest`](https://github.com/Shopify/shopify-api-ruby/blob/main/lib/shopify_api/clients/http_request.rb#L14)
|
65
|
+
|
66
|
+
#### ShopifyAPI::Context.setup
|
67
|
+
Initializing the `ShopifyAPI::Context` with the parameters of your app by calling `ShopifyAPI::Context.setup` (example below) when your app starts (e.g `application.rb` in a Rails app).
|
68
|
+
This class holds global configurations for your app and defines how the library behaves.
|
69
|
+
|
70
|
+
```ruby
|
71
|
+
ShopifyAPI::Context.setup(
|
72
|
+
api_key: "<api-key>",
|
73
|
+
api_secret_key: "<api-secret-key>",
|
74
|
+
host_name: "<application-host-name>",
|
75
|
+
scope: "read_orders,read_products,etc",
|
76
|
+
is_embedded: true, # Set to true if you are building an embedded app
|
77
|
+
is_private: false, # Set to true if you are building a private app
|
78
|
+
api_version: "2021-01" # The version of the API you would like to use
|
79
|
+
user_agent_prefix: "<user_agent_prefix>" # Set a custom prefix for "User-Agent" header when making API requests
|
80
|
+
###
|
81
|
+
)
|
82
|
+
```
|
83
|
+
|
84
|
+
See other fields accepted during `ShopifyAPI::Context` setup in [context.rb](https://github.com/Shopify/shopify-api-ruby/blob/main/lib/shopify_api/context.rb).
|
85
|
+
|
86
|
+
### 2. Session Changes
|
87
|
+
`ShopifyAPI::Base` class has been removed, you can no longer activate session using `ShopifyAPI::Base.activate_session`. Instead, you can use
|
88
|
+
`ShopifyAPI::Context.activate_session` to set the active session ([`ShopifyAPI::Auth::Session`](#shopifyapiauthsesion)).
|
89
|
+
If you're using the [ShopifyApp](https://github.com/Shopify/shopify_app) gem in a Rails app, you don't have to manually set the active session if you use the included `ActiveSupport` concerns. See [Session Docs](https://github.com/Shopify/shopify_app/blob/main/docs/shopify_app/sessions.md) from ShopifyApp gem.
|
90
|
+
|
91
|
+
You can also manually specify the session to use without setting the active session by passing in the session object ([`ShopifyAPI::Auth::Session`](#shopifyapiauthsesion)) when instantiating new `ShopifyAPI::Clients` objects.
|
92
|
+
If session is `nil`, it'll default to use active session from `ShopifyAPI::Context.active_session`.
|
93
|
+
|
94
|
+
```ruby
|
95
|
+
# Manually specifying a session (ShopifyAPI::Auth::Session) in API clients.
|
96
|
+
|
97
|
+
# GraphQL Client
|
98
|
+
graphql_client = ShopifyAPI::Clients::Graphql::Admin.new(session: session)
|
99
|
+
|
100
|
+
# REST Client
|
101
|
+
rest_client = ShopifyAPI::Clients::Rest::Admin.new(session: session)
|
102
|
+
|
103
|
+
# Using REST Resources
|
104
|
+
rest_resource = ShopifyAPI::Shop.new(session: session)
|
105
|
+
```
|
106
|
+
|
107
|
+
##### ShopifyAPI::Auth::Session
|
108
|
+
If you're building a Rails app, it is highly recommended for you to use the [`ShopifyApp` gem to perform OAuth and session storage](https://github.com/Shopify/shopify_app/blob/main/docs/shopify_app/sessions.md).
|
109
|
+
|
110
|
+
If you're not using Rails, please see the [Performing OAuth](./docs/usage/oauth.md) guide on how to perform OAuth to retrieve and store sessions.
|
111
|
+
|
112
|
+
### 3. API Client Changes
|
113
|
+
|
114
|
+
#### GraphQL
|
115
|
+
- We deprecated the dependency of [graphql-client](https://rubygems.org/gems/graphql-client) gem. You must refactor your existing query and response parsing to use our new GraphQL HTTP Client classes.
|
116
|
+
- [Admin API Client](https://github.com/Shopify/shopify-api-ruby/blob/main/lib/shopify_api/clients/graphql/admin.rb)
|
117
|
+
- [Storefront API Client](https://github.com/Shopify/shopify-api-ruby/blob/main/lib/shopify_api/clients/graphql/storefront.rb)
|
118
|
+
- There is no need to dump the schema to a local JSON file before using it anymore.
|
119
|
+
- The api version used to be set on `ShopifyAPI::Base.api_version`, however that's now deprecated.
|
120
|
+
You may specify a specific version when initializing your client, or it'll infer to `ShopifyAPI::Context.api_version` as default.
|
121
|
+
|
122
|
+
⚠️ See other Admin API usage in ["Make a GraphQL API call" documentation](https://github.com/Shopify/shopify-api-ruby/blob/main/docs/usage/graphql.md).
|
123
|
+
|
124
|
+
⚠️ See Storefront API client usage in ["Make a Storefront API call" documentation](https://github.com/Shopify/shopify-api-ruby/blob/main/docs/usage/graphql.md).
|
125
|
+
|
126
|
+
###### Example refactor
|
127
|
+
ShopifyAPI Client v9
|
128
|
+
```ruby
|
129
|
+
ShopifyAPI::Base.api_version = "2023-04"
|
130
|
+
client = ShopifyAPI::GraphQL.client
|
131
|
+
|
132
|
+
SHOP_NAME_QUERY = client.parse <<-'GRAPHQL'
|
133
|
+
{
|
134
|
+
shop {
|
135
|
+
name
|
136
|
+
}
|
137
|
+
}
|
138
|
+
GRAPHQL
|
139
|
+
|
140
|
+
result = client.query(SHOP_NAME_QUERY)
|
141
|
+
shop_name = result.data.shop.name
|
142
|
+
```
|
143
|
+
|
144
|
+
ShopifyAPI Client v10+
|
145
|
+
```ruby
|
146
|
+
client = ShopifyAPI::Clients::Graphql::Admin.new(session: session, api_version: "2023-04")
|
147
|
+
# session must be an instance of ShopifyAPI::Auth::Session, see Section - [2. Session Changes]
|
148
|
+
|
149
|
+
SHOP_NAME_QUERY =<<~QUERY
|
150
|
+
{
|
151
|
+
shop {
|
152
|
+
name
|
153
|
+
}
|
154
|
+
}
|
155
|
+
QUERY
|
156
|
+
|
157
|
+
response = client.query(query: query)
|
158
|
+
shop_name = response.body["data"]["shop"]["name"]
|
159
|
+
```
|
160
|
+
|
161
|
+
#### REST
|
162
|
+
##### Using REST Resources
|
163
|
+
- The use of `ActiveResource` has been deprecated, REST API requests must now be refactored to use the new format that better represents our REST API schema.
|
164
|
+
- Previously the api_version is specified in `ShopifyAPI::Base.api_version`, that has been deprecated. It's now configured in [`ShopifyAPI::Context.setup`](#shopifyapicontextsetup).
|
165
|
+
|
166
|
+
###### Example refactor
|
167
|
+
⚠️ You can find detailed examples on how each of the resource endpoints work in our [REST reference documentation](https://shopify.dev/docs/api/admin-rest).
|
168
|
+
|
169
|
+
Please see below a (non-exhaustive) list of common replacements to guide you in your updates, using the `Order` resource as an example.
|
170
|
+
For more detail, see [`order` reference documentation's](https://shopify.dev/docs/api/admin-rest/2023-07/resources/order#top) ruby example.
|
171
|
+
|
172
|
+
|Usage | Before| After |
|
173
|
+
| -----| --- | --- |
|
174
|
+
|Find partially paid orders| `Order.find(:all, params: {financial_status: "partially_paid"})`| `Order.all(financial_status: "partially_paid")` |
|
175
|
+
|Find order by ID `<id>` | `Order.find(<id>)` | `Order.find(id: <id>)` |
|
176
|
+
|Update an order's fulfillment status|`order = Order.find<id>`<br/>`order.fulfillment_status = "fulfilled"`<br/>`order.note = "Fulfilled on September 6, 2023"`<br/>`order.save`|`order = Order.find(id: <id>)`<br/>`order.fulfillment_status = "fulfilled"`<br/>`order.note = "Fulfilled on September 6, 2023"`<br/>`order.save!`|
|
177
|
+
|Close an order| `order = Order.new(<id>)`<br/>`order.post(:close)` | `order = Order.find(id: <id>)`<br/>`order.close` |
|
178
|
+
|Delete an order| `order = Order.new(<id>)`<br/>`order.delete` | `Order.delete(id: <id>)` |
|
179
|
+
|
180
|
+
###### Note on resource connections
|
181
|
+
Previously we added helper methods to load related resource connections like [`orders.transactions`](https://github.com/Shopify/shopify-api-ruby/blob/97eec35fb76afbce1d948cee2963791457e934da/lib/shopify_api/resources/order.rb#L20).
|
182
|
+
After the upgrade, only connected properties listed in the REST API will be supported.
|
183
|
+
|
184
|
+
For example:
|
185
|
+
- `order.transactions` is not supported because `transactions` is not a property of the `Order` resource.
|
186
|
+
- `order.customer` is supported because `customer` is a property of the `Order` resource.
|
187
|
+
|
188
|
+
[See the full list of `Order` properties here.](https://shopify.dev/docs/api/admin-rest/2023-07/resources/order#resource-object)
|
189
|
+
|
190
|
+
##### Using REST Admin Client
|
191
|
+
If you do not want to use the REST resource classes, you can use our REST Admin client directly to make HTTP requests.
|
192
|
+
|
193
|
+
⚠️ See other REST client usage in ["Make a REST API call" documentation](https://github.com/Shopify/shopify-api-ruby/blob/main/docs/usage/rest.md).
|
194
|
+
|
195
|
+
Example:
|
196
|
+
```ruby
|
197
|
+
# Create a new client.
|
198
|
+
client = ShopifyAPI::Clients::Rest::Admin.new(session: session)
|
199
|
+
|
200
|
+
# Update title for product with ID <id>
|
201
|
+
body = {
|
202
|
+
product: {
|
203
|
+
title: "My cool product"
|
204
|
+
}
|
205
|
+
}
|
206
|
+
|
207
|
+
# Use `client.put` to send your request to the specified Shopify Admin REST API endpoint.
|
208
|
+
client.put(path: "products/<id>.json", body: body)
|
209
|
+
```
|
210
|
+
|
211
|
+
#### Generic HTTP Client
|
212
|
+
We added a new generic [HttpClient](https://github.com/Shopify/shopify-api-ruby/blob/main/lib/shopify_api/clients/http_client.rb) wrapper to make requests and handle Shopify specific errors. All of the REST and GraphQL Clients use this HTTP Client in its foundation.
|
213
|
+
You can use this to make direct HTTP API calls easily.
|
214
|
+
See how the GraphQL Client makes a request with this HttpClient class in its [implementation here](https://github.com/Shopify/shopify-api-ruby/blob/main/lib/shopify_api/clients/graphql/client.rb#L33-L45).
|
215
|
+
|
216
|
+
## Useful references
|
217
|
+
|
218
|
+
ShopifyAPI:
|
219
|
+
- [Performing OAuth](https://github.com/Shopify/shopify-api-ruby/blob/main/docs/usage/oauth.md)
|
220
|
+
- [Make a GraphQL API Call](https://github.com/Shopify/shopify-api-ruby/blob/main/docs/usage/graphql.md)
|
221
|
+
- [Make a Storefront API Call (GraphQL)](https://github.com/Shopify/shopify-api-ruby/blob/main/docs/usage/graphql_storefront.md)
|
222
|
+
- [Make a REST API Call](https://github.com/Shopify/shopify-api-ruby/blob/main/docs/usage/rest.md)
|
223
|
+
- [Webhooks](https://github.com/Shopify/shopify-api-ruby/blob/main/docs/usage/webhooks.md)
|
224
|
+
|
225
|
+
ShopifyApp Gem (Rails):
|
226
|
+
- [Authentication](https://github.com/Shopify/shopify_app/blob/main/docs/shopify_app/authentication.md)
|
227
|
+
- [Sessions](https://github.com/Shopify/shopify_app/blob/main/docs/shopify_app/sessions.md)
|
228
|
+
|
229
|
+
Shopify API:
|
230
|
+
- [Admin GraphQL Reference](https://shopify.dev/docs/api/admin-graphql)
|
231
|
+
- [Admin REST Reference](https://shopify.dev/docs/api/admin-rest)
|
data/CHANGELOG.md
CHANGED
@@ -4,11 +4,48 @@ Note: For changes to the API, see https://shopify.dev/changelog?filter=api
|
|
4
4
|
|
5
5
|
## Unreleased
|
6
6
|
|
7
|
+
## 14.0.0
|
8
|
+
- [#1274](https://github.com/Shopify/shopify-api-ruby/pull/1274) ⚠️ [Breaking] Update sorbet and rbi dependencies. Remove support for ruby 2.7. Minimum required Ruby version is 3.0
|
9
|
+
- [#1282](https://github.com/Shopify/shopify-api-ruby/pull/1282) Fixes a bug where diffing attributes to update not take into account of Array changes and required ids.
|
10
|
+
- [#1254](https://github.com/Shopify/shopify-api-ruby/pull/1254) Introduce token exchange API for fetching access tokens. This feature is currently unstable and cannot be used yet.
|
11
|
+
- [#1268](https://github.com/Shopify/shopify-api-ruby/pull/1268) Add [new webhook handler interface](https://github.com/Shopify/shopify-api-ruby/blob/main/docs/usage/webhooks.md#create-a-webhook-handler) to provide `webhook_id ` and `api_version` information to webhook handlers.
|
12
|
+
- [#1275](https://github.com/Shopify/shopify-api-ruby/pull/1275) Allow adding custom headers in REST Resource HTTP calls.
|
13
|
+
|
14
|
+
## 13.4.0
|
15
|
+
- [#1210](https://github.com/Shopify/shopify-api-ruby/pull/1246) Add context option `response_as_struct` to allow GraphQL API responses to be accessed via dot notation.
|
16
|
+
- [#1257](https://github.com/Shopify/shopify-api-ruby/pull/1257) Add `api_call_limit` and `retry_request_after` to REST resources to expose rate limit information.
|
17
|
+
- [#1257](https://github.com/Shopify/shopify-api-ruby/pull/1257) Added support for the 2024-01 API version. This also includes a fix for the `for_hash` option when creating resources.
|
18
|
+
|
19
|
+
## 13.3.1
|
20
|
+
|
21
|
+
- [#1244](https://github.com/Shopify/shopify-api-ruby/pull/1244) Add `expired?` to `ShopifyAPI::Auth::Session` to check if the session is expired (mainly for user sessions)
|
22
|
+
- [#1249](https://github.com/Shopify/shopify-api-ruby/pull/1249) Fix bug where mandatory webhooks could not be processed
|
23
|
+
- [#1250](https://github.com/Shopify/shopify-api-ruby/pull/1250) Remove rails methods .empty? .present? that were breaking CI
|
24
|
+
|
25
|
+
## 13.3.0
|
26
|
+
|
27
|
+
- [#1241](https://github.com/Shopify/shopify-api-ruby/pull/1241) Add `api_host` to `ShopifyAPI::Context.setup`, allowing the API host to be overridden in `ShopifyAPI::Clients::HttpClient`. This context option is intended for internal Shopify use only.
|
28
|
+
- [#1237](https://github.com/Shopify/shopify-api-ruby/pull/1237) Skip mandatory webhook topic registration/unregistrations
|
29
|
+
- [#1239](https://github.com/Shopify/shopify-api-ruby/pull/1239) Update `OAuth.validate_auth_callback` to use `ShopifyApi::Clients::HttpClient`.
|
30
|
+
|
31
|
+
## 13.2.0
|
32
|
+
|
33
|
+
- [#1183](https://github.com/Shopify/shopify-api-ruby/pull/1189) Added string array support for fields parameter in Webhook::Registry
|
34
|
+
- [1208](https://github.com/Shopify/shopify-api-ruby/pull/1208) Fix CustomerAddress and FulfillmentRequest methods
|
35
|
+
- [1225](https://github.com/Shopify/shopify-api-ruby/pull/1225) Support for 2023_10 API version
|
36
|
+
- [#1186](https://github.com/Shopify/shopify-api-ruby/pull/1186) Extend webhook registration to support metafield_namespaces
|
37
|
+
|
38
|
+
## 13.1.0
|
39
|
+
|
40
|
+
- [#1183](https://github.com/Shopify/shopify-api-ruby/pull/1183) Added support for API version 2023-07
|
41
|
+
- [#1157](https://github.com/Shopify/shopify-api-ruby/pull/1157) Fix an issue where read-only attributes are included when saving REST resources
|
42
|
+
- [#1169](https://github.com/Shopify/shopify-api-ruby/pull/1169) Unpin zeitwerk version from 2.6.5
|
43
|
+
|
7
44
|
## 13.0.0
|
8
45
|
|
9
46
|
- [#1140](https://github.com/Shopify/shopify-api-ruby/pull/1140) ⚠️ [Breaking] Reformat Http error messages to be JSON parsable.
|
10
47
|
- [#1142](https://github.com/Shopify/shopify-api-ruby/issues/1142) Restore API version 2022-04, in alignment with [this](https://shopify.dev/changelog/action-required-support-for-api-version-2022-04-extended-to-june-30-2023) changelog notice.
|
11
|
-
- [#1155](https://github.com/Shopify/shopify-api-ruby/pull/1155) ⚠️ [Breaking] Remove session storage that was deprecated with [#1055](https://github.com/Shopify/shopify-api-ruby/pull/1055). ⚠️ [Breaking] GraphQL Proxy now requires `session` to be passed as an argument.
|
48
|
+
- [#1155](https://github.com/Shopify/shopify-api-ruby/pull/1155) ⚠️ [Breaking] Remove session storage that was deprecated with [#1055](https://github.com/Shopify/shopify-api-ruby/pull/1055). To upgrade, remove `session_storage` from your API context block. ⚠️ [Breaking] GraphQL Proxy now requires `session` to be passed as an argument.
|
12
49
|
- [#1150](https://github.com/Shopify/shopify-api-ruby/pull/1150) [Patch] Add support for Event topic names.
|
13
50
|
|
14
51
|
## 12.5.0
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# Contributor Code of Conduct
|
2
|
+
|
3
|
+
As contributors and maintainers of this project, and in the interest of
|
4
|
+
fostering an open and welcoming community, we pledge to respect all
|
5
|
+
people who contribute through reporting issues, posting feature
|
6
|
+
requests, updating documentation, submitting pull requests or patches,
|
7
|
+
and other activities.
|
8
|
+
|
9
|
+
We are committed to making participation in this project a
|
10
|
+
harassment-free experience for everyone, regardless of level of
|
11
|
+
experience, gender, gender identity and expression, sexual orientation,
|
12
|
+
disability, personal appearance, body size, race, ethnicity, age,
|
13
|
+
religion, or nationality.
|
14
|
+
|
15
|
+
Examples of unacceptable behavior by participants include:
|
16
|
+
|
17
|
+
- The use of sexualized language or imagery
|
18
|
+
- Personal attacks
|
19
|
+
- Trolling or insulting/derogatory comments
|
20
|
+
- Public or private harassment
|
21
|
+
- Publishing other's private information, such as physical or electronic
|
22
|
+
addresses, without explicit permission
|
23
|
+
- Other unethical or unprofessional conduct
|
24
|
+
|
25
|
+
Project maintainers have the right and responsibility to remove, edit,
|
26
|
+
or reject comments, commits, code, wiki edits, issues, and other
|
27
|
+
contributions that are not aligned to this Code of Conduct, or to ban
|
28
|
+
temporarily or permanently any contributor for other behaviors that they
|
29
|
+
deem inappropriate, threatening, offensive, or harmful.
|
30
|
+
|
31
|
+
By adopting this Code of Conduct, project maintainers commit themselves
|
32
|
+
to fairly and consistently applying these principles to every aspect of
|
33
|
+
managing this project. Project maintainers who do not follow or enforce
|
34
|
+
the Code of Conduct may be permanently removed from the project team.
|
35
|
+
|
36
|
+
This Code of Conduct applies both within project spaces and in public
|
37
|
+
spaces when an individual is representing the project or its community.
|
38
|
+
|
39
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may
|
40
|
+
be reported by contacting a project maintainer at <opensource@shopify.com>.
|
41
|
+
All complaints will be reviewed and investigated and will result in a response
|
42
|
+
that is deemed necessary and appropriate to the circumstances. Maintainers are
|
43
|
+
obligated to maintain confidentiality with regard to the reporter of an incident.
|
44
|
+
|
45
|
+
This Code of Conduct is adapted from the Contributor Covenant, version
|
46
|
+
1.3.0, available from http://contributor-covenant.org/version/1/3/0/
|
data/CONTRIBUTING.md
CHANGED
@@ -1,9 +1,34 @@
|
|
1
1
|
|
2
2
|
Submitting Issues
|
3
3
|
-----------------
|
4
|
+
Submitting Issues
|
4
5
|
|
5
6
|
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/docs/apps but is missing from this package.
|
6
7
|
|
7
8
|
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).
|
8
9
|
|
9
10
|
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.
|
11
|
+
|
12
|
+
In order for us to best triage the issue, please include steps to reproduce the issue as well as the impacted feature.
|
13
|
+
|
14
|
+
## Roadmap
|
15
|
+
|
16
|
+
The focus of development efforts by maintainers of this project a roadmap will be proposed via PR and accessible at any point in the ROADMAP.md file.
|
17
|
+
|
18
|
+
Working with a pull request modify the [ROADMAP.md](https://github.com/Shopify/shopify-api-ruby/blob/aa0b7f9a5a9095ca11f3f93f9aecc72e8daa6bce/ROADMAP.md) allows us to invite community feedback on the direction while not adding another communication avenue. While there are certainly better tools for the job than a markdown file for this, we are aiming to keep a minimal toolset to help us better manage the communication channels that we have open.
|
19
|
+
|
20
|
+
If there are concerns with the direction and priorities of the maintainers, this roadmap PR is the appropriate place to share your concerns.
|
21
|
+
|
22
|
+
## Submitting Pull Requests
|
23
|
+
|
24
|
+
We welcome pull requests and help from the community! PRs fixing bugs will take priority to triaging proposed net new functionality. If you do want to add a feature, we recommend opening an issue first exploring the appetite of the community / maintainers to ensure there is alignment on direction before you spend time on the PR.
|
25
|
+
|
26
|
+
## Gem Architecture
|
27
|
+
Understanding how all the components of the Shopify App development stack work together will help best understand what level of abstraction a feature is meant to be applied. Please consider this architecture before introducing new functionally to ensure it is in the right place:
|
28
|
+
|
29
|
+
| Gem Name | Job |
|
30
|
+
|---|---|
|
31
|
+
| Shopify API (this gem) | Obtain a session, clients for APIs (REST, GraphQL), error handling, webhook management |
|
32
|
+
| REST Resources | Interfaces to the APIs. Response casting into defined objects with attributes/methods |
|
33
|
+
| Shopify App | Build Shopify app using Rails conventions. Oauth, webhook processing, persistence, etc |
|
34
|
+
| App Template | Template demonstrating how to use all these components in one starting boilerplate application |
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
shopify_api (
|
4
|
+
shopify_api (14.0.0)
|
5
5
|
activesupport
|
6
6
|
concurrent-ruby
|
7
7
|
hash_diff
|
@@ -11,62 +11,74 @@ PATH
|
|
11
11
|
openssl
|
12
12
|
securerandom
|
13
13
|
sorbet-runtime
|
14
|
-
zeitwerk (~> 2.5
|
14
|
+
zeitwerk (~> 2.5)
|
15
15
|
|
16
16
|
GEM
|
17
17
|
remote: https://rubygems.org/
|
18
18
|
specs:
|
19
|
-
activesupport (7.
|
19
|
+
activesupport (7.1.3)
|
20
|
+
base64
|
21
|
+
bigdecimal
|
20
22
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
23
|
+
connection_pool (>= 2.2.5)
|
24
|
+
drb
|
21
25
|
i18n (>= 1.6, < 2)
|
22
26
|
minitest (>= 5.1)
|
27
|
+
mutex_m
|
23
28
|
tzinfo (~> 2.0)
|
24
29
|
addressable (2.8.0)
|
25
30
|
public_suffix (>= 2.0.2, < 5.0)
|
26
31
|
ast (2.4.2)
|
32
|
+
base64 (0.2.0)
|
33
|
+
bigdecimal (3.1.6)
|
27
34
|
byebug (11.1.3)
|
28
35
|
coderay (1.1.3)
|
29
|
-
concurrent-ruby (1.2.
|
36
|
+
concurrent-ruby (1.2.3)
|
37
|
+
connection_pool (2.4.1)
|
30
38
|
crack (0.4.5)
|
31
39
|
rexml
|
32
|
-
|
40
|
+
drb (2.2.0)
|
41
|
+
ruby2_keywords
|
42
|
+
erubi (1.12.0)
|
33
43
|
fakefs (1.4.1)
|
34
44
|
hash_diff (1.1.1)
|
35
45
|
hashdiff (1.0.1)
|
36
46
|
httparty (0.21.0)
|
37
47
|
mini_mime (>= 1.0.0)
|
38
48
|
multi_xml (>= 0.5.2)
|
39
|
-
i18n (1.
|
49
|
+
i18n (1.14.1)
|
40
50
|
concurrent-ruby (~> 1.0)
|
41
51
|
json (2.6.2)
|
42
|
-
jwt (2.7.
|
43
|
-
language_server-protocol (3.17.0.1)
|
52
|
+
jwt (2.7.1)
|
44
53
|
method_source (1.0.0)
|
45
|
-
mini_mime (1.1.
|
54
|
+
mini_mime (1.1.5)
|
46
55
|
minitest (5.15.0)
|
47
56
|
mocha (1.13.0)
|
48
57
|
multi_xml (0.6.0)
|
58
|
+
mutex_m (0.2.0)
|
49
59
|
netrc (0.11.0)
|
50
|
-
oj (3.
|
51
|
-
|
52
|
-
|
53
|
-
|
60
|
+
oj (3.16.3)
|
61
|
+
bigdecimal (>= 3.0)
|
62
|
+
openssl (3.2.0)
|
63
|
+
parallel (1.24.0)
|
64
|
+
parser (3.3.0.5)
|
54
65
|
ast (~> 2.4.1)
|
55
|
-
|
56
|
-
|
66
|
+
racc
|
67
|
+
prettier_print (1.2.1)
|
68
|
+
prism (0.21.0)
|
69
|
+
pry (0.14.2)
|
57
70
|
coderay (~> 1.1)
|
58
71
|
method_source (~> 1.0)
|
59
72
|
pry-byebug (3.10.1)
|
60
73
|
byebug (~> 11.0)
|
61
74
|
pry (>= 0.13, < 0.15)
|
62
75
|
public_suffix (4.0.6)
|
76
|
+
racc (1.7.3)
|
63
77
|
rainbow (3.1.1)
|
64
78
|
rake (13.0.6)
|
65
|
-
rbi (0.
|
66
|
-
|
67
|
-
parser (>= 2.6.4.0)
|
79
|
+
rbi (0.1.8)
|
80
|
+
prism (>= 0.18.0, < 0.22)
|
68
81
|
sorbet-runtime (>= 0.5.9204)
|
69
|
-
unparser
|
70
82
|
regexp_parser (2.5.0)
|
71
83
|
rexml (3.2.5)
|
72
84
|
rubocop (1.36.0)
|
@@ -85,55 +97,46 @@ GEM
|
|
85
97
|
rubocop (~> 1.35)
|
86
98
|
rubocop-sorbet (0.6.11)
|
87
99
|
rubocop (>= 0.90.0)
|
88
|
-
ruby-lsp (0.3.2)
|
89
|
-
language_server-protocol (~> 3.17.0)
|
90
|
-
sorbet-runtime
|
91
|
-
syntax_tree (>= 3.4)
|
92
100
|
ruby-progressbar (1.11.0)
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
sorbet-
|
98
|
-
sorbet-static (0.5.
|
99
|
-
sorbet-static (0.5.
|
100
|
-
sorbet-static-and-runtime (0.5.
|
101
|
-
sorbet (= 0.5.
|
102
|
-
sorbet-runtime (= 0.5.
|
103
|
-
spoom (1.
|
104
|
-
|
105
|
-
sorbet-runtime (>= 0.5.
|
101
|
+
ruby2_keywords (0.0.5)
|
102
|
+
securerandom (0.3.1)
|
103
|
+
sorbet (0.5.11230)
|
104
|
+
sorbet-static (= 0.5.11230)
|
105
|
+
sorbet-runtime (0.5.11230)
|
106
|
+
sorbet-static (0.5.11230-universal-darwin)
|
107
|
+
sorbet-static (0.5.11230-x86_64-linux)
|
108
|
+
sorbet-static-and-runtime (0.5.11230)
|
109
|
+
sorbet (= 0.5.11230)
|
110
|
+
sorbet-runtime (= 0.5.11230)
|
111
|
+
spoom (1.2.4)
|
112
|
+
erubi (>= 1.10.0)
|
113
|
+
sorbet-static-and-runtime (>= 0.5.10187)
|
114
|
+
syntax_tree (>= 6.1.1)
|
106
115
|
thor (>= 0.19.2)
|
107
|
-
syntax_tree (
|
108
|
-
prettier_print
|
109
|
-
tapioca (0.
|
110
|
-
bundler (>=
|
116
|
+
syntax_tree (6.2.0)
|
117
|
+
prettier_print (>= 1.2.0)
|
118
|
+
tapioca (0.12.0)
|
119
|
+
bundler (>= 2.2.25)
|
111
120
|
netrc (>= 0.11.0)
|
112
121
|
parallel (>= 1.21.0)
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
spoom (~> 1.1.0, >= 1.1.11)
|
122
|
+
rbi (>= 0.1.4, < 0.2)
|
123
|
+
sorbet-static-and-runtime (>= 0.5.10820)
|
124
|
+
spoom (~> 1.2.0, >= 1.2.0)
|
117
125
|
thor (>= 1.2.0)
|
118
126
|
yard-sorbet
|
119
|
-
thor (1.
|
127
|
+
thor (1.3.0)
|
120
128
|
tzinfo (2.0.6)
|
121
129
|
concurrent-ruby (~> 1.0)
|
122
130
|
unicode-display_width (2.3.0)
|
123
|
-
unparser (0.6.5)
|
124
|
-
diff-lcs (~> 1.3)
|
125
|
-
parser (>= 3.1.0)
|
126
131
|
webmock (3.14.0)
|
127
132
|
addressable (>= 2.8.0)
|
128
133
|
crack (>= 0.3.2)
|
129
134
|
hashdiff (>= 0.4.0, < 2.0.0)
|
130
|
-
|
131
|
-
yard (0.
|
132
|
-
webrick (~> 1.7.0)
|
133
|
-
yard-sorbet (0.7.0)
|
135
|
+
yard (0.9.34)
|
136
|
+
yard-sorbet (0.8.1)
|
134
137
|
sorbet-runtime (>= 0.5)
|
135
138
|
yard (>= 0.9)
|
136
|
-
zeitwerk (2.6.
|
139
|
+
zeitwerk (2.6.13)
|
137
140
|
|
138
141
|
PLATFORMS
|
139
142
|
arm64-darwin-21
|
@@ -149,7 +152,6 @@ DEPENDENCIES
|
|
149
152
|
rubocop
|
150
153
|
rubocop-shopify
|
151
154
|
rubocop-sorbet
|
152
|
-
ruby-lsp
|
153
155
|
shopify_api!
|
154
156
|
sorbet
|
155
157
|
tapioca
|