Preismatrix-Karte

Platzieren Sie Artikel an der Seite und Größen oben, mit einem Preis, wo sie sich treffen: Kaffee, Zapfhähne, Wein, Apothekengewichte und Kraftstoff sowie Zusatzartikel.

Listeneinträge in Zeilen und Größen in Spalten anordnen und jeden Preis an der Schnittstelle platzieren. Dasselbe klare Raster für Kaffee, Zapfhähne, Wein, Apothekengewichte und Kraftstoff verwenden und Zusatzartikel daneben anzeigen.

Live-Karte

Diese Karte wird in Ihrem Browser vom gleichen Code gezeichnet, den die Player ausführen, mit Beispieldaten.

Kategorie: Essen und Trinken. Tags: Restaurants und Cafés, Bars und Pubs, Geschäfte, Preise und Tarife.

Layouts

Diese Vollbildkarte füllt den gesamten Bildschirm im Quer- oder Hochformat und wird nicht als Ecke, Chip oder Streifen platziert.

Layouts: voll. Formulare: Querformat, Hochformat.

Kartenlayouts, Designs und Veröffentlichung. Karten durchsuchen.

Daten und Datenschutz

Diese Karte verwendet ihre konfigurierten Eigenschaften und Live-Kartendaten.

Eigenschaften

Für Thema, Hintergrund, Akzent und Position siehe Gemeinsame Eigenschaften.

Legen Sie statische Eigenschaften in den params der Karte fest, wenn Sie sie erstellen. Ihr Datendokument enthält nur dynamische Eigenschaften. Verschachtelte Zeilen beschreiben den Inhalt ihrer übergeordneten Eigenschaft.

Statische Eigenschaften

NameTypStandardWerte und GrenzwerteBeschreibung
titlestring"Coffee"maxLength: 40
metaLabelstring""maxLength: 16Die Überschrift der Extraspalte, zum Beispiel ABV.
glyphstring"cup""none", "cup", "glass"Ein Becher oder Glas über jeder Größe, das mitwächst.
currencystring"$"maxLength: 3
decimalsZahl, Zeichenkette"auto""auto", 0, 1, 2, 3Auto verwendet ganze Zahlen, wenn alle Preise ganzzahlig sind.
perPageinteger0Minimum: 0; Maximum: 20Zeilen auf einer Seite. 0 wird vom Raum festgelegt.
pageSecondsnumber10Minimum: 5; Maximum: 120
footnotestring""maxLength: 120
backgroundColorString, NullnullMuster: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Überschreibt den Kartenhintergrund und die Platte mit einer flachen, CSS-geordneten Farbe. #RRGGBBAA gibt die Deckkraft an. Hintergrund none hat Vorrang.
textColorString, NullnullMuster: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Überschreibt die Haupt- und Sekundärtextfarben. Akzent- und semantische Statusfarben behalten ihre Funktion.

Dynamische Eigenschaften

NameTypStandardWerte und GrenzwerteBeschreibung
columnsarray["Small","Medium","Large"]minItems: 1; maxItems: 6Die Größen oben: S/M/L, 12/16/20 oz, Pint/Hälfte, Glas/Flasche, 1g/3,5g/28g, Bar/Kredit.
sectionsarray[{"name":"Espresso bar","items":[{"name":"Espresso","prices":[3.25,3.75,null],"note":"Double shot"},{"name":"Americano","prices":[3.5,4.0,4.5]},{"name":"Flat white","prices":[4.5,5.0,5.5],"note":"Whole or oat milk","badge":"House"},{"name":"Latte","prices":[4.75,5.25,5.75],"note":"Vanilla, caramel or maple"}]},{"name":"Cold","items":[{"name":"Iced latte","prices":[5.0,5.5,6.0]},{"name":"Cold brew","prices":[4.5,5.0,5.5],"note":"Steeped 18 hours"}]}]maxItems: 12Gruppen von Elementen an der Seite; der Name einer Gruppe steht über ihrer ersten Zeile.
sections[].namestringmaxLength: 80
sections[].itemsarraymaxItems: 40; Erforderlich
sections[].items[].namestringminLength: 1; maxLength: 80; Pflichtfeld
sections[].items[].notestringmaxLength: 160Eine Zeile unter dem Namen.
sections[].items[].metastringmaxLength: 24Die Zusatzspalte: Alkoholgehalt, THC, Herkunft.
sections[].items[].badgestringmaxLength: 16
sections[].items[].pricesarraymaxItems: 6Ein Preis pro Spalte; leer bei nicht angebotenem Format.
sections[].items[].soldOutbooleanfalse
addOnsarray[{"name":"Oat milk","price":0.7},{"name":"Extra shot","price":1},{"name":"Syrup","price":0.5}]maxItems: 8Extras in einer Reihe unter der Tabelle.
addOns[].namestringmaxLength: 40; Pflichtfeld
addOns[].priceZahl, Null
featuredItemstring""maxLength: 80Exakter Zeilenname für Primetime. Leer verwendet die erste verfügbare markierte Zeile.
featuredColumninteger2Minimum: 1; Maximum: 6Einsbasierte hervorgehobene Spalte in Primetime.
updatedAtstring""maxLength: 40ISO-Zeitpunkt für eine synchronisierte Preisänderungsbetonung.

