Cart & Checkout
| Tool | Purpose | Key parameters |
|---|---|---|
cart_get_global_view | All baskets with item details | coords, merchant_id? |
cart_get_basket | Basket for one merchant | merchant_id, coords |
cart_get_quik_basket | Basket for grocery (Quik) store | coords, optional city_id?, timezone?, currency? |
cart_add_item ⚠️ | Add one item (count 0 removes) | merchant_id, catalog_item_id, count, options[] (catalog_option_id, count), coords, domain? |
cart_add_items ⚠️ | Batch add to one merchant (partial success per item, no rollback) | as above, list form |
cart_update_item ⚠️ | Update a line item | item_uuid, count, … |
cart_delete_items ⚠️ | Delete lines by UUID | merchant_id, item_uuids (comma-separated string, not an array), coords |
cart_delete_basket ⚠️ | Delete a whole basket | merchant_id, coords |
cart_get_basket_price | Price breakdown (best promo auto-applied) | merchant_id, coords, optional business_type?, payment_type?, use_wallet? |
cart_get_checkout_promos | Available promos (is_best_saving flagged) | merchant_id, coords, business_type, payment_type, optional use_wallet? |
cart_reschedule_basket ⚠️ | Reschedule a delivery/pickup (omit both slot fields to clear back to immediate delivery) | merchant_id, coords, optional scheduled_slot_start?, scheduled_slot_end?, domain?, city_id?, timezone?, currency? |
cart_reorder ⚠️ | New draft basket from a past order | order_id, coords |
cart_checkout ⚠️ | Place a food or shops order (pass domain?=shops for a shops basket; must match the basket's domain) | basket_id, total_price, coords, payment_type?, payment_id?, use_wallet_balance?, location_identifier?, delivery_eta?, domain?, city_id?, timezone?, currency?, scheduled_slot_start?, scheduled_slot_end? |
cart_grocery_checkout ⚠️ | Place a grocery (Quik) order — auto-resolves address + payment | basket_id, total_price, coords, payment_type?, payment_id?, use_wallet_balance?, location_id? |
Domains
Most cart tools take a domain param with only two values: shops (default — covers both Quik grocery baskets and shops-merchant baskets) and food (food ordering). business_type on cart_get_basket_price/cart_get_checkout_promos is separate and more granular (e.g. food, restaurants, quik), defaulting to the basket's domain.
Flow
- Build the basket with
cart_add_item/cart_add_items(customizable items needcatalog_option_ids fromfood_get_item_options/food_get_items_optionsfirst). - Inspect it with
cart_get_basket(orcart_get_quik_basketfor Quik,cart_get_global_viewacross all merchants). - Call
cart_get_basket_priceto get the final total (best promo auto-applied) — optionally checkcart_get_checkout_promosfirst. - Optionally
cart_reschedule_basketfor a future delivery/pickup slot. - Check out:
cart_checkoutfor food/shops baskets, orcart_grocery_checkoutfor Quik — always pass thetotal_pricefrom step 3.
Never checkout blind
Call cart_get_basket_price first and pass its total as total_price to checkout. Confirm order contents, address, and price with the user before checking out.