The store’s products with their state on the channel
const url = 'https://api.crossmart.io/api/v1/workspaces/example/channel-connections/example/products?state=listed&sort=title&direction=asc&limit=25';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.crossmart.io/api/v1/workspaces/example/channel-connections/example/products?state=listed&sort=title&direction=asc&limit=25'Products the store should have or still has: listed, pending (being published), failed or removing (being delisted). Pass state=excluded for the catalog products it does not have. Counts per state follow search, so they can label filter tabs.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”Matches title, handle or SKU
1-based page number, for tables with page numbers. It wins over cursor.
Responses
Section titled “Responses”object
object
object
Stock across variants that track it; null when none do
object
Decimal string in the workspace currency
The stores it is in, in the order it joined them
object
The product on this store, in one state computed by the server: draft (not selected for the store), needs_details (selected, but the store setup or the product lacks something publishing needs), ready (publishable, not sent yet), publishing (queued or in flight), published, failed, removing (being taken off) or removed.
For needs_details and failed: a short, merchant-readable reason (what to add, or the channel’s message). Never holds secrets. Null for the other states.
object
How the product joined the store: by hand, by an import, or by the automatic rule
The product’s id on the channel
Where to see it on the channel
Why the last sync failed
What the channel refused the last publish for lacking (such as item_specifics), when the merchant can add it; null otherwise
The channel category it is listed in, on channels with categories (eBay)
object
The category with its ancestors, as the channel shows it
object
Selected and on the channel
Selected, waiting for the next sync to publish them
Their last sync failed
On the channel but no longer selected; the next sync delists them
Removed by hand and off the channel; adding them back undoes it
Neither selected nor on the channel
How many match in all, for page numbers
Example
{ "items": [ { "product": { "status": "DRAFT", "priceRange": { "min": "22.00", "max": "89.00" }, "stores": [ { "channel": "shopify", "storeName": "Demo Store", "status": "PENDING", "source": "MANUAL" } ] }, "state": "listed", "displayState": "draft", "displayReason": "Choose a shipping policy in this eBay connection’s listing defaults.", "listing": { "status": "PENDING", "source": "MANUAL", "missingRequirement": "reconnect", "category": { "id": "20625", "name": "Home & Garden > Kitchen, Dining & Bar > Dinnerware & Serving Dishes > Mugs" } } } ]}