VTEX · Schema

orderForm

CommerceE-CommerceRetailMarketplacePayments

Properties

Name Type Description
orderFormId string ID of the orderForm corresponding to a specific cart.
salesChannel string Attribute created by the seller, in their VTEX store configuration.
loggedIn boolean Indicates whether the user is logged into the store.
isCheckedIn boolean Indicates whether order is checked in.
storeId string ID of the store.
allowManualPrice boolean Permission to modify item price manually.
canEditData boolean Data can be edited.
userProfileId string Unique ID associated with the customer profile.
profileProvider string Profile provider.
availableAccounts array Available accounts.
availableAddresses array Information on each available address.
userType string User type.
ignoreProfileData boolean Ignore customer profile data.
value integer Total value of the order without separating cents. For example, $24.99 is represented as `2499`.
messages array Array containing an object for each message generated by our servers while processing the request.
items array Information on each item in the order.
selectableGifts array Array containing the data of the item selected as a gift.
totalizers array 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).
shippingData object Shipping information pertinent to the order.
clientProfileData object Customer's profile information.
paymentData object Information on the order's payment.
marketingData object Object containing promotion data such as coupon tracking information and internal or external UTMs.
sellers array Information on each seller.
clientPreferencesData object Object containing preferences from the client who placed the order.
commercialConditionData object Object containing commercial condition information.
storePreferencesData object Object containing data from the store's configuration (stored in VTEX's License Manager).
giftRegistryData object Gift registry list information.
openTextField string Optional field meant to hold additional information about the order. We recommend using this field for text, not data formats such as `JSON` even if escaped. For that purpose, see [Creating customizab
invoiceData object Object containing information pertinent to the order's invoice.
customData object Customer additional information.
itemMetadata object Item metadata.
hooksData object Hooks information.
ratesAndBenefitsData object Information on rates and benefits that apply to the order.
subscriptionData object Subscription information.
itemsOrdination object Object containing information about the ordering of items within the `orderForm`.
View JSON Schema on GitHub

JSON Schema

vtex-orderform-schema.json Raw ↑
{
  "$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