I tuoi dati

Offerte

Prezzo d'offerta, prezzo barrato, inizio e fine, etichetta.

A che cosa serve nella conversazione

Quando un cliente chiede «che offerte avete?» o cerca un prodotto scontato, l'assistente mostra prima le offerte, in ordine di sconto, col prezzo barrato. Il carrello addebita il prezzo d'offerta solo fra l'inizio e la fine, nel fuso del tuo negozio: il giorno dopo la fine l'offerta sparisce da sola, senza un file nuovo.

Il file delle offerte tocca solo i campi dell'offerta dei prodotti che ci sono già: carica prima il catalogo. Un'offerta con quantità minima oltre 1 mostra la sua etichetta («Prendi 3, paghi 2») e non cambia il prezzo.

Esempio

Cliente: Avete offerte sulla pasta?

Assistente: Sì, questa settimana: • Pasta Spaghetti n.5 500g [Barilla] – €0,99 invece di €1,29 Te la metto nel carrello?

La riga dell'offerta: prezzo d'offerta 0,99, barrato 1,29, dal 2 al 15 novembre. Esempio illustrativo, coi prodotti del modello e un negozio inventato.

Che cosa succede se manca

  • Senza offerte il cliente paga sempre il prezzo pieno e l'assistente non ha niente da rispondere a «che offerte avete?».
  • Senza date l'offerta vale da subito fino al prossimo file: devi ricordarti di toglierla.
  • Senza prezzo barrato si mostra come barrato il prezzo di vendita pieno.
  • Un prezzo d'offerta uguale o più alto del prezzo di vendita non è un'offerta: la riga si ferma o riceve un avviso.

I campi

Obbligatorio: senza, il prodotto non si vende come il cliente se l'aspetta. Consigliato: senza, c'è un ripiego dichiarato, ma l'esperienza è più povera. Facoltativo: un miglioramento.

  • skuobbligatorio
    Colonna nel file
    Codice
    Tipo
    testo
    Esempio
    000201111 · 000301555 · 000405020
    Regola
    obbligatorio, unico nel file, max 128 caratteri, stabile nel tempo
  • offer_priceobbligatorio
    Colonna nel file
    Prezzo d'offerta
    Tipo
    numero (¤)
    Esempio
    0,99 · 2,90 · 1,99
    Regola
    IVA inclusa, dell'unità di vendita, > 0 e minore del prezzo di vendita
  • list_priceconsigliato
    Colonna nel file
    Prezzo barrato
    Tipo
    numero (¤)
    Esempio
    1,29 · 3,30
    Regola
    ≥ prezzo d'offerta; vuoto = il prezzo di vendita
  • offer_startconsigliato
    Colonna nel file
    Inizio offerta
    Tipo
    data
    Esempio
    2026-11-02 · 02/11/2026
    Regola
    AAAA-MM-GG o GG/MM/AAAA; vuoto = da subito
  • offer_endconsigliato
    Colonna nel file
    Fine offerta
    Tipo
    data
    Esempio
    2026-11-15 · 15/11/2026
    Regola
    ≥ inizio; l'ultimo giorno incluso, nel fuso del negozio; vuoto = fino a nuovo file
  • offer_min_qtyfacoltativo
    Colonna nel file
    Quantità minima dell'offerta
    Tipo
    intero
    Esempio
    3
    Regola
    intero ≥ 1; oltre 1 si mostra l’etichetta e il prezzo non cambia
  • offer_labelfacoltativo
    Colonna nel file
    Etichetta dell'offerta
    Tipo
    testo
    Esempio
    Sottocosto · Prendi 3, paghi 2
    Regola
    max 60 caratteri, nella lingua del negozio

Scarica il modello

La prima riga è l'intestazione; la seconda (con # in testa) descrive ogni colonna; le tre righe d'esempio cominciano anch'esse con # e non si importano. I nomi delle colonne si riconoscono in tutte e sei le lingue e col nome del campo.

Errori frequenti e il loro messaggio

  • SKU_SCONOSCIUTO

    «Questo codice non è nel tuo catalogo.»(spiegazione di questa guida: Core restituisce il codice)

    Che cosa fare: Carica prima il prodotto, poi la sua offerta.

  • OFFERTA_SUPERIORE_AL_PREZZO

    «Il prezzo in offerta è più alto del prezzo: controlla le due colonne.»

    Che cosa fare: Il prezzo d'offerta deve essere sotto il prezzo di vendita del prodotto.

  • OFFERTA_NON_SCONTATA

    «Avviso: l'offerta non sconta niente e non si mostrerà.»(spiegazione di questa guida: Core restituisce il codice)

    Che cosa fare: Controlla il prezzo d'offerta rispetto al prezzo di vendita.

  • DATA_NON_VALIDA

    «La data non si legge.»(spiegazione di questa guida: Core restituisce il codice)

    Che cosa fare: Scrivi AAAA-MM-GG o GG/MM/AAAA.

  • DATE_INVERTITE

    «La fine viene prima dell'inizio.»(spiegazione di questa guida: Core restituisce il codice)

    Che cosa fare: La fine è l'ultimo giorno incluso.

Come mandarli

  • Dal portaleIn arrivo

    In arrivo: il foglio e il file «offerte» in Prodotti.

  • Dall'APIDisponibile

    PUT /v1/inventory (catalog:write) tocca solo prezzo, giacenza e offerta: offer_price, list_price, offer_start, offer_end, offer_min_qty, offer_label. Gli stessi campi valgono in PUT /v1/products.

  • Feed programmatoDisponibile

    Nel feed Google Merchant / Meta, sale_price e sale_price_effective_date diventano l'offerta e le sue date.

Disponibilità misurata sul servizio vivo il 30 ottobre 2026.

Metti in offerta un prodotto per due settimane

curl

curl -X PUT "https://oxjqgjbiltoviwldailg.supabase.co/functions/v1/core-api/v1/inventory" \
  -H "Authorization: Bearer $GAI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: offerta-pasta-2026-11" \
  -d '{"inventory":[{"sku":"000201111","offer_price":0.99,"list_price":1.29,"offer_start":"2026-11-02","offer_end":"2026-11-15"}]}'

Node.js (18+)

const risposta = await fetch("https://oxjqgjbiltoviwldailg.supabase.co/functions/v1/core-api/v1/inventory", {
  method: "PUT",
  headers: {
    Authorization: `Bearer ${process.env.GAI_KEY}`,
    "Content-Type": "application/json",
    "Idempotency-Key": crypto.randomUUID(),
  },
  body: JSON.stringify({
    inventory: [
      { sku: "000201111", offer_price: 0.99, list_price: 1.29, offer_start: "2026-11-02", offer_end: "2026-11-15" },
    ],
  }),
});
console.log(risposta.status, await risposta.json());

Documentazione dell'API