Menu
Guides
API Reference

Guides

orderForm fields reference

Reference of all orderForm fields returned by the Checkout API, organized by section, with descriptions, types, and examples.

27 min read

The orderForm is the main object processed by VTEX Checkout and one of the most important data structures in every VTEX architecture's store. It represents a shopping cart and stores all the contextual information needed to turn that cart into an order: the items, the customer's profile, delivery and pickup options, payment options, promotions, and custom information.

The Checkout API is the main interface for reading and changing the orderForm. Most of its endpoints return the complete orderForm in the response body.

This guide describes every field of the orderForm, grouped by section. Each section includes a description of its purpose, a JSON example, and a table with the type, description, and an example value of each field.

Conventions used in this guide

ConventionDescriptionExample
Monetary valuesFields that represent monetary values are integers in cents, without a decimal separator.10390 represents R$ 103.90 in a Brazilian store, and 2499 represents $24.99 in a US store.
Nested fieldsField names use dot notation relative to the section. [] indicates that the field belongs to each object in an array.logisticsInfo[].slas[].price refers to the price field of each SLA in each logisticsInfo array item.
Nullable fieldsWhen a field can return null, the type column indicates this. Customer-related fields, such as addresses and profile data, are often null until the customer identifies themselves.String or null
Masked dataWhen the customer isn't authenticated, personal data, such as names, documents, phone numbers, and addresses, is partially masked with asterisks to protect the shopper's privacy."Cla** ***t"

orderForm structure

The orderForm is composed of root fields, which describe the cart as a whole, and sections, which are objects or arrays that group related information.


_37
{
_37
"orderFormId": "9ceee0fde6db489fbc682a0e2ab13a86",
_37
"salesChannel": "1",
_37
"loggedIn": false,
_37
"isCheckedIn": false,
_37
"storeId": null,
_37
"allowManualPrice": false,
_37
"canEditData": true,
_37
"userProfileId": null,
_37
"profileProvider": "Vtex",
_37
"availableAccounts": [],
_37
"availableAddresses": [],
_37
"userType": null,
_37
"ignoreProfileData": false,
_37
"value": 16500,
_37
"messages": [],
_37
"items": [],
_37
"selectableGifts": [],
_37
"totalizers": [],
_37
"shippingData": {},
_37
"clientProfileData": {},
_37
"paymentData": {},
_37
"marketingData": {},
_37
"sellers": [],
_37
"clientPreferencesData": {},
_37
"commercialConditionData": null,
_37
"storePreferencesData": {},
_37
"giftRegistryData": null,
_37
"openTextField": null,
_37
"invoiceData": null,
_37
"customData": null,
_37
"itemMetadata": {},
_37
"hooksData": null,
_37
"ratesAndBenefitsData": {},
_37
"subscriptionData": null,
_37
"itemsOrdination": null
_37
}

The sections are organized in this guide by subject:

Root fields

Root fields are located directly in the orderForm object and describe the cart as a whole: its identification, the sales channel, the shopper's session state, and the total order value.

FieldTypeDescriptionExample
orderFormIdStringID of the orderForm corresponding to a specific cart. Use this ID in the path of the Checkout API endpoints to read or change the cart."9ceee0fde6db489fbc682a0e2ab13a86"
salesChannelStringID of the sales channel (trade policy) associated with the cart, as configured in the store. It defines the prices, promotions, and catalog available to the shopper."1"
loggedInBooleanIndicates whether the user is logged into the store.false
isCheckedInBooleanIndicates whether the cart is checked in to a physical store, which is used in in-store sales scenarios.false
storeIdString or nullID of the physical store where the cart is checked in, when isCheckedIn is true."1"
allowManualPriceBooleanIndicates whether the user has permission to change item prices manually in this cart.false
canEditDataBooleanIndicates whether the customer's data in the cart can be edited.true
userProfileIdString or nullUnique ID associated with the customer profile."fb542e51-5488-4c34-8d17-ed8fcf597a94"
profileProviderStringProvider of the customer profile."VTEX"
availableAccountsArray of stringsAvailable accounts.[]
availableAddressesArray of objectsAddresses available for the customer. Each object has the same fields as the address object.See shippingData.
userTypeString or nullUser type. Example: "callCenterOperator" when the cart is being handled by a call center operator on behalf of a customer."callCenterOperator"
ignoreProfileDataBooleanIndicates whether the customer profile data should be ignored in this cart.false
valueIntegerTotal value of the order in cents. For example, $24.99 is represented as 2499.16500
messagesArray of objectsMessages generated by the server while processing the request. See messages.[]
itemsArray of objectsInformation on each item in the cart. See items.[]
selectableGiftsArrayGifts that the customer can select. See selectableGifts.[]
totalizersArray of objectsTotals of the order by category. See totalizers.[]
shippingDataObject or nullShipping information. See shippingData.{}
clientProfileDataObject or nullCustomer profile information. See clientProfileData.{}
paymentDataObjectPayment information. See paymentData.{}
marketingDataObject or nullPromotion and campaign tracking data. See marketingData.{}
sellersArray of objectsSellers of the items in the cart. See sellers.[]
clientPreferencesDataObjectCustomer preferences. See clientPreferencesData.{}
commercialConditionDataObject or nullCommercial condition information. See commercialConditionData.null
storePreferencesDataObjectStore configuration data. See storePreferencesData.{}
giftRegistryDataObject or nullGift registry (gift list) information. See giftRegistryData.null
openTextFieldObject or nullFree text information about the order. See openTextField.null
invoiceDataObject or nullInvoice data, including the billing address. See invoiceData.null
customDataObject or nullCustom information added by the store. See customData.null
itemMetadataObjectMetadata of the items in the cart. See itemMetadata.{}
hooksDataObject or nullHooks information. See hooksData.null
ratesAndBenefitsDataObjectPromotions and taxes that apply to the order. See ratesAndBenefitsData.{}
subscriptionDataObject or nullSubscription information. See subscriptionData.null
itemsOrdinationObject or nullSorting criteria of the items in the cart. See itemsOrdination.null

Cart and items

The sections in this group describe what is in the cart: the items and their prices, the sellers that fulfill them, the gifts available, and the order totals.

items

Array containing one object for each item (SKU) in the cart, with identification, catalog, price, quantity, and seller information. Items are identified in other sections, such as shippingData.logisticsInfo, by their position in this array (itemIndex), starting at 0.

If you use integrations that consume price data, such as checkout or order integrations, the sellingPrice field may be subject to rounding discrepancies. We recommend retrieving price data from the priceDefinition object instead.

Example:


