Generated the following references: - `entities` - `inventory` - `js-client` - `pricing` - `product` - `services` - `stock-location` - `workflows` Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com> Co-authored-by: Shahed Nasser <27354907+shahednasser@users.noreply.github.com>
1192 lines
43 KiB
Plaintext
1192 lines
43 KiB
Plaintext
---
|
|
displayed_sidebar: jsClientSidebar
|
|
slug: /references/js-client/AdminVariantsResource
|
|
---
|
|
|
|
import ParameterTypes from "@site/src/components/ParameterTypes"
|
|
|
|
# AdminVariantsResource
|
|
|
|
This class is used to send requests to [Admin Product Variant API Routes](https://docs.medusajs.com/api/admin#product-variants). All its method
|
|
are available in the JS Client under the `medusa.admin.variants` property.
|
|
|
|
All methods in this class require [user authentication](AdminAuthResource.mdx#createsession).
|
|
|
|
Product variants are the actual salable item in your store. Each variant is a combination of the different option values available on the product.
|
|
Product variants can be managed through [AdminProductsResource](AdminProductsResource.mdx).
|
|
|
|
Related Guide: [How to manage product variants](https://docs.medusajs.com/modules/products/admin/manage-products#manage-product-variants).
|
|
|
|
## Methods
|
|
|
|
#### getInventory
|
|
|
|
Retrieve the available inventory of a product variant.
|
|
|
|
##### Example
|
|
|
|
```ts
|
|
import Medusa from "@medusajs/medusa-js"
|
|
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
|
|
// must be previously logged in or use api token
|
|
medusa.admin.variants.getInventory(variantId).then(({ variant }) => {
|
|
console.log(variant.inventory, variant.sales_channel_availability)
|
|
})
|
|
```
|
|
|
|
##### Parameters
|
|
|
|
<ParameterTypes parameters={[
|
|
{
|
|
"name": "variantId",
|
|
"type": "`string`",
|
|
"description": "The product variant's ID.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "customHeaders",
|
|
"type": "`Record<string, any>`",
|
|
"description": "Custom headers to attach to the request.",
|
|
"optional": false,
|
|
"defaultValue": "{}",
|
|
"expandable": false,
|
|
"children": []
|
|
}
|
|
]} />
|
|
|
|
##### Returns
|
|
|
|
<ParameterTypes parameters={[
|
|
{
|
|
"name": "ResponsePromise",
|
|
"type": "[ResponsePromise](../internal/types/internal.ResponsePromise.mdx)<[AdminGetVariantsVariantInventoryRes](../internal/types/internal.AdminGetVariantsVariantInventoryRes.mdx)>",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"description": "Resolves to the inventory details of the product variant.",
|
|
"expandable": false,
|
|
"children": [
|
|
{
|
|
"name": "AdminGetVariantsVariantInventoryRes",
|
|
"type": "`object`",
|
|
"description": "The variant's inventory details.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": [
|
|
{
|
|
"name": "variant",
|
|
"type": "[VariantInventory](../internal/types/internal.VariantInventory.mdx)",
|
|
"description": "The product variant's inventory details.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": [
|
|
{
|
|
"name": "id",
|
|
"type": "`string`",
|
|
"description": "the ID of the variant",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "inventory",
|
|
"type": "[ResponseInventoryItem](../internal/types/internal.internal.ResponseInventoryItem.mdx)[]",
|
|
"description": "The inventory details.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "sales_channel_availability",
|
|
"type": "``{ available_quantity: number ; channel_id: string ; channel_name: string }``[]",
|
|
"description": "Details about the variant's inventory availability in sales channels.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]} />
|
|
|
|
___
|
|
|
|
#### list
|
|
|
|
Retrieve a list of product variants. The product variant can be filtered by fields such as `id` or `title` passed in the `query` parameter. The product variant can also be paginated.
|
|
|
|
##### Example
|
|
|
|
To list product variants:
|
|
|
|
```ts
|
|
import Medusa from "@medusajs/medusa-js"
|
|
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
|
|
// must be previously logged in or use api token
|
|
medusa.admin.variants.list().then(({ variants, limit, offset, count }) => {
|
|
console.log(variants.length)
|
|
})
|
|
```
|
|
|
|
To specify relations that should be retrieved within the product variants:
|
|
|
|
```ts
|
|
import Medusa from "@medusajs/medusa-js"
|
|
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
|
|
// must be previously logged in or use api token
|
|
medusa.admin.variants
|
|
.list({
|
|
expand: "options",
|
|
})
|
|
.then(({ variants, limit, offset, count }) => {
|
|
console.log(variants.length)
|
|
})
|
|
```
|
|
|
|
By default, only the first `100` records are retrieved. You can control pagination by specifying the `limit` and `offset` properties:
|
|
|
|
```ts
|
|
import Medusa from "@medusajs/medusa-js"
|
|
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
|
|
// must be previously logged in or use api token
|
|
medusa.admin.variants
|
|
.list({
|
|
expand: "options",
|
|
limit,
|
|
offset,
|
|
})
|
|
.then(({ variants, limit, offset, count }) => {
|
|
console.log(variants.length)
|
|
})
|
|
```
|
|
|
|
##### Parameters
|
|
|
|
<ParameterTypes parameters={[
|
|
{
|
|
"name": "query",
|
|
"type": "[AdminGetVariantsParams](../internal/classes/internal.AdminGetVariantsParams.mdx)",
|
|
"description": "Filters and pagination configurations to apply on the retrieved product variants.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": [
|
|
{
|
|
"name": "cart_id",
|
|
"type": "`string`",
|
|
"description": "Retrieve prices for a cart ID.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "currency_code",
|
|
"type": "`string`",
|
|
"description": "Retrieve prices for a currency code.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "customer_id",
|
|
"type": "`string`",
|
|
"description": "Retrieve prices for a customer ID.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "expand",
|
|
"type": "`string`",
|
|
"description": "Comma-separated relations that should be expanded in the returned data.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "fields",
|
|
"type": "`string`",
|
|
"description": "Comma-separated fields that should be included in the returned data.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "id",
|
|
"type": "`string` \\| `string`[]",
|
|
"description": "IDs to filter product variants by.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "inventory_quantity",
|
|
"type": "`number` \\| [NumericalComparisonOperator](../internal/classes/internal.NumericalComparisonOperator.mdx)",
|
|
"description": "Number filters to apply on product variants' `inventory_quantity` field.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "limit",
|
|
"type": "`number`",
|
|
"description": "Limit the number of items returned in the list.",
|
|
"optional": true,
|
|
"defaultValue": "20",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"type": "`number`",
|
|
"description": "The number of items to skip when retrieving a list.",
|
|
"optional": true,
|
|
"defaultValue": "0",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "q",
|
|
"type": "`string`",
|
|
"description": "Search term to search product variants' IDs.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "region_id",
|
|
"type": "`string`",
|
|
"description": "Retrieve prices for a region ID.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "title",
|
|
"type": "`string` \\| `string`[]",
|
|
"description": "Titles to filter product variants by.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "customHeaders",
|
|
"type": "`Record<string, any>`",
|
|
"description": "Custom headers to attach to the request.",
|
|
"optional": false,
|
|
"defaultValue": "{}",
|
|
"expandable": false,
|
|
"children": []
|
|
}
|
|
]} />
|
|
|
|
##### Returns
|
|
|
|
<ParameterTypes parameters={[
|
|
{
|
|
"name": "ResponsePromise",
|
|
"type": "[ResponsePromise](../internal/types/internal.ResponsePromise.mdx)<[AdminVariantsListRes](../internal/types/internal.AdminVariantsListRes.mdx)>",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"description": "Resolves to the list of product variants with pagination fields.",
|
|
"expandable": false,
|
|
"children": [
|
|
{
|
|
"name": "AdminVariantsListRes",
|
|
"type": "[PaginatedResponse](../internal/interfaces/internal.PaginatedResponse.mdx) & ``{ variants: [PricedVariant](../internal/types/internal.PricedVariant.mdx)[] }``",
|
|
"description": "The list of variants with pagination fields.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": [
|
|
{
|
|
"name": "count",
|
|
"type": "`number`",
|
|
"description": "The total number of items available.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "limit",
|
|
"type": "`number`",
|
|
"description": "The maximum number of items that can be returned in the list.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"type": "`number`",
|
|
"description": "The number of items skipped before the returned items in the list.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "variants",
|
|
"type": "[PricedVariant](../internal/types/internal.PricedVariant.mdx)[]",
|
|
"description": "An array of product variant details.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": [
|
|
{
|
|
"name": "allow_backorder",
|
|
"type": "`boolean`",
|
|
"description": "Whether the Product Variant should be purchasable when `inventory\\_quantity` is 0.",
|
|
"optional": false,
|
|
"defaultValue": "false",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "barcode",
|
|
"type": "`null` \\| `string`",
|
|
"description": "A generic field for a GTIN number that can be used to identify the Product Variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"type": "`Date`",
|
|
"description": "The date with timezone at which the resource was created.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "deleted_at",
|
|
"type": "`null` \\| `Date`",
|
|
"description": "The date with timezone at which the resource was deleted.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "ean",
|
|
"type": "`null` \\| `string`",
|
|
"description": "An EAN barcode number that can be used to identify the Product Variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "height",
|
|
"type": "`null` \\| `number`",
|
|
"description": "The height of the Product Variant. May be used in shipping rate calculations.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "hs_code",
|
|
"type": "`null` \\| `string`",
|
|
"description": "The Harmonized System code of the Product Variant. May be used by Fulfillment Providers to pass customs information to shipping carriers.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "id",
|
|
"type": "`string`",
|
|
"description": "The product variant's ID",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "inventory_items",
|
|
"type": "[ProductVariantInventoryItem](../internal/classes/internal.internal.ProductVariantInventoryItem.mdx)[]",
|
|
"description": "The details inventory items of the product variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": true,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "inventory_quantity",
|
|
"type": "`number`",
|
|
"description": "The current quantity of the item that is stocked.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "length",
|
|
"type": "`null` \\| `number`",
|
|
"description": "The length of the Product Variant. May be used in shipping rate calculations.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "manage_inventory",
|
|
"type": "`boolean`",
|
|
"description": "Whether Medusa should manage inventory for the Product Variant.",
|
|
"optional": false,
|
|
"defaultValue": "true",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "material",
|
|
"type": "`null` \\| `string`",
|
|
"description": "The material and composition that the Product Variant is made of, May be used by Fulfillment Providers to pass customs information to shipping carriers.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "metadata",
|
|
"type": "`null` \\| `Record<string, unknown>`",
|
|
"description": "An optional key-value map with additional details",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "mid_code",
|
|
"type": "`null` \\| `string`",
|
|
"description": "The Manufacturers Identification code that identifies the manufacturer of the Product Variant. May be used by Fulfillment Providers to pass customs information to shipping carriers.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "options",
|
|
"type": "[ProductOptionValue](../internal/classes/internal.internal.ProductOptionValue.mdx)[]",
|
|
"description": "The details of the product options that this product variant defines values for.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": true,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "origin_country",
|
|
"type": "`null` \\| `string`",
|
|
"description": "The country in which the Product Variant was produced. May be used by Fulfillment Providers to pass customs information to shipping carriers.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "prices",
|
|
"type": "[MoneyAmount](../internal/classes/internal.internal.MoneyAmount.mdx)[]",
|
|
"description": "The details of the prices of the Product Variant, each represented as a Money Amount. Each Money Amount represents a price in a given currency or a specific Region.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": true,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "product",
|
|
"type": "[Product](../internal/classes/internal.Product.mdx)",
|
|
"description": "The details of the product that the product variant belongs to.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": true,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "product_id",
|
|
"type": "`string`",
|
|
"description": "The ID of the product that the product variant belongs to.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "purchasable",
|
|
"type": "`boolean`",
|
|
"description": "Only used with the inventory modules. A boolean value indicating whether the Product Variant is purchasable. A variant is purchasable if: - inventory is not managed - it has no inventory items - it is in stock - it is backorderable.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "sku",
|
|
"type": "`null` \\| `string`",
|
|
"description": "The unique stock keeping unit used to identify the Product Variant. This will usually be a unique identifer for the item that is to be shipped, and can be referenced across multiple systems.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "title",
|
|
"type": "`string`",
|
|
"description": "A title that can be displayed for easy identification of the Product Variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "upc",
|
|
"type": "`null` \\| `string`",
|
|
"description": "A UPC barcode number that can be used to identify the Product Variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"type": "`Date`",
|
|
"description": "The date with timezone at which the resource was updated.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "variant_rank",
|
|
"type": "`null` \\| `number`",
|
|
"description": "The ranking of this variant",
|
|
"optional": false,
|
|
"defaultValue": "0",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "weight",
|
|
"type": "`null` \\| `number`",
|
|
"description": "The weight of the Product Variant. May be used in shipping rate calculations.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "width",
|
|
"type": "`null` \\| `number`",
|
|
"description": "The width of the Product Variant. May be used in shipping rate calculations.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "calculated_price",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The lowest price among the retrieved prices.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "calculated_price_includes_tax",
|
|
"type": "`boolean` \\| `null`",
|
|
"description": "Whether the `calculated_price` field includes taxes.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"featureFlag": "tax_inclusive_pricing",
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "calculated_price_type",
|
|
"type": "`string` \\| `null`",
|
|
"description": "Either `default` if the `calculated_price` is the original price, or the type of the price list applied, if any.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "original_price",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The original price of the variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "original_price_includes_tax",
|
|
"type": "`boolean` \\| `null`",
|
|
"description": "Whether the `original_price` field includes taxes.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"featureFlag": "tax_inclusive_pricing",
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "prices",
|
|
"type": "[MoneyAmount](../internal/classes/internal.internal.MoneyAmount.mdx)[]",
|
|
"description": "The list of prices.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "calculated_price_incl_tax",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The price after applying the tax amount on the calculated price.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "calculated_tax",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The tax amount applied to the calculated price.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "original_price_incl_tax",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The price after applying the tax amount on the original price.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "original_tax",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The tax amount applied to the original price.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "tax_rates",
|
|
"type": "[TaxServiceRate](../internal/types/internal.TaxServiceRate.mdx)[] \\| `null`",
|
|
"description": "The list of tax rates.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]} />
|
|
|
|
___
|
|
|
|
#### retrieve
|
|
|
|
Retrieve a product variant's details.
|
|
|
|
##### Example
|
|
|
|
A simple example that retrieves a product variant by its ID:
|
|
|
|
```ts
|
|
import Medusa from "@medusajs/medusa-js"
|
|
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
|
|
// must be previously logged in or use api token
|
|
medusa.admin.variants.retrieve(variantId).then(({ variant }) => {
|
|
console.log(variant.id)
|
|
})
|
|
```
|
|
|
|
To specify relations that should be retrieved:
|
|
|
|
```ts
|
|
import Medusa from "@medusajs/medusa-js"
|
|
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
|
|
// must be previously logged in or use api token
|
|
medusa.admin.variants
|
|
.retrieve(variantId, {
|
|
expand: "options",
|
|
})
|
|
.then(({ variant }) => {
|
|
console.log(variant.id)
|
|
})
|
|
```
|
|
|
|
##### Parameters
|
|
|
|
<ParameterTypes parameters={[
|
|
{
|
|
"name": "id",
|
|
"type": "`string`",
|
|
"description": "The product variant's ID.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "query",
|
|
"type": "[AdminGetVariantParams](../internal/classes/internal.AdminGetVariantParams.mdx)",
|
|
"description": "Configurations to apply on the retrieved product variant.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": [
|
|
{
|
|
"name": "expand",
|
|
"type": "`string`",
|
|
"description": "Comma-separated relations that should be expanded in the returned data.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "fields",
|
|
"type": "`string`",
|
|
"description": "Comma-separated fields that should be included in the returned data.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "customHeaders",
|
|
"type": "`Record<string, any>`",
|
|
"description": "Custom headers to attach to the request.",
|
|
"optional": false,
|
|
"defaultValue": "{}",
|
|
"expandable": false,
|
|
"children": []
|
|
}
|
|
]} />
|
|
|
|
##### Returns
|
|
|
|
<ParameterTypes parameters={[
|
|
{
|
|
"name": "ResponsePromise",
|
|
"type": "[ResponsePromise](../internal/types/internal.ResponsePromise.mdx)<[AdminVariantsRes](../internal/types/internal.AdminVariantsRes.mdx)>",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"description": "Resolves to the product variant's details.",
|
|
"expandable": false,
|
|
"children": [
|
|
{
|
|
"name": "AdminVariantsRes",
|
|
"type": "`object`",
|
|
"description": "The product variant's details.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": [
|
|
{
|
|
"name": "variant",
|
|
"type": "[PricedVariant](../internal/types/internal.PricedVariant.mdx)",
|
|
"description": "Product variant's details.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": [
|
|
{
|
|
"name": "allow_backorder",
|
|
"type": "`boolean`",
|
|
"description": "Whether the Product Variant should be purchasable when `inventory\\_quantity` is 0.",
|
|
"optional": false,
|
|
"defaultValue": "false",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "barcode",
|
|
"type": "`null` \\| `string`",
|
|
"description": "A generic field for a GTIN number that can be used to identify the Product Variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"type": "`Date`",
|
|
"description": "The date with timezone at which the resource was created.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "deleted_at",
|
|
"type": "`null` \\| `Date`",
|
|
"description": "The date with timezone at which the resource was deleted.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "ean",
|
|
"type": "`null` \\| `string`",
|
|
"description": "An EAN barcode number that can be used to identify the Product Variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "height",
|
|
"type": "`null` \\| `number`",
|
|
"description": "The height of the Product Variant. May be used in shipping rate calculations.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "hs_code",
|
|
"type": "`null` \\| `string`",
|
|
"description": "The Harmonized System code of the Product Variant. May be used by Fulfillment Providers to pass customs information to shipping carriers.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "id",
|
|
"type": "`string`",
|
|
"description": "The product variant's ID",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "inventory_items",
|
|
"type": "[ProductVariantInventoryItem](../internal/classes/internal.internal.ProductVariantInventoryItem.mdx)[]",
|
|
"description": "The details inventory items of the product variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": true,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "inventory_quantity",
|
|
"type": "`number`",
|
|
"description": "The current quantity of the item that is stocked.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "length",
|
|
"type": "`null` \\| `number`",
|
|
"description": "The length of the Product Variant. May be used in shipping rate calculations.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "manage_inventory",
|
|
"type": "`boolean`",
|
|
"description": "Whether Medusa should manage inventory for the Product Variant.",
|
|
"optional": false,
|
|
"defaultValue": "true",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "material",
|
|
"type": "`null` \\| `string`",
|
|
"description": "The material and composition that the Product Variant is made of, May be used by Fulfillment Providers to pass customs information to shipping carriers.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "metadata",
|
|
"type": "`null` \\| `Record<string, unknown>`",
|
|
"description": "An optional key-value map with additional details",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "mid_code",
|
|
"type": "`null` \\| `string`",
|
|
"description": "The Manufacturers Identification code that identifies the manufacturer of the Product Variant. May be used by Fulfillment Providers to pass customs information to shipping carriers.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "options",
|
|
"type": "[ProductOptionValue](../internal/classes/internal.internal.ProductOptionValue.mdx)[]",
|
|
"description": "The details of the product options that this product variant defines values for.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": true,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "origin_country",
|
|
"type": "`null` \\| `string`",
|
|
"description": "The country in which the Product Variant was produced. May be used by Fulfillment Providers to pass customs information to shipping carriers.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "prices",
|
|
"type": "[MoneyAmount](../internal/classes/internal.internal.MoneyAmount.mdx)[]",
|
|
"description": "The details of the prices of the Product Variant, each represented as a Money Amount. Each Money Amount represents a price in a given currency or a specific Region.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": true,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "product",
|
|
"type": "[Product](../internal/classes/internal.Product.mdx)",
|
|
"description": "The details of the product that the product variant belongs to.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": true,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "product_id",
|
|
"type": "`string`",
|
|
"description": "The ID of the product that the product variant belongs to.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "purchasable",
|
|
"type": "`boolean`",
|
|
"description": "Only used with the inventory modules. A boolean value indicating whether the Product Variant is purchasable. A variant is purchasable if: - inventory is not managed - it has no inventory items - it is in stock - it is backorderable.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "sku",
|
|
"type": "`null` \\| `string`",
|
|
"description": "The unique stock keeping unit used to identify the Product Variant. This will usually be a unique identifer for the item that is to be shipped, and can be referenced across multiple systems.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "title",
|
|
"type": "`string`",
|
|
"description": "A title that can be displayed for easy identification of the Product Variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "upc",
|
|
"type": "`null` \\| `string`",
|
|
"description": "A UPC barcode number that can be used to identify the Product Variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"type": "`Date`",
|
|
"description": "The date with timezone at which the resource was updated.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "variant_rank",
|
|
"type": "`null` \\| `number`",
|
|
"description": "The ranking of this variant",
|
|
"optional": false,
|
|
"defaultValue": "0",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "weight",
|
|
"type": "`null` \\| `number`",
|
|
"description": "The weight of the Product Variant. May be used in shipping rate calculations.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "width",
|
|
"type": "`null` \\| `number`",
|
|
"description": "The width of the Product Variant. May be used in shipping rate calculations.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "calculated_price",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The lowest price among the retrieved prices.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "calculated_price_includes_tax",
|
|
"type": "`boolean` \\| `null`",
|
|
"description": "Whether the `calculated_price` field includes taxes.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"featureFlag": "tax_inclusive_pricing",
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "calculated_price_type",
|
|
"type": "`string` \\| `null`",
|
|
"description": "Either `default` if the `calculated_price` is the original price, or the type of the price list applied, if any.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "original_price",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The original price of the variant.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "original_price_includes_tax",
|
|
"type": "`boolean` \\| `null`",
|
|
"description": "Whether the `original_price` field includes taxes.",
|
|
"optional": true,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"featureFlag": "tax_inclusive_pricing",
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "prices",
|
|
"type": "[MoneyAmount](../internal/classes/internal.internal.MoneyAmount.mdx)[]",
|
|
"description": "The list of prices.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "calculated_price_incl_tax",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The price after applying the tax amount on the calculated price.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "calculated_tax",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The tax amount applied to the calculated price.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "original_price_incl_tax",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The price after applying the tax amount on the original price.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "original_tax",
|
|
"type": "`number` \\| `null`",
|
|
"description": "The tax amount applied to the original price.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
},
|
|
{
|
|
"name": "tax_rates",
|
|
"type": "[TaxServiceRate](../internal/types/internal.TaxServiceRate.mdx)[] \\| `null`",
|
|
"description": "The list of tax rates.",
|
|
"optional": false,
|
|
"defaultValue": "",
|
|
"expandable": false,
|
|
"children": []
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]} />
|