---
title: "Sending orders"
slug: "sending-orders"
abstract: "Overview of sending order data to Sitecore CDP."
---
# Sending orders

Sitecore CDP provides different APIs for sending orders to Sitecore CDP. The available options depend on different factors including whether orders are submitted in real-time, offline, or synchronously.

This topic provides information on how to model the different order objects depending on the API, integration option, and data model that your organization is using, 2.1 data model or 2.0 data model.

We recommend that you read this topic before you start sending order data, to ensure that users can view the order data in guest profiles and use order data in batch segmentation and in audience exports. If you do not model the order data correctly, it might not be available in the UI even if you were able to successfully send it to Sitecore CDP.

## Managing orders in real-time

Use the Stream API to collect and send order data in real-time to Sitecore CDP, including when an order is created. There are several order-related events you can send as a guest interacts with your site. For example, when a guest adds a product to their shopping cart, makes a purchase, or empties their shopping cart.

> [!note]
> To capture data in JavaScript or TypeScript web applications, we recommend that you use either [Sitecore Cloud SDK or the Engage SDK](https://doc.sitecore.com/cdp/en/developers/api/before-you-start-sending-data/integrating-with-sitecore-cdp.html "Integrating with Sitecore CDP"). These SDKs use the Stream API behind the scenes and let you easily capture data in your web app.

All order and order item information is captured and is visible in the guest profile.

To ensure that the order is created, you must send the required events, in the correct order, and model the event object based on one of the following integration options:

- If your organization is using the Engage SDK to integrate, see [sending orders](https://doc.sitecore.com/cdp/en/developers/api/integrating-with-sitecore-cdp/understanding-integration-details/sending-orders-using-the-engage-sdk.html "Sending orders using the Engage SDK") for details on the events that are required to create an order. This is the preferred method for sending orders to Sitecore CDP.
- If your organization is not using the Engage SDK to integrate, see [sending orders](https://doc.sitecore.com/cdp/en/developers/api/stream-api/direct-http-requests-reference/sending-orders-1166443.html "Sending orders") for details on the events that are required to create an order.

You cannot update or delete an order using the Stream API. To do this, use the [Batch API](https://doc.sitecore.com/cdp/en/developers/api/batch-api.html "Batch API") or [REST API](https://api-docs.sitecore.com/cdp/order-rest-api/guest-data-extension).

## Managing orders synchronously

Use the [REST APIs](https://api-docs.sitecore.com/cdp/order-rest-api) to synchronously create and update orders, order items, order contacts, and order consumers in Sitecore CDP. To ensure that you can view the order data in guest profiles and access it in batch segmentation and audience exports, you must model the [order data object](https://api-docs.sitecore.com/cdp/order-rest-api/order/createorder) and the other data objects for the REST API.

## Offline order submission

Use the [Batch API](https://doc.sitecore.com/cdp/en/developers/api/batch-api.html "Batch API") to create, update and delete offline orders. You can [use offline order submission](https://doc.sitecore.com/cdp/en/developers/api/batch-api/batch-api-offline-orders/sending-offline-orders.html "Sending offline orders") with the Batch API to do any of the following:

- Submit a large amount of historical orders from a data lake or data warehouse as a once-off, when your organization first integrates with Sitecore CDP.
- Submit offline orders from a third-party system, such as a call center.
- Submit orders for guests who block cookies or who use an anonymous browser.
- Submit complete orders if your organization submits partial orders using the Stream API.
- Update orders submitted with the Stream API on a daily basis.

To ensure the order data is available in the Sitecore CDP UI, you must follow the Batch API guidelines for the [order data model](https://doc.sitecore.com/cdp/en/developers/api/batch-api/batch-api-offline-orders/order-data-model.html "Order data model") and the [order item data model](https://doc.sitecore.com/cdp/en/developers/api/batch-api/batch-api-offline-orders/order-item-data-model.html "Order item data model").

## Sending additional order and order item data using data extensions

The Batch API and the REST API let you send additional order and order item data to Sitecore CDP that isn't part of the order and order item data model.

You can send additional data using a data extension. A data extension is an array that enables you to specify whatever key-value pairs (attributes) your organization wants. This lets your organization capture more robust information about the order or order item.

You can send additional data using an *order data extension* or an *order item data extension* in one of two ways:

- If you use the Batch API, follow the Batch API guidelines for [sending additional order data](https://doc.sitecore.com/cdp/en/developers/api/batch-api/batch-api-offline-orders/send-additional-order-data.html "Send additional order data") and [sending additional order item data](https://doc.sitecore.com/cdp/en/developers/api/batch-api/batch-api-offline-orders/send-additional-order-items-data.html "Send additional order items data"). Make sure to format the data according to the [order extension data model](https://doc.sitecore.com/cdp/en/developers/api/batch-api/batch-api-offline-orders/order-extension-data-model.html "Order extension data model") and the [order item extension data model](https://doc.sitecore.com/cdp/en/developers/api/batch-api/batch-api-offline-orders/order-item-extension-data-model.html "Order item extension data model").
- If you use the REST API, [create an order or order item data extension](https://api-docs.sitecore.com/cdp/order-rest-api/guest-data-extension).

After capturing additional order or order item data using a data extension, the data becomes available in Sitecore CDP. You can:

- View the order and order item data extension associated with a guest in the guest profile, on the [Orders](https://doc.sitecore.com/cdp/en/users/sitecore-cdp/en/view-guest-orders-in-sitecore-cdp.html) tab.
- Use the order and order item data extensions in [batch segmentation](https://doc.sitecore.com/cdp/en/users/sitecore-cdp/introduction-to-batch-segmentation.html). See also an example of how [order and order item data extensions display in batch segmentation](https://doc.sitecore.com/cdp/en/users/sitecore-cdp/en/create-and-add-rules-to-a-segment-in-sitecore-cdp.html).
- Include the extension data in [audience exports](https://doc.sitecore.com/cdp/en/users/sitecore-cdp/audience-export.html).