_62
"items": [
_62
{
_62
"uniqueId": "E0F2B7AF5CD74D668F1E27537206912C",
_62
"id": "1",
_62
"productId": "1",
_62
"productRefId": "1",
_62
"refId": "0001",
_62
"ean": "123456789",
_62
"name": "Royal Canin Feline Urinary 500g",
_62
"skuName": "Royal Canin Feline Urinary 500g",
_62
"modalType": null,
_62
"parentItemIndex": null,
_62
"parentAssemblyBinding": null,
_62
"priceValidUntil": "2026-11-02T14:59:00Z",
_62
"tax": 0,
_62
"taxCode": "54WC8ZN6K8",
_62
"price": 15000,
_62
"listPrice": 30000,
_62
"manualPrice": null,
_62
"manualPriceAppliedBy": null,
_62
"sellingPrice": 15000,
_62
"rewardValue": 0,
_62
"isGift": false,
_62
"additionalInfo": {
_62
"dimension": null,
_62
"brandName": "Royal Canin",
_62
"brandId": "2000000",
_62
"offeringInfo": null,
_62
"offeringType": null,
_62
"offeringTypeId": null
_62
},
_62
"preSaleDate": null,
_62
"productCategoryIds": "/1/10/",
_62
"productCategories": {
_62
"1": "Food",
_62
"10": "Dry food"
_62
},
_62
"quantity": 1,
_62
"seller": "1",
_62
"sellerChain": ["1"],
_62
"imageUrl": "http://mystore.vteximg.com.br/arquivos/ids/155450-55-55/Royal-Canin-Feline-Urinary.jpg?v=637139444438700000",
_62
"detailUrl": "/royal-canin-feline-urinary/p",
_62
"bundleItems": [],
_62
"attachments": [],
_62
"offerings": [],
_62
"priceTags": [],
_62
"availability": "available",
_62
"measurementUnit": "un",
_62
"unitMultiplier": 1.0,
_62
"manufacturerCode": null,
_62
"priceDefinition": {
_62
"calculatedSellingPrice": 15000,
_62
"total": 15000,
_62
"sellingPrices": [
_62
{
_62
"value": 15000,
_62
"quantity": 1
_62
}
_62
]
_62
}
_62
}
_62
]

FieldTypeDescriptionExample
uniqueIdStringUnique identifier of the item in the cart. Two lines of the same SKU in the cart, for example, with different attachments, have different uniqueId values."E0F2B7AF5CD74D668F1E27537206912C"
idStringSKU ID."1"
productIdStringID of the product to which the SKU belongs."1"
productRefIdStringProduct reference ID."1"
refIdString or nullSKU reference ID."0001"
eanString or nullEuropean Article Number (EAN), the SKU barcode, as registered in the SKU registration."123456789"
nameStringProduct name."Royal Canin Feline Urinary 500g"
skuNameStringSKU name."Royal Canin Feline Urinary 500g"
modalTypeString or nullModal type of the SKU, used to define specific carriers for products that require special transportation, such as furniture or chemicals."FURNITURE"
parentItemIndexInteger or nullIndex of the parent item in the items array, when this item is part of an assembly (for example, an engraving added to a product).0
parentAssemblyBindingString or nullID of the assembly option that binds this item to its parent item."vtex.subscription.weekly"
priceValidUntilStringDate and time until which the item price is valid, in UTC ISO 8601 format."2026-11-02T14:59:00Z"
taxIntegerTax value in cents.0
taxCodeStringUnique identifier code assigned to a tax within the VTEX Admin."54WC8ZN6K8"
priceIntegerUnit price of the SKU in cents, before promotions are applied.15000
listPriceIntegerUnit list price ("from" price) in cents.30000
manualPriceInteger or nullUnit price manually set for the item in cents, when it applies. See Change price.10000
manualPriceAppliedByString or nullID of the user who applied the manual price, when it applies."fb542e51-5863-4c34-8d17-ed8fcf597a09"
sellingPriceIntegerUnit selling price in cents, with promotions applied. This field may be subject to rounding discrepancies. We recommend using priceDefinition instead.15000
rewardValueIntegerReward value in cents.0
isGiftBooleanIndicates whether the item is a gift.false
additionalInfoObjectAdditional information about the item.See the following rows.
additionalInfo.dimensionString or nullDimension.null
additionalInfo.brandNameStringBrand name."Royal Canin"
additionalInfo.brandIdStringBrand ID."2000000"
additionalInfo.offeringInfoString or nullOffering information.null
additionalInfo.offeringTypeString or nullOffering type.null
additionalInfo.offeringTypeIdString or nullOffering type ID.null
preSaleDateString or nullPresale date, when the item is sold in presale."2026-12-01T00:00:00Z"
productCategoryIdsStringPath of category IDs of the product, from the department to the deepest category, separated by /."/1/10/"
productCategoriesObjectObject in which each key is a category ID from productCategoryIds.{"1": "Food", "10": "Dry food"}
productCategories.{ID}StringName of the category corresponding to the ID in the key."Dry food"
quantityIntegerQuantity of units of the item in the cart.1
sellerStringID of the seller that sells the item."1"
sellerChainArray of stringsSellers involved in the chain. The list should contain only one seller, unless it is a Multilevel Omnichannel Inventory order.["1"]
imageUrlStringURL of the SKU image."http://mystore.vteximg.com.br/arquivos/ids/155450-55-55/Royal-Canin-Feline-Urinary.jpg"
detailUrlStringRelative URL of the product page."/royal-canin-feline-urinary/p"
bundleItemsArray of objectsServices sold along with the SKU, such as a gift wrap.See the following rows.
bundleItems[].typeStringService type."Gift wrap"
bundleItems[].idIntegerService ID.5
bundleItems[].nameStringService name."Gift wrap"
bundleItems[].priceIntegerService price in cents.500
attachmentsArray of objectsAttachments added to the item, such as a customization or a subscription.See the following rows.
attachments[].nameStringAttachment name."vtex.subscription.weekly"
attachments[].contentObjectAttachment content as key-value pairs.{"vtex.subscription.key.frequency": "1 week"}
offeringsArray of objectsServices available for the SKU, which the customer can add to the item, such as a gift wrap or a warranty.See the following rows.
offerings[].typeStringService type."Warranty"
offerings[].idStringService type ID."5"
offerings[].nameStringName of the service type."Extended warranty"
offerings[].allowGiftMessageBooleanIndicates whether the service type can be displayed on the gift card.false
offerings[].priceIntegerService type price in cents.1500
offerings[].attachmentOfferingsArray of objectsAttachments available for the service.See the following rows.
offerings[].attachmentOfferings[].nameStringName of the attachment."message"
offerings[].attachmentOfferings[].requiredBooleanIndicates whether the attachment is required (true) or not (false).false
offerings[].attachmentOfferings[].schemaObjectCustom values created into the attachment.{"text": {"maximumNumberOfCharacters": 100, "domain": []}}
priceTagsArray of objectsPrice tags, each of which modifies the item price, such as discounts or taxes that apply to the item in the context of the order.See the following rows.
priceTags[].nameStringPrice tag name in the format {type}@{where}-{identifier}#{calculationId}, where:
  • type: indicates whether the tag refers to a discount or tax.
  • where: specifies the context, either price or shipping.
  • identifier: promotion ID.
  • calculationId: hash that may vary with each price calculation.
