A Cart is used to collect product offers from one or many platforms. Carts will have a minimum of one bag, with the number of bags matching the number of merchants being purchased from in a single order.
Flow of a Cart:
Create Cart →
Add SKU to Cart →
Add Customer to Cart →
Add Address to Cart →
Apply Payment Methods to Cart →
Price Cart →
Some of these actions can be combined via the API to speed up your checkout process, see Utilizing Quick Checkout.
When a Cart is submitted the cartID becomes the orderID.
A Bag represents the product offers and cart/order data for a single merchant. All products of the same merchant will existing in the same bag within a cart/order.
If you add a product to a cart that is not from the same merchant of the previous products, a new bag will be created and the item will be added to that bag.
When the cart is submitted, the bag will be associated with the order placed on the merchants e-commerce platform and contain the external order ID, status, and tracking information.
Since Bags are managed by Violet you will not have to think about them during the checkout process.
When communicating with merchants about orders the bag object will be the most useful thing for you to look at. An individual merchant won’t have visibility into other bags in the order.