{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/orderForm",
"title": "orderForm",
"type": "object",
"properties": {
"orderFormId": {
"type": "string",
"description": "ID of the orderForm corresponding to a specific cart."
},
"salesChannel": {
"type": "string",
"description": "Attribute created by the seller, in their VTEX store configuration."
},
"loggedIn": {
"type": "boolean",
"description": "Indicates whether the user is logged into the store."
},
"isCheckedIn": {
"type": "boolean",
"description": "Indicates whether order is checked in."
},
"storeId": {
"type": "string",
"description": "ID of the store.",
"nullable": true
},
"allowManualPrice": {
"type": "boolean",
"description": "Permission to modify item price manually."
},
"canEditData": {
"type": "boolean",
"description": "Data can be edited."
},
"userProfileId": {
"type": "string",
"description": "Unique ID associated with the customer profile."
},
"profileProvider": {
"type": "string",
"description": "Profile provider."
},
"availableAccounts": {
"type": "array",
"description": "Available accounts.",
"items": {
"type": "string",
"description": "Account."
}
},
"availableAddresses": {
"type": "array",
"description": "Information on each available address.",
"items": {
"type": "object",
"properties": {
"addressType": {
"type": "string",
"description": "Address type."
},
"receiverName": {
"type": "string",
"description": "Name of the receiver."
},
"addressId": {
"type": "string",
"description": "Address ID.",
"nullable": true
},
"isDisposable": {
"type": "boolean",
"description": "Indicates whether address is disposable."
},
"city": {
"type": "string",
"description": "City of the address."
},
"state": {
"type": "string",
"description": "State of the address."
},
"country": {
"type": "string",
"description": "Country of the address. ISO three-letter code."
},
"street": {
"type": "string",
"description": "Street of the address."
},
"number": {
"type": "string",
"description": "Number of the address."
},
"neighborhood": {
"type": "string",
"description": "Neighborhood of the address."
},
"complement": {
"type": "string",
"description": "Complement to the address.",
"nullable": true
},
"reference": {
"type": "string",
"description": "Reference that may help in the location of the address.",
"nullable": true
},
"geoCoordinates": {
"type": "array",
"description": "Array with two strings that represent geocoordinates: first latitude, then longitude.",
"items": {
"type": "number",
"description": "Geocoordinates."
}
}
}
}
},
"userType": {
"type": "string",
"description": "User type.",
"nullable": true
},
"ignoreProfileData": {
"type": "boolean",
"description": "Ignore customer profile data."
},
"value": {
"type": "integer",
"description": "Total value of the order without separating cents. For example, $24.99 is represented as `2499`."
},
"messages": {
"type": "array",
"description": "Array containing an object for each message generated by our servers while processing the request.",
"items": {
"type": "string",
"description": "Message."
}
},
"items": {
"type": "array",
"description": "Information on each item in the order.",
"items": {
"type": "object",
"properties": {
"uniqueId": {
"type": "string",
"description": "Unique ID."
},
"id": {
"type": "string",
"description": "ID of the item."
},
"productId": {
"type": "string",
"description": "Product ID."
},
"productRefId": {
"type": "string",
"description": "Product Ref ID."
},
"refId": {
"type": "string",
"description": "Ref ID."
},
"ean": {
"type": "string",
"description": "European Article Number.",
"nullable": true
},
"name": {
"type": "string",
"description": "Product name."
},
"skuName": {
"type": "string",
"description": "SKU name."
},
"modalType": {
"type": "string",
"description": "Modal type.",
"nullable": true
},
"parentItemIndex": {
"type": "integer",
"description": "Parent item index.",
"nullable": true
},
"parentAssemblyBinding": {
"type": "string",
"description": "Parent assembly binding.",
"nullable": true
},
"priceValidUntil": {
"type": "string",
"description": "Price expiration date and time."
},
"tax": {
"type": "integer",
"description": "Tax value in cents."
},
"taxCode": {
"type": "string",
"description": "A unique identifier code assigned to a tax within the VTEX Admin."
},
"price": {
"type": "integer",
"description": "Price in cents."
},
"listPrice": {
"type": "integer",
"description": "List price in cents."
},
"manualPrice": {
"type": "integer",
"description": "Manual price in cents.",
"nullable": true
},
"manualPriceAppliedBy": {
"type": "string",
"description": "User that applied the manual price, if that is the case.",
"nullable": true
},
"sellingPrice": {
"type": "integer",
"description": "Selling price in cents. Note that this field may be subject to rounding discrepancies. We recommend retrieving data from the `priceDefinition` data structure instead."
},
"rewardValue": {
"type": "integer",
"description": "Reward value in cents."
},
"isGift": {
"type": "boolean",
"description": "Indicates whether item is a gift."
},
"additionalInfo": {
"type": "object",
"description": "Additional information.",
"properties": {
"dimension": {
"type": "string",
"description": "Dimension.",
"nullable": true
},
"brandName": {
"type": "string",
"description": "Brand name."
},
"brandId": {
"type": "string",
"description": "Brand ID."
},
"offeringInfo": {
"type": "string",
"description": "Offering information.",
"nullable": true
},
"offeringType": {
"type": "string",
"description": "Offering type.",
"nullable": true
},
"offeringTypeId": {
"type": "string",
"description": "Offering type ID.",
"nullable": true
}
}
},
"preSaleDate": {
"type": "string",
"description": "Presale date.",
"nullable": true
},
"productCategoryIds": {
"type": "string",
"description": "Product category IDs."
},
"productCategories": {
"type": "object",
"description": "Object, where each field is an ID from `productCategoryIds`.",
"properties": {
"{ID}": {
"type": "string",
"description": "Product category corresponding to the ID in the field key."
}
}
},
"quantity": {
"type": "integer",
"description": "Quantity."
},
"seller": {
"type": "string",
"description": "Seller."
},
"sellerChain": {
"type": "array",
"description": "Sellers involved in the chain. The list should contain only one seller, unless it is a [Multilevel Omnichannel Inventory](https://help.vtex.com/en/tutorial/multilevel-omnichannel-inventory--7M1xyCZWUyCB7PcjNtOyw4) order.",
"items": {
"type": "string",
"description": "Seller."
}
},
"imageUrl": {
"type": "string",
"description": "Image URL."
},
"detailUrl": {
"type": "string",
"description": "Detail URL."
},
"bundleItems": {
"type": "array",
"description": "Information on services sold along with the SKU. Example: a gift package.",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Service type."
},
"id": {
"type": "integer",
"description": "Service identifier."
},
"name": {
"type": "string",
"description": "Service name."
},
"price": {
"type": "integer",
"description": "Service price in cents."
}
}
}
},
"attachments": {
"type": "array",
"description": "Array containing information on attachments.",
"items": {
"type": "string"
}
},
"priceTags": {
"type": "array",
"description": "Array of price tags, each of which, modifies the price in some way, like discounts or rates that apply to the item in the context of the order.",
"items": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": "Price tag identifier.",
"nullable": true
},
"isPercentual": {
"type": "boolean",
"description": "Indicates whether price tag value is applied through a percentage."
},
"name": {
"type": "string",
"description": "Price tag name."
},
"rawValue": {
"type": "integer",
"description": "Price tag raw value."
},
"value": {
"type": "integer",
"description": "Price tag value."
}
}
}
},
"availability": {
"type": "string",
"description": "Availability."
},
"measurementUnit": {
"type": "string",
"description": "Measurement unit."
},
"unitMultiplier": {
"type": "integer",
"description": "Unit multiplier."
},
"manufacturerCode": {
"type": "string",
"description": "Manufacturer code.",
"nullable": true
},
"priceDefinition": {
"type": "object",
"description": "Price information for all units of a specific item.",
"properties": {
"calculatedSellingPrice": {
"type": "integer",
"description": "Item's calculated unitary selling price in cents."
},
"total": {
"type": "integer",
"description": "Total value for all units of the item in cents."
},
"sellingPrices": {
"type": "array",
"description": "Array of objects, each containing value (in cents) and quantity for the different rounding instances that can be combined to form the correctly rounded total.",
"items": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Value in cents for that specific rounding."
},
"quantity": {
"type": "integer",
"description": "Rounding quantity, meaning how many items are rounded to this value."
}
}
}
}
}
}
}
}
},
"selectableGifts": {
"type": "array",
"description": "Array containing the data of the item selected as a gift.",
"items": {
"type": "string",
"description": "Gift."
}
},
"totalizers": {
"type": "array",
"description": "Array containing an object for each totalizer for the purchase. Totalizers contain the sum of values for a specific part of the order (e.g. Total item value, Total shipping value).",
"items": {
"type": "object",
"description": "Totalizer of purchases."
}
},
"shippingData": {
"type": "object",
"description": "Shipping information pertinent to the order.",
"nullable": true,
"properties": {
"address": {
"type": "object",
"description": "Address information.",
"nullable": true,
"properties": {
"addressType": {
"type": "string",
"description": "Type of address. For example, `Residential` or `Pickup`."
},
"receiverName": {
"type": "string",
"description": "Name of the person who is going to receive the order."
},
"addressId": {
"type": "string",
"description": "Address ID.",
"nullable": true
},
"isDisposable": {
"type": "boolean",
"description": "Indicates whether address is disposable."
},
"postalCode": {
"type": "string",
"description": "Postal code."
},
"city": {
"type": "string",
"description": "City of the shipping address."
},
"state": {
"type": "string",
"description": "State of the shipping address."
},
"country": {
"type": "string",
"description": "Three letter ISO code of the country of the shipping address."
},
"street": {
"type": "string",
"description": "Street of the shipping address."
},
"number": {
"type": "string",
"description": "Number of the building, house or apartment in the shipping address."
},
"neighborhood": {
"type": "string",
"description": "Neighborhood of the shipping address."
},
"complement": {
"type": "string",
"description": "Complement to the shipping address, in case it applies.",
"nullable": true
},
"reference": {
"type": "string",
"description": "Complement that might help locate the shipping address more precisely in case of delivery.",
"nullable": true
},
"geoCoordinates": {
"type": "array",
"description": "Array with two strings that represent geocoordinates: first latitude, then longitude.",
"items": {
"type": "number",
"description": "Geocoordinates."
}
}
}
},
"logisticsInfo": {
"type": "array",
"description": "Array with logistics information. Each object in this array corresponds to an object in the `items` array, based on the respective `itemIndex`.",
"items": {
"type": "object",
"properties": {
"itemIndex": {
"type": "integer",
"description": "Index corresponding to the position of the object in the `items` array."
},
"selectedSla": {
"type": "string",
"description": "SLA selected by the customer.",
"nullable": true
},
"selectedDeliveryChannel": {
"type": "string",
"description": "Delivery channel selected by the customer.",
"nullable": true
},
"addressId": {
"type": "string",
"description": "Address ID.",
"nullable": true
},
"slas": {
"type": "array",
"description": "Information on available SLAs.",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "SLA ID."
},
"deliveryChannel": {
"type": "string",
"description": "Delivery channel."
},
"name": {
"type": "string",
"description": "SLA name."
},
"deliveryIds": {
"type": "array",
"description": "Information on each delivery ID.",
"items": {
"type": "object",
"properties": {
"courierId": {
"type": "string",
"description": "Courier ID."
},
"warehouseId": {
"type": "string",
"description": "Warehouse ID."
},
"dockId": {
"type": "string",
"description": "Warehouse ID."
},
"courierName": {
"type": "string",
"description": "Courier name."
},
"quantity": {
"type": "integer",
"description": "Quantity."
}
}
}
},
"shippingEstimate": {
"type": "string",
"description": "Shipping estimate. For instance, \"three business days\" will be represented as `3bd`."
},
"shippingEstimateDate": {
"type": "string",
"description": "Shipping estimate date.",
"nullable": true
},
"lockTTL": {
"type": "string",
"description": "Estimate date of delivery.",
"nullable": true
},
"price": {
"type": "integer",
"description": "Price in cents."
},
"listPrice": {
"type": "integer",
"description": "List price in cents."
},
"tax": {
"type": "integer",
"description": "Tax in cents."
},
"pickupStoreInfo": {
"type": "object",
"description": "Information on the pickup store.",
"properties": {
"isPickupStore": {
"type": "boolean",
"description": "Indicates whether it is the pickup store."
},
"friendlyName": {
"type": "string",
"description": "Friendly name.",
"nullable": true
},
"address": {
"type": "object",
"description": "Address information.",
"nullable": true,
"properties": {
"addressType": {
"type": "string",
"description": "Type of address. For example, `Residential` or `Pickup`."
},
"postalCode": {
"type": "string",
"description": "Postal code."
},
"city": {
"type": "string",
"description": "City of the shipping address."
},
"state": {
"type": "string",
"description": "State of the shipping address."
},
"country": {
"type": "string",
"description": "Three letter ISO code of the country of the shipping address."
},
"street": {
"type": "string",
"description": "Street of the shipping address."
},
"number": {
"type": "string",
"description": "Number of the building, house or apartment in the shipping address."
},
"neighborhood": {
"type": "string",
"description": "Neighborhood of the shipping address."
},
"complement": {
"type": "string",
"description": "Complement to the shipping address, in case it applies.",
"nullable": true
},
"reference": {
"type": "string",
"description": "Complement that might help locate the shipping address more precisely in case of delivery.",
"nullable": true
},
"geoCoordinates": {
"type": "array",
"description": "Array with two strings that repesent geocoordinates: first latitude, then longitude.",
"items": {
"type": "number",
"description": "Geocoordinates."
}
}
}
},
"additionalInfo": {
"type": "string",
"description": "Additional information.",
"nullable": true
},
"dockId": {
"type": "string",
"description": "Corresponding dock ID.",
"nullable": true
}
}
},
"pickupPointId": {
"type": "string",
"description": "Pickup point ID.",
"nullable": true
},
"pickupDistance": {
"type": "integer",
"description": "Pickup point distance."
},
"polygonName": {
"type": "string",
"description": "Polygon name.",
"nullable": true
},
"transitTime": {
"type": "string",
"description": "Transit time. For instance, \"three business days\" is represented as `3bd`."
}
}
}
},
"shipsTo": {
"type": "array",
"description": "List of countries that the item may be shipped to.",
"items": {
"type": "string",
"description": "Three letter country code."
}
},
"itemId": {
"type": "string",
"description": "Item ID."
},
"deliveryChannels": {
"type": "array",
"description": "List of available delivery channels.",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Delivery channel ID."
}
}
}
}
}
}
},
"selectedAddresses": {
"type": "array",
"description": "Array with information on the selected addresses for the order.",
"items": {
"type": "object",
"properties": {
"addressType": {
"type": "string",
"description": "Type of address. For example, `Residential` or `Pickup`."
},
"receiverName": {
"type": "string",
"description": "Name of the person who is going to receive the order."
},
"addressId": {
"type": "string",
"description": "Address ID.",
"nullable": true
},
"isDisposable": {
"type": "boolean",
"description": "Indicates whether address is disposable."
},
"postalCode": {
"type": "string",
"description": "Postal code."
},
"city": {
"type": "string",
"description": "City of the shipping address."
},
"state": {
"type": "string",
"description": "State of the shipping address."
},
"country": {
"type": "string",
"description": "Three letter ISO code of the country of the shipping address."
},
"street": {
"type": "string",
"description": "Street of the shipping address."
},
"number": {
"type": "string",
"description": "Number of the building, house or apartment in the shipping address."
},
"neighborhood": {
"type": "string",
"description": "Neighborhood of the shipping address."
},
"complement": {
"type": "string",
"description": "Complement to the shipping address, in case it applies."
},
"reference": {
"type": "string",
"description": "Complement that might help locate the shipping address more precisely in case of delivery.",
"nullable": true
},
"geoCoordinates": {
"type": "array",
"description": "Array with two strings that represent geocoordinates: first latitude, then longitude.",
"items": {
"type": "number",
"description": "Geocoordinates."
}
}
}
}
},
"availableAddresses": {
"type": "array",
"description": "Array with information on the available addresses for the order.",
"items": {
"type": "object",
"properties": {
"addressType": {
"type": "string",
"description": "Type of address. For example, `Residential` or `Pickup`."
},
"receiverName": {
"type": "string",
"description": "Name of the person who is going to receive the order."
},
"addressId": {
"type": "string",
"description": "Address ID.",
"nullable": true
},
"isDisposable": {
"type": "boolean",
"description": "Indicates whether address is disposable."
},
"postalCode": {
"type": "string",
"description": "Postal code."
},
"city": {
"type": "string",
"description": "City of the shipping address."
},
"state": {
"type": "string",
"description": "State of the shipping address."
},
"country": {
"type": "string",
"description": "Three letter ISO code of the country of the shipping address."
},
"street": {
"type": "string",
"description": "Street of the shipping address."
},
"number": {
"type": "string",
"description": "Number of the building, house or apartment in the shipping address."
},
"neighborhood": {
"type": "string",
"description": "Neighborhood of the shipping address."
},
"complement": {
"type": "string",
"description": "Complement to the shipping address, in case it applies."
},
"reference": {
"type": "string",
"description": "Complement that might help locate the shipping address more precisely in case of delivery.",
"nullable": true
},
"geoCoordinates": {
"type": "array",
"description": "Array with two strings that represent geocoordinates: first latitude, then longitude.",
"items": {
"type": "number",
"description": "Geocoordinates."
}
}
}
}
}
}
},
"clientProfileData": {
"type": "object",
"description": "Customer's profile information.",
"nullable": true,
"properties": {
"email": {
"type": "string",
"description": "Email address.",
"nullable": true
},
"firstName": {
"type": "string",
"description": "First name.",
"nullable": true
},
"lastName": {
# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vtex/refs/heads/main/json-schema/vtex-orderform-schema.json