"DISCOUNT@MANUALPRICE"
priceTags[].valueIntegerPrice tag value in cents. Negative values represent a promotion (value decrease) and positive values represent a tax (value increase).-5000
priceTags[].rawValueNumberRaw price tag value with up to five decimals, sourced from the promotion configuration. This value is informational only and is not used in checkout calculations.-50.0
priceTags[].isPercentualBooleanIndicates whether value and rawValue represent a percentage to be applied during checkout calculation. The default value is false.false
priceTags[].identifierString or nullPromotion unique identifier."1234abc-5678b-1234c"
availabilityStringSKU availability. Possible values are available, withoutStock, and cannotBeDelivered. Only SKUs with the available value can be sold and delivered."available"
measurementUnitStringMeasurement unit of the SKU."un"
unitMultiplierNumberUnit multiplier of the SKU. The quantity added to the cart is multiplied by this value. For example, a product sold by kilogram with unitMultiplier of 0.3 is sold in 300 g units.1.0
manufacturerCodeString or nullManufacturer code of the SKU."MC-12345"
priceDefinitionObjectPrice information for all units of the item. See items[].priceDefinition.See the following rows.
priceDefinition.calculatedSellingPriceIntegerCalculated unit selling price of the item in cents.15000
priceDefinition.totalIntegerTotal value for all units of the item in cents.15000
priceDefinition.sellingPricesArray of objectsObjects, each containing value and quantity, for the different rounding instances that can be combined to form the correctly rounded total.See the following rows.
priceDefinition.sellingPrices[].valueIntegerValue in cents for that specific rounding.15000
priceDefinition.sellingPrices[].quantityIntegerRounding quantity, meaning how many units are rounded to this value.1

items[].priceDefinition

The priceDefinition object provides the correctly rounded prices of an item. When the unit selling price can't be divided evenly among all units, for example because of a percentage discount or a unit multiplier, sellingPrices lists each rounding instance so that the sum of value × quantity matches total.

In the following example, an item sold by weight (unitMultiplier of 0.3 kg) has a unit price of 199 per kg and a quantity of 3. The total of 179 is reached by charging 60 for two units and 59 for one unit:


_26
{
_26
"items": [
_26
{
_26
"id": "1001669",
_26
"price": 199,
_26
"quantity": 3,
_26
"unitMultiplier": 0.3,
_26
"measurementUnit": "kg",
_26
"sellingPrice": 59,
_26
"priceDefinition": {
_26
"calculatedSellingPrice": 59,
_26
"total": 179,
_26
"sellingPrices": [
_26
{
_26
"value": 60,
_26
"quantity": 2
_26
},
_26
{
_26
"value": 59,
_26
"quantity": 1
_26
}
_26
]
_26
}
_26
}
_26
]
_26
}

itemMetadata

Object containing catalog metadata of each item in the cart, such as name, image, and product page URL. It is used to display items consistently, including items that aren't part of items, such as gifts and assembly options.

Example:


_15
"itemMetadata": {
_15
"items": [
_15
{
_15
"id": "1",
_15
"seller": "1",
_15
"name": "Royal Canin Feline Urinary 500g",
_15
"skuName": "Royal Canin Feline Urinary 500g",
_15
"productId": "1",
_15
"refId": "0001",
_15
"ean": "123456789",
_15
"imageUrl": "http://mystore.vteximg.com.br/arquivos/ids/155450-55-55/Royal-Canin-Feline-Urinary.jpg?v=637139444438700000",
_15
"detailUrl": "/royal-canin-feline-urinary/p"
_15
}
_15
]
_15
}

FieldTypeDescriptionExample
itemsArray of objectsMetadata of each item in the order.See the following rows.
items[].idStringSKU ID."1"
items[].sellerStringSeller ID."1"
items[].nameStringProduct name."Royal Canin Feline Urinary 500g"
items[].skuNameStringSKU name."Royal Canin Feline Urinary 500g"
items[].productIdStringProduct ID."1"
items[].refIdString or nullSKU reference ID."0001"
items[].eanString or nullEuropean Article Number (EAN) of the SKU."123456789"
items[].imageUrlStringURL of the SKU image."http://mystore.vteximg.com.br/arquivos/ids/155450-55-55/Royal-Canin-Feline-Urinary.jpg"
items[].detailUrlStringRelative URL of the product page."/royal-canin-feline-urinary/p"

itemsOrdination

Object containing the criteria used to sort the items in the items array. Returns null when no sorting is applied.

Example:


_10
"itemsOrdination": {
_10
"criteria": "NAME",
_10
"ascending": true
_10
}

FieldTypeDescriptionExample
criteriaStringCriteria adopted to sort the items. Possible values are:
  • NAME: item name.
  • ADD_TIME: time when the item was added to the cart.
  • GIFT: non-gift items are listed before gift items.
"NAME"
ascendingBooleanIndicates whether the sorting is ascending (true) or descending (false).true

selectableGifts

Array containing the gifts that the customer can choose from, based on Buy One Get One promotions that offer a gift. Each object represents a list of gift options.

Example:


_13
"selectableGifts": [
_13
{
_13
"id": "a1b2c3d4-1234-5678-9abc-def012345678",
_13
"availableQuantity": 1,
_13
"availableGifts": [
_13
{
_13
"id": "15",
_13
"name": "Cat toy",
_13
"isSelected": true
_13
}
_13
]
_13
}
_13
]

FieldTypeDescriptionExample
idStringID of the selectable gifts list."a1b2c3d4-1234-5678-9abc-def012345678"
availableQuantityIntegerNumber of gifts the customer can select from this list.1
availableGiftsArray of objectsItems that can be selected as gifts. Each object has the same fields as the items array, in addition to isSelected.See the following row.
availableGifts[].isSelectedBooleanIndicates whether the item was selected as a gift.true

sellers

Array containing one object for each seller responsible for items in the cart.

Example:


_10
"sellers": [
_10
{
_10
"id": "1",
_10
"name": "mystore",
_10
"logo": "https://mystore.vteximg.com.br/arquivos/logo.jpg",
_10
"minimumOrderValue": 0
_10
}
_10
]

FieldTypeDescriptionExample
idStringSeller ID."1"
nameStringSeller name."mystore"
logoString or nullURL of the seller logo."https://mystore.vteximg.com.br/arquivos/logo.jpg"
minimumOrderValueInteger or nullMinimum order value configured for the seller in cents.5000

totalizers

Array containing one object for each totalizer of the order. Totalizers contain the sum of values for a specific part of the order, such as the total value of the items, discounts, shipping, and taxes.

Example:


_17
"totalizers": [
_17
{
_17
"id": "Items",
_17
"name": "Items Total",
_17
"value": 15000
_17
},
_17
{
_17
"id": "Discounts",
_17
"name": "Discounts Total",
_17
"value": -5000
_17
},
_17
{
_17
"id": "Shipping",
_17
"name": "Shipping Total",
_17
"value": 1500
_17
}
_17
]

FieldTypeDescriptionExample
idStringTotalizer ID. Common values are Items, Discounts, Shipping, Tax, and CustomTax."Items"
nameStringTotalizer name, according to the cart locale."Items Total"
valueIntegerTotalizer value in cents. Discounts are represented as negative values.15000

