What you sync
The minimum: products and stock
Products (
item) and their availability (availability). With that,
CrossUp already recommends in all five moments.To recommend better
Categories and your last year of orders, both optional. From the orders,
CrossUp learns what sells with what from day one.
connection_id and the cct_… key from
the three steps. The examples use
cn_4Kq9Xz and cct_your_key: swap in your own.
The three steps
1
Open the run
One run per entity type. The response carries its
run_id (snp_…).2
Send the pages
Up to 500 entities per page, all with
upsert.3
Close it
On close, whatever of that type didn’t come is removed. On the initial sync
there’s nothing to remove.
Read the response
Every page returns one result per position, in the same order you sent the entities.
A quarantined entity doesn’t hold up the rest: the rest of the batch goes in.
What a revision is, and why resending is safe, is in
Daily updates.
Catalog first, history last
One run per entity, in this order: categories (taxonomy_node), products
(item), variants (variant), availability (availability) and, last, your
historical orders (order). If a product names a category that hasn’t
arrived yet, it doesn’t fail: it resolves when the category arrives.
There’s a single open run per connection and entity. With two, closing the
first would remove what the second brought.
What you’ll see
The close returnsreceived, deleted and quarantined. On a clean initial
sync, deleted and quarantined are zero. After that, your store can read a
product by your own id with GET /v1/catalog/items/by-external/{external_id}
and its storefront key.
If you don’t see it
Daily updates
Every change after the initial sync.
The canonical model
The fields of each entity.