integrations.sh
← all integrations

vtex.local – Checkout-API

OpenAPI apis-guru

ℹ️ Check the new . We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about the Checkout and is organized by focusing on the developer's journey.

The Checkout API allows you to obtain and configure information about the shopping cart and its attachments, personalization of custom fields, orderForm structure, fulfillment data, order management, and identification of the sellers delivery region.

ℹ️ Data modification operations (POST, PATCH, PUT or DELETE endpoints) shall not be performed in parallel in the Checkout APIs. They need to be enqueued by the client/requester. Otherwise, old values ​​can be overwritten incorrectly or competition errors may occur.

⚠️ All endpoints that consult or edit the orderForm can change the authentication depending on the customer context. If you are handling information from a customer with a complete profile on the store, authentication will be required. You can only access or modify the customer data for these profiles with an authenticated request.

Shopping cart

Allows merchants to simulate, configure and customize shopping cart information.

Cart attachments

Allows merchants to obtain client profiles and add information to a given shopping cart.

Custom data

Allows merchants to manage custom fields that were created by an app in their account.

Configuration

Allows merchants to configure orderForm in the account and seller exchange on a given order.

Fulfillment

Allows merchants to obtain pickup points and address information.

Order placement

Allows merchants to place and process orders by creating a new cart or using an existing cart.

Region

Allows merchants to obtain a list of sellers serving a specific delivery region.

Homepage
https://api.apis.guru/v2/specs/vtex.local:Checkout-API/1.0.json
Provider
vtex.local:Checkout-API / Checkout-API
OpenAPI version
3.0.0
Spec (JSON)
https://api.apis.guru/v2/specs/vtex.local/Checkout-API/1.0/openapi.json
Spec (YAML)
https://api.apis.guru/v2/specs/vtex.local/Checkout-API/1.0/openapi.yaml

Tools (34)

