Update a product
Partial-updates the product's own fields; at least one besides
accountId is required. tags replaces the full list. Change prices
with POST /v1/commerce/products/{productId}/price and status with
POST /v1/commerce/products/state.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Path Parameters
Platform-native product id.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.commerce.updateCommerceProduct({ path: { productId: 'product_abc123', }, body: { accountId: 'account_abc123', },});console.log(data);{ "product": { "id": "string", "accountId": "string", "platform": "shopify", "title": "string", "descriptionHtml": "string", "handle": "string", "vendor": "string", "productType": "string", "tags": [ "string" ], "status": "active", "platformStatus": "string", "featuredImage": { "id": "string", "url": "string", "altText": "string" }, "images": [ { "id": "string", "url": "string", "altText": "string" } ], "options": [ { "name": "string", "values": [ "string" ] } ], "variants": [ { "id": "string", "title": "string", "sku": "string", "barcode": "string", "price": { "amount": "string", "currency": "string" }, "compareAtPrice": { "amount": "string", "currency": "string" }, "inventoryQuantity": 0, "availableForSale": true, "options": [ { "name": "string", "value": "string" } ] } ], "totalInventory": 0, "url": "string", "seo": { "title": "string", "description": "string" }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "publishedAt": "2019-08-24T14:15:22Z", "platformData": {} }}Create a product
Creates a product with its options and variants. `status` defaults to `draft`: no platform offers a sandbox for product writes, so nothing goes on sale unless you ask for `active`. A product without `options` has exactly one variant. Images are fetched by the platform from the given URLs and may appear on the product a few seconds later.
Duplicate a product
Copies a product with its options, variants and (by default) images. The copy starts as a draft.