Requires
read_product
access scope. More access scope
The Variant Details API allows you to retrieve detailed information about a specific product variant. Variants represent specific configurations of a product, such as different sizes, colors, or styles. This endpoint requires a valid variant_id and provides detailed data about the variant, including its pricing, inventory, SKU, and other attributes. Use this API to fetch information for managing or displaying specific variants in your system.This API is especially useful for:
- Fetch pricing, inventory, and other details for a specific variant.
- Support detailed product management by accessing individual variant data.
Note: The operation is scoped to a specific shop, identified by its unique domain prefix (shopdomain), ensuring all updates are applied to the correct store.
Public Request Parameters
Parameter Name | Type | Required | Parameter Location | Parameter Value | Description |
---|---|---|---|---|---|
Access-Token | String | Yes | Header | Bx-_5aV eXNwl-4AB98s5xLV yg0fNzGf MuTpqtlBA | Used to authenticate API requests. Obtain an access token from the Access Token Guide. Pass it in the Authorization header for every request. |
Content-Type | String | Yes | Header | application /json | Indicates the media type of the request body. It tells the server how to parse the request and the client how to interpret the response. For more details, visit Content-Type. |
Public Response Parameters
Parameter Name | Type | Mandatory | Parameter Location | Example Value | Description |
---|---|---|---|---|---|
error | String | No | Response Body | { "error": "store is not active" } | Indicates an error encountered during the process. This field typically appears when the Access Token is missing or invalid. Example: { "error": "store is not active" } . |
errors | Array | No | Response Body | { "errors"["No Context"] } | A list of errors that occurred during the request processing. Example: { "errors": [ "No Context" ] } . |
Request-Id | String | Yes | Header | Bx-_5aV eXNwl-4AB98s5xLV yg0fNzGf MuTpqtlBA | A unique identifier for each request. It helps in identifying and debugging specific requests. |
Error and Errors Clarification:
Added explanation that the error and errors fields are currently dependent on the API implementation, with plans for future unification.
Request Parameters
Path Parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
variant_id | string | Yes | 9fb9f3c6-2300-42c1-8593-d9008d7cfc09 | The unique identifier for the variant. |
Response Explanation
Successful Response
Field | Type | Example | Description |
---|---|---|---|
variant | object | variant object | |
variant.id | string | 1b735278-62c7-41ad-9976-b1b63a90590d | Unique identifier for the variant. |
variant.product_id | string | 636a07da-39eb-4829-bde9-b65fae1c28b0 | Unique identifier for the associated product. |
variant.image_id | string | 91d032e7-bbc8-47e4-8668-9ba6fe714de6 | Unique identifier for the associated image. When setting a variant image, the image ID takes precedence over the image object if both are provided. |
variant.created_at | string (date) | 2024-04-15T02:00:57Z | Timestamp indicating when the variant was created. |
variant.updated_at | string (date) | 2024-04-15T02:00:57Z | Timestamp indicating when the variant was last updated. |
variant.title | string | S-red | Title of the variant. |
variant.option1 | string | S | First option value for the variant (e.g., size). |
variant.option2 | string | red | Second option value for the variant (e.g., color). |
variant.option3 | string | "" | Third option value for the variant, if applicable. |
variant.image | object | Image Object | |
variant.image.src | string | //cdn.shoplazza.com/efd33b921cacd5311a32dd03a9bc8740.png | URL of the image associated with the variant. |
variant.image.width | integer | 1588 | Width of the variant image in pixels. |
variant.image.height | integer | 2246 | Height of the variant image in pixels. |
variant.image.path | string | efd33b921cacd5311a32dd03a9bc8740.png | File path of the variant image. |
variant.image.alt | string | "" | Alternative text for the variant image. |
variant.position | integer | 1 | Position of the variant in the product's variant list. |
variant.compare_at_price | string | 100.00 | Original price of the variant before discounts. |
variant.price | string | 100.00 | Current price of the variant. |
variant.sku | string | S-RED | Stock Keeping Unit (SKU) for the variant. |
variant.barcode | string | 123 | Barcode associated with the variant. |
variant.note | string | s-red | Notes or additional information about the variant. |
variant.inventory_quantity | integer | 10 | Number of items available in inventory for the variant. |
variant.weight | string | 0.10 | Weight of the variant. |
variant.weight_unit | string | kg | Unit of measurement for the weight (e.g., kg, lb). |
variant.cost_price | string | 11.00 | Cost price of the variant. |
variant.wholesale_price | object | wholesale price object | |
variant.wholesale_price.price | string | 100.00 | Wholesale price for the variant. |
variant.wholesale_price.min_quantity | integer | 1 | Minimum quantity required to avail the wholesale price. |
variant.extend | object | extend object | Additional details about the variant's dimensions or origin. |
variant.extend.length | number | 10 | length |
variant.extend.width | number | 10 | width |
variant.extend.height | number | 10 | height |
variant.extend.dimension_unit | string | "in" | dimension_unit |
variant.extend.origin_country_code | string | "AS" | Country of origin code of the product. |
variant.extend.hs_code | string | "6211439" | HS codes are the international standard for commodity classification, and Shoplazza can automatically generate HS codes based on commodity information. |
Error Response
Error responses in the API can be represented using two different fields: errors
and error
. Both fields provide details about issues encountered during request processing. Below is an explanation of the fields with their respective examples and descriptions.
Field | Type | Example | Description |
---|---|---|---|
errors | Array | ["Context"] | A list of errors encountered during the request processing. |
Field | Type | Example | Description |
---|---|---|---|
error | Array | "store is not active" | Indicates an error encountered during the process. |
Request Examples
curl --request GET \
--url https://shopdomain.myshoplaza.com/openapi/2022-01/variants/88e68830-4ef5-4125-bf7d-aef8047176b2 \
--header 'accept: application/json' \
--header 'access-token: WPMSdB6M8Cpum4X1GoMYOKZpiESd8d2x7dZW8d79ZeQ'
Success Response Example
{
"variant": {
"id": "88e68830-4ef5-4125-bf7d-aef8047176b2",
"product_id": "a1a88be0-a1d4-47e4-a2f2-ba6e131cf447",
"image_id": "8ef098c5-5a08-44b4-b5fb-89214bb507dc",
"created_at": "2024-04-17T02:15:18Z",
"updated_at": "2024-04-17T02:15:18Z",
"title": "S-blue-T",
"option1": "S",
"option2": "blue",
"option3": "T",
"image": {
"src": "//cdn.shoplazza.com/ccf0794c594bad32a320eea0d6bfe40c.jpeg",
"width": 174,
"height": 180,
"path": "ccf0794c594bad32a320eea0d6bfe40c.jpeg",
"alt": ""
},
"position": 1,
"compare_at_price": "12.10",
"price": "10.10",
"sku": "T-M-S-blue-T-A001004",
"barcode": "6929000212340",
"note": "node",
"inventory_quantity": 10,
"weight": "1.10",
"weight_unit": "kg",
"cost_price": "1.10",
"wholesale_price": [
{
"price": "10.10",
"min_quantity": 1
}
],
"extend": {
"length": 10,
"width": 10,
"height": 10,
"dimension_unit": "in",
"origin_country_code": "AG",
"hs_code": "62114390"
}
}
}
Error Response Example
{
"errors": [
"variantId has an invalid UUID"
]
}
{
"error": "store is not active"
}
Error Details
Status Code | Message | Possible Reason | Example Response |
---|---|---|---|
400 | Bad Request | Invalid input format or request structure (e.g., missing required fields or incorrect data types). | Bad Request |
Unauthorized | The request is missing valid authentication credentials or the credentials provided are invalid. | Unauthorized | |
422 | Variant Not Found | The variant ID provided in the request does not exist. | { "errors": ["Record not found"] } |
Invalid or empty variant_id | missing required variant_id or variant_id with incorrect UUID types | { "errors": [ "variant_id has an invalid UUID"]} |