Canvas-Beispiel

Speichern Sie die statischen Eigenschaften als params.json und erstellen Sie die Karte. Das Ergebnis enthält ihre crd_ ID.

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

Fügen Sie diesen Eintrag den primitives einer Playlist-Seite hinzu, mit dieser ID anstelle der Beispiel-ID. Veröffentlichen Sie die Playlist und weisen Sie einen Bildschirm zu.

{
  "id": "price-matrix",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Live-Daten schreiben

Schreiben Sie das Dokument nach dem Erstellen in die Karte und ersetzen Sie es dann, um den Bildschirm ohne erneute Veröffentlichung zu aktualisieren. Die Karte prüft jeden Schreibvorgang gegen ihre dynamischen Eigenschaften und lehnt ein Dokument ab, das sie nicht akzeptiert. Verwenden Sie dasselbe Projekt wie die Playlist.

Speichern Sie das Dokument als card-data.json. Die CLI liest das Dokument selbst, ohne Wrapper:

{
  "columns": [
    "Small",
    "Medium",
    "Large"
  ],
  "sections": [
    {
      "name": "Espresso bar",
      "items": [
        {
          "name": "Espresso",
          "prices": [
            3.25,
            3.75,
            null
          ],
          "note": "Double shot"
        },
        {
          "name": "Americano",
          "prices": [
            3.5,
            4.0,
            4.5
          ]
        },
        {
          "name": "Flat white",
          "prices": [
            4.5,
            5.0,
            5.5
          ],
          "note": "Whole or oat milk",
          "badge": "House"
        },
        {
          "name": "Latte",
          "prices": [
            4.75,
            5.25,
            5.75
          ],
          "note": "Vanilla, caramel or maple"
        }
      ]
    },
    {
      "name": "Cold",
      "items": [
        {
          "name": "Iced latte",
          "prices": [
            5.0,
            5.5,
            6.0
          ]
        },
        {
          "name": "Cold brew",
          "prices": [
            4.5,
            5.0,
            5.5
          ],
          "note": "Steeped 18 hours"
        }
      ]
    }
  ],
  "addOns": [
    {
      "name": "Oat milk",
      "price": 0.7
    },
    {
      "name": "Extra shot",
      "price": 1
    },
    {
      "name": "Syrup",
      "price": 0.5
    }
  ],
  "featuredItem": "",
  "featuredColumn": 2,
  "updatedAt": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

Oder rufen Sie die API direkt auf. Die API verpackt dasselbe Dokument in ein document-Feld. Ein Agent-Token benennt bereits sein Projekt, daher wird kein Projekt-Header gesendet; wenn Sie ScreenRig-Project senden, muss es zum Token-Projekt passen. Stellen Sie Ihre API-Autorisierung über die Umgebung bereit; siehe API-Authentifizierung.

curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"document":{"columns":["Small","Medium","Large"],"sections":[{"name":"Espresso bar","items":[{"name":"Espresso","prices":[3.25,3.75,null],"note":"Double shot"},{"name":"Americano","prices":[3.5,4.0,4.5]},{"name":"Flat white","prices":[4.5,5.0,5.5],"note":"Whole or oat milk","badge":"House"},{"name":"Latte","prices":[4.75,5.25,5.75],"note":"Vanilla, caramel or maple"}]},{"name":"Cold","items":[{"name":"Iced latte","prices":[5.0,5.5,6.0]},{"name":"Cold brew","prices":[4.5,5.0,5.5],"note":"Steeped 18 hours"}]}],"addOns":[{"name":"Oat milk","price":0.7},{"name":"Extra shot","price":1},{"name":"Syrup","price":0.5}],"featuredItem":"","featuredColumn":2,"updatedAt":""}}'