Skip to main content

Bulk Map / Unmap / Create / Remap Product SKUs (Sync)

POST 

/api/tiktok-shop/integration-instances/:integration_instance_id/products/bulk

Synchronous per-SKU bulk mapping engine backing the frontend BulkMappingModal for below-threshold selections. Runs each resolved TikTok Shop SKU through the mapping manager and returns Shopify-parity count keys.

Authorization

Any valid API token can call this endpoint — no specific scope required. Manage tokens.

Named route: tiktok-shop.products.bulk.

Body

  • action (required, one of map | unmap | create | remap) — the per-SKU operation. map = smart-match & map unmapped SKUs; unmap = delete the SKU's ProductListing; create = create-or-link a SKU.io product from the SKU and map it; remap = repoint an already-mapped SKU to its current best match. (archive/unarchive/delete are NOT here — they use the product-id batch endpoints.)
  • selection (required, object) — type is one of selected | visible | filtered. For selected, pass selection.ids (array of TikTok Shop SKU IDs). For visible/filtered, pass selection.filters (same filter keys as the flattened SKU list) and the backend resolves the id set.
  • options (optional, object) — match_by (sku | barcode; barcode falls back to exact SKU match since TikTok SKUs carry no barcode), create_if_no_match (boolean — on map, create a SKU.io product when no match is found; counts toward mapped_count), field_mappings (array of {shopify_field, sku_field} overrides).

Response returns processed / failed / skipped plus one action-specific count key (mapped_count | created_count | remapped_count | unmapped_count). Returns 422 when the selection resolves to no SKUs. Larger selections should use products/bulk-tracked instead.

Request

Responses

OK

Response Headers
    Content-Type