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

List products

Lists the store's products with their variants, options and images. Cursor-paginated: pass limit (1-100, default 20) and the cursor from a previous response's nextCursor, which is null on the last page. Filter with status and/or query (the platform's product search syntax, passed through verbatim). A status the platform has no equivalent of returns an empty page.


PlatformsShopify
GET
/v1/commerce/products

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Query Parameters

accountId*string

Connected store SocialAccount id.

limit?integer
Range1 <= value <= 100
Default20
cursor?string

Opaque cursor from a previous response. Omit for the first page.

status?string

Zernio product status. The platform value is returned as platformStatus. Shopify: ACTIVE, DRAFT and ARCHIVED map to the same names; UNLISTED maps to inactive.

Value in

  • "active"
  • "draft"
  • "pending_review"
  • "rejected"
  • "inactive"
  • "archived"
  • "deleted"
query?string

Platform product search syntax (Shopify: title, vendor, product_type, tag, sku, handle, ...).

Lengthlength <= 500
collectionId?string

Only products in this collection.

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.listCommerceProducts({  query: {    accountId: 'account_abc123',  },});console.log(data);
{  "products": [    {      "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": {}    }  ],  "nextCursor": "string"}
Was this page helpful?

Get a store

Returns the connected store with its currency, country and the `capabilities` it supports, so an integration can tell up front which Commerce operations the store serves. On Shopify, stock, sales channels, discounts, navigation, metaobjects, markets, marketing and image removal need permissions the store owner approves separately: `missingCapabilities` lists what is not granted yet and `grantPermissionsUrl` is the page where the owner approves it.

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.