Cart Cross-Sell

​

Returns the products to suggest alongside what is already in the basket — the "anything else?" step before checkout.

This is the brand's own suggestion list, the one configured for the brand as a whole, filtered against this cart. It is not the same as Get Product Cross-Sell, which returns the per-product mapping for one product's detail screen. A brand very often has one configured and not the other, so an empty list from one says nothing about the other.

Two filtering rules explain most "why is this empty" questions. Anything already in the cart is excluded, including other products from the same category, so a basket with a burger in it will not be offered more burgers. And products that need a required choice before they can be added — containers and combos — are left out unless the brand has switched on "recommend products with required modifiers".

At most five products come back. cross_sell_type tells you where the list came from — 0 (menu) is the brand's own configured list, 1 (punchh) is a Punchh recommendation, which only happens on venues set up for it. When you add one of these products to the cart, echo that value as cross_sell_type on the product so the suggestion is attributed.

Path Parameters

Responses

  • application/json
  • Cart with provided ID could not be found.

Request Example for get/cart/{cart_id}/cross-sell
curl 'https://api-public-demo.menu.app/api/cart/{cart_id}/cross-sell' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "status": "OK",
  "code": 200,
  "data": {
    "cross_sell_type": {
      "value": 0,
      "label": "menu"
    },
    "cross_sell_products": [
      {
        "price_id": "cabf785e-32d6-4358-98ed-8eb401025c35",
        "name": "Steakburger bowl",
        "price": 300,
        "is_available": true
      }
    ]
  }
}