Tarjeta Comidas combinadas

Las ofertas de comida numeradas de un tablero de servicio rápido: foto, qué hay en cada combo, el precio con el ahorro, el paso de aumento y las calorías.

Tarjeta en vivo

Esta tarjeta se dibuja en su navegador con el mismo código que ejecutan los Players, con datos de ejemplo.

Categoría: Comida y bebida. Etiquetas: Restaurantes y cafés, Tiendas, Precios y tarifas.

Diseños

Esta tarjeta de pantalla completa llena toda la pantalla en modo horizontal o vertical y no se coloca como esquina, chip o tira.

Diseños: completo. Formularios: horizontal, vertical.

Diseños, temas y publicación de tarjetas. Explorar las tarjetas.

Datos y privacidad

Esta tarjeta usa sus propiedades configuradas y datos en vivo de la tarjeta.

Propiedades

Para tema, fondo, acento y posición, consulte Propiedades comunes.

Establezca las propiedades estáticas en los params de la tarjeta al crearla. Su documento de datos solo contiene propiedades dinámicas. Las filas anidadas describen el contenido de su propiedad principal.

Propiedades estáticas

NombreTipoPredeterminadoValores y límitesDescripción
titlestring"Combo meals"maxLength: 40
currencystring"$"maxLength: 3
decimalsnúmero, cadena"auto""auto", 0, 1, 2auto usa números enteros cuando todos los precios son enteros.
perPageinteger0mínimo: 0; máximo: 8Combinaciones en una página. 0 se ajusta solo: cuatro en horizontal, una columna en vertical.
pageSecondsnumber10mínimo: 5; máximo: 120Cuánto tiempo permanece una página cuando las combinaciones no caben en una sola página.
footnotestring""maxLength: 120Una línea a lo largo del pie, por ejemplo Los precios incluyen impuestos.
backgroundColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe el fondo y la placa de la tarjeta con un color plano ordenado por CSS. #RRGGBBAA suministra opacidad. background none tiene prioridad.
textColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe los colores de texto principal y secundario. Los colores de acento y estado semántico mantienen sus roles.

Propiedades dinámicas

NombreTipoPredeterminadoValores y límitesDescripción
combosarray[{"name":"Smoky stack","items":["Double smoky burger","Large fries","Drink"],"price":10.99,"was":13.47,"upsize":{"label":"Large","add":1.2},"kcal":1240,"badge":"Popular"},{"name":"Crispy chicken","items":["Crispy chicken sandwich","Fries","Drink"],"price":9.49,"was":11.97,"upsize":{"label":"Large","add":1.2},"kcal":1080},{"name":"Garden bowl","items":["Grain bowl","Fruit cup","Drink"],"price":11.25,"was":13.5,"upsize":{"label":"Large","add":1.5},"kcal":760},{"name":"Little one","items":["Mini burger","Apple slices","Juice box"],"price":6.25,"was":7.75,"kcal":520}]maxItems: 24Los combos, en orden del tablero.
combos[].numberstringmaxLength: 4El número en el tablero. Vacío cuenta 1, 2, 3.
combos[].namestringminLength: 1; maxLength: 120; Requerido
combos[].itemsarraymaxItems: 6Lo que hay en el combo, una línea cada uno.
combos[].pricenúmero, nulomínimo: 0El precio del combo.
combos[].wasnúmero, nulomínimo: 0Los mismos artículos comprados uno por uno; se calcula el ahorro.
combos[].upsizeobjeto, nuloadditionalProperties: falseEl paso de aumento de tamaño, por ejemplo Grande +1.20.
combos[].upsize.labelstringmaxLength: 24
combos[].upsize.addnúmero, nulomínimo: 0
combos[].kcalnúmero, nulomínimo: 0
combos[].imagestringmaxLength: 200Una referencia de contenido multimedia del proyecto (media:<id>). Vacío muestra el mosaico del tema con un ícono de comida.
combos[].badgestringmaxLength: 16Una marca corta en la foto, por ejemplo Popular.
combos[].soldOutbooleanfalse

Ejemplo de lienzo

Guarde las propiedades estáticas como params.json y cree la tarjeta. El resultado incluye su id crd_.

{
  "theme": "neomustard"
}
screenrig card create --type combo-meals --major 1 --file params.json

Agregue este elemento a los primitives de una página de la lista de reproducción, con ese id en lugar del del ejemplo. Publique la lista de reproducción y asigne una pantalla.

{
  "id": "combo-meals",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Escribir datos en vivo

Escriba el documento en la tarjeta después de crearla y luego reemplácelo para actualizar la pantalla sin republicar. La tarjeta verifica cada escritura contra sus propiedades dinámicas y rechaza un documento que no acepta. Use el mismo proyecto que la lista de reproducción.

Guarde el documento como card-data.json. La CLI lee el documento en sí, sin envoltorio:

{
  "combos": [
    {
      "name": "Smoky stack",
      "items": [
        "Double smoky burger",
        "Large fries",
        "Drink"
      ],
      "price": 10.99,
      "was": 13.47,
      "upsize": {
        "label": "Large",
        "add": 1.2
      },
      "kcal": 1240,
      "badge": "Popular"
    },
    {
      "name": "Crispy chicken",
      "items": [
        "Crispy chicken sandwich",
        "Fries",
        "Drink"
      ],
      "price": 9.49,
      "was": 11.97,
      "upsize": {
        "label": "Large",
        "add": 1.2
      },
      "kcal": 1080
    },
    {
      "name": "Garden bowl",
      "items": [
        "Grain bowl",
        "Fruit cup",
        "Drink"
      ],
      "price": 11.25,
      "was": 13.5,
      "upsize": {
        "label": "Large",
        "add": 1.5
      },
      "kcal": 760
    },
    {
      "name": "Little one",
      "items": [
        "Mini burger",
        "Apple slices",
        "Juice box"
      ],
      "price": 6.25,
      "was": 7.75,
      "kcal": 520
    }
  ]
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

O llame a la API directamente. La API envuelve el mismo documento en un campo document. Un token de agente ya nombra su proyecto, por lo que no se envía encabezado de proyecto; si envía ScreenRig-Project, debe coincidir con el proyecto del token. Proporcione su autorización API a través del entorno; vea Autenticación API.

curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"document":{"combos":[{"name":"Smoky stack","items":["Double smoky burger","Large fries","Drink"],"price":10.99,"was":13.47,"upsize":{"label":"Large","add":1.2},"kcal":1240,"badge":"Popular"},{"name":"Crispy chicken","items":["Crispy chicken sandwich","Fries","Drink"],"price":9.49,"was":11.97,"upsize":{"label":"Large","add":1.2},"kcal":1080},{"name":"Garden bowl","items":["Grain bowl","Fruit cup","Drink"],"price":11.25,"was":13.5,"upsize":{"label":"Large","add":1.5},"kcal":760},{"name":"Little one","items":["Mini burger","Apple slices","Juice box"],"price":6.25,"was":7.75,"kcal":520}]}}'