Passa al contenuto principale

Coupon & Codes

L'oggetto Coupon definisce le regole di sconto promozionale all'interno di webround.com. Questi dati vengono utilizzati dal motore di validazione per determinare se un codice inserito dall'utente può essere applicato al carrello corrente in base a restrizioni temporali, di utilizzo o di valore minimo.

Definizione Coupon

ProprietàTipoDescrizione
idstring (UUID)Identificativo univoco del coupon nel database.
namestringNome interno della promozione (es. "Sconto di Benvenuto").
targetstringDefinisce l'ambito di applicazione (es. global, category, shipping).
codestringIl codice testuale che l'utente deve inserire (es. SUMMER2026).
positionnumberOrdinamento di priorità in caso di sconti multipli.
discountTypestringTipo di calcolo: percentage (percentuale) o fixed (valore fisso).
discountValuenumberIl valore dello sconto (es. 20 per il 20% o 10 per 10€).
limitUsageGlobalbooleanSe true, attiva il limite massimo di utilizzi totali per il coupon.
limitUsageCustomerbooleanSe true, limita il numero di volte che un singolo cliente può usarlo.
maxUsesGlobalnumberNumero massimo di utilizzi totali consentiti nel sistema.
maxUsesPerCustomernumberNumero massimo di utilizzi consentiti per singolo utente autenticato.
minOrderAmountnumberSoglia minima di spesa (totale lordo) necessaria per attivare il codice.
exclusivebooleanSe true, il coupon non è cumulabile con altri codici promozionali.
reservedbooleanSe true, il coupon è riservato a specifici segmenti di utenti o email.
startsAtstring (ISO 8601)Data e ora di inizio validità della promozione.
endsAtstring (ISO 8601)Data e ora di scadenza (il codice smetterà di funzionare dopo questa data).
createdAtstring (ISO 8601)Data di creazione del record.

Esempio di oggetto

{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "Promo Estiva",
"code": "SUMMER25",
"discountType": "percentage",
"discountValue": 15,
"minOrderAmount": 50,
"exclusive": true,
"limitUsageCustomer": true,
"maxUsesPerCustomer": 1,
"startsAt": "2026-06-01T00:00:00.000Z",
"endsAt": "2026-08-31T23:59:59.000Z"
}

Logica di Validazione

Quando viene invocato il metodo validatePromotionCodes tramite le Utilities di wr.customer, il sistema confronta i parametri del carrello con le proprietà minOrderAmount, startsAt, endsAt e i limiti di utilizzo definiti in questa struttura. Se uno solo di questi criteri non è soddisfatto, il codice viene rifiutato con un messaggio di errore localizzato.