---
title: "Get cart state"
method: GET
path: "/ordering/customers/{externalCustomerId}/websites/{domain}/cart"
tags: ["Ordering API"]
---

# Get cart state

`GET /ordering/customers/{externalCustomerId}/websites/{domain}/cart`

## Request

- Base URL: `https://api.service.getjusto.com/v3`
- URL: `https://api.service.getjusto.com/v3/ordering/customers/{externalCustomerId}/websites/{domain}/cart`
- Auth: HTTP bearer

Obtiene preferencias, dirección, local, horarios, medios de pago, términos publicados y carrito calculado. El integrador debe pedir aceptación de los términos antes de iniciar el flujo de compra.

## Path parameters

- `externalCustomerId` string, required
- `domain` string, required

## Response `200`

Get cart state

- object
  - `success` boolean, required
  - `data` OrderingCartState, required: OrderPreferences extendido con billing, propina, cashAmount, orderParams y opciones dinámicas.
    - `_id` string: ID de las preferencias.
    - `placeId` string, nullable: Place ID aplicado desde la dirección seleccionada del customer.
    - `menuId` string, nullable: ID del menú seleccionado o resuelto.
    - `channel` string, nullable: Canal calculado.
    - `deliveryType` 'delivery' | 'go' | 'serve', nullable: Tipo de entrega.
    - `tableName` string, nullable: Mesa o identificador de consumo en local.
    - `time` string, nullable: Hora seleccionada.
    - `deliverAt` string, nullable: Fecha/hora calculada de entrega.
    - `timeLabel` string, nullable: Texto visible de la hora seleccionada.
    - `itsStoreOpenAtTime` boolean, nullable: Indica si el local abre para la hora elegida.
    - `paymentType` string, nullable: Medio de pago seleccionado.
    - `paymentTypeIsIntegration` boolean, nullable: Indica si el pago es integración.
    - `cardId` string, nullable: ID de tarjeta seleccionada.
    - `selectedPaymentMethodKey` string, nullable: Key del medio de pago seleccionado.
    - `otherPaymentType` string, nullable: Subtipo de pago.
    - `couponCode` string, nullable: Cupón aplicado.
    - `loyaltyProgram` object, nullable: Configuración loyalty.
    - `externalLoyaltyProgram` object, nullable: Configuración loyalty externa.
    - `useExternalLoyalty` boolean, nullable: Indica si usa loyalty externa.
    - `websiteCoinsToSpend` number, nullable: Coins del website a usar.
    - `externalLoyaltyCoinsToSpend` number, nullable: Coins externas a usar.
    - `justoCoinsToSpend` number, nullable: Justo Coins a usar.
    - `tipAmount` number, nullable: Monto de propina seleccionado.
    - `tipPercentage` number, nullable: Porcentaje de propina seleccionado.
    - `bagsRequired` number, nullable: Bolsas requeridas.
    - `storeId` string, nullable: ID del local seleccionado.
    - `sessionEmail` string, nullable: Email de sesión.
    - `sessionEmailHasAccount` boolean, nullable: Indica si el email tiene cuenta.
    - `sessionPhone` string, nullable: Teléfono de sesión.
    - `isOutOfBounds` boolean, nullable: Indica si la dirección está fuera de cobertura.
    - `currentReducedDemandMessage` string, nullable: Mensaje actual de demanda reducida.
    - `address` OrderingOrderPreferencesAddress: Dirección seleccionada calculada por OrderPreferences.
      - `_id` string: ID interno de dirección.
      - `streetAddress` string, nullable: Dirección principal.
      - `extendedAddress` string, nullable: Departamento, oficina u otra línea secundaria.
      - `locality` string, nullable: Comuna o localidad.
      - `countryName` string, nullable: País.
      - `placeId` string, nullable: Place ID seleccionado.
      - `location` OrderingLocation: Coordenadas geográficas.
        - `lat` number: Latitud.
        - `lng` number: Longitud.
    - `store` OrderingOrderPreferencesStore: Local calculado por OrderPreferences.
      - `_id` string: ID del local.
      - `acceptDelivery` boolean, nullable: Indica si acepta delivery.
      - `acceptGo` boolean, nullable: Indica si acepta retiro.
      - `acceptServe` boolean, nullable: Indica si acepta consumo en local.
      - `name` string, nullable: Nombre del local.
      - `minimumAnticipationDays` number, nullable: Días mínimos de anticipación.
      - `currentExtraDeliveryCost` number, nullable: Costo extra actual de delivery.
      - `hideTip` boolean, nullable: Indica si oculta propina.
      - `forceHideDeliveryTip` boolean, nullable: Indica si fuerza ocultar propina delivery.
      - `defaultsManagedDelivery` boolean, nullable: Usa delivery gestionado por defecto.
      - `availableScheduleDaysOptions` object[]: Opciones de agenda.
        - `label` string: Texto visible.
        - `value` string: Valor que debe enviarse en preferencias.
      - `extendedAddress` string, nullable: Dirección extendida del local.
      - `streetAddress` string, nullable: Dirección principal del local.
      - `location` OrderingLocation: Coordenadas geográficas.
        - `lat` number: Latitud.
        - `lng` number: Longitud.
      - `itsOpenNow` boolean, nullable: Indica si el local está abierto ahora.
      - `itsOpenAtTime` boolean, nullable: Indica si el local está abierto para la hora elegida.
      - `disableNowOrders` boolean, nullable: Indica si no acepta pedidos inmediatos.
      - `availablePaymentMethods` OrderingOrderPreferencesPaymentMethod[]: Medios de pago disponibles.
        - `paymentMethodKey` string: Key que debe enviarse como paymentType.
        - `label` string: Nombre visible.
        - `canDeliver` boolean, nullable: Indica si permite delivery.
        - `isIntegration` boolean, nullable: Indica si depende de una integración externa.
        - `allowedDeliveryTypes` string[]: Tipos de entrega permitidos.
        - `requiresRoundTrip` boolean, nullable: Indica si requiere viaje ida y vuelta.
        - `isAvailableInV3` boolean, nullable: Indica si está disponible en checkout v3.
        - `otherPaymentType` string, nullable: Subtipo de pago asociado.
        - `paymentType` string, nullable: Tipo de pago base.
        - `extraPaymentInformation` object, nullable: Metadata adicional del medio de pago.
      - `savedUserCards` OrderingOrderPreferencesSavedCard[]: Tarjetas guardadas.
        - `_id` string: ID de tarjeta.
        - `brandId` string, nullable: ID de marca.
        - `brandName` string, nullable: Nombre de marca.
        - `label` string, nullable: Texto visible.
        - `last4` string, nullable: Últimos 4 dígitos.
        - `paymentMethodKey` string, nullable: Payment method key asociado.
        - `paymentType` string, nullable: Tipo de pago.
        - `cardBin` string, nullable: BIN de la tarjeta.
    - `cart` OrderingOrderPreferencesCart: Carrito calculado por OrderPreferences.
      - `deliveryFee` number, nullable: Costo de delivery.
      - `deliveryFeeWithoutDiscount` number, nullable: Costo de delivery antes de descuentos.
      - `freeDeliveryProgress` object: Progreso hacia delivery gratis.
        - `source` string, nullable: Origen de la regla.
        - `threshold` number, nullable: Monto requerido.
        - `currentItemsPrice` number, nullable: Monto actual de productos.
        - `missingAmount` number, nullable: Monto faltante.
        - `isFree` boolean, nullable: Indica si ya aplica delivery gratis.
        - `searchedUntil` string, nullable: Fecha/hora hasta la que se buscó cobertura.
      - `serviceFee` number, nullable: Cargo de servicio.
      - `amountToPay` number, nullable: Monto a pagar.
      - `totalPrice` number, nullable: Total.
      - `calculatedTipAmount` number, nullable: Propina sugerida calculada.
      - `benefits` object[]: Beneficios aplicados.
        - `benefitPromotionId` string, nullable: ID de promoción.
        - `type` string, nullable: Tipo de beneficio.
        - `label` string, nullable: Texto visible.
        - `totalDiscount` number, nullable: Descuento total.
        - `productIds` string[]: Productos afectados.
      - `couponStatus` OrderingOrderPreferencesCouponStatus: Estado del cupón calculado por OrderPreferences.
        - `code` string, nullable: Código aplicado.
        - `description` string, nullable: Descripción.
        - `couponId` string, nullable: ID del cupón.
        - `discountOnDeliveryFee` number, nullable: Descuento en delivery.
        - `discountOnFullPrice` number, nullable: Descuento total.
        - `discountOnItems` number, nullable: Descuento en productos.
        - `errorMessage` string, nullable: Mensaje de error.
        - `errorType` string, nullable: Tipo de error.
        - `errorActionHint` string, nullable: Sugerencia de acción.
        - `errorActionLinks` object[]: Links de acción.
          - `label` string, nullable: Texto visible.
          - `url` string, nullable: URL de acción.
        - `allErrors` object[]: Todos los errores del cupón.
          - `message` string, nullable: Mensaje.
          - `errorType` string, nullable: Tipo de error.
          - `actionHint` string, nullable: Sugerencia de acción.
          - `actionLinks` object[]: Acciones sugeridas.
            - `label` string, nullable: Texto visible.
            - `url` string, nullable: URL de acción.
          - `minimumOrderPrice` number, nullable: Monto mínimo requerido.
          - `currentItemsPrice` number, nullable: Monto actual de productos.
        - `name` string, nullable: Nombre del cupón.
        - `minimumOrderPrice` number, nullable: Monto mínimo requerido.
        - `currentItemsPrice` number, nullable: Monto actual de productos.
        - `requiresPaymentTypes` string[]: Tipos de pago requeridos.
        - `requiredBINs` string[]: BINs requeridos.
        - `requiredPaymentMethodCodes` string[]: Medios de pago requeridos.
      - `itemsPrice` number, nullable: Precio de productos.
      - `itemsPriceWithoutDiscount` number, nullable: Precio de productos antes de descuentos.
      - `totalLoyaltyDiscount` number, nullable: Descuento total de loyalty.
      - `itemsPriceWithoutLoyaltyDiscount` number, nullable: Precio sin descuento loyalty.
      - `itemsPriceWithOnlyItemsDiscount` number, nullable: Precio con descuentos de items.
      - `hasDynamicDeliveryFee` boolean, nullable: Indica si el delivery fee es dinámico.
      - `bagAmount` number, nullable: Monto por bolsas.
      - `calculatedBagsRequired` number, nullable: Bolsas calculadas.
      - `maxBagsAllowed` number, nullable: Máximo de bolsas permitidas.
      - `items` OrderingOrderPreferencesCartItem[]: Items del carrito.
        - `_id` string: ID del item.
        - `amount` number: Cantidad.
        - `totalPrice` number, nullable: Precio total.
        - `productId` string: ID del producto.
        - `isOutOfStock` boolean, nullable: Indica si está sin stock.
        - `unitPrice` number, nullable: Precio unitario.
        - `unitPriceWithoutDiscount` number, nullable: Precio unitario antes de descuentos.
        - `comment` string, nullable: Comentario del item.
        - `outOfStockMessage` string, nullable: Mensaje de falta de stock.
        - `modifiers` object[]: Modificadores seleccionados.
        - `descriptionItems` object[]: Descripción de selecciones.
        - `product` object, nullable: Producto del item de carrito.
          - `_id` string: ID de producto.
          - `name` string, nullable: Nombre del producto.
          - `images` OrderingImage[]: Imágenes del producto.
            - `_id` string: ID de la imagen.
            - `url` string: URL original de la imagen.
            - `colorsData` object: Colores calculados de la imagen.
              - …
            - `dimensions` object: Dimensiones originales de la imagen.
              - …
            - `resizedData` object: URLs de versiones redimensionadas.
              - …
          - `modifiers` object[]: Modificadores del producto.
    - `website` OrderingOrderPreferencesWebsite: Website calculado por OrderPreferences.
      - `_id` string: ID del website.
      - `allowsJustoCoins` boolean, nullable: Indica si permite Justo Coins.
      - `allowsWebsiteCoins` boolean, nullable: Indica si permite coins del website.
      - `showStoreName` boolean, nullable: Indica si se muestra el nombre del local.
    - `billing` OrderingBilling: Datos dinámicos de facturación guardados para el checkout. La estructura depende del billing schema del website.
    - `tip` object, nullable: Propina seleccionada.
    - `cashAmount` number, nullable: Monto declarado para efectivo.
    - `gift` object, nullable: Información de regalo.
    - `orderParams` object, nullable: Parámetros adicionales del pedido.
    - `termSignatures` OrderingTermSignature[], nullable: Firmas de términos guardadas para flujos avanzados. En el flujo estándar, el integrador debe pedir aceptación de los términos antes de iniciar la compra.
      - `termType` string: Tipo de término legal.
      - `version` string: Versión vigente firmada.
    - `meta` object, nullable: Metadata adicional.
    - `sessionBirthday` string, nullable: Fecha de nacimiento de sesión en formato DD-MM-AAAA.
    - `options` OrderingCartOptions: Opciones dinámicas calculadas por Ordering API para completar el checkout.
      - `billing` object: Configuración dinámica de facturación del website.
        - `value` OrderingBilling: Datos dinámicos de facturación guardados para el checkout. La estructura depende del billing schema del website.
        - `schema` object[]: Schema dinámico de campos de facturación.
        - `required` boolean: Indica si la facturación es obligatoria para este website.
        - `countryCode` string, nullable: Código de país del website.
      - `terms` OrderingTermsOption: Configuración de términos legales para Ordering API.
        - `mode` 'auto': Modo técnico de manejo de términos.
        - `hidden` boolean: Indica que Ordering API no muestra un checkbox propio.
        - `checked` boolean: Indica que Ordering API continúa el flujo asumiendo que el integrador ya obtuvo la aceptación del usuario.
        - `signatures` OrderingTermSignature[]: Versiones vigentes que aplican al checkout técnico.
          - `termType` string: Tipo de término legal.
          - `version` string: Versión vigente firmada.
        - `terms` object[]: Términos publicados del website que aplican al checkout.
          - `termType` string: Tipo de término legal.
          - `version` string: Versión vigente.
          - `optional` boolean: Indica si el término es opcional.
          - `title` string, nullable: Título del documento legal.
          - `checkboxLabel` object, nullable: Texto usado por el checkout web.

