Zernio
Zernio
API Reference

Commerce

Store & Products

Get a storeGETList productsGETGet a productGETCreate a productPOSTUpdate a productPATCHDuplicate a productPOSTActivate, deactivate, archive or delete productsPOSTAdd or remove tags in bulkPOSTUpdate variant pricesPOST

Variants, Options & Images

Add variantsPOSTDelete variantsDELETEAdd optionsPOSTDelete optionsDELETEAdd imagesPOSTRemove imagesDELETEReorder imagesPOST

Inventory

List locationsGETGet a product's stockGETSet or adjust stockPOST

Collections

List collectionsGETGet a collectionGETCreate a collectionPOSTUpdate a collectionPATCHDelete a collectionDELETEAdd or remove products in a collectionPOSTReorder products in a collectionPOST

Discounts

List discountsGETGet a discountGETCreate a discountPOSTUpdate a discountPATCHActivate or deactivate a discountPOSTAdd codes to a discountPOSTDelete a discountDELETE

Sales Channels

List sales channelsGET

Markets & Price Lists

List marketsGETList price listsGETSet fixed pricesPUTRemove fixed pricesDELETE

Metafields & Metaobjects

List metaobject definitionsGETList metaobjects of a typeGETGet a metaobjectGETCreate a metaobjectPOSTUpdate a metaobjectPATCHDelete a metaobjectDELETE

Pages, Menus & Redirects

List pagesGETGet a pageGETCreate a pagePOSTUpdate a pagePATCHDelete a pageDELETEList navigation menusGETGet a navigation menuGETCreate a navigation menuPOSTReplace a navigation menuPUTDelete a navigation menuDELETEList URL redirectsGETCreate a URL redirectPOSTUpdate a URL redirectPATCHDelete a URL redirectDELETE

Marketing Activities

Record a marketing activityPUTDelete a marketing activityDELETEReport daily engagementPOST

Meta Catalog Sync

List catalog syncsGETSync a store into a Meta catalogPOSTGet a catalog syncGETRun a catalog sync nowPOSTStop a catalog syncDELETE

Other

Publish or unpublish a collectionPOSTPublish or unpublish a productPOSTDelete collection metafieldsDELETEDelete product metafieldsDELETEList collection metafieldsGETList product metafieldsGETSet collection metafieldsPUTSet product metafieldsPUT
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Commerce

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.


PlatformsShopify
POST
/v1/commerce/products

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

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.createCommerceProduct({  body: {    accountId: 'account_abc123',    title: 'Example',    variants: [      {        price: 0,      },    ],  },});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": {}  }}
Was this page helpful?

Get a product

One product with all its variants, options and images. Needs products.read. 404 product_not_found when the id does not exist in the store.

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`.

accountId*string
title*string
Length1 <= length
descriptionHtml?string
handle?string
Length1 <= length
vendor?string
productType?string
tags?array<string>
seo?
status?string
Default"draft"

Value in

  • "draft"
  • "active"
images?array<>
Itemsitems <= 20
options?array<>
Itemsitems <= 3
variants*array<>
Items1 <= items <= 100