Commerce
Upsert Products
Create or update products from any e-commerce platform
POST
Upsert Products
Create or update up to 100 products in your Sequenzy catalog, keyed by your
productId. Products pushed here behave exactly like products synced from Shopify or WooCommerce - they power product blocks in emails, replenishment reminders, back-in-stock notifications, and segmentation.
Use this endpoint to connect any e-commerce platform (custom checkout, CheckoutChamp, Sticky.io, your own backend) to Sequenzy. See the custom commerce integration guide for the full walkthrough.
Updates are partial: optional fields you omit keep their stored values, so a stock-only update like {"productId": "SKU-1", "title": "...", "inStock": false} does not erase the product’s image, URL, or pricing. Pass an explicit null to clear a stored value.
Request Body
array
required
Products to create or update (1-100 per request). Each product is upserted by
its
productId.string
required
Your product identifier. Used as the upsert key - pushing the same
productId again updates the product.string
required
Product title.
string
Product description.
string
Product image URL.
string
Public product page URL. Used for links in emails.
integer
Price in cents. Defaults to the lowest variant price when variants are
provided.
integer
Compare-at (strikethrough) price in cents.
string
ISO 4217 currency code (e.g.
USD).boolean
Whether the product is in stock. Defaults to
true, or to whether any
variant is available when variants are provided.array
Product variants. Each variant has
variantId (required), title
(required), sku, priceCents, compareAtPriceCents, imageUrl,
inStock, inventoryQuantity, and options (array of { name, value }).
When provided, the variant list is replaced entirely - pass an empty array
to remove all variants. Omit the field to leave existing variants unchanged.Stock Transitions
When an upsert changes a product or variant from out of stock to in stock, Sequenzy automatically fires theecommerce.back_in_stock event for subscribers who requested a back-in-stock notification. Going out of stock cancels pending notifications.
Replenishment settings configured in the dashboard are preserved across upserts.
Responses
Upsert Products