Retrieves the full record for one product — its variants, images, options, and the collections it belongs to.
💡 The product id goes on the wire asid, even though the SDKs name the parameterproductId/product_id.
Request
method is "getProductItem".Field | Type | Required | Description |
id | String | Yes | The product to retrieve. |
app_id | String | Yes | The app the product belongs to. |
reference | String | Optional | Your id for this request. Echoed back in the response. |
Preconditions
Requirement | Why |
"Manage Products" permission | Needed to read product data for the app. |
Response
getProductItemResponse
Field | Type | Returned | Description |
method | String | Yes | "getProductItemResponse" |
data | Yes | The full product, including variant, image, option, and collection arrays. | |
app_id | String | Yes | Echoed from the request. |
reference | String | Optional | Echoed from the request. |
SDKs
SDK | Call | Callback |
Java | api.getProductDetail(productId, appId, reference); | onProductDetail(ProductItemResponse productItem) |
JavaScript | api.getProductDetail(productId, appId, reference); | onProductDetail(productItem) |
Python | napi.get_product_detail(product_id=product_id, app_id=app_id, reference=reference) | on_product_detail(self, obj) |
Example
Request
json{ "method": "getProductItem", "id": "5121419845126176", "app_id": "90090684293000559", "reference": "1123423511" }
javaapi.getProductDetail("5121419845126176", "90090684293000559", "1123423511");
javascriptapi.getProductDetail("5121419845126176", "90090684293000559", "1123423511");
pythonnapi.get_product_detail( product_id="5121419845126176", app_id="90090684293000559", reference="1123423511", )
Response
Image URLs are signed and time-limited; they are shortened here for readability.
json{ "method": "getProductItemResponse", "reference": "1123423511", "data": { "id": "5121419845126176", "name": "Black T-shirt", "description": "Cotton T-shirt for Men", "category": "product", "type": "0", "status": "A", "price": 50.0, "compare_at_price": 0.0, "cost": 0, "track_stock": false, "in_stock": null, "is_taxable": false, "shipping_required": false, "tag": [], "timezone": "America/Toronto", "version": "L0hmcA", "app_id": 90090684293000559, "business_channel_id": 90090684293000559, "created_date": "2025-04-02 13:56:34", "updated_date": "2025-04-02 14:15:17", "image": [ { "url": "https://m1.nandbox.ca/v1/AUTH_.../90090684293000559_b7010f02…jpg?temp_url_sig=…", "width": 235, "height": 275 } ], "option": [ { "id": "option1", "name": "Size", "values": ["Large", "Medium", "Small"] } ], "variant": [ { "id": "5121792017126173", "parent_id": "5121419845126176", "option1": "Large", "price": 50, "compare_at_price": 0, "type": 2, "category": "product", "status": "A", "track_stock": false, "in_stock": null, "is_taxable": false, "shipping_required": false, "app_id": 90090684293000559, "business_channel_id": 90090684293000559 }, { "id": "5121362976126174", "parent_id": "5121419845126176", "option1": "Medium", "price": 50, "compare_at_price": 0, "type": 2, "category": "product", "status": "A", "track_stock": false, "in_stock": null, "is_taxable": false, "shipping_required": false, "app_id": 90090684293000559, "business_channel_id": 90090684293000559 }, { "id": "5121705203126175", "parent_id": "5121419845126176", "option1": "Small", "price": 50, "compare_at_price": 0, "type": 2, "category": "product", "status": "A", "track_stock": false, "in_stock": null, "is_taxable": false, "shipping_required": false, "app_id": 90090684293000559, "business_channel_id": 90090684293000559 } ], "collection": [ { "id": "5121960361126208", "name": "New Collection", "image": [ { "url": "https://m1.nandbox.ca/v1/AUTH_.../null073734a3…jpg?temp_url_sig=…", "width": 720, "height": 340 } ] } ] } }