Carte de confirmation de commande

Afficher le panier au fur et à mesure que les articles sont ajoutés, avec le plus récent allumé, un total important avec sous-total, rabais, taxe et pourboire, une invite de paiement, et un remerciement avec le numéro de commande une fois payé.

Afficher le panier au fur et à mesure que le personnel ajoute des articles et allume la dernière entrée. Donner la priorité au total, avec sous-total, rabais, taxe et pourboire, puis afficher l’invite de paiement. Une fois le paiement effectué, afficher un remerciement avec le numéro de commande.

Carte en direct

Cette carte est dessinée dans votre navigateur par le même code que les lecteurs, avec des données d’exemple.

Catégorie : Commerce de détail. Étiquettes : Magasins, Restaurants et cafés, Prix et tarifs.

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

NomTypePar défautValeurs et limitesDescription
titlestring"Your order"maxLength : 30
statusstring"open""open", "paying", "paid"ouvert affiche le panier, paiement ajoute l’invite de paiement, payé affiche le remerciement.
orderNumberstring""maxLength : 12
currencystring"$"maxLength : 4Le symbole monétaire affiché avant les montants.
decimalsinteger20, 20 montre des montants entiers (pour le yen ou le won).
discountnumber0minimum : 0Une remise au niveau de la commande en unités majeures, en plus des remises sur les lignes.
discountLabelstring""maxLength : 30Nomme la remise de commande, par exemple Fidélité 10 %.
subtotalnumberminimum : 0Remplace la somme des lignes.
taxnumberminimum : 0Le montant de la taxe ; la ligne Taxe s’affiche uniquement lorsqu’elle est donnée.
taxLabelstring""maxLength : 20
tipnumber0minimum : 0
totalnumberminimum : 0Remplace le total calculé par la carte (sous-total - rabais + taxes + pourboire).
welcomestring""maxLength : 40La salutation au repos. Vide, affiche Bienvenue.
welcomeNotestring""maxLength : 100
payPromptstring""maxLength : 50Vide affiche Tapotez, insérez ou glissez pour payer.
thanksstring""maxLength : 40Vide affiche Merci.
paidNotestring""maxLength : 100Une ligne sous le remerciement, par exemple où le reçu a été envoyé.
backgroundColorchaîne, nulnullmotif : "^#[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é.
textColorchaîne, nulnullmotif : "^#[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

NomTypePar défautValeurs et limitesDescription
linesarray[]maxItems : 60
lines[].idstring""maxLength : 40Identifie la ligne, pour qu’une ligne déjà affichée ne s’anime pas de nouveau.
lines[].qtyinteger1minimum : 1 ; maximum : 999
lines[].namestringminLength : 1 ; maxLength : 60 ; Obligatoire
lines[].modschaîne ou tableau""anyOf : [{"type":"string","maxLength":80},{"type":"array","maxItems":8,"items":{"type":"string","maxLength":30}}]
lines[].pricenumber0minimum : 0Le prix unitaire en unités majeures (12,50). Une ligne sans prix ni rabais indique Gratuit.
lines[].discountnumber0minimum : 0Un montant déduit de cette ligne, en unités majeures.
lines[].addedAtstring""maxLength : 40Instant ISO où cette ligne a été ajoutée ; ancre sa diapositive Primetime.
paidAtstring""maxLength : 40Instant ISO auquel le paiement a été approuvé ; ancre la révélation de vérification Primetime.
updatedAtstring""maxLength : 40Instant ISO de la dernière mise à jour du panier.

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 order-confirmation --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": "order-confirmation",
  "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 :

{
  "lines": [],
  "paidAt": "",
  "updatedAt": ""
}
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":{"lines":[],"paidAt":"","updatedAt":""}}'