Carte en direct
Catégorie : Nourriture et boisson. Étiquettes : Bars et pubs, Restaurants et cafés, Prix et tarifs, Comptes à rebours et minuteries.
Mises en page
Cette carte plein écran occupe tout l’écran en mode paysage ou portrait et n’est pas placée en coin, puce ou bande.
Mises en page : pleine. Formes : paysage, portrait.
Mises en page, thèmes et publication des cartes. Parcourir les cartes.
Données et confidentialité
Cette carte utilise ses propriétés configurées et les données de carte en direct.
Propriétés
Pour le thème, l’arrière-plan, l’accent et la position, voir Propriétés communes.
Définissez les propriétés statiques dans les params de la carte lorsque vous la créez. Son document de données ne contient que des propriétés dynamiques. Les lignes imbriquées décrivent le contenu de leur propriété parente.
Propriétés statiques
| Nom | Type | Par défaut | Valeurs et limites | Description |
|---|---|---|---|---|
title | string | "Happy hour" | maxLength : 30 | |
currency | string | "$" | maxLength : 3 | |
decimals | nombre, chaîne | "auto" | "auto", 0, 1, 2 | |
hour12 | boolean | true | ||
pageSeconds | number | 10 | minimum : 5 ; maximum : 120 | |
footnote | string | "" | maxLength : 120 | Une ligne au pied, par exemple Service sur place seulement. |
timeZone | chaîne, nul | null | ||
backgroundColor | chaîne, nul | null | motif : "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Remplace le fond et la plaque de la carte par une couleur plate ordonnée en CSS. #RRGGBBAA fournit l’opacité. background none a la priorité. |
textColor | chaîne, nul | null | motif : "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Remplace les couleurs du texte principal et secondaire. Les couleurs d’accentuation et de statut sémantique conservent leur rôle. |
Propriétés dynamiques
| Nom | Type | Par défaut | Valeurs et limites | Description |
|---|---|---|---|---|
windows | array | [{"days":["weekdays"],"start":"16:00","end":"18:00"},{"days":["fri","sat"],"start":"22:00","end":"00:00","label":"Late"}] | maxItems : 8 | Les fenêtres hebdomadaires. |
windows[].days | array | maxItems : 7 | du lundi au dimanche, ou jours de semaine, fin de semaine, quotidien. | |
windows[].start | string | maxLength : 5 ; Obligatoire | HH:MM, 24 heures, dans le fuseau horaire de l’écran. | |
windows[].end | string | maxLength : 5 ; Obligatoire | HH:MM ; une fin avant le début qui dépasse minuit. | |
windows[].label | string | maxLength : 24 | ||
specials | array | [{"name":"House lager, pint","price":5,"was":8,"note":"Draught, 20 oz"},{"name":"Well cocktails","price":7,"was":11,"note":"Rum, vodka, gin or whisky"},{"name":"Glass of house red or white","price":6,"was":10},{"name":"Chicken wings, six","price":9,"was":14,"note":"Hot, honey garlic or dry rub","badge":"Popular"},{"name":"Loaded nachos","price":10,"was":15,"note":"Share between two"}] | maxItems : 24 | Ce qui est en promotion, au prix spécial. |
specials[].name | string | minLength : 1 ; maxLength : 120 ; Obligatoire | ||
specials[].note | string | maxLength : 160 | ||
specials[].badge | string | maxLength : 16 | ||
specials[].price | nombre, nul | minimum : 0 | Le prix de l’heure heureuse. | |
specials[].was | nombre, nul | minimum : 0 | Le prix régulier, barré. | |
specials[].priceLabel | string | maxLength : 16 | Remplace le prix, par exemple 2 pour 10. |
Exemple de canevas
Enregistrez les propriétés statiques comme params.json et créez la carte. Le résultat contient son identifiant crd_.
{
"theme": "neomustard"
}
screenrig card create --type happy-hour --major 1 --file params.json
Ajoutez cet élément aux primitives d’une page de liste de lecture, en remplaçant l’identifiant de l’exemple par celui de votre carte. Publiez la liste de lecture et assignez un écran.
{
"id": "happy-hour",
"primitive": "card",
"card": "crd_01EXAMPLECARD000000000",
"layout": "full",
"content_fit": "fill"
}
Écrire des données en direct
Écrivez le document dans la carte après l’avoir créée, puis remplacez-le pour mettre à jour l’écran sans republier. La carte vérifie chaque écriture par rapport à ses propriétés dynamiques et refuse un document qu’elle rejette. Utilisez le même projet que la liste de lecture.
Enregistrez le document sous card-data.json. La CLI lit le document lui-même, sans enveloppe :
{
"windows": [
{
"days": [
"weekdays"
],
"start": "16:00",
"end": "18:00"
},
{
"days": [
"fri",
"sat"
],
"start": "22:00",
"end": "00:00",
"label": "Late"
}
],
"specials": [
{
"name": "House lager, pint",
"price": 5,
"was": 8,
"note": "Draught, 20 oz"
},
{
"name": "Well cocktails",
"price": 7,
"was": 11,
"note": "Rum, vodka, gin or whisky"
},
{
"name": "Glass of house red or white",
"price": 6,
"was": 10
},
{
"name": "Chicken wings, six",
"price": 9,
"was": 14,
"note": "Hot, honey garlic or dry rub",
"badge": "Popular"
},
{
"name": "Loaded nachos",
"price": 10,
"was": 15,
"note": "Share between two"
}
]
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json
Ou appelez directement l’API. L’API enveloppe le même document dans un champ document. Un jeton agent nomme déjà son projet, donc aucun en-tête de projet n’est envoyé ; si vous envoyez ScreenRig-Project, il doit correspondre au projet du jeton. Fournissez votre autorisation API via l’environnement ; voir Authentification 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":{"windows":[{"days":["weekdays"],"start":"16:00","end":"18:00"},{"days":["fri","sat"],"start":"22:00","end":"00:00","label":"Late"}],"specials":[{"name":"House lager, pint","price":5,"was":8,"note":"Draught, 20 oz"},{"name":"Well cocktails","price":7,"was":11,"note":"Rum, vodka, gin or whisky"},{"name":"Glass of house red or white","price":6,"was":10},{"name":"Chicken wings, six","price":9,"was":14,"note":"Hot, honey garlic or dry rub","badge":"Popular"},{"name":"Loaded nachos","price":10,"was":15,"note":"Share between two"}]}}'