Salta al contenuto principale
Versione: 1.x

Riferimento dati scontrino

I modelli HTML logicless e i modelli XML termici di WCPOS eseguono il rendering dallo stesso payload canonico dello scontrino. Utilizzare i percorsi dot Mustache come {{order.number}}, {{store.name}} e {{totals.total_display}}. Gli array vengono renderizzati con le sezioni:

{{#lines}}
{{name}} x {{qty}} — {{line_total_display}}
{{/lines}}

Il contratto canonico è prodotto dal builder dei dati scontrino WCPOS sul server e replicato dal renderer offline degli scontrini nell'app. Gli scontrini si aprono immediatamente dai dati locali, poi vengono aggiornati con la risposta del server quando disponibile, pertanto i modelli personalizzati dovrebbero utilizzare i campi indicati di seguito anziché i metodi PHP per gli ordini.

Regole di rendering

Campi valuta

I campi monetari numerici vengono preservati come numeri e il renderer aggiunge campi _display localizzati per l'output del modello:

Campo numericoCampo di visualizzazione
totals.totaltotals.total_display
lines[].line_totallines[].line_total_display
payments[].amountpayments[].amount_display
tax_summary[].tax_amounttax_summary[].tax_amount_display

Preferire i campi _display per la stampa degli scontrini. Utilizzare i campi numerici solo per sezioni condizionali o output leggibili dalla macchina.

Campi con visualizzazione imposte

Diversi campi dispongono di varianti con imposte incluse ed escluse, oltre a un valore di comodo per la visualizzazione. Il valore di comodo segue l'impostazione di visualizzazione imposte del carrello del negozio.

Campo di comodoCampo imposte incluseCampo imposte escluse
lines[].unit_pricelines[].unit_price_incllines[].unit_price_excl
lines[].unit_subtotallines[].unit_subtotal_incllines[].unit_subtotal_excl
lines[].line_subtotallines[].line_subtotal_incllines[].line_subtotal_excl
lines[].discountslines[].discounts_incllines[].discounts_excl
lines[].line_totallines[].line_total_incllines[].line_total_excl
fees[].totalfees[].total_inclfees[].total_excl
shipping[].totalshipping[].total_inclshipping[].total_excl
discounts[].totaldiscounts[].total_incldiscounts[].total_excl
totals.subtotaltotals.subtotal_incltotals.subtotal_excl
totals.discount_totaltotals.discount_total_incltotals.discount_total_excl
totals.totaltotals.total_incltotals.total_excl

Oggetti data

I campi data sono oggetti con più varianti preformattate. Questo evita di eseguire la formattazione delle date all'interno di Mustache.

CampoDescrizione
datetime, date, timeStringhe predefinite di data/ora
datetime_short, datetime_long, datetime_fullFormati combinati adattati alla localizzazione
date_short, date_long, date_fullFormati solo data in base alla lingua
date_ymd, date_dmy, date_mdyFormati data con ordine fisso
weekday_short, weekday_longNomi dei giorni
day, month, month_short, month_long, yearSingole parti della data

Oggetti data disponibili: order.created, order.paid, order.completed, order.printed e refunds[].date. order.printed viene aggiornato al momento del rendering, utile per le ristampe.

Sezioni principali

SezioneTipoDescrizione
orderobjectIdentità dell'ordine, stato, date, nota e informazioni sull'URL di pagamento
storeobjectIdentità del negozio, indirizzo, recapiti, codici fiscali/partita IVA, logo, orari e testo a piè di pagina
cashierobjectUtente che ha elaborato l'ordine
customerobjectNome visualizzato del cliente, indirizzi e codici fiscali/partita IVA
linesarrayRighe prodotto
feesarrayRighe commissioni
shippingarrayRighe spedizione
discountsarrayRighe coupon/sconti
totalsobjectTotali ordine, totali pagamento, riepilogo rimborsi e conteggio articoli
taxobjectFlag modalità di visualizzazione imposte per le sezioni condizionali
tax_summaryarrayRighe riepilogo imposte per aliquota
has_tax_summarybooleanGuard di convenienza per tax_summary
paymentsarrayRighe pagamento
refundsarrayRecord di rimborso applicati all'ordine
fiscalobjectCampi snapshot fiscale popolati dalle integrazioni fiscali
presentation_hintsobjectSuggerimenti di formattazione e rendering
i18nobjectEtichette tradotte per i modelli predefiniti e personalizzati

order

CampoTipoEsempio / descrizione
order.idnumber1234
order.numberstringNumero ordine visibile al cliente, ad es. "10045"
order.currencystringCodice valuta ISO, ad es. "USD"
order.customer_notestringNota del cliente/ordine
order.wc_statusstringSlug dello stato WooCommerce grezzo, ad es. "processing"
order.status_labelstringEtichetta dello stato localizzata, inclusi gli stati personalizzati
order.created_viastringOrigine/canale, ad es. "woocommerce-pos"
order.needs_paymentbooleanIndica se deve essere visualizzata la sezione di pagamento
order.payment_urlstringURL di pagamento dell'ordine, quando disponibile
order.createddate objectData di creazione dell'ordine
order.paiddate objectData di pagamento, stringhe vuote se non pagato
order.completeddate objectData di completamento, stringhe vuote se incompleto
order.printeddate objectTimestamp di stampa/ristampa al momento del rendering

store

CampoTipoEsempio / descrizione
store.idnumberID del negozio, o ID storico per i negozi eliminati
store.namestringNome visualizzato del negozio
store.address.address_1stringIndirizzo, riga 1
store.address.address_2stringInterno/unità
store.address.citystringCittà/località
store.address.statestringStato/regione
store.address.postcodestringCodice postale
store.address.countrystringCodice paese ISO
store.address_linesarrayRighe di indirizzo preformattate; consigliato per la maggior parte dei template
store.tax_idsarrayIdentificativi fiscali strutturati; iterare questo array anziché utilizzare un singolo identificativo fiscale
store.phonestringTelefono del negozio
store.emailstringEmail del negozio
store.logostring/nullURL o data URI del logo del negozio
store.opening_hoursstring/nullTesto compatto degli orari di apertura
store.opening_hours_verticalstring/nullBlocco orari di apertura su più righe
store.opening_hours_inlinestring/nullTesto degli orari di apertura separati da virgola
store.opening_hours_notesstring/nullNote testuali sugli orari di apertura
store.personal_notesstring/nullNota personale/piè di pagina dello scontrino
store.policies_and_conditionsstring/nullTesto su rimborsi, resi o termini e condizioni
store.footer_imprintstring/nullImpronta legale nel piè di pagina

Oggetti codice fiscale/partita IVA

store.tax_ids e customer.tax_ids contengono oggetti con la stessa struttura:

CampoTipoDescrizione
typestringIdentificatore come eu_vat, de_steuernummer, au_abn, br_cpf, us_ein o other
valuestringValore del codice fiscale/partita IVA da stampare
countrystring/nullCodice paese ISO, se disponibile
labelstring/nullEtichetta di visualizzazione localizzata, risolta prima del rendering

Esempio:

{{#store.tax_ids}}
{{label}}: {{value}}
{{/store.tax_ids}}

cashier

CampoTipoEsempio / descrizione
cashier.idnumberID utente WordPress, 0 quando sconosciuto
cashier.namestringNome visualizzato del cassiere

customer

CampoTipoEsempio / descrizione
customer.idnumber/nullID del cliente, oppure null per gli ospiti
customer.namestringNome visualizzato del cliente, o etichetta ospite
customer.billing_address.*objectCampi dell'indirizzo di fatturazione WooCommerce
customer.shipping_address.*objectCampi dell'indirizzo di spedizione WooCommerce
customer.tax_idsarrayID fiscali del cliente acquisiti dall'ordine

Le chiavi di indirizzo più comuni includono first_name, last_name, company, address_1, address_2, city, state, postcode, country, email e phone.

lines

Iterare con {{#lines}}...{{/lines}}.

CampoTipoDescrizione
keystringChiave stabile della riga/ID articolo dell'ordine
skustringSKU del prodotto
namestringNome visualizzato del prodotto o della riga
qtynumberQuantità venduta
qty_refundednumberQuantità rimborsata per questa riga
unit_subtotal / _incl / _exclnumberPrezzo unitario prima dello sconto
unit_price / _incl / _exclnumberPrezzo unitario dopo lo sconto
line_subtotal / _incl / _exclnumberSubtotale riga prima dello sconto
discounts / _incl / _exclnumberImporto dello sconto come valore positivo
line_total / _incl / _exclnumberTotale finale della riga
total_refundednumberTotale rimborsato per questa riga come valore positivo
taxesarrayRighe di imposta per aliquota per questa riga
metaarrayMetadati dell'elemento ordine come coppie {key, value}
attributesarrayAttributi del prodotto/variante come coppie {key, value}

Le varianti formattate includono unit_subtotal_display, unit_price_display, line_subtotal_display, discounts_display, line_total_display e le varianti _display con e senza imposte.

fees and shipping

Iterare con {{#fees}}...{{/fees}} e {{#shipping}}...{{/shipping}}.

CampoTipoDescrizione
labelstringEtichetta della commissione o nome del metodo di spedizione
method_idstringID del metodo di spedizione (solo spedizione)
total / _incl / _exclnumberTotali lato visualizzazione, IVA inclusa e IVA esclusa
taxesarrayRighe imposta per aliquota
metaarrayCoppie meta {key, value}

Varianti formattate: total_display, total_incl_display e total_excl_display.

discounts

Iterare con {{#discounts}}...{{/discounts}}.

CampoTipoDescrizione
labelstringDescrizione del coupon o codice di riserva
codestringCodice coupon
codesstringFallback legacy/visualizzazione per codici concatenati
total / _incl / _exclnumberImporto dello sconto come valore positivo

Varianti formattate: total_display, total_incl_display e total_excl_display. Aggiungere il proprio segno meno nel template per visualizzare gli sconti come righe negative.

totals

CampoTipoDescrizione
totals.subtotal / _incl / _exclnumberSubtotale dell'ordine prima degli sconti
totals.discount_total / _incl / _exclnumberTotale sconti dell'ordine come valore positivo
totals.tax_totalnumberImporto totale delle imposte
totals.total / _incl / _exclnumberTotale generale dell'ordine
totals.paid_totalnumberImporto pagato/applicato
totals.change_totalnumberResto restituito al cliente
totals.refund_totalnumberTotale rimborsato come valore positivo
totals.net_totalnumbertotal - refund_total, limitato a zero
totals.total_qtynumberSomma delle quantità degli articoli
totals.line_countnumberNumero di righe prodotto

Le varianti formattate includono subtotal_display, discount_total_display, tax_total_display, total_display, paid_total_display, change_total_display, refund_total_display e net_total_display, oltre alle varianti inclusive/esclusive dove applicabile.

tax e tax_summary

Utilizzare tax per i controlli della modalità di visualizzazione e tax_summary per le righe dettagliate delle aliquote.

Campo impostaTipoDescrizione
tax.displaystringincl o excl
tax.display_inclbooleanTrue quando i prezzi sono visualizzati con imposta inclusa
tax.display_exclbooleanTrue quando i prezzi sono visualizzati al netto dell'imposta
tax.breakdownstringhidden, single o itemized
tax.breakdown_hiddenbooleanTrue quando le righe dell'imposta devono essere nascoste
tax.breakdown_singlebooleanTrue quando è preferito un totale imposta singolo
tax.breakdown_itemizedbooleanTrue quando sono preferite le righe per singola aliquota
has_tax_summarybooleanTrue quando tax_summary contiene righe

Iterare tax_summary con {{#tax_summary}}...{{/tax_summary}}.

CampoTipoDescrizione
codestringID/codice dell'aliquota fiscale
ratenumber/nullPercentuale dell'aliquota quando disponibile
labelstringEtichetta dell'aliquota fiscale
compoundbooleanIndica se l'aliquota è composta
taxable_amount_exclnumber/nullImponibile al netto dell'imposta
tax_amountnumberImposta applicata
taxable_amount_inclnumber/nullImponibile comprensivo di imposta

Varianti formattate: taxable_amount_excl_display, tax_amount_display e taxable_amount_incl_display.

payments

Iterare con {{#payments}}...{{/payments}}.

CampoTipoDescrizione
method_idstringIdentificativo del metodo di pagamento
method_titlestringNome visualizzato del metodo di pagamento
amountnumberImporto applicato all'ordine
transaction_idstringID transazione del gateway
tenderednumberImporto in contanti consegnato, se presente
changenumberResto in contanti restituito, se presente

Varianti formattate: amount_display, tendered_display e change_display.

refunds

Iterare con {{#refunds}}...{{/refunds}}. Gli importi dei rimborsi sono valori assoluti positivi; i template decidono se anteporre un segno meno o visualizzare un blocco separato per gli articoli restituiti.

CampoTipoDescrizione
idnumberID del record di rimborso
datedate objectData di creazione del rimborso
amountnumberTotale del rimborso
subtotalnumberSubtotale della riga rimborsata
tax_totalnumberImposta rimborsata
shipping_totalnumberImporto di spedizione rimborsato
shipping_taxnumberImposta di spedizione rimborsata
reasonstringMotivo del rimborso
refunded_by_idnumber/nullID utente che ha emesso il rimborso
refunded_by_namestringNome visualizzato dell'utente che ha emesso il rimborso
refunded_paymentbooleanIndica se il pagamento è stato rimborsato tramite il gateway
destinationstringoriginal_method, cash o manual
gateway_idstringID del gateway utilizzato per il rimborso
gateway_titlestringTitolo visualizzato del gateway
processing_modestringModalità di elaborazione provider/manuale
linesarrayRighe prodotto rimborsate
feesarrayRighe commissioni rimborsate
shippingarrayRighe spedizione rimborsate

I campi delle righe di rimborso includono name, sku, qty, total, total_incl, total_excl, line_total, unit_total e taxes. Le righe di rimborso per commissioni e spedizioni utilizzano label, total, total_incl, total_excl e taxes. Per i totali e gli importi delle imposte vengono aggiunte varianti di visualizzazione.

fiscal

I campi fiscali sono vuoti per impostazione predefinita e vengono compilati dalle integrazioni fiscali o dall'arricchimento snapshot di WCPOS Pro.

CampoTipoDescrizione
fiscal.immutable_idstringIdentificativo fiscale immutabile
fiscal.receipt_numberstringNumero scontrino fiscale
fiscal.sequencenumber/nullContatore di sequenza
fiscal.hashstringValore hash/firma
fiscal.qr_payloadstringPayload QR per la verifica fiscale
fiscal.tax_agency_codestringCodice dell'autorità fiscale
fiscal.signed_atstringTimestamp della firma fiscale
fiscal.signature_excerptstringFirma troncata per la visualizzazione
fiscal.document_labelstringEtichetta del documento, ad es. Fattura fiscale
fiscal.is_reprintbooleanIndica se questa resa è una ristampa
fiscal.reprint_countnumberConteggio delle ristampe
fiscal.extra_fieldsarray/objectValori specifici per giurisdizione

presentation_hints

Questi campi sono utilizzati principalmente dal renderer e dal formatter. Sono disponibili per i template quando necessario.

CampoTipoDescrizione
presentation_hints.display_taxstringincl, excl, hidden, itemized o single
presentation_hints.prices_entered_with_taxbooleanIndica se i prezzi a catalogo includono le imposte
presentation_hints.rounding_modestringImpostazione di arrotondamento imposte di WooCommerce
presentation_hints.localestringLocale utilizzato per la formattazione
presentation_hints.timezonestringFuso orario dello scontrino
presentation_hints.currency_positionstringPosizione del simbolo di valuta
presentation_hints.currency_symbolstringSimbolo di valuta
presentation_hints.price_thousand_separatorstringSeparatore delle migliaia
presentation_hints.price_decimal_separatorstringSeparatore decimale
presentation_hints.price_num_decimalsnumberCifre decimali
presentation_hints.price_display_suffixstringSuffisso di visualizzazione prezzo di WooCommerce
presentation_hints.order_barcode_typestringTipo di codice a barre utilizzato dai modelli galleria

i18n

Utilizzare le etichette i18n invece di inserire il testo direttamente nel codice, ove possibile:

{{i18n.order}} #{{order.number}}
{{i18n.cashier}}: {{cashier.name}}
{{i18n.total}}: {{totals.total_display}}

Le chiavi comuni includono order, date, cashier, customer, item, sku, qty, unit_price, discount, subtotal, total, tax, paid, tendered, change, tax_summary, refunded, net_total, customer_note, thank_you_purchase, opening_hours e le chiavi delle etichette per il codice fiscale/partita IVA come store_tax_id_label_eu_vat e customer_tax_id_label_other. Ulteriori chiavi possono essere aggiunte dalle estensioni.