Bulk Action Product

Changed on

Performs a bulk action on a set of products. The product set is determined either by an explicit product_uid array, or by filter_rules (v3) / legacy filter.* fields — product_uid is merged in additively ($in), not used as an exclusive selector. If filter_rules is a non-empty array it takes priority as the v3 filter engine; otherwise the legacy filter object is used.

All filter-driven actions (update_field, update_availability, send_qr_codes, delete_products) are capped by the account's bulk_action_limit policy (falls back to a platform default) and apply synchronously, except send_qr_codes, which streams a PDF directly in the response for under 100 matched products and emails it asynchronously for 100 or more. link_supplier_provider is a structurally distinct action: it does not use product_uid/filter_rules/filter matching or the bulk action limit at all — it links an explicit vendor_catalog array of entries to a supplier_provider_uid, and always runs asynchronously (queued to a worker), returning a job_id immediately.

update_field silently skips products that don't support the given field for their type/pricing-level (e.g. BUNDLE/LABOR products for product_type, or products without a purchase_price for markup) rather than rejecting the whole request — the response does not list which uids were skipped.

post/products/bulk_action

Request

  • Base URL
    https://dc-region.zuperpro.com/api
  • URL
    https://dc-region.zuperpro.com/api/products/bulk_action
  • Auth
    API key in header x-api-key

Request body

action'update_field' | 'update_availability' | 'send_qr_codes' | 'delete_products' | 'link_supplier_provider'

update_field: change one field across all matched products. update_availability: flip availability. send_qr_codes: generate/send QR-code labels. delete_products: soft-delete matched products. link_supplier_provider: link vendor catalog entries to a supplier provider (not filter-driven, see below).

product_uidstring[]

Optional explicit list of product uids. Combined additively ($in) with filter_rules/filter. Not used by link_supplier_provider.

filter_rulesobject[]

v3 filter engine rules used to select the product set. Takes priority over filter when non-empty. Not used by link_supplier_provider.

filterobject

Legacy filter object, used only when filter_rules is omitted or empty.

Response

200

typestring
titlestring
messagestring
dataunknown

Example response

{
  "type": "success"
}

Changes