Customer

The sections in this group describe who is placing the order and their preferences.

clientProfileData

Object containing the profile data of the customer who is placing the order. Returns null until the customer informs their email.

If the customer's identity hasn't been confirmed, some personal data is masked with asterisks to protect the shopper's privacy.

Example:


_17
"clientProfileData": {
_17
"email": "clark.kent@examplemail.com",
_17
"firstName": "Clark",
_17
"lastName": "Kent",
_17
"documentType": "cpf",
_17
"document": "12345678900",
_17
"phone": "+5521999999999",
_17
"corporateName": null,
_17
"tradeName": null,
_17
"corporateDocument": null,
_17
"stateInscription": null,
_17
"corporatePhone": null,
_17
"isCorporate": false,
_17
"profileCompleteOnLoading": false,
_17
"profileErrorOnLoading": false,
_17
"customerClass": null
_17
}

FieldTypeDescriptionExample
emailString or nullCustomer's email address."clark.kent@examplemail.com"
firstNameString or nullCustomer's first name."Clark"
lastNameStringCustomer's last name."Kent"
documentTypeStringType of the document informed by the customer."cpf"
documentStringDocument number informed by the customer."12345678900"
phoneStringCustomer's phone number."+5521999999999"
corporateNameString or nullCompany name, if the customer is a legal entity."Daily Planet Ltd."
tradeNameString or nullTrade name, if the customer is a legal entity."Daily Planet"
corporateDocumentString or nullCorporate document, if the customer is a legal entity."12345678000100"
stateInscriptionString or nullState inscription, if the customer is a legal entity."12345678"
corporatePhoneString or nullCorporate phone number, if the customer is a legal entity."+551100988887777"
isCorporateBooleanIndicates whether the customer is a legal entity.false
profileCompleteOnLoadingBooleanIndicates whether the customer profile was complete when it was loaded into the cart.false
profileErrorOnLoadingBoolean or nullIndicates whether an error occurred when loading the customer profile into the cart.false
customerClassString or nullCustomer class, used to segment customers in promotions and B2B scenarios."gold"

clientPreferencesData

Object containing the preferences of the customer who is placing the order.

Example:


_10
"clientPreferencesData": {
_10
"locale": "pt-BR",
_10
"optinNewsLetter": true
_10
}

FieldTypeDescriptionExample
localeStringCustomer's locale. The sendLocale() method from vtex.js changes the value of this field."pt-BR"
optinNewsLetterBoolean or nullIndicates whether the customer opted to receive newsletters from the store.true

giftRegistryData

Object containing information about the gift list associated with the cart, when the customer is buying items from a gift list. Returns null when the cart isn't associated with a gift list.

Example:


_10
"giftRegistryData": {
_10
"giftRegistryId": "22222",
_10
"giftRegistryType": "1",
_10
"giftRegistryTypeName": "Wedding",
_10
"addressId": "-1617303424547",
_10
"description": "Lois and Clark's wedding"
_10
}

FieldTypeDescriptionExample
giftRegistryIdStringGift list ID."22222"
giftRegistryTypeString or nullGift list type ID."1"
giftRegistryTypeNameString or nullGift list type name."Wedding"
addressIdString or nullID of the delivery address of the gift list."-1617303424547"
descriptionStringGift list description."Lois and Clark's wedding"

Shipping

shippingData

Object containing the shipping information of the order: the delivery address, the addresses available to the customer, and the logistics information of each item, including the available shipping options (SLAs) and the option selected by the customer. Returns null until shipping information is available.

Example:


_103
"shippingData": {
_103
"address": {
_103
"addressType": "residential",
_103
"receiverName": "Clark Kent",
_103
"addressId": "666c2e830bd9474ab6f6cc53fb6dd2d2",
_103
"isDisposable": true,
_103
"postalCode": "22250040",
_103
"city": "Rio de Janeiro",
_103
"state": "RJ",
_103
"country": "BRA",
_103
"street": "Praia de Botafogo",
_103
"number": "300",
_103
"neighborhood": "Botafogo",
_103
"complement": "3rd floor",
_103
"reference": null,
_103
"geoCoordinates": [-43.18218231201172, -22.94549560546875]
_103
},
_103
"logisticsInfo": [
_103
{
_103
"itemIndex": 0,
_103
"selectedSla": "Normal",
_103
"selectedDeliveryChannel": "delivery",
_103
"addressId": "666c2e830bd9474ab6f6cc53fb6dd2d2",
_103
"slas": [
_103
{
_103
"id": "Normal",
_103
"deliveryChannel": "delivery",
_103
"name": "Normal",
_103
"deliveryIds": [
_103
{
_103
"courierId": "1",
_103
"warehouseId": "1_1",
_103
"dockId": "1",
_103
"courierName": "Carrier",
_103
"quantity": 1
_103
}
_103
],
_103
"shippingEstimate": "3bd",
_103
"shippingEstimateDate": null,
_103
"lockTTL": "10d",
_103
"availableDeliveryWindows": [],
_103
"deliveryWindow": null,
_103
"price": 1500,
_103
"listPrice": 1500,
_103
"tax": 0,
_103
"pickupStoreInfo": {
_103
"isPickupStore": false,
_103
"friendlyName": null,
_103
"address": null,
_103
"additionalInfo": null,
_103
"dockId": null
_103
},
_103
"pickupPointId": null,
_103
"pickupDistance": 0,
_103
"polygonName": null,
_103
"transitTime": "3bd"
_103
}
_103
],
_103
"shipsTo": ["BRA"],
_103
"itemId": "1",
_103
"deliveryChannels": [
_103
{ "id": "delivery" },
_103
{ "id": "pickup-in-point" }
_103
]
_103
}
_103
],
_103
"selectedAddresses": [
_103
{
_103
"addressType": "residential",
_103
"receiverName": "Clark Kent",
_103
"addressId": "666c2e830bd9474ab6f6cc53fb6dd2d2",
_103
"isDisposable": true,
_103
"postalCode": "22250040",
_103
"city": "Rio de Janeiro",
_103
"state": "RJ",
_103
"country": "BRA",
_103
"street": "Praia de Botafogo",
_103
"number": "300",
_103
"neighborhood": "Botafogo",
_103
"complement": "3rd floor",
_103
"reference": null,
_103
"geoCoordinates": [-43.18218231201172, -22.94549560546875]
_103
}
_103
],
_103
"availableAddresses": [
_103
{
_103
"addressType": "residential",
_103
"receiverName": "Clark Kent",
_103
"addressId": "666c2e830bd9474ab6f6cc53fb6dd2d2",
_103
"isDisposable": true,
_103
"postalCode": "22250040",
_103
"city": "Rio de Janeiro",
_103
"state": "RJ",
_103
"country": "BRA",
_103
"street": "Praia de Botafogo",
_103
"number": "300",
_103
"neighborhood": "Botafogo",
_103
"complement": "3rd floor",
_103
"reference": null,
_103
"geoCoordinates": [-43.18218231201172, -22.94549560546875]
_103
}
_103
]
_103
}

