- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
Get Product Variant Prices using Query
In this document, you'll learn how to retrieve product variant prices in the Medusa application using Query.
Retrieve All Product Variant Prices#
To retrieve all product variant prices, retrieve the product using Query and include among its fields variants.prices.*
.
For example:
Each variant in the retrieved products has a prices
array property with all the product variant prices. Each price object has the properties of the Pricing Module's Price data model.
Retrieve Calculated Price for a Context#
The Pricing Module can calculate prices of a variant based on a context, such as the region ID or the currency code.
To retrieve calculated prices of variants based on a context, retrieve the products using Query and:
- Pass
variants.calculated_price.*
in thefields
property. - Pass a
context
property in the object parameter. Its value is an object of objects that sets the context for the retrieved fields.
For example:
1import { QueryContext } from "@medusajs/framework/utils"2 3// ...4 5const { data: products } = await query.graph({6 entity: "product",7 fields: [8 "*",9 "variants.*",10 "variants.calculated_price.*",11 ],12 filters: {13 id: "prod_123",14 },15 context: {16 variants: {17 calculated_price: QueryContext({18 region_id: "reg_01J3MRPDNXXXDSCC76Y6YCZARS",19 currency_code: "eur",20 }),21 },22 },23})
For the context of the product variant's calculated price, you pass an object to context
with the property variants
, whose value is another object with the property calculated_price
.
calculated_price
's value is created using the QueryContext
utility function, passing it a calculation context object.
Each variant in the retrieved products has a calculated_price
object. Learn more about its properties in this Pricing Module guide.