Extracted live via the executor SDK.

  • cartAttachments.addClientPreferences

    Use this request to include client preferences information to a given shopping cart.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    This request has a time out of 12 seconds.

  • cartAttachments.addClientProfile

    Use this request to include client profile information to a given shopping cart.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    This request has a time out of 12 seconds.

    ⚠️ The authentication of this endpoint can change depending on the customer context. If you are modifying information from a customer with a complete profile on the store, the response will return the customer's data masked. You can only access the customer data with an authenticated request.

  • cartAttachments.addMarketingData

    Use this request to include marketing information to a given shopping cart.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    This request has a time out of 12 seconds.

  • cartAttachments.addMerchantContextData

    This endpoint is used for the merchant to add to the cart any relevant information that is related to the context of a specific order.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    This request has a time out of 12 seconds.

  • cartAttachments.addPaymentData

    Use this request to include payment information to a given shopping cart. The payment information attachment in the shopping cart does not determine the final order payment method in itself. However, it allows tha platform to update any relevant information that may be impacted by the payment method.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    This request has a time out of 12 seconds.

  • cartAttachments.addShippingAddress

    Use this request to include shipping information and/or selected delivery option to a given shopping cart.

    To add shipping addresses send the selectedAddresses array. For delivery option use the logisticsInfo array.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    This request has a time out of 12 seconds.

    ⚠️ The authentication of this endpoint can change depending on the customer context. If you are modifying information from a customer with a complete profile on the store, the response will return the customer's data masked. You can only access the customer data with an authenticated request.

  • cartAttachments.getClientProfileByEmail

    Retrieve a client's profile information by providing an email address.

    If the response body fields are empty, the following situations may have occurred:

    1. There is no client registered with the email address provided in your store, or;

    2. Client profile is invalid or incomplete. For more information, see .

    ⚠️ The authentication of this endpoint can change depending on the customer context. If you are consulting information from a customer with a complete profile on the store, the response will return the customer's data masked. You can only access the customer data with an authenticated request.

  • configuration.clearorderFormMessages

    This request removes all messages from the messages field of the orderForm , leaving it empty.

    You must send an empty JSON in the body of the request.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    Important: Request Body must always be sent with empty value "{ }" in this endpoint.

  • configuration.getorderFormconfiguration

    Retrieves the settings that are currently applied to every orderForm in the account.

    These settings are defined by the request .

    Always use this request to retrieve the current configuration before performing an update. By doing so you ensure that you are modifying only the properties you want.

  • configuration.getWindowToChangeSeller

    Retrieves a marketplace’s window to change seller, that is, the period when it is possible to choose another seller to fulfill a given order after the original seller has canceled it.

    The default period for this window is of 2 days, but it can be configured by the request Update window to change seller.

  • configuration.updateorderFormconfiguration

    Determines settings that will apply to every orderForm in the account.

    For example, if you create an app using this request, every orderForm of this account will have the custom fields created though it.

    Important: always retrieve the current configuration before performing an update to ensure that you are modifying only the properties you want. Otherwise, old values can be overwritten. To retrieve the current configuration, use the request .

  • configuration.updateWindowToChangeSeller

    Updates a marketplace’s window to change seller, that is, the period when it is possible to choose another seller to fulfill a given order after the original seller has canceled it.

    It is possible to check the current window using the request Get window to change seller.

  • customData.removesinglecustomfieldvalue

    Your account may create apps, which contain custom fields, through the request. The value of a specific custom field can be removed by this request.

    To do that, you need to inform in the URL the ID of the app you created with the configuration API (appId).

    You also need to iform the specific field created in this app (identified by the appFieldName parameter, also passed through the URL) whose value you want to remove.

  • customData.setMultipleCustomFieldValues

    Your account may create apps, which contain custom fields, through the request. The values of these custom fields can then be updated by this request.

    To do that, you need to inform the ID of the app you created with the configuration API (appId).

    In the body of the request, for each field created in this app (appFieldName) you will inform a value (appFieldValue).

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

  • customData.setSingleCustomFieldValue

    Your account may create apps, which contain custom fields, through the request. The value of a specific custom field can then be updated by this request.

    To do that, you need to inform in the URL the ID of the app you created with the configuration API (appId).

    In the body of the request, you will inform the new value (appFieldValue, passed through the body) of the specific field created in this app (identified by the appFieldName parameter, passed through the URL).

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

  • fulfillment.getAddressByPostalCode

    Retrieves address information for a given postal code and country.

    This request can be used to implement auto complete functionality when a customer needs to fill in an address.

  • fulfillment.listPickupPpointsByLocation

    Retrieves information on pickup points close to a given location determined by geocoordinates or postal code.

    The pickup points returned are not necessarily all active ones. Make sure to validate the information consumed by integrations.

  • orderPlacement.placeOrder

    Places order without having any prior cart information. This means all information on items, client, payment and shipping must be sent in the body.

    ⚠️ The authentication of this endpoint is required if you are creating an order with an item that has an attachment that creates a Subscription. For more information, access .

  • orderPlacement.placeOrderFromExistingOrderForm

    This endpoint places an order from an existing orderForm object, meaning an existing cart.

    After the creation of an order with this request, you have five minutes to send payment information and then request payment processing.

  • orderPlacement.processOrder

    Order processing callback request, which is made after an order's payment is approved.

    This request has to be made until five minutes after the or request has been made, or else, the order will not be processed.

  • region.getSellersByRegion

    Retrieve a list of sellers that cater to a specific region or address, according to your set up of our . Learn more about .

    To access the list of sellers, you must choose one of the following methods:

    1. Send the identification of the list of sellers (regionId) as a path parameter through the URL. Or;

    2. Send the country (3-digit ISO code) and at least one of the two values (postal Code or geo Coordinates) as query parameters through the URL. For this method, it is also allowed to send both values (postalCode or geoCoordinates) in the same request.

  • shoppingCart.addCoupons

    Use this request to add coupons to a given shopping cart.

  • shoppingCart.cartSimulation

    This endpoint is used to simulate a cart in VTEX Checkout.

    It receives an SKU ID, the quantity of items in the cart and the ID of the Seller.

    It sends back all information about the cart, such as the selling price of each item, rates and benefits data, payment and logistics info.

    This is useful whenever you need to know the availability of fulfilling an order for a specific cart setting, since the API response will let you know the updated price, inventory and shipping data.

    Important: The fields (sku id, quantity, seller, country, postalCode and geoCoordinates) are just examples of content that you can simulate in your cart. You can add more fields to the request as per your need. Access the guide to check the available fields.

  • shoppingCart.createANewCart

    You can use this request to get your current shopping cart information (orderFormId) or to create a new cart.

    Important: To create a new empty shopping cart you need to send this request with the query param forceNewCart=true.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId obtained in response is the identification code of the newly created cart.

    This request has a time out of 45 seconds.

  • shoppingCart.getCartInformationById

    Use this request to get all information associated to a given shopping cart.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    This request has a time out of 45 seconds.

  • shoppingCart.getCartInstallments

    Retrieves possible amount of installments and respective values for a given cart with a given payment method.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    This endpoint can be used to get the installment options for only one payment method at a time.

    This endpoint should be called only after the selected orderForm already has a paymentData.

  • shoppingCart.ignoreProfileData

    When a shopper provides an email address at Checkout, the platform tries to retrieve existing profile information for that email and add it to the shopping cart information. Use this request if you want to change this behavior for a given cart, meaning profile information will not be included in the order automattically.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    Note that this request will only work if you have not sent the clientProfileData to the cart yet. Sending it to a cart that already has a clientProfileData should return a status 403 Forbidden error, with an Access denied message.

  • shoppingCart.items

    Use this request to add a new item to the shopping cart.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    This request has a time out of 45 seconds.

  • shoppingCart.itemsUpdate

    You can use this request to:

    1. Change the quantity of one or more items in a specific cart.

    2. Remove an item from the cart (by sending the quantity value = 0 in the request body).

    Important: To remove all items from the cart at the same time, use the endpoint.

    The is the data structure that represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    This request has a time out of 45 seconds.

  • shoppingCart.priceChange

    This request changes the price of an SKU in a cart. You can also perform type of bulk price change with the

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    You need to inform which cart you are referring to, by sending its orderFormId; and what is the item whose price you want to change, by sending its itemIndex.

    You also need to pass the new price value in the body.

    Remember that, to use this endpoint, the feature of manual price must be active. To check if it's active, use the endpoint. To make it active, use the endpoint, making the allowManualPrice field true.

    Whenever you use this request to change the price of an item, all items in that cart with the same SKU are affected by this change. This applies even to items that share the SKU but have been separated into different objects in the items array due to customizations or attachments, for example.

  • shoppingCart.removeAllItems

    This request removes all items from a given cart, leaving it empty.

    You must send an empty JSON in the body of the request.

    The is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

    Important: Request Body must always be sent with empty value "{ }" in this endpoint.

  • shoppingCart.removeallpersonaldata

    This call removes all user information, making a cart anonymous while leaving the items.

    The is the data structure that represents a shopping cart and contains all information about it. Hence, the orderFormId is the identification code of a given cart.

    This call works by creating a new orderForm, setting a new cookie, and returning a redirect 302 to the cart URL (/checkout/#/orderform).

  • openapi.previewSpec

    Preview an OpenAPI document before adding it as a source

  • openapi.addSource

    Add an OpenAPI source and register its operations as tools