Catalog
Catalog synchronization using a pull model. You host the CatalogSet JSON on a publicly accessible URL (e.g., S3, CloudFront), then notify Gett when it changes. Gett asynchronously downloads and processes the update.
The CatalogSet format is identical to the Marketfront API — a normalized dictionary structure with catalogs, sections, items, and modifier groups.
Best practices:
- Treat every push as a full replacement (no partial patches)
- Keep item IDs stable across updates to preserve analytics and favorites
- Validate your JSON against the schema before notifying — invalid references cause ingestion failures
Notify Catalog Update
Notify Gett that a store's CatalogSet has changed. Gett will asynchronously download the new CatalogSet from the provided callbackUrl.
This follows a pull model: you host the CatalogSet JSON on a publicly accessible URL, then call this endpoint to trigger a pull. The response is 202 Accepted and returns a catalogIngestId plus a statusUrl. Ingestion happens asynchronously, so poll statusUrl (honoring the Retry-After header) until the run reaches a terminal succeeded or failed — don't assume success from the 202 alone.
Best practices:
- Treat every notification as a full catalog replacement (no partial patches)
- Keep item IDs stable across updates to preserve analytics and user favorites
- Validate your JSON against the CatalogSet schema before notifying — invalid references (e.g., an item ID not in the
itemsdictionary) cause ingestion to end asfailed - Poll
statusUrlto confirmsucceeded; a reachablecallbackUrlthat returns valid JSON is required or the run fails
query Parameters
storeIdYour internal Store ID
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Notify Catalog Update › Request Body
callbackUrlURL where Gett can download the CatalogSet JSON.
Notify Catalog Update › Responses
Notification accepted. Poll the returned statusUrl for the ingest outcome.
catalogIngestIdOpaque id for the accepted ingest run.
statusUrlRelative URL of the status resource to poll (also sent as Location).
Get Catalog Ingest Status
Poll the status of an async catalog ingest started by Notify Catalog Update, using the
catalogIngestId returned in that 202.
Lifecycle (status):
queued— accepted, not yet startedpulling— downloading the CatalogSet from yourcallbackUrlprocessing— validating and building the store catalogsucceeded— the store now serves the new catalogfailed— ingestion did not complete; seeerrorsfor sanitized, partner-safe reasons
Poll until succeeded or failed, honoring the Retry-After header from the notify
response. Returns 404 if no ingest with that id exists for the store.
path Parameters
storeIdYour internal Store ID
catalogIngestIdThe catalogIngestId returned by Notify Catalog Update
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Get Catalog Ingest Status › Responses
OK
catalogIngestIdEchoes the requested id.
Sanitized, partner-safe errors; populated only when failed.
statusLowercase lifecycle value: queued → pulling → processing →
succeeded | failed.
updatedAtUTC instant of the last status transition.