FieldTypeDescriptionExample
addressObject or nullMain delivery address of the order. See Address object.See the example above.
logisticsInfoArray of objectsLogistics information. Each object corresponds to an object in the items array, based on the respective itemIndex.See the following rows.
logisticsInfo[].itemIndexIntegerIndex of the corresponding item in the items array, starting at 0.0
logisticsInfo[].selectedSlaString or nullID of the SLA (shipping option) selected by the customer. If the store uses the Delivery Options feature, this field returns the delivery option ID selected for this SLA."Normal"
logisticsInfo[].selectedDeliveryChannelString or nullDelivery channel selected by the customer. Possible values are delivery and pickup-in-point."delivery"
logisticsInfo[].addressIdString or nullID of the address to which the item will be delivered."666c2e830bd9474ab6f6cc53fb6dd2d2"
logisticsInfo[].slasArray of objectsSLAs (shipping options) available for the item.See the following rows.
logisticsInfo[].slas[].idStringSLA ID. If the store uses the Delivery Options feature, this field returns the delivery option ID, as in 1223d5b4-52a4-442f-ab23-01345b60be48."Normal"
logisticsInfo[].slas[].deliveryChannelStringDelivery channel of the SLA. Possible values are delivery and pickup-in-point."delivery"
logisticsInfo[].slas[].nameStringSLA name. If the store uses the Delivery Options feature, this field displays the delivery option name, as in Delivery | BRA | Up to 30 hours."Normal"
logisticsInfo[].slas[].deliveryIdsArray of objectsInformation on each delivery that composes the SLA.See the following rows.
logisticsInfo[].slas[].deliveryIds[].courierIdStringCarrier ID."1"
logisticsInfo[].slas[].deliveryIds[].warehouseIdStringWarehouse ID."1_1"
logisticsInfo[].slas[].deliveryIds[].dockIdStringLoading dock ID."1"
logisticsInfo[].slas[].deliveryIds[].courierNameStringCarrier name."Carrier"
logisticsInfo[].slas[].deliveryIds[].quantityIntegerQuantity of units of the item delivered by this carrier.1
logisticsInfo[].slas[].attachmentOfferingsArray of objects or nullAttachments available for the SLA.See the following rows.
logisticsInfo[].slas[].attachmentOfferings[].nameString or nullName of the attachment."delivery-instructions"
logisticsInfo[].slas[].attachmentOfferings[].requiredBoolean or nullIndicates whether the attachment is required (true) or not (false).false
logisticsInfo[].slas[].attachmentOfferings[].schemaObject or nullCustom values created into the attachment.{"note": {"maximumNumberOfCharacters": 100, "domain": []}}
logisticsInfo[].slas[].shippingEstimateStringTotal shipping estimate time, represented by a number followed by a time unit. The unit can be bd (business days), d (days), h (hours), or m (minutes). For example, three business days is represented as 3bd."3bd"
logisticsInfo[].slas[].shippingEstimateDateString or nullEstimated shipping date. Contains a value only when the query parameter individualShippingEstimates=true is used. Otherwise, it's null."2026-10-07T17:35:00-03:00"
logisticsInfo[].slas[].useIndividualShippingEstimatesBooleanIndicates whether the product's individual estimated shipping date is displayed in the shippingEstimate field.false
logisticsInfo[].slas[].lockTTLString or nullTime during which the item inventory is reserved after the order is placed, using the same format as shippingEstimate."10d"
logisticsInfo[].slas[].availableDeliveryWindowsArray of objectsScheduled delivery windows available for the SLA.See the following rows.
logisticsInfo[].slas[].availableDeliveryWindows[].startDateUtcStringDelivery window start date and time in UTC."2026-10-05T09:00:00+00:00"
logisticsInfo[].slas[].availableDeliveryWindows[].endDateUtcStringDelivery window end date and time in UTC."2026-10-05T12:00:00+00:00"
logisticsInfo[].slas[].availableDeliveryWindows[].priceIntegerDelivery window price in cents.1000
logisticsInfo[].slas[].availableDeliveryWindows[].lisPriceIntegerDelivery window list price in cents. The field name is lisPrice in the API response.1000
logisticsInfo[].slas[].availableDeliveryWindows[].taxIntegerDelivery window tax in cents.0
logisticsInfo[].slas[].deliveryWindowObject or nullDelivery window selected by the customer, in case of scheduled delivery. It has the same fields as the objects in availableDeliveryWindows.{"startDateUtc": "2026-10-05T09:00:00+00:00", "endDateUtc": "2026-10-05T12:00:00+00:00", "price": 1000, "lisPrice": 1000, "tax": 0}
logisticsInfo[].slas[].priceIntegerSLA price in cents.1500
logisticsInfo[].slas[].listPriceIntegerSLA list price in cents.1500
logisticsInfo[].slas[].taxIntegerSLA tax in cents.0
logisticsInfo[].slas[].pickupStoreInfoObjectInformation on the pickup point, when the SLA is a pickup option.See the following rows.
logisticsInfo[].slas[].pickupStoreInfo.isPickupStoreBooleanIndicates whether the SLA is a pickup point.true
logisticsInfo[].slas[].pickupStoreInfo.friendlyNameString or nullName of the pickup point displayed to customers."VTEX SP"
logisticsInfo[].slas[].pickupStoreInfo.addressObject or nullPickup point address. See Address object.{"addressType": "pickup", "postalCode": "04538-132", "city": "São Paulo", ...}
logisticsInfo[].slas[].pickupStoreInfo.additionalInfoString or nullAdditional information about the pickup point, such as opening hours."Open from 9 a.m. to 6 p.m."
logisticsInfo[].slas[].pickupStoreInfo.dockIdString or nullID of the loading dock associated with the pickup point."1"
logisticsInfo[].slas[].pickupPointIdString or nullPickup point ID."1_VTEXSP"
logisticsInfo[].slas[].pickupDistanceNumberDistance between the customer's address and the pickup point, in kilometers.2.5
logisticsInfo[].slas[].polygonNameString or nullName of the geolocation polygon that matched the delivery address."rio-south-zone"
logisticsInfo[].slas[].transitTimeStringTransit time of the carrier, using the same format as shippingEstimate."3bd"
logisticsInfo[].shipsToArray of stringsThree-letter ISO codes of the countries to which the item can be shipped.["BRA"]
logisticsInfo[].itemIdStringSKU ID of the item."1"
logisticsInfo[].deliveryChannelsArray of objectsDelivery channels available for the item.See the following row.
logisticsInfo[].deliveryChannels[].idStringDelivery channel ID. Possible values are delivery and pickup-in-point."pickup-in-point"
selectedAddressesArray of objectsAddresses selected for the order. See Address object.See the example above.
availableAddressesArray of objectsAddresses available for the order. See Address object.See the example above.

Address object

The address object is used in shippingData.address, shippingData.selectedAddresses, shippingData.availableAddresses, shippingData.logisticsInfo[].slas[].pickupStoreInfo.address, and in the root availableAddresses field.

