diff --git a/functions-cart-checkout-validation-js/schema.graphql b/functions-cart-checkout-validation-js/schema.graphql index b8f20a80..d52d6c9c 100644 --- a/functions-cart-checkout-validation-js/schema.graphql +++ b/functions-cart-checkout-validation-js/schema.graphql @@ -206,7 +206,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -342,7 +342,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -369,6 +369,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -394,7 +400,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -414,6 +420,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ The fetch target result. Your Function must return this data structure when generating the request. """ @@ -594,6 +610,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2829,7 +2855,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4563,7 +4589,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-cart-checkout-validation-js/shopify.extension.toml.liquid b/functions-cart-checkout-validation-js/shopify.extension.toml.liquid index abbf39c4..5663abca 100644 --- a/functions-cart-checkout-validation-js/shopify.extension.toml.liquid +++ b/functions-cart-checkout-validation-js/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-cart-checkout-validation-rs/Cargo.toml.liquid b/functions-cart-checkout-validation-rs/Cargo.toml.liquid index 457c617a..21fa7cc9 100644 --- a/functions-cart-checkout-validation-rs/Cargo.toml.liquid +++ b/functions-cart-checkout-validation-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-cart-checkout-validation-rs/schema.graphql b/functions-cart-checkout-validation-rs/schema.graphql index b8f20a80..d52d6c9c 100644 --- a/functions-cart-checkout-validation-rs/schema.graphql +++ b/functions-cart-checkout-validation-rs/schema.graphql @@ -206,7 +206,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -342,7 +342,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -369,6 +369,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -394,7 +400,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -414,6 +420,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ The fetch target result. Your Function must return this data structure when generating the request. """ @@ -594,6 +610,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2829,7 +2855,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4563,7 +4589,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-cart-checkout-validation-rs/shopify.extension.toml.liquid b/functions-cart-checkout-validation-rs/shopify.extension.toml.liquid index ef261e82..f658b44e 100644 --- a/functions-cart-checkout-validation-rs/shopify.extension.toml.liquid +++ b/functions-cart-checkout-validation-rs/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-cart-checkout-validation-wasm/schema.graphql b/functions-cart-checkout-validation-wasm/schema.graphql index b8f20a80..d52d6c9c 100644 --- a/functions-cart-checkout-validation-wasm/schema.graphql +++ b/functions-cart-checkout-validation-wasm/schema.graphql @@ -206,7 +206,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -342,7 +342,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -369,6 +369,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -394,7 +400,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -414,6 +420,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ The fetch target result. Your Function must return this data structure when generating the request. """ @@ -594,6 +610,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2829,7 +2855,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4563,7 +4589,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-cart-checkout-validation-wasm/shopify.extension.toml.liquid b/functions-cart-checkout-validation-wasm/shopify.extension.toml.liquid index 2ec3c11a..2906c6be 100644 --- a/functions-cart-checkout-validation-wasm/shopify.extension.toml.liquid +++ b/functions-cart-checkout-validation-wasm/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-cart-transform-js/schema.graphql b/functions-cart-transform-js/schema.graphql index e62e8067..009dbe13 100644 --- a/functions-cart-transform-js/schema.graphql +++ b/functions-cart-transform-js/schema.graphql @@ -159,7 +159,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -186,6 +186,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -211,7 +217,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -245,6 +251,16 @@ input CartLineInput { quantity: Int! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ An operation to apply to the cart. For example, you can expand a cart line item to display its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge @@ -481,6 +497,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -3746,6 +3772,7 @@ input LineUpdateOperation { """ The image that replaces the existing image for the cart line item. The image must have a publicly accessible URL. + This image is visible in checkout only and is not persisted to orders. """ image: ImageInput @@ -4222,7 +4249,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-cart-transform-js/shopify.extension.toml.liquid b/functions-cart-transform-js/shopify.extension.toml.liquid index 7edaf43f..0c8dc148 100644 --- a/functions-cart-transform-js/shopify.extension.toml.liquid +++ b/functions-cart-transform-js/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-cart-transform-rs/Cargo.toml.liquid b/functions-cart-transform-rs/Cargo.toml.liquid index 457c617a..21fa7cc9 100644 --- a/functions-cart-transform-rs/Cargo.toml.liquid +++ b/functions-cart-transform-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-cart-transform-rs/schema.graphql b/functions-cart-transform-rs/schema.graphql index e62e8067..009dbe13 100644 --- a/functions-cart-transform-rs/schema.graphql +++ b/functions-cart-transform-rs/schema.graphql @@ -159,7 +159,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -186,6 +186,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -211,7 +217,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -245,6 +251,16 @@ input CartLineInput { quantity: Int! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ An operation to apply to the cart. For example, you can expand a cart line item to display its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge @@ -481,6 +497,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -3746,6 +3772,7 @@ input LineUpdateOperation { """ The image that replaces the existing image for the cart line item. The image must have a publicly accessible URL. + This image is visible in checkout only and is not persisted to orders. """ image: ImageInput @@ -4222,7 +4249,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-cart-transform-rs/shopify.extension.toml.liquid b/functions-cart-transform-rs/shopify.extension.toml.liquid index e6ff4346..56b009cd 100644 --- a/functions-cart-transform-rs/shopify.extension.toml.liquid +++ b/functions-cart-transform-rs/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-cart-transform-wasm/schema.graphql b/functions-cart-transform-wasm/schema.graphql index e62e8067..009dbe13 100644 --- a/functions-cart-transform-wasm/schema.graphql +++ b/functions-cart-transform-wasm/schema.graphql @@ -159,7 +159,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -186,6 +186,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -211,7 +217,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -245,6 +251,16 @@ input CartLineInput { quantity: Int! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ An operation to apply to the cart. For example, you can expand a cart line item to display its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge @@ -481,6 +497,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -3746,6 +3772,7 @@ input LineUpdateOperation { """ The image that replaces the existing image for the cart line item. The image must have a publicly accessible URL. + This image is visible in checkout only and is not persisted to orders. """ image: ImageInput @@ -4222,7 +4249,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-cart-transform-wasm/shopify.extension.toml.liquid b/functions-cart-transform-wasm/shopify.extension.toml.liquid index a23c2990..b5b27758 100644 --- a/functions-cart-transform-wasm/shopify.extension.toml.liquid +++ b/functions-cart-transform-wasm/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-delivery-customization-js/schema.graphql b/functions-delivery-customization-js/schema.graphql index 3568fdb9..87c69f67 100644 --- a/functions-delivery-customization-js/schema.graphql +++ b/functions-delivery-customization-js/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -321,7 +321,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -348,6 +348,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -373,7 +379,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -393,6 +399,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -551,6 +567,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2786,7 +2812,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4451,7 +4477,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-delivery-customization-js/shopify.extension.toml.liquid b/functions-delivery-customization-js/shopify.extension.toml.liquid index 06af5d28..b9878e07 100644 --- a/functions-delivery-customization-js/shopify.extension.toml.liquid +++ b/functions-delivery-customization-js/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-delivery-customization-rs/Cargo.toml.liquid b/functions-delivery-customization-rs/Cargo.toml.liquid index 457c617a..21fa7cc9 100644 --- a/functions-delivery-customization-rs/Cargo.toml.liquid +++ b/functions-delivery-customization-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-delivery-customization-rs/schema.graphql b/functions-delivery-customization-rs/schema.graphql index 3568fdb9..87c69f67 100644 --- a/functions-delivery-customization-rs/schema.graphql +++ b/functions-delivery-customization-rs/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -321,7 +321,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -348,6 +348,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -373,7 +379,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -393,6 +399,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -551,6 +567,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2786,7 +2812,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4451,7 +4477,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-delivery-customization-rs/shopify.extension.toml.liquid b/functions-delivery-customization-rs/shopify.extension.toml.liquid index a27c74d1..5d07aebf 100644 --- a/functions-delivery-customization-rs/shopify.extension.toml.liquid +++ b/functions-delivery-customization-rs/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-delivery-customization-wasm/schema.graphql b/functions-delivery-customization-wasm/schema.graphql index 3568fdb9..87c69f67 100644 --- a/functions-delivery-customization-wasm/schema.graphql +++ b/functions-delivery-customization-wasm/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -321,7 +321,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -348,6 +348,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -373,7 +379,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -393,6 +399,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -551,6 +567,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2786,7 +2812,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4451,7 +4477,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-delivery-customization-wasm/shopify.extension.toml.liquid b/functions-delivery-customization-wasm/shopify.extension.toml.liquid index 2ecdc982..a7d4e997 100644 --- a/functions-delivery-customization-wasm/shopify.extension.toml.liquid +++ b/functions-delivery-customization-wasm/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-discount-rs/Cargo.toml.liquid b/functions-discount-rs/Cargo.toml.liquid index d1ac79e8..8e19be0d 100644 --- a/functions-discount-rs/Cargo.toml.liquid +++ b/functions-discount-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-discounts-allocator-rs/Cargo.toml.liquid b/functions-discounts-allocator-rs/Cargo.toml.liquid index 457c617a..21fa7cc9 100644 --- a/functions-discounts-allocator-rs/Cargo.toml.liquid +++ b/functions-discounts-allocator-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-fulfillment-constraints-js/schema.graphql b/functions-fulfillment-constraints-js/schema.graphql index 6242aefb..6ffe0420 100644 --- a/functions-fulfillment-constraints-js/schema.graphql +++ b/functions-fulfillment-constraints-js/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -323,7 +323,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -350,6 +350,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -375,7 +381,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -395,6 +401,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -553,6 +569,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2788,7 +2814,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4434,7 +4460,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-fulfillment-constraints-js/shopify.extension.toml.liquid b/functions-fulfillment-constraints-js/shopify.extension.toml.liquid index 5fa42069..3c3b5e4e 100644 --- a/functions-fulfillment-constraints-js/shopify.extension.toml.liquid +++ b/functions-fulfillment-constraints-js/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-fulfillment-constraints-rs/Cargo.toml.liquid b/functions-fulfillment-constraints-rs/Cargo.toml.liquid index 457c617a..21fa7cc9 100644 --- a/functions-fulfillment-constraints-rs/Cargo.toml.liquid +++ b/functions-fulfillment-constraints-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-fulfillment-constraints-rs/schema.graphql b/functions-fulfillment-constraints-rs/schema.graphql index 6242aefb..6ffe0420 100644 --- a/functions-fulfillment-constraints-rs/schema.graphql +++ b/functions-fulfillment-constraints-rs/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -323,7 +323,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -350,6 +350,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -375,7 +381,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -395,6 +401,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -553,6 +569,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2788,7 +2814,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4434,7 +4460,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-fulfillment-constraints-rs/shopify.extension.toml.liquid b/functions-fulfillment-constraints-rs/shopify.extension.toml.liquid index 7ddecc7a..000833ad 100644 --- a/functions-fulfillment-constraints-rs/shopify.extension.toml.liquid +++ b/functions-fulfillment-constraints-rs/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-fulfillment-constraints-wasm/schema.graphql b/functions-fulfillment-constraints-wasm/schema.graphql index 6242aefb..6ffe0420 100644 --- a/functions-fulfillment-constraints-wasm/schema.graphql +++ b/functions-fulfillment-constraints-wasm/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -323,7 +323,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -350,6 +350,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -375,7 +381,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -395,6 +401,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -553,6 +569,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2788,7 +2814,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4434,7 +4460,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-fulfillment-constraints-wasm/shopify.extension.toml.liquid b/functions-fulfillment-constraints-wasm/shopify.extension.toml.liquid index 16353f61..84762ff3 100644 --- a/functions-fulfillment-constraints-wasm/shopify.extension.toml.liquid +++ b/functions-fulfillment-constraints-wasm/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-local-pickup-delivery-option-generators-rs/Cargo.toml.liquid b/functions-local-pickup-delivery-option-generators-rs/Cargo.toml.liquid index 457c617a..21fa7cc9 100644 --- a/functions-local-pickup-delivery-option-generators-rs/Cargo.toml.liquid +++ b/functions-local-pickup-delivery-option-generators-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-location-rules-js/schema.graphql b/functions-location-rules-js/schema.graphql index 37077028..681c6306 100644 --- a/functions-location-rules-js/schema.graphql +++ b/functions-location-rules-js/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -322,7 +322,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -349,6 +349,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -374,7 +380,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -394,6 +400,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -552,6 +568,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2787,7 +2813,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4429,7 +4455,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-location-rules-js/shopify.extension.toml.liquid b/functions-location-rules-js/shopify.extension.toml.liquid index 49c088b8..627d344f 100644 --- a/functions-location-rules-js/shopify.extension.toml.liquid +++ b/functions-location-rules-js/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-location-rules-rs/Cargo.toml.liquid b/functions-location-rules-rs/Cargo.toml.liquid index 457c617a..21fa7cc9 100644 --- a/functions-location-rules-rs/Cargo.toml.liquid +++ b/functions-location-rules-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-location-rules-rs/schema.graphql b/functions-location-rules-rs/schema.graphql index 37077028..681c6306 100644 --- a/functions-location-rules-rs/schema.graphql +++ b/functions-location-rules-rs/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -322,7 +322,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -349,6 +349,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -374,7 +380,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -394,6 +400,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -552,6 +568,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2787,7 +2813,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4429,7 +4455,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-location-rules-rs/shopify.extension.toml.liquid b/functions-location-rules-rs/shopify.extension.toml.liquid index 16e3c324..902b630c 100644 --- a/functions-location-rules-rs/shopify.extension.toml.liquid +++ b/functions-location-rules-rs/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-location-rules-wasm/schema.graphql b/functions-location-rules-wasm/schema.graphql index 37077028..681c6306 100644 --- a/functions-location-rules-wasm/schema.graphql +++ b/functions-location-rules-wasm/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -322,7 +322,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -349,6 +349,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -374,7 +380,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -394,6 +400,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -552,6 +568,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2787,7 +2813,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4429,7 +4455,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-location-rules-wasm/shopify.extension.toml.liquid b/functions-location-rules-wasm/shopify.extension.toml.liquid index 94bead03..a6a44ff9 100644 --- a/functions-location-rules-wasm/shopify.extension.toml.liquid +++ b/functions-location-rules-wasm/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-order-discounts-js/schema.graphql b/functions-order-discounts-js/schema.graphql index ead7dcb4..93fbdbdd 100644 --- a/functions-order-discounts-js/schema.graphql +++ b/functions-order-discounts-js/schema.graphql @@ -73,7 +73,7 @@ type BuyerIdentity { The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase and information about the customer, such as the customer's email address and phone number. """ -type Cart { +type Cart implements HasMetafields { """ The custom attributes associated with a cart to store additional information. Cart attributes allow you to collect specific information from customers on the **Cart** page, such as order notes, @@ -137,6 +137,34 @@ type Cart { """ keys: [LocalizedFieldKey!]! = [] ): [LocalizedField!]! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The physical location where a retail order is created or completed. + """ + retailLocation: Location } """ @@ -145,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -190,6 +218,11 @@ type CartDeliveryGroup { """ deliveryOptions: [CartDeliveryOption!]! + """ + The type of merchandise in the delivery group. + """ + groupType: CartDeliveryGroupType! + """ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids) for the delivery group. @@ -202,6 +235,22 @@ type CartDeliveryGroup { selectedDeliveryOption: CartDeliveryOption } +""" +Defines what type of merchandise is in the delivery group. +""" +enum CartDeliveryGroupType { + """ + The delivery group only contains merchandise that is either a one time purchase or a first delivery of + subscription merchandise. + """ + ONE_TIME_PURCHASE + + """ + The delivery group only contains subscription merchandise. + """ + SUBSCRIPTION +} + """ Information about a delivery option that's available for an item in a cart. Delivery options are the different ways that customers can choose to have their orders shipped. Examples include express shipping or standard @@ -260,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -287,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -312,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -332,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -490,6 +555,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2747,7 +2822,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -3897,7 +3972,7 @@ type Localization { """ The market of the active localized experience. """ - market: Market! + market: Market! @deprecated(reason: "This `market` field will be removed in a future version of the API.") } """ @@ -4113,6 +4188,119 @@ enum LocalizedFieldKey { TAX_EMAIL_IT } +""" +Represents the location where the inventory resides. +""" +type Location implements HasMetafields { + """ + The address of this location. + """ + address: LocationAddress! + + """ + The location handle. + """ + handle: Handle! + + """ + The location id. + """ + id: ID! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The name of the location. + """ + name: String! +} + +""" +Represents the address of a location. +""" +type LocationAddress { + """ + The first line of the address for the location. + """ + address1: String + + """ + The second line of the address for the location. + """ + address2: String + + """ + The city of the location. + """ + city: String + + """ + The country of the location. + """ + country: String + + """ + The country code of the location. + """ + countryCode: String + + """ + A formatted version of the address for the location. + """ + formatted: [String!]! + + """ + The approximate latitude coordinates of the location. + """ + latitude: Float + + """ + The approximate longitude coordinates of the location. + """ + longitude: Float + + """ + The phone number of the location. + """ + phone: String + + """ + The province of the location. + """ + province: String + + """ + The code for the province, state, or district of the address of the location. + """ + provinceCode: String + + """ + The ZIP code of the location. + """ + zip: String +} + """ Represents a mailing address. """ @@ -4165,7 +4353,7 @@ type MailingAddress { """ The market of the address. """ - market: Market + market: Market @deprecated(reason: "This `market` field will be removed in a future version of the API.") """ The full name of the customer, based on firstName and lastName. @@ -4303,7 +4491,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-order-discounts-js/shopify.extension.toml.liquid b/functions-order-discounts-js/shopify.extension.toml.liquid index 6a79225a..c894085e 100644 --- a/functions-order-discounts-js/shopify.extension.toml.liquid +++ b/functions-order-discounts-js/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-01" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-order-discounts-rs/Cargo.toml.liquid b/functions-order-discounts-rs/Cargo.toml.liquid index 457c617a..21fa7cc9 100644 --- a/functions-order-discounts-rs/Cargo.toml.liquid +++ b/functions-order-discounts-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-order-discounts-rs/schema.graphql b/functions-order-discounts-rs/schema.graphql index ead7dcb4..93fbdbdd 100644 --- a/functions-order-discounts-rs/schema.graphql +++ b/functions-order-discounts-rs/schema.graphql @@ -73,7 +73,7 @@ type BuyerIdentity { The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase and information about the customer, such as the customer's email address and phone number. """ -type Cart { +type Cart implements HasMetafields { """ The custom attributes associated with a cart to store additional information. Cart attributes allow you to collect specific information from customers on the **Cart** page, such as order notes, @@ -137,6 +137,34 @@ type Cart { """ keys: [LocalizedFieldKey!]! = [] ): [LocalizedField!]! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The physical location where a retail order is created or completed. + """ + retailLocation: Location } """ @@ -145,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -190,6 +218,11 @@ type CartDeliveryGroup { """ deliveryOptions: [CartDeliveryOption!]! + """ + The type of merchandise in the delivery group. + """ + groupType: CartDeliveryGroupType! + """ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids) for the delivery group. @@ -202,6 +235,22 @@ type CartDeliveryGroup { selectedDeliveryOption: CartDeliveryOption } +""" +Defines what type of merchandise is in the delivery group. +""" +enum CartDeliveryGroupType { + """ + The delivery group only contains merchandise that is either a one time purchase or a first delivery of + subscription merchandise. + """ + ONE_TIME_PURCHASE + + """ + The delivery group only contains subscription merchandise. + """ + SUBSCRIPTION +} + """ Information about a delivery option that's available for an item in a cart. Delivery options are the different ways that customers can choose to have their orders shipped. Examples include express shipping or standard @@ -260,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -287,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -312,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -332,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -490,6 +555,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2747,7 +2822,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -3897,7 +3972,7 @@ type Localization { """ The market of the active localized experience. """ - market: Market! + market: Market! @deprecated(reason: "This `market` field will be removed in a future version of the API.") } """ @@ -4113,6 +4188,119 @@ enum LocalizedFieldKey { TAX_EMAIL_IT } +""" +Represents the location where the inventory resides. +""" +type Location implements HasMetafields { + """ + The address of this location. + """ + address: LocationAddress! + + """ + The location handle. + """ + handle: Handle! + + """ + The location id. + """ + id: ID! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The name of the location. + """ + name: String! +} + +""" +Represents the address of a location. +""" +type LocationAddress { + """ + The first line of the address for the location. + """ + address1: String + + """ + The second line of the address for the location. + """ + address2: String + + """ + The city of the location. + """ + city: String + + """ + The country of the location. + """ + country: String + + """ + The country code of the location. + """ + countryCode: String + + """ + A formatted version of the address for the location. + """ + formatted: [String!]! + + """ + The approximate latitude coordinates of the location. + """ + latitude: Float + + """ + The approximate longitude coordinates of the location. + """ + longitude: Float + + """ + The phone number of the location. + """ + phone: String + + """ + The province of the location. + """ + province: String + + """ + The code for the province, state, or district of the address of the location. + """ + provinceCode: String + + """ + The ZIP code of the location. + """ + zip: String +} + """ Represents a mailing address. """ @@ -4165,7 +4353,7 @@ type MailingAddress { """ The market of the address. """ - market: Market + market: Market @deprecated(reason: "This `market` field will be removed in a future version of the API.") """ The full name of the customer, based on firstName and lastName. @@ -4303,7 +4491,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-order-discounts-rs/shopify.extension.toml.liquid b/functions-order-discounts-rs/shopify.extension.toml.liquid index df910ba7..fdc8e9b7 100644 --- a/functions-order-discounts-rs/shopify.extension.toml.liquid +++ b/functions-order-discounts-rs/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-01" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-order-discounts-wasm/schema.graphql b/functions-order-discounts-wasm/schema.graphql index ead7dcb4..93fbdbdd 100644 --- a/functions-order-discounts-wasm/schema.graphql +++ b/functions-order-discounts-wasm/schema.graphql @@ -73,7 +73,7 @@ type BuyerIdentity { The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase and information about the customer, such as the customer's email address and phone number. """ -type Cart { +type Cart implements HasMetafields { """ The custom attributes associated with a cart to store additional information. Cart attributes allow you to collect specific information from customers on the **Cart** page, such as order notes, @@ -137,6 +137,34 @@ type Cart { """ keys: [LocalizedFieldKey!]! = [] ): [LocalizedField!]! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The physical location where a retail order is created or completed. + """ + retailLocation: Location } """ @@ -145,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -190,6 +218,11 @@ type CartDeliveryGroup { """ deliveryOptions: [CartDeliveryOption!]! + """ + The type of merchandise in the delivery group. + """ + groupType: CartDeliveryGroupType! + """ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids) for the delivery group. @@ -202,6 +235,22 @@ type CartDeliveryGroup { selectedDeliveryOption: CartDeliveryOption } +""" +Defines what type of merchandise is in the delivery group. +""" +enum CartDeliveryGroupType { + """ + The delivery group only contains merchandise that is either a one time purchase or a first delivery of + subscription merchandise. + """ + ONE_TIME_PURCHASE + + """ + The delivery group only contains subscription merchandise. + """ + SUBSCRIPTION +} + """ Information about a delivery option that's available for an item in a cart. Delivery options are the different ways that customers can choose to have their orders shipped. Examples include express shipping or standard @@ -260,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -287,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -312,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -332,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -490,6 +555,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2747,7 +2822,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -3897,7 +3972,7 @@ type Localization { """ The market of the active localized experience. """ - market: Market! + market: Market! @deprecated(reason: "This `market` field will be removed in a future version of the API.") } """ @@ -4113,6 +4188,119 @@ enum LocalizedFieldKey { TAX_EMAIL_IT } +""" +Represents the location where the inventory resides. +""" +type Location implements HasMetafields { + """ + The address of this location. + """ + address: LocationAddress! + + """ + The location handle. + """ + handle: Handle! + + """ + The location id. + """ + id: ID! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The name of the location. + """ + name: String! +} + +""" +Represents the address of a location. +""" +type LocationAddress { + """ + The first line of the address for the location. + """ + address1: String + + """ + The second line of the address for the location. + """ + address2: String + + """ + The city of the location. + """ + city: String + + """ + The country of the location. + """ + country: String + + """ + The country code of the location. + """ + countryCode: String + + """ + A formatted version of the address for the location. + """ + formatted: [String!]! + + """ + The approximate latitude coordinates of the location. + """ + latitude: Float + + """ + The approximate longitude coordinates of the location. + """ + longitude: Float + + """ + The phone number of the location. + """ + phone: String + + """ + The province of the location. + """ + province: String + + """ + The code for the province, state, or district of the address of the location. + """ + provinceCode: String + + """ + The ZIP code of the location. + """ + zip: String +} + """ Represents a mailing address. """ @@ -4165,7 +4353,7 @@ type MailingAddress { """ The market of the address. """ - market: Market + market: Market @deprecated(reason: "This `market` field will be removed in a future version of the API.") """ The full name of the customer, based on firstName and lastName. @@ -4303,7 +4491,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-order-discounts-wasm/shopify.extension.toml.liquid b/functions-order-discounts-wasm/shopify.extension.toml.liquid index 7c798020..3f571e4c 100644 --- a/functions-order-discounts-wasm/shopify.extension.toml.liquid +++ b/functions-order-discounts-wasm/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-01" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-payment-customization-js/schema.graphql b/functions-payment-customization-js/schema.graphql index fbe12f16..5d8055eb 100644 --- a/functions-payment-customization-js/schema.graphql +++ b/functions-payment-customization-js/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -309,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -336,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -361,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -381,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ The `CartPaymentMethodsTransformRunResult` object is the output of the Function run target. The object contains the operations to apply to payment methods in checkout. @@ -550,6 +566,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2785,7 +2811,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4452,7 +4478,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ @@ -4552,6 +4580,19 @@ input NetPaymentTerms { An operation to apply to the list of payment methods. """ input Operation @oneOf { + """ + A request to impose a review requirement on the order. + + When your Function returns this operation, the checkout will be submitted as a draft, + requiring merchant review and approval to finalize the order. + + Use this operation to implement custom business rules that require manual review + before order completion, such as high-value orders, or orders with specific products. + + This operation is only available for B2B purchases on stores with the Plus plan. + """ + orderReviewAdd: OrderReviewAddOperation + """ A request to hide a payment method during checkout. @@ -4601,6 +4642,24 @@ input Operation @oneOf { paymentTermsSet: PaymentTermsSetOperation } +""" +A request to impose a review requirement on the order. + +When your Function returns this operation, the checkout will be submitted as a draft, +requiring merchant review and approval to finalize the order. + +Use this operation to implement custom business rules that require manual review +before order completion, such as high-value orders, or orders with specific products. + +This operation is only available for B2B purchases on stores with the Plus plan. +""" +input OrderReviewAddOperation { + """ + The reason for the review requirement presented to the merchant. + """ + reason: String! +} + """ A customization representing how payment methods will be ordered, hidden, or renamed. """ diff --git a/functions-payment-customization-js/shopify.extension.toml.liquid b/functions-payment-customization-js/shopify.extension.toml.liquid index 9c7b6440..1f996be1 100644 --- a/functions-payment-customization-js/shopify.extension.toml.liquid +++ b/functions-payment-customization-js/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-payment-customization-rs/Cargo.toml.liquid b/functions-payment-customization-rs/Cargo.toml.liquid index 457c617a..21fa7cc9 100644 --- a/functions-payment-customization-rs/Cargo.toml.liquid +++ b/functions-payment-customization-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-payment-customization-rs/schema.graphql b/functions-payment-customization-rs/schema.graphql index fbe12f16..5d8055eb 100644 --- a/functions-payment-customization-rs/schema.graphql +++ b/functions-payment-customization-rs/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -309,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -336,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -361,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -381,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ The `CartPaymentMethodsTransformRunResult` object is the output of the Function run target. The object contains the operations to apply to payment methods in checkout. @@ -550,6 +566,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2785,7 +2811,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4452,7 +4478,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ @@ -4552,6 +4580,19 @@ input NetPaymentTerms { An operation to apply to the list of payment methods. """ input Operation @oneOf { + """ + A request to impose a review requirement on the order. + + When your Function returns this operation, the checkout will be submitted as a draft, + requiring merchant review and approval to finalize the order. + + Use this operation to implement custom business rules that require manual review + before order completion, such as high-value orders, or orders with specific products. + + This operation is only available for B2B purchases on stores with the Plus plan. + """ + orderReviewAdd: OrderReviewAddOperation + """ A request to hide a payment method during checkout. @@ -4601,6 +4642,24 @@ input Operation @oneOf { paymentTermsSet: PaymentTermsSetOperation } +""" +A request to impose a review requirement on the order. + +When your Function returns this operation, the checkout will be submitted as a draft, +requiring merchant review and approval to finalize the order. + +Use this operation to implement custom business rules that require manual review +before order completion, such as high-value orders, or orders with specific products. + +This operation is only available for B2B purchases on stores with the Plus plan. +""" +input OrderReviewAddOperation { + """ + The reason for the review requirement presented to the merchant. + """ + reason: String! +} + """ A customization representing how payment methods will be ordered, hidden, or renamed. """ diff --git a/functions-payment-customization-rs/shopify.extension.toml.liquid b/functions-payment-customization-rs/shopify.extension.toml.liquid index 7ec29ef9..3f237c1c 100644 --- a/functions-payment-customization-rs/shopify.extension.toml.liquid +++ b/functions-payment-customization-rs/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-payment-customization-wasm/schema.graphql b/functions-payment-customization-wasm/schema.graphql index fbe12f16..5d8055eb 100644 --- a/functions-payment-customization-wasm/schema.graphql +++ b/functions-payment-customization-wasm/schema.graphql @@ -173,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -309,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -336,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -361,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -381,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ The `CartPaymentMethodsTransformRunResult` object is the output of the Function run target. The object contains the operations to apply to payment methods in checkout. @@ -550,6 +566,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2785,7 +2811,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -4452,7 +4478,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ @@ -4552,6 +4580,19 @@ input NetPaymentTerms { An operation to apply to the list of payment methods. """ input Operation @oneOf { + """ + A request to impose a review requirement on the order. + + When your Function returns this operation, the checkout will be submitted as a draft, + requiring merchant review and approval to finalize the order. + + Use this operation to implement custom business rules that require manual review + before order completion, such as high-value orders, or orders with specific products. + + This operation is only available for B2B purchases on stores with the Plus plan. + """ + orderReviewAdd: OrderReviewAddOperation + """ A request to hide a payment method during checkout. @@ -4601,6 +4642,24 @@ input Operation @oneOf { paymentTermsSet: PaymentTermsSetOperation } +""" +A request to impose a review requirement on the order. + +When your Function returns this operation, the checkout will be submitted as a draft, +requiring merchant review and approval to finalize the order. + +Use this operation to implement custom business rules that require manual review +before order completion, such as high-value orders, or orders with specific products. + +This operation is only available for B2B purchases on stores with the Plus plan. +""" +input OrderReviewAddOperation { + """ + The reason for the review requirement presented to the merchant. + """ + reason: String! +} + """ A customization representing how payment methods will be ordered, hidden, or renamed. """ diff --git a/functions-payment-customization-wasm/shopify.extension.toml.liquid b/functions-payment-customization-wasm/shopify.extension.toml.liquid index 4125f154..37f29b5d 100644 --- a/functions-payment-customization-wasm/shopify.extension.toml.liquid +++ b/functions-payment-customization-wasm/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-07" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-pickup-point-delivery-option-generators-rs/Cargo.toml.liquid b/functions-pickup-point-delivery-option-generators-rs/Cargo.toml.liquid index a9e0c04f..21dd7fd7 100644 --- a/functions-pickup-point-delivery-option-generators-rs/Cargo.toml.liquid +++ b/functions-pickup-point-delivery-option-generators-rs/Cargo.toml.liquid @@ -6,7 +6,7 @@ edition = "2021" [dependencies] serde = { version = "1.0.13", features = ["derive"] } serde_json = "1.0" -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-product-discounts-js/schema.graphql b/functions-product-discounts-js/schema.graphql index 21e0b574..8204483f 100644 --- a/functions-product-discounts-js/schema.graphql +++ b/functions-product-discounts-js/schema.graphql @@ -73,7 +73,7 @@ type BuyerIdentity { The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase and information about the customer, such as the customer's email address and phone number. """ -type Cart { +type Cart implements HasMetafields { """ The custom attributes associated with a cart to store additional information. Cart attributes allow you to collect specific information from customers on the **Cart** page, such as order notes, @@ -137,6 +137,34 @@ type Cart { """ keys: [LocalizedFieldKey!]! = [] ): [LocalizedField!]! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The physical location where a retail order is created or completed. + """ + retailLocation: Location } """ @@ -145,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -190,6 +218,11 @@ type CartDeliveryGroup { """ deliveryOptions: [CartDeliveryOption!]! + """ + The type of merchandise in the delivery group. + """ + groupType: CartDeliveryGroupType! + """ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids) for the delivery group. @@ -202,6 +235,22 @@ type CartDeliveryGroup { selectedDeliveryOption: CartDeliveryOption } +""" +Defines what type of merchandise is in the delivery group. +""" +enum CartDeliveryGroupType { + """ + The delivery group only contains merchandise that is either a one time purchase or a first delivery of + subscription merchandise. + """ + ONE_TIME_PURCHASE + + """ + The delivery group only contains subscription merchandise. + """ + SUBSCRIPTION +} + """ Information about a delivery option that's available for an item in a cart. Delivery options are the different ways that customers can choose to have their orders shipped. Examples include express shipping or standard @@ -260,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -287,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -312,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -332,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ A method for applying a discount to a specific line item in the cart. A cart line is an entry in the customer's cart that represents a single unit of a product variant. For example, if a customer adds two @@ -510,6 +575,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2745,7 +2820,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -3908,7 +3983,7 @@ type Localization { """ The market of the active localized experience. """ - market: Market! + market: Market! @deprecated(reason: "This `market` field will be removed in a future version of the API.") } """ @@ -4124,6 +4199,119 @@ enum LocalizedFieldKey { TAX_EMAIL_IT } +""" +Represents the location where the inventory resides. +""" +type Location implements HasMetafields { + """ + The address of this location. + """ + address: LocationAddress! + + """ + The location handle. + """ + handle: Handle! + + """ + The location id. + """ + id: ID! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The name of the location. + """ + name: String! +} + +""" +Represents the address of a location. +""" +type LocationAddress { + """ + The first line of the address for the location. + """ + address1: String + + """ + The second line of the address for the location. + """ + address2: String + + """ + The city of the location. + """ + city: String + + """ + The country of the location. + """ + country: String + + """ + The country code of the location. + """ + countryCode: String + + """ + A formatted version of the address for the location. + """ + formatted: [String!]! + + """ + The approximate latitude coordinates of the location. + """ + latitude: Float + + """ + The approximate longitude coordinates of the location. + """ + longitude: Float + + """ + The phone number of the location. + """ + phone: String + + """ + The province of the location. + """ + province: String + + """ + The code for the province, state, or district of the address of the location. + """ + provinceCode: String + + """ + The ZIP code of the location. + """ + zip: String +} + """ Represents a mailing address. """ @@ -4176,7 +4364,7 @@ type MailingAddress { """ The market of the address. """ - market: Market + market: Market @deprecated(reason: "This `market` field will be removed in a future version of the API.") """ The full name of the customer, based on firstName and lastName. @@ -4314,7 +4502,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-product-discounts-js/shopify.extension.toml.liquid b/functions-product-discounts-js/shopify.extension.toml.liquid index 728b7644..c462aab8 100644 --- a/functions-product-discounts-js/shopify.extension.toml.liquid +++ b/functions-product-discounts-js/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-01" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-product-discounts-rs/Cargo.toml.liquid b/functions-product-discounts-rs/Cargo.toml.liquid index 457c617a..21fa7cc9 100644 --- a/functions-product-discounts-rs/Cargo.toml.liquid +++ b/functions-product-discounts-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-product-discounts-rs/schema.graphql b/functions-product-discounts-rs/schema.graphql index 21e0b574..8204483f 100644 --- a/functions-product-discounts-rs/schema.graphql +++ b/functions-product-discounts-rs/schema.graphql @@ -73,7 +73,7 @@ type BuyerIdentity { The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase and information about the customer, such as the customer's email address and phone number. """ -type Cart { +type Cart implements HasMetafields { """ The custom attributes associated with a cart to store additional information. Cart attributes allow you to collect specific information from customers on the **Cart** page, such as order notes, @@ -137,6 +137,34 @@ type Cart { """ keys: [LocalizedFieldKey!]! = [] ): [LocalizedField!]! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The physical location where a retail order is created or completed. + """ + retailLocation: Location } """ @@ -145,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -190,6 +218,11 @@ type CartDeliveryGroup { """ deliveryOptions: [CartDeliveryOption!]! + """ + The type of merchandise in the delivery group. + """ + groupType: CartDeliveryGroupType! + """ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids) for the delivery group. @@ -202,6 +235,22 @@ type CartDeliveryGroup { selectedDeliveryOption: CartDeliveryOption } +""" +Defines what type of merchandise is in the delivery group. +""" +enum CartDeliveryGroupType { + """ + The delivery group only contains merchandise that is either a one time purchase or a first delivery of + subscription merchandise. + """ + ONE_TIME_PURCHASE + + """ + The delivery group only contains subscription merchandise. + """ + SUBSCRIPTION +} + """ Information about a delivery option that's available for an item in a cart. Delivery options are the different ways that customers can choose to have their orders shipped. Examples include express shipping or standard @@ -260,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -287,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -312,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -332,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ A method for applying a discount to a specific line item in the cart. A cart line is an entry in the customer's cart that represents a single unit of a product variant. For example, if a customer adds two @@ -510,6 +575,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2745,7 +2820,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -3908,7 +3983,7 @@ type Localization { """ The market of the active localized experience. """ - market: Market! + market: Market! @deprecated(reason: "This `market` field will be removed in a future version of the API.") } """ @@ -4124,6 +4199,119 @@ enum LocalizedFieldKey { TAX_EMAIL_IT } +""" +Represents the location where the inventory resides. +""" +type Location implements HasMetafields { + """ + The address of this location. + """ + address: LocationAddress! + + """ + The location handle. + """ + handle: Handle! + + """ + The location id. + """ + id: ID! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The name of the location. + """ + name: String! +} + +""" +Represents the address of a location. +""" +type LocationAddress { + """ + The first line of the address for the location. + """ + address1: String + + """ + The second line of the address for the location. + """ + address2: String + + """ + The city of the location. + """ + city: String + + """ + The country of the location. + """ + country: String + + """ + The country code of the location. + """ + countryCode: String + + """ + A formatted version of the address for the location. + """ + formatted: [String!]! + + """ + The approximate latitude coordinates of the location. + """ + latitude: Float + + """ + The approximate longitude coordinates of the location. + """ + longitude: Float + + """ + The phone number of the location. + """ + phone: String + + """ + The province of the location. + """ + province: String + + """ + The code for the province, state, or district of the address of the location. + """ + provinceCode: String + + """ + The ZIP code of the location. + """ + zip: String +} + """ Represents a mailing address. """ @@ -4176,7 +4364,7 @@ type MailingAddress { """ The market of the address. """ - market: Market + market: Market @deprecated(reason: "This `market` field will be removed in a future version of the API.") """ The full name of the customer, based on firstName and lastName. @@ -4314,7 +4502,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-product-discounts-rs/shopify.extension.toml.liquid b/functions-product-discounts-rs/shopify.extension.toml.liquid index 80d85f47..3e4863a0 100644 --- a/functions-product-discounts-rs/shopify.extension.toml.liquid +++ b/functions-product-discounts-rs/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-01" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-product-discounts-wasm/schema.graphql b/functions-product-discounts-wasm/schema.graphql index 21e0b574..8204483f 100644 --- a/functions-product-discounts-wasm/schema.graphql +++ b/functions-product-discounts-wasm/schema.graphql @@ -73,7 +73,7 @@ type BuyerIdentity { The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase and information about the customer, such as the customer's email address and phone number. """ -type Cart { +type Cart implements HasMetafields { """ The custom attributes associated with a cart to store additional information. Cart attributes allow you to collect specific information from customers on the **Cart** page, such as order notes, @@ -137,6 +137,34 @@ type Cart { """ keys: [LocalizedFieldKey!]! = [] ): [LocalizedField!]! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The physical location where a retail order is created or completed. + """ + retailLocation: Location } """ @@ -145,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -190,6 +218,11 @@ type CartDeliveryGroup { """ deliveryOptions: [CartDeliveryOption!]! + """ + The type of merchandise in the delivery group. + """ + groupType: CartDeliveryGroupType! + """ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids) for the delivery group. @@ -202,6 +235,22 @@ type CartDeliveryGroup { selectedDeliveryOption: CartDeliveryOption } +""" +Defines what type of merchandise is in the delivery group. +""" +enum CartDeliveryGroupType { + """ + The delivery group only contains merchandise that is either a one time purchase or a first delivery of + subscription merchandise. + """ + ONE_TIME_PURCHASE + + """ + The delivery group only contains subscription merchandise. + """ + SUBSCRIPTION +} + """ Information about a delivery option that's available for an item in a cart. Delivery options are the different ways that customers can choose to have their orders shipped. Examples include express shipping or standard @@ -260,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -287,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -312,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -332,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ A method for applying a discount to a specific line item in the cart. A cart line is an entry in the customer's cart that represents a single unit of a product variant. For example, if a customer adds two @@ -510,6 +575,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2745,7 +2820,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -3908,7 +3983,7 @@ type Localization { """ The market of the active localized experience. """ - market: Market! + market: Market! @deprecated(reason: "This `market` field will be removed in a future version of the API.") } """ @@ -4124,6 +4199,119 @@ enum LocalizedFieldKey { TAX_EMAIL_IT } +""" +Represents the location where the inventory resides. +""" +type Location implements HasMetafields { + """ + The address of this location. + """ + address: LocationAddress! + + """ + The location handle. + """ + handle: Handle! + + """ + The location id. + """ + id: ID! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The name of the location. + """ + name: String! +} + +""" +Represents the address of a location. +""" +type LocationAddress { + """ + The first line of the address for the location. + """ + address1: String + + """ + The second line of the address for the location. + """ + address2: String + + """ + The city of the location. + """ + city: String + + """ + The country of the location. + """ + country: String + + """ + The country code of the location. + """ + countryCode: String + + """ + A formatted version of the address for the location. + """ + formatted: [String!]! + + """ + The approximate latitude coordinates of the location. + """ + latitude: Float + + """ + The approximate longitude coordinates of the location. + """ + longitude: Float + + """ + The phone number of the location. + """ + phone: String + + """ + The province of the location. + """ + province: String + + """ + The code for the province, state, or district of the address of the location. + """ + provinceCode: String + + """ + The ZIP code of the location. + """ + zip: String +} + """ Represents a mailing address. """ @@ -4176,7 +4364,7 @@ type MailingAddress { """ The market of the address. """ - market: Market + market: Market @deprecated(reason: "This `market` field will be removed in a future version of the API.") """ The full name of the customer, based on firstName and lastName. @@ -4314,7 +4502,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-product-discounts-wasm/shopify.extension.toml.liquid b/functions-product-discounts-wasm/shopify.extension.toml.liquid index f6c0b2c9..17e4b9a4 100644 --- a/functions-product-discounts-wasm/shopify.extension.toml.liquid +++ b/functions-product-discounts-wasm/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-01" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-shipping-discounts-js/schema.graphql b/functions-shipping-discounts-js/schema.graphql index 2270f841..0122597e 100644 --- a/functions-shipping-discounts-js/schema.graphql +++ b/functions-shipping-discounts-js/schema.graphql @@ -73,7 +73,7 @@ type BuyerIdentity { The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase and information about the customer, such as the customer's email address and phone number. """ -type Cart { +type Cart implements HasMetafields { """ The custom attributes associated with a cart to store additional information. Cart attributes allow you to collect specific information from customers on the **Cart** page, such as order notes, @@ -137,6 +137,34 @@ type Cart { """ keys: [LocalizedFieldKey!]! = [] ): [LocalizedField!]! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The physical location where a retail order is created or completed. + """ + retailLocation: Location } """ @@ -145,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -190,6 +218,11 @@ type CartDeliveryGroup { """ deliveryOptions: [CartDeliveryOption!]! + """ + The type of merchandise in the delivery group. + """ + groupType: CartDeliveryGroupType! + """ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids) for the delivery group. @@ -202,6 +235,22 @@ type CartDeliveryGroup { selectedDeliveryOption: CartDeliveryOption } +""" +Defines what type of merchandise is in the delivery group. +""" +enum CartDeliveryGroupType { + """ + The delivery group only contains merchandise that is either a one time purchase or a first delivery of + subscription merchandise. + """ + ONE_TIME_PURCHASE + + """ + The delivery group only contains subscription merchandise. + """ + SUBSCRIPTION +} + """ Information about a delivery option that's available for an item in a cart. Delivery options are the different ways that customers can choose to have their orders shipped. Examples include express shipping or standard @@ -260,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -287,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -312,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -332,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -490,6 +555,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2725,7 +2800,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -3857,7 +3932,7 @@ type Localization { """ The market of the active localized experience. """ - market: Market! + market: Market! @deprecated(reason: "This `market` field will be removed in a future version of the API.") } """ @@ -4073,6 +4148,119 @@ enum LocalizedFieldKey { TAX_EMAIL_IT } +""" +Represents the location where the inventory resides. +""" +type Location implements HasMetafields { + """ + The address of this location. + """ + address: LocationAddress! + + """ + The location handle. + """ + handle: Handle! + + """ + The location id. + """ + id: ID! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The name of the location. + """ + name: String! +} + +""" +Represents the address of a location. +""" +type LocationAddress { + """ + The first line of the address for the location. + """ + address1: String + + """ + The second line of the address for the location. + """ + address2: String + + """ + The city of the location. + """ + city: String + + """ + The country of the location. + """ + country: String + + """ + The country code of the location. + """ + countryCode: String + + """ + A formatted version of the address for the location. + """ + formatted: [String!]! + + """ + The approximate latitude coordinates of the location. + """ + latitude: Float + + """ + The approximate longitude coordinates of the location. + """ + longitude: Float + + """ + The phone number of the location. + """ + phone: String + + """ + The province of the location. + """ + province: String + + """ + The code for the province, state, or district of the address of the location. + """ + provinceCode: String + + """ + The ZIP code of the location. + """ + zip: String +} + """ Represents a mailing address. """ @@ -4125,7 +4313,7 @@ type MailingAddress { """ The market of the address. """ - market: Market + market: Market @deprecated(reason: "This `market` field will be removed in a future version of the API.") """ The full name of the customer, based on firstName and lastName. @@ -4263,7 +4451,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-shipping-discounts-js/shopify.extension.toml.liquid b/functions-shipping-discounts-js/shopify.extension.toml.liquid index 144e5ca2..ef1eb919 100644 --- a/functions-shipping-discounts-js/shopify.extension.toml.liquid +++ b/functions-shipping-discounts-js/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-01" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-shipping-discounts-rs/Cargo.toml.liquid b/functions-shipping-discounts-rs/Cargo.toml.liquid index 457c617a..21fa7cc9 100644 --- a/functions-shipping-discounts-rs/Cargo.toml.liquid +++ b/functions-shipping-discounts-rs/Cargo.toml.liquid @@ -4,7 +4,7 @@ version = "1.0.0" edition = "2021" [dependencies] -shopify_function = "2.0.2" +shopify_function = "2.0.3" [profile.release] lto = true diff --git a/functions-shipping-discounts-rs/schema.graphql b/functions-shipping-discounts-rs/schema.graphql index 2270f841..0122597e 100644 --- a/functions-shipping-discounts-rs/schema.graphql +++ b/functions-shipping-discounts-rs/schema.graphql @@ -73,7 +73,7 @@ type BuyerIdentity { The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase and information about the customer, such as the customer's email address and phone number. """ -type Cart { +type Cart implements HasMetafields { """ The custom attributes associated with a cart to store additional information. Cart attributes allow you to collect specific information from customers on the **Cart** page, such as order notes, @@ -137,6 +137,34 @@ type Cart { """ keys: [LocalizedFieldKey!]! = [] ): [LocalizedField!]! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The physical location where a retail order is created or completed. + """ + retailLocation: Location } """ @@ -145,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -190,6 +218,11 @@ type CartDeliveryGroup { """ deliveryOptions: [CartDeliveryOption!]! + """ + The type of merchandise in the delivery group. + """ + groupType: CartDeliveryGroupType! + """ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids) for the delivery group. @@ -202,6 +235,22 @@ type CartDeliveryGroup { selectedDeliveryOption: CartDeliveryOption } +""" +Defines what type of merchandise is in the delivery group. +""" +enum CartDeliveryGroupType { + """ + The delivery group only contains merchandise that is either a one time purchase or a first delivery of + subscription merchandise. + """ + ONE_TIME_PURCHASE + + """ + The delivery group only contains subscription merchandise. + """ + SUBSCRIPTION +} + """ Information about a delivery option that's available for an item in a cart. Delivery options are the different ways that customers can choose to have their orders shipped. Examples include express shipping or standard @@ -260,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -287,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -312,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -332,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -490,6 +555,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2725,7 +2800,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -3857,7 +3932,7 @@ type Localization { """ The market of the active localized experience. """ - market: Market! + market: Market! @deprecated(reason: "This `market` field will be removed in a future version of the API.") } """ @@ -4073,6 +4148,119 @@ enum LocalizedFieldKey { TAX_EMAIL_IT } +""" +Represents the location where the inventory resides. +""" +type Location implements HasMetafields { + """ + The address of this location. + """ + address: LocationAddress! + + """ + The location handle. + """ + handle: Handle! + + """ + The location id. + """ + id: ID! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The name of the location. + """ + name: String! +} + +""" +Represents the address of a location. +""" +type LocationAddress { + """ + The first line of the address for the location. + """ + address1: String + + """ + The second line of the address for the location. + """ + address2: String + + """ + The city of the location. + """ + city: String + + """ + The country of the location. + """ + country: String + + """ + The country code of the location. + """ + countryCode: String + + """ + A formatted version of the address for the location. + """ + formatted: [String!]! + + """ + The approximate latitude coordinates of the location. + """ + latitude: Float + + """ + The approximate longitude coordinates of the location. + """ + longitude: Float + + """ + The phone number of the location. + """ + phone: String + + """ + The province of the location. + """ + province: String + + """ + The code for the province, state, or district of the address of the location. + """ + provinceCode: String + + """ + The ZIP code of the location. + """ + zip: String +} + """ Represents a mailing address. """ @@ -4125,7 +4313,7 @@ type MailingAddress { """ The market of the address. """ - market: Market + market: Market @deprecated(reason: "This `market` field will be removed in a future version of the API.") """ The full name of the customer, based on firstName and lastName. @@ -4263,7 +4451,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-shipping-discounts-rs/shopify.extension.toml.liquid b/functions-shipping-discounts-rs/shopify.extension.toml.liquid index 51080312..6caffec6 100644 --- a/functions-shipping-discounts-rs/shopify.extension.toml.liquid +++ b/functions-shipping-discounts-rs/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-01" +api_version = "2026-01" [[extensions]] name = "t:name" diff --git a/functions-shipping-discounts-wasm/schema.graphql b/functions-shipping-discounts-wasm/schema.graphql index 2270f841..0122597e 100644 --- a/functions-shipping-discounts-wasm/schema.graphql +++ b/functions-shipping-discounts-wasm/schema.graphql @@ -73,7 +73,7 @@ type BuyerIdentity { The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase and information about the customer, such as the customer's email address and phone number. """ -type Cart { +type Cart implements HasMetafields { """ The custom attributes associated with a cart to store additional information. Cart attributes allow you to collect specific information from customers on the **Cart** page, such as order notes, @@ -137,6 +137,34 @@ type Cart { """ keys: [LocalizedFieldKey!]! = [] ): [LocalizedField!]! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The physical location where a retail order is created or completed. + """ + retailLocation: Location } """ @@ -145,7 +173,7 @@ the subtotal before taxes and duties, the tax amount, and duty charges. """ type CartCost { """ - The amount for the customer to pay at checkout, excluding taxes and discounts. + The amount, before taxes and cart-level discounts, for the customer to pay. """ subtotalAmount: MoneyV2! @@ -190,6 +218,11 @@ type CartDeliveryGroup { """ deliveryOptions: [CartDeliveryOption!]! + """ + The type of merchandise in the delivery group. + """ + groupType: CartDeliveryGroupType! + """ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids) for the delivery group. @@ -202,6 +235,22 @@ type CartDeliveryGroup { selectedDeliveryOption: CartDeliveryOption } +""" +Defines what type of merchandise is in the delivery group. +""" +enum CartDeliveryGroupType { + """ + The delivery group only contains merchandise that is either a one time purchase or a first delivery of + subscription merchandise. + """ + ONE_TIME_PURCHASE + + """ + The delivery group only contains subscription merchandise. + """ + SUBSCRIPTION +} + """ Information about a delivery option that's available for an item in a cart. Delivery options are the different ways that customers can choose to have their orders shipped. Examples include express shipping or standard @@ -260,7 +309,7 @@ type CartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -287,6 +336,12 @@ type CartLine { """ merchandise: Merchandise! + """ + The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines) + between this line and its parent line, if any. + """ + parentRelationship: CartLineParentRelationship + """ The quantity of the item that the customer intends to purchase. """ @@ -312,7 +367,7 @@ type CartLineCost { amountPerQuantity: MoneyV2! """ - The cost of a single unit before any discounts are applied. This field is used to calculate and display + The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is `null` when the value is hidden from buyers. @@ -332,6 +387,16 @@ type CartLineCost { totalAmount: MoneyV2! } +""" +Represents the relationship between a cart line and its parent line. +""" +type CartLineParentRelationship { + """ + The parent line in the relationship. + """ + parent: CartLine! +} + """ Whether the product is in the specified collection. @@ -490,6 +555,16 @@ type CompanyLocation implements HasMetafields { """ name: String! + """ + The number of orders placed at this company location. + """ + ordersCount: Int! + + """ + The total amount spent at this company location. + """ + totalSpent: MoneyV2! + """ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. @@ -2725,7 +2800,7 @@ type DeliverableCartLine { gift wrapping requests, or custom product details. Attributes are stored as key-value pairs. Cart line attributes are equivalent to the - [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans) + [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item) object in Liquid. """ attribute( @@ -3857,7 +3932,7 @@ type Localization { """ The market of the active localized experience. """ - market: Market! + market: Market! @deprecated(reason: "This `market` field will be removed in a future version of the API.") } """ @@ -4073,6 +4148,119 @@ enum LocalizedFieldKey { TAX_EMAIL_IT } +""" +Represents the location where the inventory resides. +""" +type Location implements HasMetafields { + """ + The address of this location. + """ + address: LocationAddress! + + """ + The location handle. + """ + handle: Handle! + + """ + The location id. + """ + id: ID! + + """ + A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information + about a Shopify resource, such as products, orders, and + [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType). + Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries) + enables you to customize the checkout experience. + """ + metafield( + """ + The unique identifier for the metafield within its namespace. A metafield is composed of a + namespace and a key, in the format `namespace.key`. + """ + key: String! + + """ + A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts + between different apps or different parts of the same app. If omitted, then the + [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership) + is used. + """ + namespace: String + ): Metafield + + """ + The name of the location. + """ + name: String! +} + +""" +Represents the address of a location. +""" +type LocationAddress { + """ + The first line of the address for the location. + """ + address1: String + + """ + The second line of the address for the location. + """ + address2: String + + """ + The city of the location. + """ + city: String + + """ + The country of the location. + """ + country: String + + """ + The country code of the location. + """ + countryCode: String + + """ + A formatted version of the address for the location. + """ + formatted: [String!]! + + """ + The approximate latitude coordinates of the location. + """ + latitude: Float + + """ + The approximate longitude coordinates of the location. + """ + longitude: Float + + """ + The phone number of the location. + """ + phone: String + + """ + The province of the location. + """ + province: String + + """ + The code for the province, state, or district of the address of the location. + """ + provinceCode: String + + """ + The ZIP code of the location. + """ + zip: String +} + """ Represents a mailing address. """ @@ -4125,7 +4313,7 @@ type MailingAddress { """ The market of the address. """ - market: Market + market: Market @deprecated(reason: "This `market` field will be removed in a future version of the API.") """ The full name of the customer, based on firstName and lastName. @@ -4263,7 +4451,9 @@ type Metafield { } """ -A precise monetary value and its associated currency. For example, 12.99 USD. +A precise monetary value and its associated currency. Combines a decimal amount +with a three-letter currency code to express prices, costs, and other financial +values throughout the API. For example, 12.99 USD. """ type MoneyV2 { """ diff --git a/functions-shipping-discounts-wasm/shopify.extension.toml.liquid b/functions-shipping-discounts-wasm/shopify.extension.toml.liquid index 16019fd6..3e96b331 100644 --- a/functions-shipping-discounts-wasm/shopify.extension.toml.liquid +++ b/functions-shipping-discounts-wasm/shopify.extension.toml.liquid @@ -1,4 +1,4 @@ -api_version = "2025-01" +api_version = "2026-01" [[extensions]] name = "t:name"