## Other responses

- `400`: Invalid request
- `401`: Invalid bearer token
- `404`: Resource not found

## Changes

- **2026-06-02** `21cf8d7bd279`: 1 breaking, 6 warning, 1 info
  - the `data` response's property type changed from `object` to no type for status `200`
  - removed the optional property `data/address` from the response with the `200` status
  - removed the optional property `data/availablePaymentMethods` from the response with the `200` status
  - removed the optional property `data/cart` from the response with the `200` status
  - …4 more
- **2026-06-02** `b212955c2a75`: 3 warning, 2 info
  - removed the optional property `data/address/oneOf[#/components/schemas/OrderingAddress]/_id` from the response with the `200` status
  - removed the optional property `data/address/oneOf[#/components/schemas/OrderingAddress]/deviceId` from the response with the `200` status
  - removed the optional property `data/address/oneOf[#/components/schemas/OrderingAddress]/userId` from the response with the `200` status
  - added the optional property `data/address/oneOf[#/components/schemas/OrderingAddress]/cityId` to the response with the `200` status
  - …1 more
- **2026-06-02** `e1eeb6ce83d7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getjusto/apis/justo-api/changes/ordering/customers/:externalCustomerId/websites/:domain/cart/get.md)

---

[API](https://skmtc.dev/getjusto/apis/justo-api.md) - [All operations](https://skmtc.dev/getjusto/apis/justo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getjusto/apis/justo-api/revisions/c810bd8246fd?raw)
