Update Catalog Mapping

Updates existing catalog rows of one saved branch (vendor_uid), identified by vendor_catalog_uid: you can change the linked Zuper or supplier option, SKU, unit of measure, cost and remarks. Each row's cost is refreshed from the supplier's price for that branch when one is returned (not for a branch that does not stock the item); otherwise the vendor_cost you send is stored. Zuper may reuse a supplier price answer for up to 15 minutes, so a price can be that old. When a row's option mapping changes, rows at the provider's other branches that used the old supplier option are re-linked in the same request (mapping_changes, affected_vendors); when its unit changes, the product's rows at other branches are re-priced in the new unit in the background (uom_propagation). All rows are saved together or not at all, and only one update per branch can run at a time (429 otherwise). Instead of an option UID, an entry can name the Zuper option in zuper_product_option_name: Zuper reuses the product option with that name or creates it, and reports the outcome in data.zuper_option_resolutions. Options created this way are kept even if the rest of the update then fails. Admin only: the API key must belong to an admin user; other roles receive 405 Access Denied.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

UID of the supplier provider. It must be connected (connection_status is CONNECTED).

Body Params
string
required

Required. UID of the saved branch (Zuper vendor) of this supplier provider whose rows are being updated.

vendor_catalog
array of objects
required
length ≥ 1

Required. One entry per row to update. Every field is written, so send the full row, not just the changed fields.

vendor_catalog*
string
required

Required. The catalog row to update. It must belong to the branch in vendor_uid; use a catalog_uids value from Create Catalog Mapping or the branch's vendor catalog. Each row may appear only once.

string
required

Required. The Zuper product the row is linked to.

string | null

The Zuper product option (option_uid) this row stands for. Required when the Zuper product has options, unless you send zuper_product_option_name instead; omit or send null only for a product without options. The same Zuper option may appear only once per request.

string | null

Name of the Zuper product option this row stands for, used instead of zuper_product_option_uid. Zuper reuses the product option with this name (matched ignoring case and extra spaces; disabled options count) or creates it when none exists, labelling a product without options "Option" and using the supplier variant image. Ignored when zuper_product_option_uid is sent. Must not be blank or "N/A"; a product can hold at most 50 options.

string
required

Required. The supplier product, from Get Supplier Products. It must be stocked at one or more of your saved branches for this provider. For ABC Supply cut-to-length (dimensional) items, each length is a separate supplier product.

string
required

Required. The option_uid of one of the supplier product's supplier_product_variants.

string
required

Required. Must equal the variant_code of the selected supplier variant (the supplier's item number).

string
required

Required. Must exactly match one of the supplier product's uoms[].code values. Changing it re-prices this product's rows at the provider's other branches in the new unit, in the background; rows the supplier cannot price in that unit are left unchanged.

number
required
≥ 0

Required. 0 or more; a numeric string such as "38.50" is also accepted. Stored only when the supplier returns no price for this branch, or the branch does not stock the item; otherwise the supplier's price is saved.

string

Optional note stored on the row. Omitting it clears any existing note.

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json