Choose an ingestion path
You can combine paths, but verify source identifiers before switching ingestion methods. Matching identifiers let an importer reuse existing items; unrelated or missing identifiers can create duplicates.
What makes a good item
Create items
id: do not send your own. Store the returned id next to your source record, because events, item_id seeds and updates all use it. Keep your own identifier (SKU, slug, URL) in metadata so you can look items up both ways.
For repeat imports, use metadata.source_item_id as a stable identifier within your workspace. Sending the same source ID updates the existing item and returns its NSL integer ID. Without it, ingestion creates a new item; a custom sku field alone does not provide this guarantee. Do not repeat a source ID twice in the same batch.
In JavaScript and PHP, use upsertItem with one item or an array. In Swift, use upsertItem for one item and upsertItems for an array. Method signatures for updates and deletion also differ by language; the table below uses JavaScript notation.
Update and retire items
Changing the name, description or metadata refreshes how NSL represents the item. Prefer deactivating over deleting when an item is out of stock or temporarily unavailable, so its event history still counts.
Keep the catalogue in sync
A typical integration has two parts:- A sync job that creates new items and updates changed ones on a schedule (or on change events from your system), storing returned IDs.
- Real-time updates for fields that change often and affect what may be shown, such as
availabilityorprice.
filter rule to exclude unavailable items, for example availability equals out_of_stock. See Rules Engine.
Check what NSL has
- Data → Items lists every item with filters for name, status, metadata text and dates. See Items.
GET /v1/itemsandGET /v1/items/{item_id}read items back through the API. See the Items reference.
Next
Track events
Record what people do with your items.
Import history
Load past orders or pageviews so a model can train straight away.

