One product is a form; a catalogue is a loop. Everything the generator and console do interactively exists as API endpoints, so taking two hundred SKUs from spreadsheet to print-ready, resolvable codes is an hour of scripting rather than a week of clicking.
The shape of the pipeline
Input: your product export, one row per SKU: GTIN, name, destination or page fields, market notes. Step one: validate, the API rejects bad check digits with the exact reason, so data errors surface before artwork exists. Step two: register, up to 1,000 products per bulk call with per-row results, so one bad row never sinks the batch. Step three: per GTIN, fetch the label artwork: SVG with quiet zone, element string, printed width, and the dual-marking fit verdict for your label dimensions. Write files named by GTIN and hand the folder to production.
The decisions to make once, before the loop
Destination policy: hosted pages for SKUs without web pages, your site for the rest, mixed freely per the hosted-page guide. Symbol spec: one X-dimension and error-correction level for the whole catalogue keeps artwork uniform, per the size rules. Depth: GTIN-only now, with lot-level codes added where operations support them; the bulk lot endpoint mirrors the product one.
Keeping the catalogue in sync
Make the spreadsheet, or your PIM, the source of truth and re-run the loop on changes: registration is idempotent per GTIN, artwork regeneration is deterministic, and destinations remain editable after printing, so a re-run never endangers printed stock. Webhooks and the analytics endpoints then feed scan data back toward the same systems, closing the loop the analytics article describes.
What this replaces
The manual version of this task, generate, download, rename, track in a second spreadsheet, is where catalogue projects historically stalled and where filename mixups between SKUs were born. The scripted version is faster and safer in equal measure, and it is the natural on-ramp for the checklist at fleet scale.
Common questions
How many products can I register at once?
The bulk endpoint takes up to 1,000 products per call, with per-row error reporting, so a large catalogue is a few calls in a loop.
What comes back for each product?
Registration plus, from the label endpoint, print-ready SVG, the element string, exact print width, and the placement verdict for your label size.
How do I keep generated artwork organized?
Name files by GTIN, keep the CSV as the source of truth, and re-run the loop on changes; generation is deterministic, so regeneration is safe.
Does bulk work for lots and serials too?
Yes: batch registration has its own bulk endpoint, and serialized artwork is the same loop with a serial column.