@shopify/shopify-api 13.1.0 → 14.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/lib/auth/oauth/create-session.js +1 -1
- package/dist/cjs/lib/auth/oauth/create-session.js.map +1 -1
- package/dist/cjs/lib/auth/oauth/oauth.js +4 -1
- package/dist/cjs/lib/auth/oauth/oauth.js.map +1 -1
- package/dist/cjs/lib/billing/types.js.map +1 -1
- package/dist/cjs/lib/clients/common.js +64 -8
- package/dist/cjs/lib/clients/common.js.map +1 -1
- package/dist/cjs/lib/config.js +2 -2
- package/dist/cjs/lib/config.js.map +1 -1
- package/dist/cjs/lib/types.js +1 -1
- package/dist/cjs/lib/types.js.map +1 -1
- package/dist/cjs/lib/utils/fetch-request.js +12 -1
- package/dist/cjs/lib/utils/fetch-request.js.map +1 -1
- package/dist/cjs/lib/utils/hmac-validator.js +53 -7
- package/dist/cjs/lib/utils/hmac-validator.js.map +1 -1
- package/dist/cjs/lib/utils/processed-query.js +1 -1
- package/dist/cjs/lib/utils/processed-query.js.map +1 -1
- package/dist/cjs/lib/version.js +1 -1
- package/dist/cjs/lib/version.js.map +1 -1
- package/dist/cjs/lib/webhooks/process.js +2 -2
- package/dist/cjs/lib/webhooks/process.js.map +1 -1
- package/dist/cjs/lib/webhooks/register.js +0 -4
- package/dist/cjs/lib/webhooks/register.js.map +1 -1
- package/dist/cjs/lib/webhooks/types.js +0 -1
- package/dist/cjs/lib/webhooks/types.js.map +1 -1
- package/dist/cjs/lib/webhooks/validate.js +0 -3
- package/dist/cjs/lib/webhooks/validate.js.map +1 -1
- package/dist/cjs/rest/admin/2026-07/abandoned_checkout.js +85 -0
- package/dist/cjs/rest/admin/2026-07/abandoned_checkout.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/access_scope.js +36 -0
- package/dist/cjs/rest/admin/2026-07/access_scope.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/apple_pay_certificate.js +62 -0
- package/dist/cjs/rest/admin/2026-07/apple_pay_certificate.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/application_charge.js +56 -0
- package/dist/cjs/rest/admin/2026-07/application_charge.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/application_credit.js +50 -0
- package/dist/cjs/rest/admin/2026-07/application_credit.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/article.js +114 -0
- package/dist/cjs/rest/admin/2026-07/article.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/asset.js +57 -0
- package/dist/cjs/rest/admin/2026-07/asset.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/assigned_fulfillment_order.js +41 -0
- package/dist/cjs/rest/admin/2026-07/assigned_fulfillment_order.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/balance.js +34 -0
- package/dist/cjs/rest/admin/2026-07/balance.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/blog.js +83 -0
- package/dist/cjs/rest/admin/2026-07/blog.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/cancellation_request.js +52 -0
- package/dist/cjs/rest/admin/2026-07/cancellation_request.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/carrier_service.js +63 -0
- package/dist/cjs/rest/admin/2026-07/carrier_service.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/checkout.js +103 -0
- package/dist/cjs/rest/admin/2026-07/checkout.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/collect.js +74 -0
- package/dist/cjs/rest/admin/2026-07/collect.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/collection.js +59 -0
- package/dist/cjs/rest/admin/2026-07/collection.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/collection_listing.js +80 -0
- package/dist/cjs/rest/admin/2026-07/collection_listing.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/comment.js +135 -0
- package/dist/cjs/rest/admin/2026-07/comment.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/country.js +76 -0
- package/dist/cjs/rest/admin/2026-07/country.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/currency.js +35 -0
- package/dist/cjs/rest/admin/2026-07/currency.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/custom_collection.js +79 -0
- package/dist/cjs/rest/admin/2026-07/custom_collection.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/customer.js +150 -0
- package/dist/cjs/rest/admin/2026-07/customer.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/deprecated_api_call.js +35 -0
- package/dist/cjs/rest/admin/2026-07/deprecated_api_call.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/discount_code.js +115 -0
- package/dist/cjs/rest/admin/2026-07/discount_code.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/dispute.js +53 -0
- package/dist/cjs/rest/admin/2026-07/dispute.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/dispute_evidence.js +57 -0
- package/dist/cjs/rest/admin/2026-07/dispute_evidence.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/dispute_file_upload.js +45 -0
- package/dist/cjs/rest/admin/2026-07/dispute_file_upload.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/draft_order.js +126 -0
- package/dist/cjs/rest/admin/2026-07/draft_order.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/event.js +67 -0
- package/dist/cjs/rest/admin/2026-07/event.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/fulfillment.js +102 -0
- package/dist/cjs/rest/admin/2026-07/fulfillment.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/fulfillment_event.js +79 -0
- package/dist/cjs/rest/admin/2026-07/fulfillment_event.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/fulfillment_order.js +164 -0
- package/dist/cjs/rest/admin/2026-07/fulfillment_order.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/fulfillment_request.js +61 -0
- package/dist/cjs/rest/admin/2026-07/fulfillment_request.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/fulfillment_service.js +66 -0
- package/dist/cjs/rest/admin/2026-07/fulfillment_service.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/gift_card.js +105 -0
- package/dist/cjs/rest/admin/2026-07/gift_card.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/gift_card_adjustment.js +58 -0
- package/dist/cjs/rest/admin/2026-07/gift_card_adjustment.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/image.js +77 -0
- package/dist/cjs/rest/admin/2026-07/image.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/index.js +155 -0
- package/dist/cjs/rest/admin/2026-07/index.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/inventory_item.js +54 -0
- package/dist/cjs/rest/admin/2026-07/inventory_item.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/inventory_level.js +87 -0
- package/dist/cjs/rest/admin/2026-07/inventory_level.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/location.js +85 -0
- package/dist/cjs/rest/admin/2026-07/location.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/locations_for_move.js +34 -0
- package/dist/cjs/rest/admin/2026-07/locations_for_move.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/marketing_event.js +98 -0
- package/dist/cjs/rest/admin/2026-07/marketing_event.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/metafield.js +154 -0
- package/dist/cjs/rest/admin/2026-07/metafield.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/mobile_platform_application.js +63 -0
- package/dist/cjs/rest/admin/2026-07/mobile_platform_application.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/order.js +202 -0
- package/dist/cjs/rest/admin/2026-07/order.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/order_risk.js +68 -0
- package/dist/cjs/rest/admin/2026-07/order_risk.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/page.js +83 -0
- package/dist/cjs/rest/admin/2026-07/page.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/payment.js +46 -0
- package/dist/cjs/rest/admin/2026-07/payment.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/payment_gateway.js +72 -0
- package/dist/cjs/rest/admin/2026-07/payment_gateway.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/payment_transaction.js +56 -0
- package/dist/cjs/rest/admin/2026-07/payment_transaction.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/payout.js +47 -0
- package/dist/cjs/rest/admin/2026-07/payout.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/policy.js +39 -0
- package/dist/cjs/rest/admin/2026-07/policy.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/price_rule.js +97 -0
- package/dist/cjs/rest/admin/2026-07/price_rule.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/product.js +89 -0
- package/dist/cjs/rest/admin/2026-07/product.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/product_listing.js +99 -0
- package/dist/cjs/rest/admin/2026-07/product_listing.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/product_resource_feedback.js +46 -0
- package/dist/cjs/rest/admin/2026-07/product_resource_feedback.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/province.js +65 -0
- package/dist/cjs/rest/admin/2026-07/province.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/recurring_application_charge.js +87 -0
- package/dist/cjs/rest/admin/2026-07/recurring_application_charge.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/redirect.js +71 -0
- package/dist/cjs/rest/admin/2026-07/redirect.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/refund.js +72 -0
- package/dist/cjs/rest/admin/2026-07/refund.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/resource_feedback.js +41 -0
- package/dist/cjs/rest/admin/2026-07/resource_feedback.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/script_tag.js +75 -0
- package/dist/cjs/rest/admin/2026-07/script_tag.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/shipping_zone.js +47 -0
- package/dist/cjs/rest/admin/2026-07/shipping_zone.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/shop.js +96 -0
- package/dist/cjs/rest/admin/2026-07/shop.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/smart_collection.js +93 -0
- package/dist/cjs/rest/admin/2026-07/smart_collection.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/storefront_access_token.js +50 -0
- package/dist/cjs/rest/admin/2026-07/storefront_access_token.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/tender_transaction.js +43 -0
- package/dist/cjs/rest/admin/2026-07/tender_transaction.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/theme.js +64 -0
- package/dist/cjs/rest/admin/2026-07/theme.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/transaction.js +83 -0
- package/dist/cjs/rest/admin/2026-07/transaction.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/usage_charge.js +53 -0
- package/dist/cjs/rest/admin/2026-07/usage_charge.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/user.js +69 -0
- package/dist/cjs/rest/admin/2026-07/user.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/variant.js +96 -0
- package/dist/cjs/rest/admin/2026-07/variant.js.map +1 -0
- package/dist/cjs/rest/admin/2026-07/webhook.js +78 -0
- package/dist/cjs/rest/admin/2026-07/webhook.js.map +1 -0
- package/dist/cjs/runtime/crypto/utils.js.map +1 -1
- package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/lib/auth/oauth/create-session.mjs +1 -1
- package/dist/esm/lib/auth/oauth/create-session.mjs.map +1 -1
- package/dist/esm/lib/auth/oauth/oauth.mjs +4 -1
- package/dist/esm/lib/auth/oauth/oauth.mjs.map +1 -1
- package/dist/esm/lib/billing/types.mjs.map +1 -1
- package/dist/esm/lib/clients/common.mjs +64 -8
- package/dist/esm/lib/clients/common.mjs.map +1 -1
- package/dist/esm/lib/config.mjs +2 -2
- package/dist/esm/lib/config.mjs.map +1 -1
- package/dist/esm/lib/types.mjs +1 -1
- package/dist/esm/lib/types.mjs.map +1 -1
- package/dist/esm/lib/utils/fetch-request.mjs +12 -1
- package/dist/esm/lib/utils/fetch-request.mjs.map +1 -1
- package/dist/esm/lib/utils/hmac-validator.mjs +53 -7
- package/dist/esm/lib/utils/hmac-validator.mjs.map +1 -1
- package/dist/esm/lib/utils/processed-query.mjs +1 -1
- package/dist/esm/lib/utils/processed-query.mjs.map +1 -1
- package/dist/esm/lib/version.mjs +1 -1
- package/dist/esm/lib/version.mjs.map +1 -1
- package/dist/esm/lib/webhooks/process.mjs +2 -2
- package/dist/esm/lib/webhooks/process.mjs.map +1 -1
- package/dist/esm/lib/webhooks/register.mjs +0 -4
- package/dist/esm/lib/webhooks/register.mjs.map +1 -1
- package/dist/esm/lib/webhooks/types.mjs +0 -1
- package/dist/esm/lib/webhooks/types.mjs.map +1 -1
- package/dist/esm/lib/webhooks/validate.mjs +0 -3
- package/dist/esm/lib/webhooks/validate.mjs.map +1 -1
- package/dist/esm/rest/admin/2026-07/abandoned_checkout.mjs +83 -0
- package/dist/esm/rest/admin/2026-07/abandoned_checkout.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/access_scope.mjs +34 -0
- package/dist/esm/rest/admin/2026-07/access_scope.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/apple_pay_certificate.mjs +60 -0
- package/dist/esm/rest/admin/2026-07/apple_pay_certificate.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/application_charge.mjs +54 -0
- package/dist/esm/rest/admin/2026-07/application_charge.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/application_credit.mjs +48 -0
- package/dist/esm/rest/admin/2026-07/application_credit.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/article.mjs +112 -0
- package/dist/esm/rest/admin/2026-07/article.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/asset.mjs +55 -0
- package/dist/esm/rest/admin/2026-07/asset.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/assigned_fulfillment_order.mjs +39 -0
- package/dist/esm/rest/admin/2026-07/assigned_fulfillment_order.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/balance.mjs +32 -0
- package/dist/esm/rest/admin/2026-07/balance.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/blog.mjs +81 -0
- package/dist/esm/rest/admin/2026-07/blog.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/cancellation_request.mjs +50 -0
- package/dist/esm/rest/admin/2026-07/cancellation_request.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/carrier_service.mjs +61 -0
- package/dist/esm/rest/admin/2026-07/carrier_service.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/checkout.mjs +101 -0
- package/dist/esm/rest/admin/2026-07/checkout.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/collect.mjs +72 -0
- package/dist/esm/rest/admin/2026-07/collect.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/collection.mjs +57 -0
- package/dist/esm/rest/admin/2026-07/collection.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/collection_listing.mjs +78 -0
- package/dist/esm/rest/admin/2026-07/collection_listing.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/comment.mjs +133 -0
- package/dist/esm/rest/admin/2026-07/comment.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/country.mjs +74 -0
- package/dist/esm/rest/admin/2026-07/country.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/currency.mjs +33 -0
- package/dist/esm/rest/admin/2026-07/currency.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/custom_collection.mjs +77 -0
- package/dist/esm/rest/admin/2026-07/custom_collection.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/customer.mjs +148 -0
- package/dist/esm/rest/admin/2026-07/customer.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/deprecated_api_call.mjs +33 -0
- package/dist/esm/rest/admin/2026-07/deprecated_api_call.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/discount_code.mjs +113 -0
- package/dist/esm/rest/admin/2026-07/discount_code.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/dispute.mjs +51 -0
- package/dist/esm/rest/admin/2026-07/dispute.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/dispute_evidence.mjs +55 -0
- package/dist/esm/rest/admin/2026-07/dispute_evidence.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/dispute_file_upload.mjs +43 -0
- package/dist/esm/rest/admin/2026-07/dispute_file_upload.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/draft_order.mjs +124 -0
- package/dist/esm/rest/admin/2026-07/draft_order.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/event.mjs +65 -0
- package/dist/esm/rest/admin/2026-07/event.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/fulfillment.mjs +100 -0
- package/dist/esm/rest/admin/2026-07/fulfillment.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/fulfillment_event.mjs +77 -0
- package/dist/esm/rest/admin/2026-07/fulfillment_event.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/fulfillment_order.mjs +162 -0
- package/dist/esm/rest/admin/2026-07/fulfillment_order.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/fulfillment_request.mjs +59 -0
- package/dist/esm/rest/admin/2026-07/fulfillment_request.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/fulfillment_service.mjs +64 -0
- package/dist/esm/rest/admin/2026-07/fulfillment_service.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/gift_card.mjs +103 -0
- package/dist/esm/rest/admin/2026-07/gift_card.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/gift_card_adjustment.mjs +56 -0
- package/dist/esm/rest/admin/2026-07/gift_card_adjustment.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/image.mjs +75 -0
- package/dist/esm/rest/admin/2026-07/image.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/index.mjs +153 -0
- package/dist/esm/rest/admin/2026-07/index.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/inventory_item.mjs +52 -0
- package/dist/esm/rest/admin/2026-07/inventory_item.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/inventory_level.mjs +85 -0
- package/dist/esm/rest/admin/2026-07/inventory_level.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/location.mjs +83 -0
- package/dist/esm/rest/admin/2026-07/location.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/locations_for_move.mjs +32 -0
- package/dist/esm/rest/admin/2026-07/locations_for_move.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/marketing_event.mjs +96 -0
- package/dist/esm/rest/admin/2026-07/marketing_event.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/metafield.mjs +152 -0
- package/dist/esm/rest/admin/2026-07/metafield.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/mobile_platform_application.mjs +61 -0
- package/dist/esm/rest/admin/2026-07/mobile_platform_application.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/order.mjs +200 -0
- package/dist/esm/rest/admin/2026-07/order.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/order_risk.mjs +66 -0
- package/dist/esm/rest/admin/2026-07/order_risk.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/page.mjs +81 -0
- package/dist/esm/rest/admin/2026-07/page.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/payment.mjs +44 -0
- package/dist/esm/rest/admin/2026-07/payment.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/payment_gateway.mjs +70 -0
- package/dist/esm/rest/admin/2026-07/payment_gateway.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/payment_transaction.mjs +54 -0
- package/dist/esm/rest/admin/2026-07/payment_transaction.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/payout.mjs +45 -0
- package/dist/esm/rest/admin/2026-07/payout.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/policy.mjs +37 -0
- package/dist/esm/rest/admin/2026-07/policy.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/price_rule.mjs +95 -0
- package/dist/esm/rest/admin/2026-07/price_rule.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/product.mjs +87 -0
- package/dist/esm/rest/admin/2026-07/product.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/product_listing.mjs +97 -0
- package/dist/esm/rest/admin/2026-07/product_listing.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/product_resource_feedback.mjs +44 -0
- package/dist/esm/rest/admin/2026-07/product_resource_feedback.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/province.mjs +63 -0
- package/dist/esm/rest/admin/2026-07/province.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/recurring_application_charge.mjs +85 -0
- package/dist/esm/rest/admin/2026-07/recurring_application_charge.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/redirect.mjs +69 -0
- package/dist/esm/rest/admin/2026-07/redirect.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/refund.mjs +70 -0
- package/dist/esm/rest/admin/2026-07/refund.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/resource_feedback.mjs +39 -0
- package/dist/esm/rest/admin/2026-07/resource_feedback.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/script_tag.mjs +73 -0
- package/dist/esm/rest/admin/2026-07/script_tag.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/shipping_zone.mjs +45 -0
- package/dist/esm/rest/admin/2026-07/shipping_zone.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/shop.mjs +94 -0
- package/dist/esm/rest/admin/2026-07/shop.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/smart_collection.mjs +91 -0
- package/dist/esm/rest/admin/2026-07/smart_collection.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/storefront_access_token.mjs +48 -0
- package/dist/esm/rest/admin/2026-07/storefront_access_token.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/tender_transaction.mjs +41 -0
- package/dist/esm/rest/admin/2026-07/tender_transaction.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/theme.mjs +62 -0
- package/dist/esm/rest/admin/2026-07/theme.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/transaction.mjs +81 -0
- package/dist/esm/rest/admin/2026-07/transaction.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/usage_charge.mjs +51 -0
- package/dist/esm/rest/admin/2026-07/usage_charge.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/user.mjs +67 -0
- package/dist/esm/rest/admin/2026-07/user.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/variant.mjs +94 -0
- package/dist/esm/rest/admin/2026-07/variant.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-07/webhook.mjs +76 -0
- package/dist/esm/rest/admin/2026-07/webhook.mjs.map +1 -0
- package/dist/esm/runtime/crypto/utils.mjs.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/ts/lib/auth/oauth/oauth.d.ts.map +1 -1
- package/dist/ts/lib/base-types.d.ts +28 -0
- package/dist/ts/lib/base-types.d.ts.map +1 -1
- package/dist/ts/lib/billing/types.d.ts.map +1 -1
- package/dist/ts/lib/clients/common.d.ts.map +1 -1
- package/dist/ts/lib/types.d.ts +1 -1
- package/dist/ts/lib/types.d.ts.map +1 -1
- package/dist/ts/lib/utils/fetch-request.d.ts.map +1 -1
- package/dist/ts/lib/utils/hmac-validator.d.ts +3 -1
- package/dist/ts/lib/utils/hmac-validator.d.ts.map +1 -1
- package/dist/ts/lib/utils/index.d.ts +1 -1
- package/dist/ts/lib/version.d.ts +1 -1
- package/dist/ts/lib/webhooks/register.d.ts.map +1 -1
- package/dist/ts/lib/webhooks/types.d.ts +1 -4
- package/dist/ts/lib/webhooks/types.d.ts.map +1 -1
- package/dist/ts/rest/admin/2026-07/abandoned_checkout.d.ts +90 -0
- package/dist/ts/rest/admin/2026-07/abandoned_checkout.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/access_scope.d.ts +30 -0
- package/dist/ts/rest/admin/2026-07/access_scope.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/apple_pay_certificate.d.ts +39 -0
- package/dist/ts/rest/admin/2026-07/apple_pay_certificate.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/application_charge.d.ts +46 -0
- package/dist/ts/rest/admin/2026-07/application_charge.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/application_credit.d.ts +40 -0
- package/dist/ts/rest/admin/2026-07/application_credit.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/article.d.ts +99 -0
- package/dist/ts/rest/admin/2026-07/article.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/asset.d.ts +49 -0
- package/dist/ts/rest/admin/2026-07/asset.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/assigned_fulfillment_order.d.ts +39 -0
- package/dist/ts/rest/admin/2026-07/assigned_fulfillment_order.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/balance.d.ts +28 -0
- package/dist/ts/rest/admin/2026-07/balance.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/blog.d.ts +60 -0
- package/dist/ts/rest/admin/2026-07/blog.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/cancellation_request.d.ts +36 -0
- package/dist/ts/rest/admin/2026-07/cancellation_request.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/carrier_service.d.ts +43 -0
- package/dist/ts/rest/admin/2026-07/carrier_service.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/checkout.d.ts +95 -0
- package/dist/ts/rest/admin/2026-07/checkout.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/collect.d.ts +51 -0
- package/dist/ts/rest/admin/2026-07/collect.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/collection.d.ts +46 -0
- package/dist/ts/rest/admin/2026-07/collection.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/collection_listing.d.ts +58 -0
- package/dist/ts/rest/admin/2026-07/collection_listing.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/comment.d.ts +103 -0
- package/dist/ts/rest/admin/2026-07/comment.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/country.d.ts +51 -0
- package/dist/ts/rest/admin/2026-07/country.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/currency.d.ts +27 -0
- package/dist/ts/rest/admin/2026-07/currency.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/custom_collection.d.ts +73 -0
- package/dist/ts/rest/admin/2026-07/custom_collection.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/customer.d.ts +121 -0
- package/dist/ts/rest/admin/2026-07/customer.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/deprecated_api_call.d.ts +29 -0
- package/dist/ts/rest/admin/2026-07/deprecated_api_call.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/discount_code.d.ts +76 -0
- package/dist/ts/rest/admin/2026-07/discount_code.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/dispute.d.ts +45 -0
- package/dist/ts/rest/admin/2026-07/dispute.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/dispute_evidence.d.ts +56 -0
- package/dist/ts/rest/admin/2026-07/dispute_evidence.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/dispute_file_upload.d.ts +35 -0
- package/dist/ts/rest/admin/2026-07/dispute_file_upload.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/draft_order.d.ts +116 -0
- package/dist/ts/rest/admin/2026-07/draft_order.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/event.d.ts +57 -0
- package/dist/ts/rest/admin/2026-07/event.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/fulfillment.d.ts +92 -0
- package/dist/ts/rest/admin/2026-07/fulfillment.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/fulfillment_event.d.ts +66 -0
- package/dist/ts/rest/admin/2026-07/fulfillment_event.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/fulfillment_order.d.ts +129 -0
- package/dist/ts/rest/admin/2026-07/fulfillment_order.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/fulfillment_request.d.ts +47 -0
- package/dist/ts/rest/admin/2026-07/fulfillment_request.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/fulfillment_service.d.ts +47 -0
- package/dist/ts/rest/admin/2026-07/fulfillment_service.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/gift_card.d.ts +83 -0
- package/dist/ts/rest/admin/2026-07/gift_card.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/gift_card_adjustment.d.ts +45 -0
- package/dist/ts/rest/admin/2026-07/gift_card_adjustment.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/image.d.ts +57 -0
- package/dist/ts/rest/admin/2026-07/image.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/index.d.ts +152 -0
- package/dist/ts/rest/admin/2026-07/index.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/inventory_item.d.ts +45 -0
- package/dist/ts/rest/admin/2026-07/inventory_item.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/inventory_level.d.ts +70 -0
- package/dist/ts/rest/admin/2026-07/inventory_level.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/location.d.ts +59 -0
- package/dist/ts/rest/admin/2026-07/location.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/locations_for_move.d.ts +29 -0
- package/dist/ts/rest/admin/2026-07/locations_for_move.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/marketing_event.d.ts +79 -0
- package/dist/ts/rest/admin/2026-07/marketing_event.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/metafield.d.ts +111 -0
- package/dist/ts/rest/admin/2026-07/metafield.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/mobile_platform_application.d.ts +43 -0
- package/dist/ts/rest/admin/2026-07/mobile_platform_application.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/order.d.ts +239 -0
- package/dist/ts/rest/admin/2026-07/order.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/order_risk.d.ts +49 -0
- package/dist/ts/rest/admin/2026-07/order_risk.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/page.d.ts +76 -0
- package/dist/ts/rest/admin/2026-07/page.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/payment.d.ts +43 -0
- package/dist/ts/rest/admin/2026-07/payment.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/payment_gateway.d.ts +52 -0
- package/dist/ts/rest/admin/2026-07/payment_gateway.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/payment_transaction.d.ts +51 -0
- package/dist/ts/rest/admin/2026-07/payment_transaction.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/payout.d.ts +41 -0
- package/dist/ts/rest/admin/2026-07/payout.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/policy.d.ts +31 -0
- package/dist/ts/rest/admin/2026-07/policy.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/price_rule.d.ts +90 -0
- package/dist/ts/rest/admin/2026-07/price_rule.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/product.d.ts +95 -0
- package/dist/ts/rest/admin/2026-07/product.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/product_listing.d.ts +73 -0
- package/dist/ts/rest/admin/2026-07/product_listing.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/product_resource_feedback.d.ts +36 -0
- package/dist/ts/rest/admin/2026-07/product_resource_feedback.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/province.d.ts +50 -0
- package/dist/ts/rest/admin/2026-07/province.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/recurring_application_charge.d.ts +65 -0
- package/dist/ts/rest/admin/2026-07/recurring_application_charge.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/redirect.d.ts +51 -0
- package/dist/ts/rest/admin/2026-07/redirect.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/refund.d.ts +73 -0
- package/dist/ts/rest/admin/2026-07/refund.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/resource_feedback.d.ts +32 -0
- package/dist/ts/rest/admin/2026-07/resource_feedback.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/script_tag.d.ts +57 -0
- package/dist/ts/rest/admin/2026-07/script_tag.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/shipping_zone.d.ts +45 -0
- package/dist/ts/rest/admin/2026-07/shipping_zone.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/shop.d.ts +82 -0
- package/dist/ts/rest/admin/2026-07/shop.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/smart_collection.d.ts +87 -0
- package/dist/ts/rest/admin/2026-07/smart_collection.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/storefront_access_token.d.ts +35 -0
- package/dist/ts/rest/admin/2026-07/storefront_access_token.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/tender_transaction.d.ts +43 -0
- package/dist/ts/rest/admin/2026-07/tender_transaction.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/theme.d.ts +46 -0
- package/dist/ts/rest/admin/2026-07/theme.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/transaction.d.ts +82 -0
- package/dist/ts/rest/admin/2026-07/transaction.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/usage_charge.d.ts +44 -0
- package/dist/ts/rest/admin/2026-07/usage_charge.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/user.d.ts +51 -0
- package/dist/ts/rest/admin/2026-07/user.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/variant.d.ts +78 -0
- package/dist/ts/rest/admin/2026-07/variant.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-07/webhook.d.ts +62 -0
- package/dist/ts/rest/admin/2026-07/webhook.d.ts.map +1 -0
- package/dist/ts/tsconfig.build.tsbuildinfo +1 -1
- package/lib/__test-helpers__/graphql-base-request.ts +1 -1
- package/lib/auth/oauth/create-session.ts +1 -1
- package/lib/auth/oauth/oauth.ts +5 -1
- package/lib/base-types.ts +28 -0
- package/lib/billing/types.ts +2 -4
- package/lib/clients/common.ts +91 -7
- package/lib/config.ts +2 -2
- package/lib/types.ts +1 -1
- package/lib/utils/fetch-request.ts +13 -1
- package/lib/utils/hmac-validator.ts +78 -8
- package/lib/utils/processed-query.ts +1 -1
- package/lib/version.ts +1 -1
- package/lib/webhooks/process.ts +1 -2
- package/lib/webhooks/register.ts +0 -5
- package/lib/webhooks/types.ts +1 -7
- package/lib/webhooks/validate.ts +0 -3
- package/package.json +10 -11
- package/rest/admin/2026-07/abandoned_checkout.ts +112 -0
- package/rest/admin/2026-07/access_scope.ts +48 -0
- package/rest/admin/2026-07/apple_pay_certificate.ts +97 -0
- package/rest/admin/2026-07/application_charge.ts +85 -0
- package/rest/admin/2026-07/application_credit.ts +77 -0
- package/rest/admin/2026-07/article.ts +237 -0
- package/rest/admin/2026-07/asset.ts +88 -0
- package/rest/admin/2026-07/assigned_fulfillment_order.ts +57 -0
- package/rest/admin/2026-07/balance.ts +46 -0
- package/rest/admin/2026-07/blog.ts +138 -0
- package/rest/admin/2026-07/cancellation_request.ts +78 -0
- package/rest/admin/2026-07/carrier_service.ts +96 -0
- package/rest/admin/2026-07/checkout.ts +139 -0
- package/rest/admin/2026-07/collect.ts +126 -0
- package/rest/admin/2026-07/collection.ts +88 -0
- package/rest/admin/2026-07/collection_listing.ts +131 -0
- package/rest/admin/2026-07/comment.ts +263 -0
- package/rest/admin/2026-07/country.ts +127 -0
- package/rest/admin/2026-07/currency.ts +47 -0
- package/rest/admin/2026-07/custom_collection.ts +163 -0
- package/rest/admin/2026-07/customer.ts +277 -0
- package/rest/admin/2026-07/deprecated_api_call.ts +47 -0
- package/rest/admin/2026-07/discount_code.ts +212 -0
- package/rest/admin/2026-07/dispute.ts +83 -0
- package/rest/admin/2026-07/dispute_evidence.ts +69 -0
- package/rest/admin/2026-07/dispute_file_upload.ts +59 -0
- package/rest/admin/2026-07/draft_order.ts +221 -0
- package/rest/admin/2026-07/event.ts +124 -0
- package/rest/admin/2026-07/fulfillment.ts +193 -0
- package/rest/admin/2026-07/fulfillment_event.ts +129 -0
- package/rest/admin/2026-07/fulfillment_order.ts +296 -0
- package/rest/admin/2026-07/fulfillment_request.ts +91 -0
- package/rest/admin/2026-07/fulfillment_service.ts +101 -0
- package/rest/admin/2026-07/gift_card.ts +187 -0
- package/rest/admin/2026-07/gift_card_adjustment.ts +86 -0
- package/rest/admin/2026-07/image.ts +137 -0
- package/rest/admin/2026-07/index.ts +228 -0
- package/rest/admin/2026-07/inventory_item.ts +80 -0
- package/rest/admin/2026-07/inventory_level.ts +173 -0
- package/rest/admin/2026-07/location.ts +133 -0
- package/rest/admin/2026-07/locations_for_move.ts +48 -0
- package/rest/admin/2026-07/marketing_event.ts +175 -0
- package/rest/admin/2026-07/metafield.ts +300 -0
- package/rest/admin/2026-07/mobile_platform_application.ts +96 -0
- package/rest/admin/2026-07/order.ts +338 -0
- package/rest/admin/2026-07/order_risk.ts +109 -0
- package/rest/admin/2026-07/page.ts +170 -0
- package/rest/admin/2026-07/payment.ts +60 -0
- package/rest/admin/2026-07/payment_gateway.ts +105 -0
- package/rest/admin/2026-07/payment_transaction.ts +79 -0
- package/rest/admin/2026-07/payout.ts +81 -0
- package/rest/admin/2026-07/policy.ts +51 -0
- package/rest/admin/2026-07/price_rule.ts +163 -0
- package/rest/admin/2026-07/product.ts +192 -0
- package/rest/admin/2026-07/product_listing.ts +167 -0
- package/rest/admin/2026-07/product_resource_feedback.ts +62 -0
- package/rest/admin/2026-07/province.ts +110 -0
- package/rest/admin/2026-07/recurring_application_charge.ts +138 -0
- package/rest/admin/2026-07/redirect.ts +131 -0
- package/rest/admin/2026-07/refund.ts +126 -0
- package/rest/admin/2026-07/resource_feedback.ts +53 -0
- package/rest/admin/2026-07/script_tag.ts +139 -0
- package/rest/admin/2026-07/shipping_zone.ts +62 -0
- package/rest/admin/2026-07/shop.ts +118 -0
- package/rest/admin/2026-07/smart_collection.ts +192 -0
- package/rest/admin/2026-07/storefront_access_token.ts +73 -0
- package/rest/admin/2026-07/tender_transaction.ts +67 -0
- package/rest/admin/2026-07/theme.ts +101 -0
- package/rest/admin/2026-07/transaction.ts +132 -0
- package/rest/admin/2026-07/usage_charge.ts +84 -0
- package/rest/admin/2026-07/user.ts +106 -0
- package/rest/admin/2026-07/variant.ts +156 -0
- package/rest/admin/2026-07/webhook.ts +146 -0
- package/runtime/crypto/utils.ts +1 -1
|
@@ -5,6 +5,6 @@ export const ACCESS_TOKEN = 'access-token';
|
|
|
5
5
|
export const GRAPHQL_BASE_REQUEST = {
|
|
6
6
|
method: 'POST',
|
|
7
7
|
domain: DOMAIN,
|
|
8
|
-
path: `/admin/api/${ApiVersion.
|
|
8
|
+
path: `/admin/api/${ApiVersion.July26}/graphql.json`,
|
|
9
9
|
headers: {'X-Shopify-Access-Token': ACCESS_TOKEN},
|
|
10
10
|
};
|
|
@@ -31,7 +31,7 @@ export function createSession({
|
|
|
31
31
|
new Date(Date.now() + expires_in * 1000);
|
|
32
32
|
|
|
33
33
|
const getOnlineSessionProperties = (responseBody: OnlineAccessResponse) => {
|
|
34
|
-
const {access_token, scope, ...rest} = responseBody;
|
|
34
|
+
const {access_token: _access_token, scope: _scope, ...rest} = responseBody;
|
|
35
35
|
const sessionId = config.isEmbeddedApp
|
|
36
36
|
? getJwtSessionId(config)(
|
|
37
37
|
shop,
|
package/lib/auth/oauth/oauth.ts
CHANGED
|
@@ -217,11 +217,15 @@ export function callback(config: ConfigInterface): OAuthCallback {
|
|
|
217
217
|
});
|
|
218
218
|
|
|
219
219
|
if (!config.isEmbeddedApp) {
|
|
220
|
+
const cookiePath =
|
|
221
|
+
typeof config.cookiePath === 'function'
|
|
222
|
+
? config.cookiePath(session)
|
|
223
|
+
: (config.cookiePath ?? '/');
|
|
220
224
|
await cookies.setAndSign(SESSION_COOKIE_NAME, session.id, {
|
|
221
225
|
expires: session.expires,
|
|
222
226
|
sameSite: 'lax',
|
|
223
227
|
secure: true,
|
|
224
|
-
path:
|
|
228
|
+
path: cookiePath,
|
|
225
229
|
});
|
|
226
230
|
}
|
|
227
231
|
|
package/lib/base-types.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {ShopifyRestResources} from '../rest/types';
|
|
|
3
3
|
|
|
4
4
|
import {AuthScopes} from './auth/scopes';
|
|
5
5
|
import {BillingConfig} from './billing/types';
|
|
6
|
+
import {Session} from './session/session';
|
|
6
7
|
import {ApiVersion, DomainTransformation, LogSeverity} from './types';
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -135,6 +136,33 @@ export interface ConfigParams<
|
|
|
135
136
|
* @private
|
|
136
137
|
*/
|
|
137
138
|
_logDisabledFutureFlags?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* The path to use for the OAuth session cookie in non-embedded apps.
|
|
141
|
+
*
|
|
142
|
+
* By default the cookie is written with `path: '/'`, making it domain-wide.
|
|
143
|
+
* This means that when a user authenticates multiple shops in separate tabs,
|
|
144
|
+
* each OAuth callback overwrites the previous cookie, causing all tabs to use
|
|
145
|
+
* the most-recently-authenticated shop.
|
|
146
|
+
*
|
|
147
|
+
* Set this to a string or a function returning a string to scope the cookie to
|
|
148
|
+
* a URL path prefix that is unique per shop. The browser will then maintain
|
|
149
|
+
* one cookie per shop and deliver only the matching one per request.
|
|
150
|
+
*
|
|
151
|
+
* **Requirement:** the configured path must match the actual URL structure of
|
|
152
|
+
* your app — e.g. if each shop lives under `/shops/:shop/`, use that prefix.
|
|
153
|
+
* The library cannot derive this automatically.
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* // Static path (single-shop apps or apps with no shop-specific routing)
|
|
157
|
+
* cookiePath: '/'
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* // Factory function (multi-shop non-embedded apps)
|
|
161
|
+
* cookiePath: (session) => `/shops/${session.shop}/`
|
|
162
|
+
*
|
|
163
|
+
* @defaultValue `'/'`
|
|
164
|
+
*/
|
|
165
|
+
cookiePath?: string | ((session: Session) => string);
|
|
138
166
|
/**
|
|
139
167
|
* Whether the app is initialised for local testing.
|
|
140
168
|
*/
|
package/lib/billing/types.ts
CHANGED
|
@@ -66,8 +66,7 @@ export interface BillingConfigSubscriptionPlanDiscount {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
export type BillingConfigItem =
|
|
69
|
-
|
|
|
70
|
-
| BillingConfigSubscriptionLineItemPlan;
|
|
69
|
+
BillingConfigOneTimePlan | BillingConfigSubscriptionLineItemPlan;
|
|
71
70
|
|
|
72
71
|
// Type this as an interface to improve TSDoc support for it.
|
|
73
72
|
|
|
@@ -590,8 +589,7 @@ export interface SinglePaymentResponse {
|
|
|
590
589
|
}
|
|
591
590
|
|
|
592
591
|
export type RequestResponseData =
|
|
593
|
-
|
|
|
594
|
-
| AppPurchaseOneTimeCreate;
|
|
592
|
+
AppSubscriptionCreate | AppPurchaseOneTimeCreate;
|
|
595
593
|
|
|
596
594
|
export interface SubscriptionResponse {
|
|
597
595
|
currentAppInstallation?: ActiveSubscriptions;
|
package/lib/clients/common.ts
CHANGED
|
@@ -25,6 +25,86 @@ export function getUserAgent(config: ConfigInterface): string {
|
|
|
25
25
|
return userAgentPrefix;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
const REDACTED_LOG_VALUE = '****';
|
|
29
|
+
|
|
30
|
+
// These headers carry reusable credentials and must not reach the logs.
|
|
31
|
+
const SENSITIVE_LOG_HEADERS = new Set([
|
|
32
|
+
'authorization',
|
|
33
|
+
'cookie',
|
|
34
|
+
'set-cookie',
|
|
35
|
+
'shopify-storefront-private-token',
|
|
36
|
+
'x-shopify-access-token',
|
|
37
|
+
'x-shopify-storefront-access-token',
|
|
38
|
+
]);
|
|
39
|
+
|
|
40
|
+
function sanitizeHeaderValue(name: string, value: unknown): unknown {
|
|
41
|
+
return SENSITIVE_LOG_HEADERS.has(name.toLowerCase())
|
|
42
|
+
? REDACTED_LOG_VALUE
|
|
43
|
+
: value;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Keep the original serialized shape of request headers. A Headers instance
|
|
47
|
+
// has no own enumerable properties, so it stays opaque here, the same as
|
|
48
|
+
// JSON.stringify shows it.
|
|
49
|
+
function sanitizeHeaders(headers: any): any {
|
|
50
|
+
if (!headers || typeof headers !== 'object') {
|
|
51
|
+
return headers;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (Array.isArray(headers)) {
|
|
55
|
+
return headers.map((header) =>
|
|
56
|
+
Array.isArray(header)
|
|
57
|
+
? [header[0], sanitizeHeaderValue(header[0], header[1])]
|
|
58
|
+
: header,
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return Object.fromEntries(
|
|
63
|
+
Object.entries(headers).map(([name, value]) => [
|
|
64
|
+
name,
|
|
65
|
+
sanitizeHeaderValue(name, value),
|
|
66
|
+
]),
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Response headers were always enumerated in the log, so keep that and
|
|
71
|
+
// redact the credential values.
|
|
72
|
+
function sanitizeEnumerableHeaders(headers: any): any {
|
|
73
|
+
if (typeof headers?.entries === 'function' && !Array.isArray(headers)) {
|
|
74
|
+
return Object.fromEntries(
|
|
75
|
+
[...headers.entries()].map(([name, value]: [string, string]) => [
|
|
76
|
+
name,
|
|
77
|
+
sanitizeHeaderValue(name, value),
|
|
78
|
+
]),
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return sanitizeHeaders(headers);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function sanitizeRequestParams<T>(requestParams: T): T {
|
|
86
|
+
if (Array.isArray(requestParams)) {
|
|
87
|
+
return requestParams.map((param) =>
|
|
88
|
+
param && typeof param === 'object' && 'headers' in param
|
|
89
|
+
? {...param, headers: sanitizeHeaders(param.headers)}
|
|
90
|
+
: param,
|
|
91
|
+
) as T;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (
|
|
95
|
+
requestParams &&
|
|
96
|
+
typeof requestParams === 'object' &&
|
|
97
|
+
'headers' in requestParams
|
|
98
|
+
) {
|
|
99
|
+
return {
|
|
100
|
+
...requestParams,
|
|
101
|
+
headers: sanitizeHeaders((requestParams as {headers: any}).headers),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return requestParams;
|
|
106
|
+
}
|
|
107
|
+
|
|
28
108
|
function serializeResponse(response: Response | any) {
|
|
29
109
|
if (!response) {
|
|
30
110
|
return {error: 'No response object provided'};
|
|
@@ -42,10 +122,8 @@ function serializeResponse(response: Response | any) {
|
|
|
42
122
|
url,
|
|
43
123
|
};
|
|
44
124
|
|
|
45
|
-
if (headers
|
|
46
|
-
serialized.headers =
|
|
47
|
-
} else if (headers) {
|
|
48
|
-
serialized.headers = headers;
|
|
125
|
+
if (headers) {
|
|
126
|
+
serialized.headers = sanitizeEnumerableHeaders(headers);
|
|
49
127
|
}
|
|
50
128
|
|
|
51
129
|
return serialized;
|
|
@@ -61,7 +139,9 @@ export function clientLoggerFactory(config: ConfigInterface) {
|
|
|
61
139
|
case 'HTTP-Response': {
|
|
62
140
|
const responseLog: HTTPResponseLog['content'] = logContent.content;
|
|
63
141
|
logger(config).debug('Received response for HTTP request', {
|
|
64
|
-
requestParams: JSON.stringify(
|
|
142
|
+
requestParams: JSON.stringify(
|
|
143
|
+
sanitizeRequestParams(responseLog.requestParams),
|
|
144
|
+
),
|
|
65
145
|
response: JSON.stringify(serializeResponse(responseLog.response)),
|
|
66
146
|
});
|
|
67
147
|
break;
|
|
@@ -69,7 +149,9 @@ export function clientLoggerFactory(config: ConfigInterface) {
|
|
|
69
149
|
case 'HTTP-Retry': {
|
|
70
150
|
const responseLog: HTTPRetryLog['content'] = logContent.content;
|
|
71
151
|
logger(config).debug('Retrying HTTP request', {
|
|
72
|
-
requestParams: JSON.stringify(
|
|
152
|
+
requestParams: JSON.stringify(
|
|
153
|
+
sanitizeRequestParams(responseLog.requestParams),
|
|
154
|
+
),
|
|
73
155
|
retryAttempt: responseLog.retryAttempt,
|
|
74
156
|
maxRetries: responseLog.maxRetries,
|
|
75
157
|
response: responseLog.lastResponse
|
|
@@ -84,7 +166,9 @@ export function clientLoggerFactory(config: ConfigInterface) {
|
|
|
84
166
|
logger(config).debug(
|
|
85
167
|
'Received response containing Deprecated GraphQL Notice',
|
|
86
168
|
{
|
|
87
|
-
requestParams: JSON.stringify(
|
|
169
|
+
requestParams: JSON.stringify(
|
|
170
|
+
sanitizeRequestParams(responseLog.requestParams),
|
|
171
|
+
),
|
|
88
172
|
deprecationNotice: responseLog.deprecationNotice,
|
|
89
173
|
},
|
|
90
174
|
);
|
package/lib/config.ts
CHANGED
|
@@ -53,7 +53,7 @@ export function validateConfig<Params extends ConfigParams>(
|
|
|
53
53
|
throw new ShopifyError(
|
|
54
54
|
`Cannot initialize Shopify API Library. Missing values for: ${missing.join(
|
|
55
55
|
', ',
|
|
56
|
-
)}. For apiVersion, please specify an explicit API version (e.g., ApiVersion.
|
|
56
|
+
)}. For apiVersion, please specify an explicit API version (e.g., ApiVersion.July26). See https://shopify.dev/docs/api/usage/versioning for more information.`,
|
|
57
57
|
);
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -85,7 +85,7 @@ export function validateConfig<Params extends ConfigParams>(
|
|
|
85
85
|
isCustomStoreApp: isCustomStoreApp ?? config.isCustomStoreApp,
|
|
86
86
|
adminApiAccessToken: adminApiAccessToken ?? config.adminApiAccessToken,
|
|
87
87
|
userAgentPrefix: userAgentPrefix ?? config.userAgentPrefix,
|
|
88
|
-
logger: {...config.logger, ...
|
|
88
|
+
logger: {...config.logger, ...logger},
|
|
89
89
|
privateAppStorefrontAccessToken:
|
|
90
90
|
privateAppStorefrontAccessToken ?? config.privateAppStorefrontAccessToken,
|
|
91
91
|
billing: billing ?? config.billing,
|
package/lib/types.ts
CHANGED
|
@@ -14,6 +14,7 @@ export enum ApiVersion {
|
|
|
14
14
|
January26 = '2026-01',
|
|
15
15
|
April26 = '2026-04',
|
|
16
16
|
July26 = '2026-07',
|
|
17
|
+
October26 = '2026-10',
|
|
17
18
|
Unstable = 'unstable',
|
|
18
19
|
}
|
|
19
20
|
|
|
@@ -26,7 +27,6 @@ export enum ShopifyHeader {
|
|
|
26
27
|
Domain = 'X-Shopify-Shop-Domain',
|
|
27
28
|
Hmac = 'X-Shopify-Hmac-Sha256',
|
|
28
29
|
Topic = 'X-Shopify-Topic',
|
|
29
|
-
SubTopic = 'X-Shopify-Sub-Topic',
|
|
30
30
|
WebhookId = 'X-Shopify-Webhook-Id',
|
|
31
31
|
Name = 'X-Shopify-Name',
|
|
32
32
|
TriggeredAt = 'X-Shopify-Triggered-At',
|
|
@@ -3,6 +3,18 @@ import {LogSeverity} from '../types';
|
|
|
3
3
|
import {abstractFetch} from '../../runtime';
|
|
4
4
|
import {ConfigInterface} from '../base-types';
|
|
5
5
|
|
|
6
|
+
const OAUTH_TOKEN_ENDPOINT_PATH = '/admin/oauth/access_token';
|
|
7
|
+
|
|
8
|
+
// Token endpoint bodies carry OAuth secrets, so they must not reach the logs.
|
|
9
|
+
// When the URL does not parse, fail closed and keep the body out of the logs.
|
|
10
|
+
function canLogRequestBody(url: string): boolean {
|
|
11
|
+
try {
|
|
12
|
+
return new URL(url).pathname !== OAUTH_TOKEN_ENDPOINT_PATH;
|
|
13
|
+
} catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
6
18
|
export function fetchRequestFactory(config: ConfigInterface) {
|
|
7
19
|
return async function fetchRequest(
|
|
8
20
|
url: string,
|
|
@@ -16,7 +28,7 @@ export function fetchRequestFactory(config: ConfigInterface) {
|
|
|
16
28
|
log.debug('Making HTTP request', {
|
|
17
29
|
method: options?.method || 'GET',
|
|
18
30
|
url,
|
|
19
|
-
...(options?.body && {body: options
|
|
31
|
+
...(options?.body && canLogRequestBody(url) && {body: options.body}),
|
|
20
32
|
});
|
|
21
33
|
}
|
|
22
34
|
|
|
@@ -23,8 +23,15 @@ import {
|
|
|
23
23
|
} from './types';
|
|
24
24
|
|
|
25
25
|
const HMAC_TIMESTAMP_PERMITTED_CLOCK_TOLERANCE_SEC = 90;
|
|
26
|
+
const APP_PROXY_SINGLE_VALUE_PARAMS = new Set([
|
|
27
|
+
'hmac',
|
|
28
|
+
'shop',
|
|
29
|
+
'signature',
|
|
30
|
+
'timestamp',
|
|
31
|
+
]);
|
|
26
32
|
|
|
27
33
|
export type HMACSignator = 'admin' | 'appProxy';
|
|
34
|
+
type HmacQuery = AuthQuery | URLSearchParams;
|
|
28
35
|
|
|
29
36
|
export interface ValidateParams extends AdapterArgs {
|
|
30
37
|
/**
|
|
@@ -63,7 +70,7 @@ export function generateLocalHmac(config: ConfigInterface) {
|
|
|
63
70
|
params: AuthQuery,
|
|
64
71
|
signator: HMACSignator = 'admin',
|
|
65
72
|
): Promise<string> => {
|
|
66
|
-
const {hmac, signature, ...query} = params;
|
|
73
|
+
const {hmac: _hmac, signature: _signature, ...query} = params;
|
|
67
74
|
|
|
68
75
|
const queryString =
|
|
69
76
|
signator === 'admin'
|
|
@@ -76,30 +83,73 @@ export function generateLocalHmac(config: ConfigInterface) {
|
|
|
76
83
|
|
|
77
84
|
export function validateHmac(config: ConfigInterface) {
|
|
78
85
|
return async (
|
|
79
|
-
query:
|
|
86
|
+
query: HmacQuery,
|
|
80
87
|
{signator}: {signator: HMACSignator} = {signator: 'admin'},
|
|
81
88
|
): Promise<boolean> => {
|
|
82
|
-
|
|
89
|
+
const normalizedQuery = normalizeQuery(query, signator);
|
|
90
|
+
|
|
91
|
+
if (signator === 'admin' && !normalizedQuery.hmac) {
|
|
83
92
|
throw new ShopifyErrors.InvalidHmacError(
|
|
84
93
|
'Query does not contain an HMAC value.',
|
|
85
94
|
);
|
|
86
95
|
}
|
|
87
96
|
|
|
88
|
-
if (signator === 'appProxy' && !
|
|
97
|
+
if (signator === 'appProxy' && !normalizedQuery.signature) {
|
|
89
98
|
throw new ShopifyErrors.InvalidHmacError(
|
|
90
99
|
'Query does not contain a signature value.',
|
|
91
100
|
);
|
|
92
101
|
}
|
|
93
102
|
|
|
94
|
-
validateHmacTimestamp(
|
|
103
|
+
validateHmacTimestamp(normalizedQuery);
|
|
95
104
|
|
|
96
|
-
const hmac =
|
|
97
|
-
|
|
105
|
+
const hmac =
|
|
106
|
+
signator === 'appProxy'
|
|
107
|
+
? normalizedQuery.signature
|
|
108
|
+
: normalizedQuery.hmac;
|
|
109
|
+
const localHmac = await generateLocalHmac(config)(
|
|
110
|
+
normalizedQuery,
|
|
111
|
+
signator,
|
|
112
|
+
);
|
|
98
113
|
|
|
99
114
|
return safeCompare(hmac as string, localHmac);
|
|
100
115
|
};
|
|
101
116
|
}
|
|
102
117
|
|
|
118
|
+
function normalizeQuery(query: HmacQuery, signator: HMACSignator): AuthQuery {
|
|
119
|
+
if (!(query instanceof URLSearchParams)) {
|
|
120
|
+
if (signator === 'appProxy') {
|
|
121
|
+
for (const key of APP_PROXY_SINGLE_VALUE_PARAMS) {
|
|
122
|
+
if (Array.isArray(query[key])) {
|
|
123
|
+
throw new ShopifyErrors.InvalidHmacError(
|
|
124
|
+
`Query parameter "${key}" must not appear more than once.`,
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return query;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const normalizedQuery = Object.create(null) as AuthQuery;
|
|
134
|
+
for (const [key, value] of query.entries()) {
|
|
135
|
+
const existingValue = normalizedQuery[key];
|
|
136
|
+
if (existingValue === undefined) {
|
|
137
|
+
normalizedQuery[key] = value;
|
|
138
|
+
} else if (
|
|
139
|
+
signator === 'appProxy' &&
|
|
140
|
+
APP_PROXY_SINGLE_VALUE_PARAMS.has(key)
|
|
141
|
+
) {
|
|
142
|
+
throw new ShopifyErrors.InvalidHmacError(
|
|
143
|
+
`Query parameter "${key}" must not appear more than once.`,
|
|
144
|
+
);
|
|
145
|
+
} else {
|
|
146
|
+
normalizedQuery[key] = `${existingValue},${value}`;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
return normalizedQuery;
|
|
151
|
+
}
|
|
152
|
+
|
|
103
153
|
export async function validateHmacString(
|
|
104
154
|
config: ConfigInterface,
|
|
105
155
|
data: string,
|
|
@@ -151,8 +201,28 @@ export function validateHmacFromRequestFactory(config: ConfigInterface) {
|
|
|
151
201
|
}
|
|
152
202
|
|
|
153
203
|
function validateHmacTimestamp(query: AuthQuery) {
|
|
204
|
+
const {timestamp} = query;
|
|
205
|
+
|
|
206
|
+
if (
|
|
207
|
+
timestamp === undefined ||
|
|
208
|
+
timestamp === null ||
|
|
209
|
+
Array.isArray(timestamp)
|
|
210
|
+
) {
|
|
211
|
+
throw new ShopifyErrors.InvalidHmacError(
|
|
212
|
+
'HMAC timestamp is missing or invalid',
|
|
213
|
+
);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
const parsedTimestamp = Number(timestamp);
|
|
217
|
+
|
|
218
|
+
if (!Number.isInteger(parsedTimestamp)) {
|
|
219
|
+
throw new ShopifyErrors.InvalidHmacError(
|
|
220
|
+
'HMAC timestamp is missing or invalid',
|
|
221
|
+
);
|
|
222
|
+
}
|
|
223
|
+
|
|
154
224
|
if (
|
|
155
|
-
Math.abs(getCurrentTimeInSec() -
|
|
225
|
+
Math.abs(getCurrentTimeInSec() - parsedTimestamp) >
|
|
156
226
|
HMAC_TIMESTAMP_PERMITTED_CLOCK_TOLERANCE_SEC
|
|
157
227
|
) {
|
|
158
228
|
throw new ShopifyErrors.InvalidHmacError(
|
|
@@ -47,7 +47,7 @@ export default class ProcessedQuery {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
stringify(omitQuestionMark = false): string {
|
|
50
|
-
const queryString = this.processedQuery.toString();
|
|
50
|
+
const queryString = this.processedQuery.toString().replace(/\+/g, '%20');
|
|
51
51
|
return omitQuestionMark ? queryString : `?${queryString}`;
|
|
52
52
|
}
|
|
53
53
|
}
|
package/lib/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SHOPIFY_API_LIBRARY_VERSION = '
|
|
1
|
+
export const SHOPIFY_API_LIBRARY_VERSION = '14.0.1';
|
package/lib/webhooks/process.ts
CHANGED
|
@@ -143,7 +143,7 @@ async function callWebhookHandlers(
|
|
|
143
143
|
response,
|
|
144
144
|
});
|
|
145
145
|
}
|
|
146
|
-
const {webhookId
|
|
146
|
+
const {webhookId} = webhookCheck;
|
|
147
147
|
|
|
148
148
|
try {
|
|
149
149
|
await handler.callback(
|
|
@@ -152,7 +152,6 @@ async function callWebhookHandlers(
|
|
|
152
152
|
rawBody,
|
|
153
153
|
webhookId,
|
|
154
154
|
webhookCheck.apiVersion,
|
|
155
|
-
...(subTopic ? subTopic : ''),
|
|
156
155
|
context,
|
|
157
156
|
);
|
|
158
157
|
} catch (error) {
|
package/lib/webhooks/register.ts
CHANGED
|
@@ -414,11 +414,6 @@ function buildMutation(
|
|
|
414
414
|
params.metafieldNamespaces = JSON.stringify(handler.metafieldNamespaces);
|
|
415
415
|
}
|
|
416
416
|
|
|
417
|
-
if (handler.subTopic) {
|
|
418
|
-
const subTopicString = `subTopic: "${handler.subTopic}",`;
|
|
419
|
-
mutationArguments.MUTATION_PARAMS = subTopicString;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
417
|
const paramsString = Object.entries(params)
|
|
423
418
|
.map(([key, value]) => `${key}: ${value}`)
|
|
424
419
|
.join(', ');
|
package/lib/webhooks/types.ts
CHANGED
|
@@ -17,7 +17,6 @@ export const WEBHOOK_HEADER_NAMES = {
|
|
|
17
17
|
domain: ShopifyHeader.Domain,
|
|
18
18
|
apiVersion: ShopifyHeader.ApiVersion,
|
|
19
19
|
webhookId: ShopifyHeader.WebhookId,
|
|
20
|
-
subTopic: ShopifyHeader.SubTopic,
|
|
21
20
|
name: ShopifyHeader.Name,
|
|
22
21
|
triggeredAt: ShopifyHeader.TriggeredAt,
|
|
23
22
|
eventId: ShopifyHeader.EventId,
|
|
@@ -48,7 +47,6 @@ export type WebhookHandlerFunction = (
|
|
|
48
47
|
body: string,
|
|
49
48
|
webhookId: string,
|
|
50
49
|
apiVersion?: string,
|
|
51
|
-
subTopic?: string,
|
|
52
50
|
context?: any,
|
|
53
51
|
) => Promise<void>;
|
|
54
52
|
|
|
@@ -56,7 +54,6 @@ interface BaseWebhookHandler {
|
|
|
56
54
|
id?: string;
|
|
57
55
|
includeFields?: string[];
|
|
58
56
|
metafieldNamespaces?: string[];
|
|
59
|
-
subTopic?: string;
|
|
60
57
|
context?: any;
|
|
61
58
|
}
|
|
62
59
|
|
|
@@ -127,9 +124,7 @@ interface WebhookPubSubEndpoint {
|
|
|
127
124
|
}
|
|
128
125
|
|
|
129
126
|
type WebhookEndpoint =
|
|
130
|
-
|
|
|
131
|
-
| WebhookEventBridgeEndpoint
|
|
132
|
-
| WebhookPubSubEndpoint;
|
|
127
|
+
WebhookHttpEndpoint | WebhookEventBridgeEndpoint | WebhookPubSubEndpoint;
|
|
133
128
|
|
|
134
129
|
export interface WebhookCheckResponseNode<
|
|
135
130
|
T = {
|
|
@@ -185,7 +180,6 @@ interface BaseWebhookFields {
|
|
|
185
180
|
export interface WebhooksWebhookFields extends BaseWebhookFields {
|
|
186
181
|
webhookType: typeof WebhookType.Webhooks;
|
|
187
182
|
webhookId: string;
|
|
188
|
-
subTopic?: string;
|
|
189
183
|
name?: string;
|
|
190
184
|
eventId?: string;
|
|
191
185
|
}
|
package/lib/webhooks/validate.ts
CHANGED
|
@@ -133,9 +133,6 @@ function checkWebhooksHeaders(
|
|
|
133
133
|
webhookId: webhookId!,
|
|
134
134
|
};
|
|
135
135
|
|
|
136
|
-
const subTopic = getHeader(headers, headerNames.subTopic);
|
|
137
|
-
if (subTopic) fields.subTopic = subTopic;
|
|
138
|
-
|
|
139
136
|
const name = getHeader(headers, headerNames.name);
|
|
140
137
|
if (name) fields.name = name;
|
|
141
138
|
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shopify/shopify-api",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.0.1",
|
|
4
4
|
"description": "Shopify API Library for Node - accelerate development with support for authentication, graphql proxy, webhooks",
|
|
5
5
|
"types": "./dist/ts/lib/index.d.ts",
|
|
6
6
|
"module": "./dist/esm/lib/index.mjs",
|
|
7
7
|
"main": "./dist/cjs/lib/index.js",
|
|
8
8
|
"engines": {
|
|
9
|
-
"node": ">=
|
|
9
|
+
"node": ">=22.0.0"
|
|
10
10
|
},
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
@@ -71,24 +71,24 @@
|
|
|
71
71
|
"Storefront API"
|
|
72
72
|
],
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@shopify/admin-api-client": "^
|
|
75
|
-
"@shopify/graphql-client": "^
|
|
76
|
-
"@shopify/storefront-api-client": "^
|
|
74
|
+
"@shopify/admin-api-client": "^2.0.0",
|
|
75
|
+
"@shopify/graphql-client": "^2.0.0",
|
|
76
|
+
"@shopify/storefront-api-client": "^2.0.0",
|
|
77
77
|
"compare-versions": "^6.1.1",
|
|
78
|
-
"isbot": "^5.
|
|
78
|
+
"isbot": "^5.2.0",
|
|
79
79
|
"jose": "^5.9.6",
|
|
80
80
|
"lossless-json": "^4.3.0",
|
|
81
81
|
"tslib": "^2.8.1"
|
|
82
82
|
},
|
|
83
83
|
"devDependencies": {
|
|
84
|
-
"@cloudflare/workers-types": "^4.
|
|
84
|
+
"@cloudflare/workers-types": "^4.20260702.1",
|
|
85
85
|
"@types/express": "^5.0.6",
|
|
86
86
|
"express": "^5.2.1",
|
|
87
87
|
"jest-environment-miniflare": "^2.14.4",
|
|
88
|
-
"miniflare": "^4.
|
|
89
|
-
"rollup": "^4.
|
|
88
|
+
"miniflare": "^4.20260708.1",
|
|
89
|
+
"rollup": "^4.62.2",
|
|
90
90
|
"supertest": "^7.2.2",
|
|
91
|
-
"wrangler": "^4.
|
|
91
|
+
"wrangler": "^4.111.0"
|
|
92
92
|
},
|
|
93
93
|
"files": [
|
|
94
94
|
"dist/*",
|
|
@@ -112,7 +112,6 @@
|
|
|
112
112
|
"pretest:adapters": "pnpm rollup -c adapters/__e2etests__/rollup.test-apps.config.js",
|
|
113
113
|
"test:adapters": "jest --selectProjects adapters:mock adapters:node adapters:cf-worker adapters:web-api",
|
|
114
114
|
"test:rest_resources": "jest --selectProjects rest_resources",
|
|
115
|
-
"lint": "eslint .",
|
|
116
115
|
"test:dev": "jest --selectProjects library",
|
|
117
116
|
"build": "pnpm rollup -c rollup.config.js && pnpm tsc -p ./tsconfig.build.json",
|
|
118
117
|
"tsc": "tsc",
|