Pre-launch API. The concepts described here are settled, but the API shape is not: request and response fields, parameters and defaults can still change. Build against it, and talk to your Luigi's Box contact before you put an integration into production.
Category feeds describe category pages and the category objects referenced by products. The configured object type is category.
Core fields
Section titled “Core fields”| Source field | Type | Requirement | Description |
|---|---|---|---|
id | String | Required | Type-prefixed category identifier, such as category/cat-men. |
title | String | Required | Category name shown to users. |
url | String | Recommended | Canonical category page URL. |
image_url | String | Optional | Category image URL. |
Use the same category IDs in product category references.
Examples
Section titled “Examples”<?xml version="1.0" encoding="UTF-8"?><categories> <category> <id>category/cat-men</id> <title>Men</title> <url>https://example.com/men</url> </category> <category> <id>category/cat-shoes</id> <title>Shoes</title> <url>https://example.com/men/shoes</url> </category></categories>{ "categories": [ { "id": "category/cat-men", "title": "Men", "url": "https://example.com/men" }, { "id": "category/cat-shoes", "title": "Shoes", "url": "https://example.com/men/shoes" } ]}id,title,urlcategory/cat-men,Men,https://example.com/mencategory/cat-shoes,Shoes,https://example.com/men/shoesThe same records in JSON Lines contain one category object per line:
{"id":"category/cat-men","title":"Men","url":"https://example.com/men"}{"id":"category/cat-shoes","title":"Shoes","url":"https://example.com/men/shoes"}Mapping category relationships
Section titled “Mapping category relationships”Map product category IDs to canonical @category references. These references use stable, typed category IDs. A referenced category can be ingested after the product that refers to it.
See the catalog object model for the canonical relationship format.
Hierarchy
Section titled “Hierarchy”Export each category’s immediate parent, and map it to @parent. Luigi’s Box assembles
the tree from those edges, so a category never carries its whole path.
If your export gives each category a full path string instead, the mapping can split it —
but the value @parent needs is the nearest ancestor’s typed ID, not the path. See
Hierarchies.
Existing hierarchy paths
Section titled “Existing hierarchy paths”For new integrations, map products to categories using stable source IDs. If your existing export contains category hierarchy data, agree the mapping during setup.
If you are migrating an existing feed that uses title paths, such as:
Men > Shoes > Sneakersthe delimiter can be configured during mapping so the path is preserved as a structured hierarchy value. The delimiter belongs to the feed mapping, not to the catalog object model.
See also
Section titled “See also”Was this page helpful?
Thanks.