{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.api-evangelist.com/schemas/iterable/commerce-item.json",
  "title": "Iterable Commerce Item",
  "description": "A commerce item representing a product in a purchase or shopping cart event tracked through the Iterable Commerce API. Commerce items capture product details for revenue attribution and abandoned cart campaigns.",
  "type": "object",
  "required": ["id", "name", "price", "quantity"],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "Unique item identifier or product ID"
    },
    "sku": {
      "type": "string",
      "description": "Stock keeping unit identifier"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Display name of the product"
    },
    "description": {
      "type": "string",
      "description": "Product description text"
    },
    "categories": {
      "type": "array",
      "description": "Product categories for classification and filtering",
      "items": {
        "type": "string"
      }
    },
    "price": {
      "type": "number",
      "minimum": 0,
      "description": "Unit price of the item"
    },
    "quantity": {
      "type": "integer",
      "minimum": 1,
      "description": "Number of units purchased or in cart"
    },
    "imageUrl": {
      "type": "string",
      "format": "uri",
      "description": "URL of the product image"
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "URL of the product page"
    },
    "dataFields": {
      "type": "object",
      "description": "Custom data fields associated with the item",
      "additionalProperties": true
    }
  }
}