FieldTypeDescriptionExample
addressTypeStringType of address. Possible values are residential, commercial, pickup, inStore, giftRegistry, search, and invoice."residential"
receiverNameString or nullName of the person who will receive the order."Clark Kent"
addressIdString or nullAddress ID."666c2e830bd9474ab6f6cc53fb6dd2d2"
isDisposableBooleanIndicates whether the address is disposable. Addresses with isDisposable set to true aren't saved to the shopper's profile when the order is completed, while addresses with isDisposable set to false belong to the shopper's profile. See Disposable addresses.true
postalCodeStringPostal code."22250040"
cityStringCity."Rio de Janeiro"
stateStringState."RJ"
countryStringThree-letter ISO code of the country."BRA"
streetStringStreet name."Praia de Botafogo"
numberStringNumber of the building, house, or apartment."300"
neighborhoodStringNeighborhood."Botafogo"
complementString or nullComplement to the address, when it applies."3rd floor"
referenceString or nullReference that helps locate the address more precisely for delivery."Next to the subway station"
geoCoordinatesArray of numbersGeographic coordinates of the address: longitude first, then latitude.[-43.18218231201172, -22.94549560546875]

Disposable addresses

The isDisposable behavior depends on the address type:

  • giftRegistry, pickup, search, and inStore: always disposable, as they don't belong to the shopper navigating the cart.
  • residential: may be disposable. Addresses from a complete shopper profile, or entered by an authenticated shopper with a complete profile, aren't disposable. All other residential addresses are disposable, including those from first-time purchases, since no complete profile exists yet.
  • commercial: corresponds to company addresses used in B2B contexts and follows the same logic as residential addresses.
  • invoice: doesn't have the isDisposable flag. In practice, only authenticated shoppers can add invoice data to the cart, so these addresses are never treated as disposable.

When a residential address is marked as disposable and the profile is complete, authentication is required to complete the order. Additionally, when a disposable residential address is used to complete a purchase, saved cards can't be used.

Payment and invoice

paymentData

Object containing the payment information of the order: the payment methods available, the installment options, the payments selected by the customer, gift cards, and transactions.

For accurate information on installment options and values, we recommend using the Cart installments endpoint instead of the installmentOptions field.

Example:


_103
"paymentData": {
_103
"updateStatus": "updated",
_103
"installmentOptions": [
_103
{
_103
"paymentSystem": 2,
_103
"bin": null,
_103
"paymentName": null,
_103
"paymentGroupName": null,
_103
"value": 16500,
_103
"installments": [
_103
{
_103
"count": 1,
_103
"hasInterestRate": false,
_103
"interestRate": 0,
_103
"value": 16500,
_103
"total": 16500,
_103
"sellerMerchantInstallments": [
_103
{
_103
"id": "MYSTORE",
_103
"count": 1,
_103
"hasInterestRate": false,
_103
"interestRate": 0,
_103
"value": 16500,
_103
"total": 16500
_103
}
_103
]
_103
}
_103
]
_103
}
_103
],
_103
"paymentSystems": [
_103
{
_103
"id": 2,
_103
"name": "Visa",
_103
"groupName": "creditCardPaymentGroup",
_103
"validator": {
_103
"regex": "^4",
_103
"mask": "9999 9999 9999 9999",
_103
"cardCodeRegex": "^[0-9]{3}$",
_103
"cardCodeMask": "999",
_103
"weights": [2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1]
_103
},
_103
"stringId": "2",
_103
"template": "creditCardPaymentGroup-template",
_103
"requiresDocument": false,
_103
"displayDocument": false,
_103
"isCustom": false,
_103
"description": null,
_103
"requiresAuthentication": false,
_103
"dueDate": "2026-10-09T14:59:00Z",
_103
"availablePayments": null,
_103
"selected": false
_103
}
_103
],
_103
"payments": [
_103
{
_103
"paymentSystem": 2,
_103
"paymentSystemName": "Visa",
_103
"group": "creditCardPaymentGroup",
_103
"bin": null,
_103
"accountId": null,
_103
"installments": 1,
_103
"installmentsInterestRate": 0,
_103
"installmentsValue": 16500,
_103
"value": 16500,
_103
"referenceValue": 16500,
_103
"hasDefaultBillingAddress": true
_103
}
_103
],
_103
"giftCards": [
_103
{
_103
"redemptionCode": "HYUO-TEZZ-QFFT-HTFR",
_103
"value": 500,
_103
"balance": 500,
_103
"name": null,
_103
"id": "-1390324156495k195pmab4rall3di",
_103
"inUse": true,
_103
"isSpecialCard": false
_103
}
_103
],
_103
"giftCardMessages": [],
_103
"availableAccounts": [],
_103
"availableTokens": [],
_103
"availableAssociations": {},
_103
"transactions": [
_103
{
_103
"isActive": true,
_103
"transactionId": "296D6D245C17437E823EB77E403FC88D",
_103
"merchantName": "MYSTORE",
_103
"payments": [
_103
{
_103
"paymentSystem": "2",
_103
"bin": null,
_103
"accountId": null,
_103
"installments": 1,
_103
"value": 16500,
_103
"referenceValue": 16500
_103
}
_103
],
_103
"sharedTransaction": false
_103
}
_103
]
_103
}

