{"schema_id":"ecommerce","category":"ecommerce","title":"E-commerce product","description":"General merchandise product listings (non-fashion specialty catalogs).","json_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://data-marketplace-catalog.bakosbence.com/v1/catalog/schemas/ecommerce","title":"E-commerce product row","description":"One product listing.","type":"object","properties":{"title":{"description":"Listing / product / posting title.","type":"string"},"url":{"description":"Canonical public URL for the item.","type":"string","format":"uri"},"external_id":{"description":"Stable merchant / listing id when available.","type":"string"},"currency":{"description":"ISO-like currency code when prices are present (e.g. EUR, USD, HUF).","type":"string"},"image_urls":{"description":"Image URLs for the listing.","type":"array","items":{"type":"string","format":"uri"}},"extra":{"description":"Site-specific bag of extra fields not promoted to top-level columns.","type":"object","additionalProperties":true},"record":{"description":"Nested maximal payload on some raw JSON rows. Public samples and CSV flatten useful fields out of this bag and omit the blob.","type":"object","additionalProperties":true},"price":{"description":"Current price when present.","type":["number","string"]},"brand":{"description":"Brand when exposed.","type":"string"},"category":{"description":"Category label from the site.","type":"string"},"availability":{"description":"Stock / availability text when exposed.","type":"string"}},"additionalProperties":true}}