shopify_api 13.3.1 → 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/workflows/build.yml +0 -1
- data/.rubocop.yml +2 -0
- data/CHANGELOG.md +12 -0
- data/CODE_OF_CONDUCT.md +46 -0
- data/Gemfile.lock +39 -42
- data/dev.yml +3 -2
- data/docs/usage/graphql.md +30 -1
- data/docs/usage/rest.md +81 -13
- data/docs/usage/webhooks.md +34 -9
- data/lib/shopify_api/admin_versions.rb +2 -1
- data/lib/shopify_api/auth/oauth/access_token_response.rb +37 -0
- data/lib/shopify_api/auth/oauth.rb +2 -33
- data/lib/shopify_api/auth/session.rb +26 -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 +7 -2
- data/lib/shopify_api/clients/http_response.rb +29 -2
- data/lib/shopify_api/context.rb +8 -1
- data/lib/shopify_api/logger.rb +1 -1
- data/lib/shopify_api/rest/base.rb +93 -22
- 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 +7 -3
- 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 +7 -3
- 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 +7 -3
- 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 +7 -3
- 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 +7 -3
- 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 +7 -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 +7 -3
- data/lib/shopify_api/rest/resources/2022_10/fulfillment_request.rb +7 -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 +7 -3
- 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 +7 -6
- 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 +7 -3
- data/lib/shopify_api/rest/resources/2023_01/balance.rb +7 -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 +7 -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 +12 -6
- data/lib/shopify_api/rest/resources/2023_01/fulfillment_request.rb +7 -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 +7 -3
- data/lib/shopify_api/rest/resources/2023_01/order_risk.rb +7 -3
- 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 +7 -3
- 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 +7 -3
- 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 +7 -3
- data/lib/shopify_api/rest/resources/2023_04/balance.rb +7 -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 +7 -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 +7 -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 +7 -9
- data/lib/shopify_api/rest/resources/2023_04/order_risk.rb +7 -3
- 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 +7 -3
- 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 +7 -3
- data/lib/shopify_api/rest/resources/2023_04/webhook.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/abandoned_checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/access_scope.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/apple_pay_certificate.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/application_credit.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/article.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/asset.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/assigned_fulfillment_order.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/balance.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/blog.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/cancellation_request.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/carrier_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/collect.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/collection_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/comment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/country.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/currency.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/custom_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/customer.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/customer_address.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/customer_saved_search.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/deprecated_api_call.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/discount_code.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/dispute.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/dispute_evidence.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/dispute_file_upload.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/draft_order.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/fulfillment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/fulfillment_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/fulfillment_order.rb +12 -6
- data/lib/shopify_api/rest/resources/2023_07/fulfillment_request.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/fulfillment_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/gift_card.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/gift_card_adjustment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/image.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/inventory_item.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/inventory_level.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/location.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/locations_for_move.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/marketing_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/metafield.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/mobile_platform_application.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/order.rb +7 -9
- data/lib/shopify_api/rest/resources/2023_07/order_risk.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/page.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/payment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/payment_gateway.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/payment_transaction.rb +12 -5
- data/lib/shopify_api/rest/resources/2023_07/payout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/policy.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/price_rule.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/product.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/product_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/product_resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/province.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/recurring_application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/redirect.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/refund.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/report.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/script_tag.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/shipping_zone.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/shop.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/smart_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/storefront_access_token.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/tender_transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/theme.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/usage_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/user.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/variant.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_07/webhook.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/abandoned_checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/access_scope.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/apple_pay_certificate.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/application_credit.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/article.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/asset.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/assigned_fulfillment_order.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/balance.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/blog.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/cancellation_request.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/carrier_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/checkout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/collect.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/collection_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/comment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/country.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/currency.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/custom_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/customer.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/customer_address.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/deprecated_api_call.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/discount_code.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/dispute.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/dispute_evidence.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/dispute_file_upload.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/draft_order.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/fulfillment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/fulfillment_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/fulfillment_order.rb +12 -6
- data/lib/shopify_api/rest/resources/2023_10/fulfillment_request.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/fulfillment_service.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/gift_card.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/gift_card_adjustment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/image.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/inventory_item.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/inventory_level.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/location.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/locations_for_move.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/marketing_event.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/metafield.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/mobile_platform_application.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/order.rb +7 -9
- data/lib/shopify_api/rest/resources/2023_10/order_risk.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/page.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/payment.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/payment_gateway.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/payment_transaction.rb +12 -5
- data/lib/shopify_api/rest/resources/2023_10/payout.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/policy.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/price_rule.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/product.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/product_listing.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/product_resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/province.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/recurring_application_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/redirect.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/refund.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/report.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/resource_feedback.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/script_tag.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/shipping_zone.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/shop.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/smart_collection.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/storefront_access_token.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/tender_transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/theme.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/transaction.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/usage_charge.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/user.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/variant.rb +7 -3
- data/lib/shopify_api/rest/resources/2023_10/webhook.rb +7 -3
- 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/{2022_07/customer_saved_search.rb → 2024_01/collect.rb} +29 -52
- 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/{2022_10/customer_saved_search.rb → 2024_01/script_tag.rb} +44 -54
- 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 +1 -1
- data/lib/shopify_api/version.rb +1 -1
- data/lib/shopify_api/webhooks/handler.rb +24 -1
- data/lib/shopify_api/webhooks/registration.rb +2 -2
- data/lib/shopify_api/webhooks/registry.rb +13 -2
- data/lib/shopify_api/webhooks/request.rb +10 -0
- data/shopify_api.gemspec +1 -1
- metadata +82 -6
@@ -0,0 +1,80 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module ShopifyAPI
|
5
|
+
module Auth
|
6
|
+
module TokenExchange
|
7
|
+
extend T::Sig
|
8
|
+
|
9
|
+
TOKEN_EXCHANGE_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:token-exchange"
|
10
|
+
ID_TOKEN_TYPE = "urn:ietf:params:oauth:token-type:id_token"
|
11
|
+
|
12
|
+
class RequestedTokenType < T::Enum
|
13
|
+
enums do
|
14
|
+
ONLINE_ACCESS_TOKEN = new("urn:shopify:params:oauth:token-type:online-access-token")
|
15
|
+
OFFLINE_ACCESS_TOKEN = new("urn:shopify:params:oauth:token-type:offline-access-token")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class << self
|
20
|
+
extend T::Sig
|
21
|
+
|
22
|
+
sig do
|
23
|
+
params(
|
24
|
+
shop: String,
|
25
|
+
session_token: String,
|
26
|
+
requested_token_type: RequestedTokenType,
|
27
|
+
).returns(ShopifyAPI::Auth::Session)
|
28
|
+
end
|
29
|
+
def exchange_token(shop:, session_token:, requested_token_type:)
|
30
|
+
unless ShopifyAPI::Context.setup?
|
31
|
+
raise ShopifyAPI::Errors::ContextNotSetupError,
|
32
|
+
"ShopifyAPI::Context not setup, please call ShopifyAPI::Context.setup"
|
33
|
+
end
|
34
|
+
raise ShopifyAPI::Errors::UnsupportedOauthError,
|
35
|
+
"Cannot perform OAuth Token Exchange for private apps." if ShopifyAPI::Context.private?
|
36
|
+
raise ShopifyAPI::Errors::UnsupportedOauthError,
|
37
|
+
"Cannot perform OAuth Token Exchange for non embedded apps." unless ShopifyAPI::Context.embedded?
|
38
|
+
|
39
|
+
# Validate the session token content
|
40
|
+
ShopifyAPI::Auth::JwtPayload.new(session_token)
|
41
|
+
|
42
|
+
shop_session = ShopifyAPI::Auth::Session.new(shop: shop)
|
43
|
+
body = {
|
44
|
+
client_id: ShopifyAPI::Context.api_key,
|
45
|
+
client_secret: ShopifyAPI::Context.api_secret_key,
|
46
|
+
grant_type: TOKEN_EXCHANGE_GRANT_TYPE,
|
47
|
+
subject_token: session_token,
|
48
|
+
subject_token_type: ID_TOKEN_TYPE,
|
49
|
+
requested_token_type: requested_token_type.serialize,
|
50
|
+
}
|
51
|
+
|
52
|
+
client = Clients::HttpClient.new(session: shop_session, base_path: "/admin/oauth")
|
53
|
+
response = begin
|
54
|
+
client.request(
|
55
|
+
Clients::HttpRequest.new(
|
56
|
+
http_method: :post,
|
57
|
+
path: "access_token",
|
58
|
+
body: body,
|
59
|
+
body_type: "application/json",
|
60
|
+
),
|
61
|
+
)
|
62
|
+
rescue ShopifyAPI::Errors::HttpResponseError => error
|
63
|
+
if error.code == 400 && error.response.body["error"] == "invalid_subject_token"
|
64
|
+
raise ShopifyAPI::Errors::InvalidJwtTokenError, "Session token was rejected by token exchange"
|
65
|
+
end
|
66
|
+
|
67
|
+
raise error
|
68
|
+
end
|
69
|
+
|
70
|
+
session_params = T.cast(response.body, T::Hash[String, T.untyped]).to_h
|
71
|
+
|
72
|
+
Session.from(
|
73
|
+
shop: shop,
|
74
|
+
access_token_response: Oauth::AccessTokenResponse.from_hash(session_params),
|
75
|
+
)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -32,8 +32,8 @@ module ShopifyAPI
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
sig { params(request: HttpRequest).returns(HttpResponse) }
|
36
|
-
def request(request)
|
35
|
+
sig { params(request: HttpRequest, response_as_struct: T::Boolean).returns(HttpResponse) }
|
36
|
+
def request(request, response_as_struct: false)
|
37
37
|
request.verify
|
38
38
|
|
39
39
|
headers = @headers
|
@@ -60,6 +60,11 @@ module ShopifyAPI
|
|
60
60
|
body = res.body
|
61
61
|
end
|
62
62
|
|
63
|
+
if response_as_struct && body.is_a?(Hash)
|
64
|
+
json_body = body.to_json
|
65
|
+
body = JSON.parse(json_body, object_class: OpenStruct)
|
66
|
+
end
|
67
|
+
|
63
68
|
response = HttpResponse.new(code: res.code.to_i, headers: res.headers.to_h, body: body)
|
64
69
|
|
65
70
|
if response.headers["x-shopify-api-deprecated-reason"]
|
@@ -12,17 +12,23 @@ module ShopifyAPI
|
|
12
12
|
sig { returns(T::Hash[String, T::Array[String]]) }
|
13
13
|
attr_reader :headers
|
14
14
|
|
15
|
-
sig { returns(T.any(T::Hash[String, T.untyped], String)) }
|
15
|
+
sig { returns(T.any(T::Hash[String, T.untyped], String, OpenStruct)) }
|
16
16
|
attr_reader :body
|
17
17
|
|
18
18
|
sig { returns(T.nilable(String)) }
|
19
19
|
attr_reader :prev_page_info, :next_page_info
|
20
20
|
|
21
|
+
sig { returns(T.nilable(T::Hash[String, Integer])) }
|
22
|
+
attr_reader :api_call_limit
|
23
|
+
|
24
|
+
sig { returns(T.nilable(Float)) }
|
25
|
+
attr_reader :retry_request_after
|
26
|
+
|
21
27
|
sig do
|
22
28
|
params(
|
23
29
|
code: Integer,
|
24
30
|
headers: T::Hash[String, T::Array[String]],
|
25
|
-
body: T.any(T::Hash[String, T.untyped], String),
|
31
|
+
body: T.any(T::Hash[String, T.untyped], String, OpenStruct),
|
26
32
|
).void
|
27
33
|
end
|
28
34
|
def initialize(code:, headers:, body:)
|
@@ -33,6 +39,11 @@ module ShopifyAPI
|
|
33
39
|
@prev_page_info = T.let(nil, T.nilable(String))
|
34
40
|
@next_page_info = T.let(nil, T.nilable(String))
|
35
41
|
@prev_page_info, @next_page_info = parse_link_header
|
42
|
+
|
43
|
+
@api_call_limit = T.let(nil, T.nilable(T::Hash[String, Integer]))
|
44
|
+
@retry_request_after = T.let(nil, T.nilable(Float))
|
45
|
+
@api_call_limit = parse_api_call_limit_header
|
46
|
+
@retry_request_after = parse_retry_header
|
36
47
|
end
|
37
48
|
|
38
49
|
sig { returns(T::Boolean) }
|
@@ -61,6 +72,22 @@ module ShopifyAPI
|
|
61
72
|
|
62
73
|
[page_info["previous"], page_info["next"]]
|
63
74
|
end
|
75
|
+
|
76
|
+
sig { returns(T.nilable(Float)) }
|
77
|
+
def parse_retry_header
|
78
|
+
return nil if @headers["retry-after"].nil?
|
79
|
+
|
80
|
+
T.must(@headers["retry-after"])[0].to_f
|
81
|
+
end
|
82
|
+
|
83
|
+
sig { returns(T.nilable(T::Hash[String, Integer])) }
|
84
|
+
def parse_api_call_limit_header
|
85
|
+
rate_limit_info = headers["x-shopify-shop-api-call-limit"]&.first
|
86
|
+
return if rate_limit_info.nil?
|
87
|
+
|
88
|
+
request_count, bucket_size = rate_limit_info.split("/").map(&:to_i)
|
89
|
+
{ request_count: request_count, bucket_size: bucket_size }
|
90
|
+
end
|
64
91
|
end
|
65
92
|
end
|
66
93
|
end
|
data/lib/shopify_api/context.rb
CHANGED
@@ -21,6 +21,7 @@ module ShopifyAPI
|
|
21
21
|
@active_session = T.let(Concurrent::ThreadLocalVar.new { nil }, T.nilable(Concurrent::ThreadLocalVar))
|
22
22
|
@user_agent_prefix = T.let(nil, T.nilable(String))
|
23
23
|
@old_api_secret_key = T.let(nil, T.nilable(String))
|
24
|
+
@response_as_struct = T.let(false, T.nilable(T::Boolean))
|
24
25
|
|
25
26
|
@rest_resource_loader = T.let(nil, T.nilable(Zeitwerk::Loader))
|
26
27
|
|
@@ -43,6 +44,7 @@ module ShopifyAPI
|
|
43
44
|
user_agent_prefix: T.nilable(String),
|
44
45
|
old_api_secret_key: T.nilable(String),
|
45
46
|
api_host: T.nilable(String),
|
47
|
+
response_as_struct: T.nilable(T::Boolean),
|
46
48
|
).void
|
47
49
|
end
|
48
50
|
def setup(
|
@@ -59,7 +61,8 @@ module ShopifyAPI
|
|
59
61
|
private_shop: nil,
|
60
62
|
user_agent_prefix: nil,
|
61
63
|
old_api_secret_key: nil,
|
62
|
-
api_host: nil
|
64
|
+
api_host: nil,
|
65
|
+
response_as_struct: false
|
63
66
|
)
|
64
67
|
unless ShopifyAPI::AdminVersions::SUPPORTED_ADMIN_VERSIONS.include?(api_version)
|
65
68
|
raise Errors::UnsupportedVersionError,
|
@@ -78,6 +81,7 @@ module ShopifyAPI
|
|
78
81
|
@private_shop = private_shop
|
79
82
|
@user_agent_prefix = user_agent_prefix
|
80
83
|
@old_api_secret_key = old_api_secret_key
|
84
|
+
@response_as_struct = response_as_struct
|
81
85
|
@log_level = if valid_log_level?(log_level)
|
82
86
|
log_level.to_sym
|
83
87
|
else
|
@@ -128,6 +132,9 @@ module ShopifyAPI
|
|
128
132
|
sig { returns(Symbol) }
|
129
133
|
attr_reader :log_level
|
130
134
|
|
135
|
+
sig { returns T.nilable(T::Boolean) }
|
136
|
+
attr_reader :response_as_struct
|
137
|
+
|
131
138
|
sig { returns(T::Boolean) }
|
132
139
|
def private?
|
133
140
|
@is_private
|
data/lib/shopify_api/logger.rb
CHANGED
@@ -75,7 +75,7 @@ module ShopifyAPI
|
|
75
75
|
def valid_version(version)
|
76
76
|
current_version = Gem::Version.create(ShopifyAPI::VERSION)
|
77
77
|
deprecate_version = Gem::Version.create(version)
|
78
|
-
current_version < deprecate_version
|
78
|
+
T.must(current_version) < deprecate_version
|
79
79
|
end
|
80
80
|
end
|
81
81
|
end
|
@@ -2,7 +2,6 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "active_support/inflector"
|
5
|
-
require "hash_diff"
|
6
5
|
|
7
6
|
module ShopifyAPI
|
8
7
|
module Rest
|
@@ -11,8 +10,9 @@ module ShopifyAPI
|
|
11
10
|
extend T::Helpers
|
12
11
|
abstract!
|
13
12
|
|
14
|
-
@
|
15
|
-
@
|
13
|
+
@headers = T.let(nil, T.nilable(T::Hash[T.any(Symbol, String), String]))
|
14
|
+
@has_one = T.let({}, T::Hash[Symbol, T::Class[T.anything]])
|
15
|
+
@has_many = T.let({}, T::Hash[Symbol, T::Class[T.anything]])
|
16
16
|
@paths = T.let([], T::Array[T::Hash[Symbol, T.any(T::Array[Symbol], String, Symbol)]])
|
17
17
|
@custom_prefix = T.let(nil, T.nilable(String))
|
18
18
|
@read_only_attributes = T.let([], T.nilable(T::Array[Symbol]))
|
@@ -55,12 +55,24 @@ module ShopifyAPI
|
|
55
55
|
sig { returns(T.nilable(String)) }
|
56
56
|
attr_reader :custom_prefix
|
57
57
|
|
58
|
-
sig { returns(T::Hash[Symbol, Class]) }
|
58
|
+
sig { returns(T::Hash[Symbol, T::Class[T.anything]]) }
|
59
59
|
attr_reader :has_many
|
60
60
|
|
61
|
-
sig { returns(T::Hash[Symbol, Class]) }
|
61
|
+
sig { returns(T::Hash[Symbol, T::Class[T.anything]]) }
|
62
62
|
attr_reader :has_one
|
63
63
|
|
64
|
+
sig { returns(T.nilable(T::Hash[T.any(Symbol, String), String])) }
|
65
|
+
attr_accessor :headers
|
66
|
+
|
67
|
+
sig { params(subclass: T::Class[T.anything]).returns(T.untyped) }
|
68
|
+
def inherited(subclass)
|
69
|
+
super
|
70
|
+
|
71
|
+
subclass.define_singleton_method(:headers) do
|
72
|
+
ShopifyAPI::Rest::Base.headers
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
64
76
|
sig do
|
65
77
|
params(
|
66
78
|
session: T.nilable(Auth::Session),
|
@@ -74,11 +86,14 @@ module ShopifyAPI
|
|
74
86
|
client = ShopifyAPI::Clients::Rest::Admin.new(session: session)
|
75
87
|
|
76
88
|
path = T.must(get_path(http_method: :get, operation: :get, ids: ids))
|
77
|
-
response = client.get(path: path, query: params.compact)
|
89
|
+
response = client.get(path: path, query: params.compact, headers: headers)
|
78
90
|
|
79
91
|
instance_variable_get(:"@prev_page_info").value = response.prev_page_info
|
80
92
|
instance_variable_get(:"@next_page_info").value = response.next_page_info
|
81
93
|
|
94
|
+
instance_variable_get(:"@retry_request_after").value = response.retry_request_after
|
95
|
+
instance_variable_get(:"@api_call_limit").value = response.api_call_limit
|
96
|
+
|
82
97
|
create_instances_from_response(response: response, session: T.must(session))
|
83
98
|
end
|
84
99
|
|
@@ -122,6 +137,16 @@ module ShopifyAPI
|
|
122
137
|
!instance_variable_get(:"@next_page_info").value.nil?
|
123
138
|
end
|
124
139
|
|
140
|
+
sig { returns T.nilable(Float) }
|
141
|
+
def retry_request_after
|
142
|
+
instance_variable_get(:"@retry_request_after").value
|
143
|
+
end
|
144
|
+
|
145
|
+
sig { returns T.nilable(T::Hash[String, Integer]) }
|
146
|
+
def api_call_limit
|
147
|
+
instance_variable_get(:"@api_call_limit").value
|
148
|
+
end
|
149
|
+
|
125
150
|
sig { params(attribute: Symbol).returns(T::Boolean) }
|
126
151
|
def has_many?(attribute)
|
127
152
|
@has_many.include?(attribute)
|
@@ -174,6 +199,21 @@ module ShopifyAPI
|
|
174
199
|
custom_prefix ? "#{T.must(custom_prefix).sub(%r{\A/}, "")}/#{match}" : match
|
175
200
|
end
|
176
201
|
|
202
|
+
sig do
|
203
|
+
params(
|
204
|
+
http_method: Symbol,
|
205
|
+
operation: Symbol,
|
206
|
+
).returns(T.nilable(T::Array[Symbol]))
|
207
|
+
end
|
208
|
+
def get_path_ids(http_method:, operation:)
|
209
|
+
found_path = @paths.find do |path|
|
210
|
+
http_method == path[:http_method] && operation == path[:operation]
|
211
|
+
end
|
212
|
+
return nil if found_path.nil?
|
213
|
+
|
214
|
+
T.cast(found_path[:ids], T::Array[Symbol])
|
215
|
+
end
|
216
|
+
|
177
217
|
sig do
|
178
218
|
params(
|
179
219
|
http_method: Symbol,
|
@@ -192,13 +232,13 @@ module ShopifyAPI
|
|
192
232
|
|
193
233
|
case http_method
|
194
234
|
when :get
|
195
|
-
client.get(path: T.must(path), query: params.compact)
|
235
|
+
client.get(path: T.must(path), query: params.compact, headers: headers)
|
196
236
|
when :post
|
197
|
-
client.post(path: T.must(path), query: params.compact, body: body || {})
|
237
|
+
client.post(path: T.must(path), query: params.compact, body: body || {}, headers: headers)
|
198
238
|
when :put
|
199
|
-
client.put(path: T.must(path), query: params.compact, body: body || {})
|
239
|
+
client.put(path: T.must(path), query: params.compact, body: body || {}, headers: headers)
|
200
240
|
when :delete
|
201
|
-
client.delete(path: T.must(path), query: params.compact)
|
241
|
+
client.delete(path: T.must(path), query: params.compact, headers: headers)
|
202
242
|
else
|
203
243
|
raise Errors::InvalidHttpRequestError, "Invalid HTTP method: #{http_method}"
|
204
244
|
end
|
@@ -328,6 +368,7 @@ module ShopifyAPI
|
|
328
368
|
@client.delete(
|
329
369
|
path: T.must(self.class.get_path(http_method: :delete, operation: :delete, entity: self)),
|
330
370
|
query: params.compact,
|
371
|
+
headers: self.class.headers,
|
331
372
|
)
|
332
373
|
rescue ShopifyAPI::Errors::HttpResponseError => e
|
333
374
|
@errors.errors << e
|
@@ -342,10 +383,16 @@ module ShopifyAPI
|
|
342
383
|
sig { params(update_object: T::Boolean).void }
|
343
384
|
def save(update_object: false)
|
344
385
|
method = deduce_write_verb
|
386
|
+
|
387
|
+
body = {
|
388
|
+
self.class.json_body_name => attributes_to_update.merge(build_required_attributes(http_method: method)),
|
389
|
+
}
|
390
|
+
|
345
391
|
response = @client.public_send(
|
346
392
|
method,
|
347
|
-
body:
|
393
|
+
body: body,
|
348
394
|
path: deduce_write_path(method),
|
395
|
+
headers: self.class.headers,
|
349
396
|
)
|
350
397
|
|
351
398
|
if update_object
|
@@ -361,22 +408,34 @@ module ShopifyAPI
|
|
361
408
|
|
362
409
|
sig { returns(T::Hash[String, String]) }
|
363
410
|
def attributes_to_update
|
364
|
-
|
411
|
+
updatable_attributes = original_state.reject do |attribute, _|
|
365
412
|
self.class.read_only_attributes&.include?("@#{attribute}".to_sym)
|
366
413
|
end
|
367
414
|
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
415
|
+
stringified_updatable_attributes = deep_stringify_keys(updatable_attributes)
|
416
|
+
stringified_new_attributes = deep_stringify_keys(to_hash(true))
|
417
|
+
ShopifyAPI::Utils::AttributesComparator.compare(
|
418
|
+
stringified_updatable_attributes,
|
419
|
+
stringified_new_attributes,
|
420
|
+
)
|
421
|
+
end
|
372
422
|
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
423
|
+
sig { params(http_method: Symbol).returns(T::Hash[String, T.untyped]) }
|
424
|
+
def build_required_attributes(http_method:)
|
425
|
+
required_attributes = {}
|
426
|
+
|
427
|
+
primary_key_value = send(self.class.primary_key)
|
428
|
+
unless primary_key_value.nil?
|
429
|
+
required_attributes[self.class.primary_key] = primary_key_value
|
377
430
|
end
|
378
431
|
|
379
|
-
|
432
|
+
path_ids = deduce_path_ids(http_method)
|
433
|
+
path_ids&.each do |path_id|
|
434
|
+
path_id_value = send(path_id)
|
435
|
+
required_attributes[path_id.to_s] = path_id_value unless path_id_value.nil?
|
436
|
+
end
|
437
|
+
|
438
|
+
required_attributes
|
380
439
|
end
|
381
440
|
|
382
441
|
sig { returns(Symbol) }
|
@@ -396,6 +455,18 @@ module ShopifyAPI
|
|
396
455
|
path
|
397
456
|
end
|
398
457
|
|
458
|
+
sig { params(method: Symbol).returns(T.nilable(T::Array[Symbol])) }
|
459
|
+
def deduce_path_ids(method)
|
460
|
+
path_ids = self.class.get_path_ids(http_method: method, operation: method)
|
461
|
+
|
462
|
+
if path_ids.nil?
|
463
|
+
method = method == :post ? :put : :post
|
464
|
+
path_ids = self.class.get_path_ids(http_method: method, operation: method)
|
465
|
+
end
|
466
|
+
|
467
|
+
path_ids
|
468
|
+
end
|
469
|
+
|
399
470
|
sig { params(hash: T::Hash[T.any(String, Symbol), T.untyped]).returns(T::Hash[String, String]) }
|
400
471
|
def deep_stringify_keys(hash)
|
401
472
|
hash.each_with_object({}) do |(key, value), result|
|
@@ -427,7 +498,7 @@ module ShopifyAPI
|
|
427
498
|
sig do
|
428
499
|
params(
|
429
500
|
element: T.nilable(T.any(T::Hash[String, T.untyped], ShopifyAPI::Rest::Base)),
|
430
|
-
attribute_class: Class,
|
501
|
+
attribute_class: T::Class[T.anything],
|
431
502
|
saving: T::Boolean,
|
432
503
|
).returns(T.nilable(T::Hash[String, T.untyped]))
|
433
504
|
end
|
@@ -12,9 +12,11 @@ module ShopifyAPI
|
|
12
12
|
@prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
13
13
|
@next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
@api_call_limit = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
16
|
+
@retry_request_after = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
17
|
+
|
18
|
+
sig { params(session: T.nilable(ShopifyAPI::Auth::Session), from_hash: T.nilable(T::Hash[T.untyped, T.untyped])).void }
|
19
|
+
def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)
|
18
20
|
|
19
21
|
@abandoned_checkout_url = T.let(nil, T.nilable(String))
|
20
22
|
@billing_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
|
@@ -55,6 +57,8 @@ module ShopifyAPI
|
|
55
57
|
@total_weight = T.let(nil, T.nilable(Integer))
|
56
58
|
@updated_at = T.let(nil, T.nilable(String))
|
57
59
|
@user_id = T.let(nil, T.nilable(Integer))
|
60
|
+
|
61
|
+
super(session: session, from_hash: from_hash)
|
58
62
|
end
|
59
63
|
|
60
64
|
@has_one = T.let({
|
@@ -12,12 +12,16 @@ module ShopifyAPI
|
|
12
12
|
@prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
13
13
|
@next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
@api_call_limit = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
16
|
+
@retry_request_after = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
17
|
+
|
18
|
+
sig { params(session: T.nilable(ShopifyAPI::Auth::Session), from_hash: T.nilable(T::Hash[T.untyped, T.untyped])).void }
|
19
|
+
def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)
|
18
20
|
|
19
21
|
@handle = T.let(nil, T.nilable(String))
|
20
22
|
@access_scopes = T.let(nil, T.nilable(T::Array[T.untyped]))
|
23
|
+
|
24
|
+
super(session: session, from_hash: from_hash)
|
21
25
|
end
|
22
26
|
|
23
27
|
@has_one = T.let({}, T::Hash[Symbol, Class])
|
@@ -12,12 +12,16 @@ module ShopifyAPI
|
|
12
12
|
@prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
13
13
|
@next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
@api_call_limit = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
16
|
+
@retry_request_after = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
17
|
+
|
18
|
+
sig { params(session: T.nilable(ShopifyAPI::Auth::Session), from_hash: T.nilable(T::Hash[T.untyped, T.untyped])).void }
|
19
|
+
def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)
|
18
20
|
|
19
21
|
@id = T.let(nil, T.nilable(Integer))
|
20
22
|
@public_key = T.let(nil, T.nilable(String))
|
23
|
+
|
24
|
+
super(session: session, from_hash: from_hash)
|
21
25
|
end
|
22
26
|
|
23
27
|
@has_one = T.let({}, T::Hash[Symbol, Class])
|
@@ -12,13 +12,17 @@ module ShopifyAPI
|
|
12
12
|
@prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
13
13
|
@next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
@api_call_limit = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
16
|
+
@retry_request_after = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
17
|
+
|
18
|
+
sig { params(session: T.nilable(ShopifyAPI::Auth::Session), from_hash: T.nilable(T::Hash[T.untyped, T.untyped])).void }
|
19
|
+
def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)
|
18
20
|
|
19
21
|
@id = T.let(nil, T.nilable(Integer))
|
20
22
|
@merchant_id = T.let(nil, T.nilable(String))
|
21
23
|
@status = T.let(nil, T.nilable(String))
|
24
|
+
|
25
|
+
super(session: session, from_hash: from_hash)
|
22
26
|
end
|
23
27
|
|
24
28
|
@has_one = T.let({}, T::Hash[Symbol, Class])
|
@@ -12,9 +12,11 @@ module ShopifyAPI
|
|
12
12
|
@prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
13
13
|
@next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
@api_call_limit = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
16
|
+
@retry_request_after = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
17
|
+
|
18
|
+
sig { params(session: T.nilable(ShopifyAPI::Auth::Session), from_hash: T.nilable(T::Hash[T.untyped, T.untyped])).void }
|
19
|
+
def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)
|
18
20
|
|
19
21
|
@confirmation_url = T.let(nil, T.nilable(String))
|
20
22
|
@created_at = T.let(nil, T.nilable(String))
|
@@ -26,6 +28,8 @@ module ShopifyAPI
|
|
26
28
|
@status = T.let(nil, T.nilable(String))
|
27
29
|
@test = T.let(nil, T.nilable(T::Boolean))
|
28
30
|
@updated_at = T.let(nil, T.nilable(String))
|
31
|
+
|
32
|
+
super(session: session, from_hash: from_hash)
|
29
33
|
end
|
30
34
|
|
31
35
|
@has_one = T.let({
|
@@ -12,15 +12,19 @@ module ShopifyAPI
|
|
12
12
|
@prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
13
13
|
@next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
@api_call_limit = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
16
|
+
@retry_request_after = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
17
|
+
|
18
|
+
sig { params(session: T.nilable(ShopifyAPI::Auth::Session), from_hash: T.nilable(T::Hash[T.untyped, T.untyped])).void }
|
19
|
+
def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)
|
18
20
|
|
19
21
|
@amount = T.let(nil, T.nilable(String))
|
20
22
|
@currency = T.let(nil, T.nilable(Currency))
|
21
23
|
@description = T.let(nil, T.nilable(String))
|
22
24
|
@id = T.let(nil, T.nilable(Integer))
|
23
25
|
@test = T.let(nil, T.nilable(T::Boolean))
|
26
|
+
|
27
|
+
super(session: session, from_hash: from_hash)
|
24
28
|
end
|
25
29
|
|
26
30
|
@has_one = T.let({
|
@@ -12,9 +12,11 @@ module ShopifyAPI
|
|
12
12
|
@prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
13
13
|
@next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
@api_call_limit = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
16
|
+
@retry_request_after = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
17
|
+
|
18
|
+
sig { params(session: T.nilable(ShopifyAPI::Auth::Session), from_hash: T.nilable(T::Hash[T.untyped, T.untyped])).void }
|
19
|
+
def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)
|
18
20
|
|
19
21
|
@author = T.let(nil, T.nilable(String))
|
20
22
|
@blog_id = T.let(nil, T.nilable(Integer))
|
@@ -32,6 +34,8 @@ module ShopifyAPI
|
|
32
34
|
@title = T.let(nil, T.nilable(String))
|
33
35
|
@updated_at = T.let(nil, T.nilable(String))
|
34
36
|
@user_id = T.let(nil, T.nilable(Integer))
|
37
|
+
|
38
|
+
super(session: session, from_hash: from_hash)
|
35
39
|
end
|
36
40
|
|
37
41
|
@has_one = T.let({}, T::Hash[Symbol, Class])
|
@@ -12,9 +12,11 @@ module ShopifyAPI
|
|
12
12
|
@prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
13
13
|
@next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
@api_call_limit = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
16
|
+
@retry_request_after = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
17
|
+
|
18
|
+
sig { params(session: T.nilable(ShopifyAPI::Auth::Session), from_hash: T.nilable(T::Hash[T.untyped, T.untyped])).void }
|
19
|
+
def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)
|
18
20
|
|
19
21
|
@attachment = T.let(nil, T.nilable(String))
|
20
22
|
@checksum = T.let(nil, T.nilable(String))
|
@@ -26,6 +28,8 @@ module ShopifyAPI
|
|
26
28
|
@theme_id = T.let(nil, T.nilable(Integer))
|
27
29
|
@updated_at = T.let(nil, T.nilable(String))
|
28
30
|
@value = T.let(nil, T.nilable(String))
|
31
|
+
|
32
|
+
super(session: session, from_hash: from_hash)
|
29
33
|
end
|
30
34
|
|
31
35
|
@has_one = T.let({}, T::Hash[Symbol, Class])
|
@@ -12,9 +12,11 @@ module ShopifyAPI
|
|
12
12
|
@prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
13
13
|
@next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
@api_call_limit = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
16
|
+
@retry_request_after = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
|
17
|
+
|
18
|
+
sig { params(session: T.nilable(ShopifyAPI::Auth::Session), from_hash: T.nilable(T::Hash[T.untyped, T.untyped])).void }
|
19
|
+
def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)
|
18
20
|
|
19
21
|
@assigned_location_id = T.let(nil, T.nilable(Integer))
|
20
22
|
@destination = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
|
@@ -24,6 +26,8 @@ module ShopifyAPI
|
|
24
26
|
@request_status = T.let(nil, T.nilable(String))
|
25
27
|
@shop_id = T.let(nil, T.nilable(Integer))
|
26
28
|
@status = T.let(nil, T.nilable(String))
|
29
|
+
|
30
|
+
super(session: session, from_hash: from_hash)
|
27
31
|
end
|
28
32
|
|
29
33
|
@has_one = T.let({}, T::Hash[Symbol, Class])
|
@@ -51,10 +55,12 @@ module ShopifyAPI
|
|
51
55
|
|
52
56
|
class << self
|
53
57
|
sig do
|
54
|
-
returns(String)
|
58
|
+
returns(T::Array[String])
|
55
59
|
end
|
56
|
-
def
|
57
|
-
|
60
|
+
def json_response_body_names()
|
61
|
+
[
|
62
|
+
"fulfillment_order"
|
63
|
+
]
|
58
64
|
end
|
59
65
|
|
60
66
|
sig do
|