Skip to main content

Cart & Checkout

ToolPurposeKey parameters
cart_get_global_viewAll baskets with item detailscoords, merchant_id?
cart_get_basketBasket for one merchantmerchant_id, coords
cart_get_quik_basketBasket for grocery (Quik) storecoords, 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 itemitem_uuid, count, …
cart_delete_items ⚠️Delete lines by UUIDmerchant_id, item_uuids (comma-separated string, not an array), coords
cart_delete_basket ⚠️Delete a whole basketmerchant_id, coords
cart_get_basket_pricePrice breakdown (best promo auto-applied)merchant_id, coords, optional business_type?, payment_type?, use_wallet?
cart_get_checkout_promosAvailable 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 orderorder_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 + paymentbasket_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
  1. Build the basket with cart_add_item/cart_add_items (customizable items need catalog_option_ids from food_get_item_options/food_get_items_options first).
  2. Inspect it with cart_get_basket (or cart_get_quik_basket for Quik, cart_get_global_view across all merchants).
  3. Call cart_get_basket_price to get the final total (best promo auto-applied) — optionally check cart_get_checkout_promos first.
  4. Optionally cart_reschedule_basket for a future delivery/pickup slot.
  5. Check out: cart_checkout for food/shops baskets, or cart_grocery_checkout for Quik — always pass the total_price from 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.