Primary navigation

Overview

Provide a structured product feed as file upload to an SFTP server.

Use this guide to move from first sample to production feed delivery with minimal back-and-forth, and use the products spec for full schema and field definitions.

Feed model and delivery

Supported feed type

  • Full snapshot feed: a complete catalog export treated as the source of truth.
  • Recommended cadence: at least daily.

Delivery and file requirements

TopicGuidance
Delivery modelPush feeds to OpenAI via SFTP.
FormatsPrefer parquet (ideally with ztsd compression). jsonl.gz, csv.gz, and tsv.gz are also supported.
EncodingUTF-8
Filename stabilityUse a stable file name. Keep the same file name on every update and overwrite it with the latest snapshot instead of creating a new name each run.
Update behaviorIf you use multiple shard files, keep that shard set stable and replace the same shard files on each update.
Shard sizingUp to 500k items per shard is recommended; target shard files under ~500MB

Watch common ingestion failures

  • Missing required fields
  • Outdated or non-spec field names
  • Malformed field values

Handle removals explicitly

  • To remove a product, either set is_eligible_search=false or remove the record from your next full snapshot.

Operate as a snapshot pipeline

  • Publish full snapshots on a predictable cadence (at least daily).

Use push-based delivery and stable filenames

  • Push feeds through supported channels.
  • Reuse the same file path/name each publish and overwrite in place.
  • If multiple brand feeds share one location, use clear brand-prefixed names.

Validate in phases

  • Start with a small sample (around 100 items).
  • Include all required fields in every sample row.
  • Run QA on the first full snapshot.
  • Move to steady-state automation once validation is clean.