JSON / JSON Lines
Send arrays, JSON Lines, or mapped nested product and offer records.
When to use it
A practical fit for your existing workflow.
Application exports and data pipelines that need typed values, nested records, or incremental processing.
Input contract
Fields and structure
Use stable field names and meanings across every refresh. Legend normalizes the values, but the source contract should not drift silently.
Required or expected
skutitlepricecurrencyproduct_url
Recommended fields
gtinlwinbrandvintagesizestockdelivery_timeimage_urlvisibility
Supported variations
- Top-level offers array
- One object per line for JSONL
- Reusable mappings for nested records
- String or numeric stock values
Copyable example
JSON feed
Replace the demonstration values with your own catalogue data. No customer, order, or payment data belongs in an inventory feed.
JSON
{
"schema": "lqrs-feed-v1",
"offers": [
{
"sku": "DEMO-001",
"title": "Legend Demo Single Malt",
"gtin": "5010327000142",
"size": "70cl",
"price": "39.50",
"currency": "GBP",
"product_url": "https://merchant.example/products/demo-001",
"stock": 30
}
]
}
From source to live offer
Connection workflow
Every route uses the same quality gates before an offer becomes public.
Choose an array or JSON Lines structure.
Map nested paths once if field names differ.
Run a dry validation against representative records.
Send full or scheduled updates and review import diagnostics.
Before publication
Validation checklist
These checks keep bad prices, stale stock, and uncertain product matches out of the public marketplace.
- The document must be valid UTF-8 JSON.
- Each offer requires a stable merchant SKU.
- Unknown fields are ignored rather than published blindly.
- Malformed lines remain traceable in the import report.
Other connection paths