FieldTypeDescriptionExample
updateStatusStringIndicates whether the payment information is up to date according to the order's items. The order can't be placed if the value is outdated."updated"
installmentOptionsArray of objectsInstallment options available for each payment system.See the following rows.
installmentOptions[].paymentSystemIntegerPayment system ID.2
installmentOptions[].binString or nullCard BIN (first digits of the card number)."411111"
installmentOptions[].paymentNameString or nullPayment name."Visa"
installmentOptions[].paymentGroupNameString or nullPayment group name."creditCardPaymentGroup"
installmentOptions[].valueIntegerTotal value assigned to this payment in cents.16500
installmentOptions[].installmentsArray of objectsAvailable installment options.See the following rows.
installmentOptions[].installments[].countIntegerNumber of installments.2
installmentOptions[].installments[].hasInterestRateBooleanIndicates whether the installment option has interest.false
installmentOptions[].installments[].interestRateIntegerInterest rate.0
installmentOptions[].installments[].valueIntegerValue of each installment in cents.8250
installmentOptions[].installments[].totalIntegerTotal value of all installments in cents, including interest.16500
installmentOptions[].installments[].sellerMerchantInstallmentsArray of objectsInstallment information for each seller merchant. Each object has the fields id (merchant ID), count, hasInterestRate, interestRate, value, and total.[{"id": "MYSTORE", "count": 2, "hasInterestRate": false, "interestRate": 0, "value": 8250, "total": 16500}]
paymentSystemsArray of objectsPayment systems available for the order.See the following rows.
paymentSystems[].idIntegerPayment system ID.2
paymentSystems[].nameStringPayment system name."Visa"
paymentSystems[].groupNameStringPayment group name."creditCardPaymentGroup"
paymentSystems[].validatorObjectRules used to validate the card data of the payment system.See the following rows.
paymentSystems[].validator.regexStringRegular expression used to validate the card number."^4"
paymentSystems[].validator.maskStringCard number mask."9999 9999 9999 9999"
paymentSystems[].validator.cardCodeRegexStringRegular expression used to validate the card security code."^[0-9]{3}$"
paymentSystems[].validator.cardCodeMaskStringCard security code mask."999"
paymentSystems[].validator.weightsArray of integersWeights used to validate the card number check digit.[2, 1, 2, 1]
paymentSystems[].stringIdStringPayment system ID as a string."2"
paymentSystems[].templateStringName of the template used to render the payment system at checkout."creditCardPaymentGroup-template"
paymentSystems[].requiresDocumentBooleanIndicates whether a document is required.false
paymentSystems[].displayDocumentBooleanIndicates whether a document is displayed.false
paymentSystems[].isCustomBooleanIndicates whether it's a custom payment system.false
paymentSystems[].descriptionString or nullPayment system description."Pay with your Visa card"
paymentSystems[].requiresAuthenticationBooleanIndicates whether authentication is required.false
paymentSystems[].dueDateStringPayment due date."2026-10-09T14:59:00Z"
paymentSystems[].availablePaymentsString or nullAvailability of payment.null
paymentSystems[].selectedBooleanIndicates whether this payment system has been selected.false
paymentsArray of objectsPayments chosen by the customer.See the following rows.
payments[].paymentSystemIntegerPayment system ID.2
payments[].paymentSystemNameStringPayment system name."Visa"
payments[].groupStringPayment system group."creditCardPaymentGroup"
payments[].binString or nullCard BIN.null
payments[].accountIdString or nullID of the saved card account used in the payment."71F2775D46BF44B1BF217F828F4E6131"
payments[].installmentsIntegerSelected number of installments.1
payments[].installmentsInterestRateNumberInterest rate of the installments.0
payments[].installmentsValueIntegerValue of each installment in cents.16500
payments[].valueIntegerTotal value assigned to this payment in cents, including interest.16500
payments[].referenceValueIntegerReference value in cents used to calculate the total order value with interest.16500
payments[].hasDefaultBillingAddressBooleanIndicates whether the billing address for this payment is the default address.true
giftCardsArray of objectsGift cards applied to or available for the order.See the following rows.
giftCards[].redemptionCodeStringGift card redemption code."HYUO-TEZZ-QFFT-HTFR"
giftCards[].valueIntegerValue of the gift card used in the order, in cents.500
giftCards[].balanceIntegerGift card balance in cents.500
giftCards[].nameStringGift card name."loyalty-program"
giftCards[].idStringGift card ID."-1390324156495k195pmab4rall3di"
giftCards[].inUseBooleanIndicates whether the gift card is being used in the order.true
giftCards[].isSpecialCardBooleanIndicates whether the gift card is special, such as a loyalty program card.false
giftCardMessagesArray of stringsMessages related to the gift cards.[]
availableAccountsArraySaved cards available for the customer.[]
availableTokensArrayPayment tokens available for the customer.[]
availableAssociationsObjectAvailable associations.{}
transactionsArray of objectsTransactions related to the order.See the following rows.
transactions[].isActiveBooleanIndicates whether the transaction is active.true
transactions[].transactionIdStringTransaction ID."296D6D245C17437E823EB77E403FC88D"
transactions[].merchantNameStringMerchant name."MYSTORE"
transactions[].paymentsArray of objectsPayments of the transaction.See the following rows.
transactions[].payments[].accountIdStringAccount ID."12"
transactions[].payments[].binString or nullCard BIN.null
transactions[].payments[].installmentsIntegerNumber of installments.1
transactions[].payments[].paymentSystemStringPayment system ID."2"
transactions[].payments[].referenceValueIntegerReference value in cents used to calculate interest, when it applies.16500
transactions[].payments[].valueIntegerPayment value in cents, including interest, when it applies.16500
transactions[].sharedTransactionBooleanIndicates whether the transaction is shared.false

invoiceData

Object containing information about the order invoice, including the billing address. Returns null when no invoice data was added to the cart. Use the Add invoice data endpoint to add this information.

Example:


_14
"invoiceData": {
_14
"address": {
_14
"postalCode": "10019",
_14
"city": "New York",
_14
"state": "NY",
_14
"country": "USA",
_14
"street": "North 110th Street",
_14
"number": "52",
_14
"neighborhood": "Manhattan",
_14
"complement": "101",
_14
"reference": "Between the Upper West Side and Upper East Side",
_14
"geoCoordinates": [-73.9534529, 40.7986877]
_14
}
_14
}

FieldTypeDescriptionExample
addressObjectBilling address.See the following rows.
address.postalCodeStringPostal code."10019"
address.cityStringCity."New York"
address.stateStringState."NY"
address.countryStringThree-letter ISO code of the country."USA"
address.streetStringStreet name."North 110th Street"
address.numberStringStreet number."52"
address.neighborhoodStringNeighborhood."Manhattan"
address.complementStringAddress complement."101"
address.referenceStringReference that helps locate the address."Between the Upper West Side and Upper East Side"
address.geoCoordinatesArray of numbersGeographic coordinates of the address: longitude first, then latitude.[-73.9534529, 40.7986877]

Promotions and marketing

marketingData

Object containing promotion and campaign data, such as the coupon applied to the cart and the external and internal UTM parameters. Returns null when no marketing data was added. Use the Add marketing data endpoint to add this information.

Example:


_10
"marketingData": {
_10
"coupon": "free-shipping",
_10
"marketingTags": ["black-friday", "newsletter"],
_10
"utmSource": "app",
_10
"utmMedium": "CPC",
_10
"utmCampaign": "Black friday",
_10
"utmiPage": "home",
_10
"utmiPart": "banner-top",
_10
"utmiCampaign": "black-friday-banner"
_10
}

FieldTypeDescriptionExample
couponStringCoupon code applied to the cart. Sending an existing coupon code in this field returns the corresponding discount in the purchase. Use the cart simulation request to check which coupons might apply before placing the order."free-shipping"
marketingTagsArray of stringsMarketing tags, used to register campaign data or informative tags regarding promotions. Limited to a maximum of 50 items.["black-friday", "newsletter"]
utmSourceStringValue of the utm_source parameter of the URL that led to the store."app"
utmMediumStringValue of the utm_medium parameter of the URL that led to the store."CPC"
utmCampaignStringValue of the utm_campaign parameter of the URL that led to the store."Black friday"
utmiPageString or nullValue of the internal UTM utmi_p (page)."home"
utmiPartString or nullValue of the internal UTM utmi_pc (part)."banner-top"
utmiCampaignString or nullValue of the internal UTM utmi_cp (campaign)."black-friday-banner"

ratesAndBenefitsData

Object containing the promotions (benefits) and taxes (rates) that apply to the order, and the teasers of promotions the customer can still qualify for.

Example:


_13
"ratesAndBenefitsData": {
_13
"rateAndBenefitsIdentifiers": [
_13
{
_13
"id": "d3b6a5f3-1e2c-4b5a-9c8d-7e6f5a4b3c2d",
_13
"name": "10% off on pet food",
_13
"featured": false,
_13
"description": "Get 10% off on all dry food",
_13
"matchedParameters": {},
_13
"additionalInfo": null
_13
}
_13
],
_13
"teaser": []
_13
}

