Channel publications

Reconcile products published to an app-owned sales channel and report processing feedback.

Products enter and leave a sales channel only through the publication controls on the product form or product-list bulk actions. Apps do not maintain a second inclusion list. An installed channel app uses this API to reconcile the complete current publication set and to report whether each exact publication version synced successfully or needs merchant action.

Each product/channel relation has a stable publication id and monotonic version. Publication webhook deliveries are app-scoped and carry the same identity and version, making retries and out-of-order delivery deterministic. The paginated list is the authoritative recovery path after downtime or a missed delivery.

Feedback never changes product publication. synced confirms processing; action_required and rejected require a stable uppercase code and merchant-facing message. Feedback for an unpublished product, another app's channel, or an outdated version is rejected.

Endpoints#

List channel publications

GET read_products

Reconcile products currently published to this app's sales channel.

Publication is controlled only from Tringify product publishing. This app-scoped list is the authoritative full reconciliation set. Each row has a stable publication id and monotonic version for retry and ordering safety.

Query parameters

Name Type Description
after integer

Products after this product id, in product id order. Send the last product_id of a page to get the next page; it stays fast however deep you page. Do not combine with before or page.

before integer

Products before this product id, still returned in product id order. Send the first product_id of a page to get the previous page.

page integer

Page number when neither after nor before is sent; default 1. Prefer after to walk the whole list.

limit integer

Page size from 1 to 200; default 50.

search string

Only products whose title, SKU or a variant's SKU contains this text, ignoring case.

product_ids string

Only these products: up to 200 comma-separated product ids, for showing a known set with their images and statuses.

category_id integer

Only products in this category.

collection_id string

Only products in this collection (its id).

tag_id integer

Only products with this product tag.

vendor_id integer

Only products from this vendor.

brand_id integer

Only products of this brand. Filters combine with each other, with search and with status; status_counts counts within them.

status string

Only products in this status: synced, action_required, rejected, or pending (no feedback reported yet). total then counts that status; status_counts always counts every status for the search, so you can show each choice's number.

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 401 UNAUTHORIZED

    Missing or invalid token.

  • 403 CHANNEL_PUBLICATION_APP_TOKEN_REQUIRED

    The caller is not an installed app token.

  • 404 CHANNEL_PUBLICATION_INSTALLATION_MISSING

    The app has no ready sales-channel installation in this store.

Set publication feedback

PUT write_products

Report processing state for an exact publication version.

Feedback is accepted only while the product remains published to the calling app's channel and the publication id and version still match. Use synced for success, or action_required/rejected with an uppercase code and merchant-facing message.

Path parameters

Name Type Description
productId required integer

Published Tringify product id.

Example: 326

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
publication_id required uuid

Stable publication id from the reconciliation list or event.

Example: a76fbff8-1cac-46fc-870b-cc850ad722a1
version required integer

Exact publication version being processed.

Example: 3
status required string

synced, action_required, or rejected.

Example: action_required
code string

Required for action_required and rejected; uppercase machine code.

Example: IDENTITY_MISSING
message string

Required merchant-facing explanation for action_required and rejected.

Example: Configure the required item identity.
details object

Optional structured app-owned diagnostics.

Example: {"declaration_key":"item_id"}

Errors

  • 401 UNAUTHORIZED

    Missing or invalid token.

  • 403 CHANNEL_PUBLICATION_APP_TOKEN_REQUIRED

    The caller is not an installed app token.

  • 404 CHANNEL_PUBLICATION_INSTALLATION_MISSING

    The app has no ready sales-channel installation in this store.

  • 404 CHANNEL_PUBLICATION_MISSING

    The product is not currently published to this app's channel.

  • 409 CHANNEL_PUBLICATION_VERSION_STALE

    The feedback targets an outdated publication version.

Set publication feedback in bulk

PUT write_products

Report processing state for up to 500 products in one request.

Each item follows the same rules as Set publication feedback and carries its product_id. The request counts as one call against the rate limit, so report many products this way rather than one call each. Items are checked independently: one that is invalid, not published to this app's channel, or for an outdated version is refused with its code and message while the others are recorded. Check each result's updated flag even when the HTTP status is 200. A product may appear only once per request.

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
items required array<object>

1 to 500 reports: product_id, publication_id, version, status, and code and message for action_required or rejected, optional details.

Example: [{"product_id":326,"publication_id":"a76fbff8-1cac-46fc-870b-cc850ad722a1","version":3,"status":"synced"}]

Errors

  • 401 UNAUTHORIZED

    Missing or invalid token.

  • 403 CHANNEL_PUBLICATION_APP_TOKEN_REQUIRED

    The caller is not an installed app token.

  • 404 CHANNEL_PUBLICATION_INSTALLATION_MISSING

    The app has no ready sales-channel installation in this store.

  • 400 CHANNEL_PUBLICATION_FEEDBACK_TOO_MANY

    More than 500 items were sent.