FieldTypeDescriptionExample
rateAndBenefitsIdentifiersArrayIdentifiers of the promotions and taxes applied to the order.See the example above.
teaserArrayTeasers of promotions and taxes that may apply to the order.[]

Custom information

The sections in this group store information that isn't part of the standard orderForm structure.

customData

Object containing custom information added to the cart by the store. Returns null when no custom data was added.

It supports two structures:

Example:


_27
"customData": {
_27
"customApps": [
_27
{
_27
"id": "deliveryinfo",
_27
"major": 1,
_27
"fields": {
_27
"deliveryEstimate": "30",
_27
"deliveryInstructions": "Leave at the front door"
_27
}
_27
}
_27
],
_27
"customFields": [
_27
{
_27
"linkedEntity": {
_27
"type": "address",
_27
"id": "7dfd4580-6340-437d-a8c8-c6c1f690c4fd"
_27
},
_27
"fields": [
_27
{
_27
"name": "desktop",
_27
"value": "DK1",
_27
"refId": "DK1"
_27
}
_27
]
_27
}
_27
]
_27
}

FieldTypeDescriptionExample
customAppsArray of objects or nullCustom apps created by the store.See the following rows.
customApps[].idStringApp ID."deliveryinfo"
customApps[].majorIntegerApp major version.1
customApps[].fieldsObjectFields created by the store for the app, as key-value pairs.{"deliveryEstimate": "30"}
customFieldsArray of objects or nullCustomizable fields created by the store.See the following rows.
customFields[].linkedEntityObjectEntity to which the custom fields are linked.See the following rows.
customFields[].linkedEntity.typeStringType of the linked entity. Possible values are order, item, and address."address"
customFields[].linkedEntity.idStringID of the linked entity. For item, it's the item uniqueId; for address, it's the addressId. Not used for order."7dfd4580-6340-437d-a8c8-c6c1f690c4fd"
customFields[].fieldsArray of objectsCustom fields.See the following rows.
customFields[].fields[].nameStringCustom field name."desktop"
customFields[].fields[].valueStringCustom field value."DK1"
customFields[].fields[].refIdStringCustom field reference ID."DK1"

openTextField

Optional field meant to hold free text information about the order, such as delivery notes. Returns null when empty.

We recommend using this field for text, not data formats such as JSON, even if escaped. To store structured data, see Add and handle custom information in the order.

Example:


_10
"openTextField": {
_10
"value": "Please ring the bell twice."
_10
}

FieldTypeDescriptionExample
valueStringAdditional information about the order."Please ring the bell twice."

hooksData

Object containing hooks information of the cart. Returns null when no hook applies.

Example:


_10
"hooksData": null

Store and commercial context

storePreferencesData

Object containing data from the store configuration, stored in VTEX License Manager, such as country, currency, and time zone.

Example:


_15
"storePreferencesData": {
_15
"countryCode": "BRA",
_15
"saveUserData": true,
_15
"timeZone": "E. South America Standard Time",
_15
"currencyCode": "BRL",
_15
"currencyLocale": 1046,
_15
"currencySymbol": "R$",
_15
"currencyFormatInfo": {
_15
"currencyDecimalDigits": 2,
_15
"currencyDecimalSeparator": ",",
_15
"currencyGroupSeparator": ".",
_15
"currencyGroupSize": 3,
_15
"startsWithCurrencySymbol": true
_15
}
_15
}

FieldTypeDescriptionExample
countryCodeStringThree-letter ISO code of the store country."BRA"
saveUserDataBooleanIndicates whether the store saves the customer data.true
timeZoneStringStore time zone."E. South America Standard Time"
currencyCodeStringISO 4217 code of the store currency."BRL"
currencyLocaleIntegerLocale ID (LCID) of the currency.1046
currencySymbolStringCurrency symbol."R$"
currencyFormatInfoObjectCurrency formatting information.See the following rows.
currencyFormatInfo.currencyDecimalDigitsIntegerNumber of decimal digits.2
currencyFormatInfo.currencyDecimalSeparatorStringDecimal separator.","
currencyFormatInfo.currencyGroupSeparatorStringThousands separator."."
currencyFormatInfo.currencyGroupSizeIntegerNumber of digits in each group of thousands.3
currencyFormatInfo.startsWithCurrencySymbolBooleanIndicates whether the currency symbol is displayed before the value.true

commercialConditionData

Object containing information about the commercial conditions that apply to the order. Returns null when no commercial condition applies.

Example:


_10
"commercialConditionData": null

subscriptionData

Object containing the subscription information of the items in the cart. Returns null if the cart has no subscriptions. Use the Add subscription data endpoint to add this information.

Example:


_18
"subscriptionData": {
_18
"subscriptions": [
_18
{
_18
"itemIndex": 0,
_18
"plan": {
_18
"type": "RECURRING_PAYMENT",
_18
"frequency": {
_18
"periodicity": "MONTH",
_18
"interval": 1
_18
},
_18
"validity": {
_18
"begin": "2026-10-02",
_18
"end": "2027-10-02"
_18
}
_18
}
_18
}
_18
]
_18
}

FieldTypeDescriptionExample
subscriptionsArray of objectsSubscriptions of the cart items.See the following rows.
subscriptions[].itemIndexIntegerIndex of the cart item the subscription refers to, starting at 0.0
subscriptions[].planObjectSubscription plan information.See the following rows.
subscriptions[].plan.typeStringType of the subscription plan."RECURRING_PAYMENT"
subscriptions[].plan.frequencyObjectFrequency in which the subscription order will be placed.See the following rows.
subscriptions[].plan.frequency.periodicityStringTime unit of the subscription frequency. Possible values are DAY, WEEK, MONTH, and YEAR."MONTH"
subscriptions[].plan.frequency.intervalIntegerNumber of periodicity units between each subscription order.1
subscriptions[].plan.validityObjectPeriod in which the subscription is valid.See the following rows.
subscriptions[].plan.validity.beginStringDate when the subscription becomes valid, in the YYYY-MM-DD format."2026-10-02"
subscriptions[].plan.validity.endStringDate when the subscription expires, in the YYYY-MM-DD format."2027-10-02"

Server messages

messages

Array containing one object for each message generated by the server while processing the request, such as errors, warnings, and information about changes in the cart (for example, a price change or an unavailable item). Use the Clear orderForm messages endpoint to remove them. See the possible messages in Checkout error codes.

Example:


_10
"messages": [
_10
{
_10
"code": null,
_10
"status": "error",
_10
"text": "Voucher code AAAA-BBBB-CCCC-DDDD was not found in the system"
_10
}
_10
]

FieldTypeDescriptionExample
codeString or nullMessage code.null
statusStringMessage severity. Possible values are error, warning, and info."error"
textStringMessage text, according to the cart locale."Voucher code AAAA-BBBB-CCCC-DDDD was not found in the system"