I tuoi dati
Testi e tono
Le frasi con cui l'assistente saluta e conferma, i suoi orari, i reparti, la spesa di base.
A che cosa serve nella conversazione
Puoi riscrivere, una per una e per lingua, le frasi con cui l'assistente saluta, accoglie un cliente nuovo, dà il bentornato, invita a guardare e conferma il solito. Ogni frase tiene i segnaposto di quella di partenza ({name}, {title}…) e ha l'anteprima; puoi sempre tornare alla frase di partenza. L'elenco è chiuso: nessun campo libero finisce nelle istruzioni dell'assistente.
In più: gli orari dell'assistente, le intestazioni di reparto del carrello con la loro emoji, e la spesa di base proposta al cliente senza storico che dice «fai tu la spesa». Il saluto della chat sul tuo sito si imposta già oggi in Chat sul sito → Aspetto della chat.
Cliente: Ciao
Assistente: Ciao Anna! Sono l'assistente di Bottega Esempio: scrivimi che cosa ti serve, al resto penso io.
La frase greeting_named riscritta dal negozio, col segnaposto {name}. Esempio illustrativo, coi prodotti del modello e un negozio inventato.
Che cosa succede se manca
- Senza le tue frasi l'assistente usa quelle di serie della lingua: corrette, ma non la tua voce.
- Senza intestazioni di reparto le righe del carrello non hanno i titoli dei gruppi con l'emoji.
- Senza spesa di base il cliente senza storico che ti chiede di scegliere riceve la lista di serie della lingua.
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.
testi.json (PUT /v1/store_texts)
phrasesfacoltativo- Tipo
- lingua, chiave, testo
- Esempio
it · greeting_named · Ciao {name}! …- Regola
- Chiavi: greeting_named, greeting_anonymous, welcome_new, welcome_back, cta_look, usual_added, usuals_added, list_usuals_ask…; stessi segnaposto, niente link; testo null torna alla frase di partenza.
assistant_hoursfacoltativo- Tipo
- sempre, o finestre
- Esempio
{"always": true}- Regola
- Giorni da 0 (domenica) a 6; inizio prima della fine.
departmentsfacoltativo- Tipo
- categoria ed emoji
- Esempio
Frutta · 🍎- Regola
- La categoria come scritta nel catalogo.
weekly_shop_base_listfacoltativo- Tipo
- elenco
- Esempio
latte, pane, uova- Regola
- Termini di ricerca nella lingua del catalogo.
Scarica il modello
- testi.json d'esempiotesti.json
- Schema di testi.jsontesti.schema.json
Errori frequenti e il loro messaggio
SEGNAPOSTO_DIVERSI«La frase deve tenere gli stessi segnaposto di quella di partenza.»(spiegazione di questa guida: Core restituisce il codice)
Che cosa fare: Lascia {name}, {title}… esattamente come sono.
LINK_NELLA_FRASE«Una frase non può contenere link.»(spiegazione di questa guida: Core restituisce il codice)
Che cosa fare: I link vengono dai percorsi del Sito.
FRASE_NON_MODIFICABILE«Questa frase non è nell'elenco di quelle che puoi riscrivere.»(spiegazione di questa guida: Core restituisce il codice)
Che cosa fare: Usa una delle chiavi dell'elenco.
ORARI_NON_VALIDI«Controlla gli orari: per ogni fascia servono i giorni e un'ora d'inizio prima di quella di fine.»
Che cosa fare: Scrivi gli orari come finestre con giorni, dalle e alle.
Come mandarli
- Dal portaleIn arrivo
In arrivo: la pagina «Testi e tono» con l'anteprima. Oggi: il saluto della chat sul sito (Chat sul sito → Aspetto della chat).
- Dall'APIIn arrivo
GET/PUT /v1/store_texts esiste; i permessi texts:read e texts:write non si possono ancora dare a una chiave dal portale.
- Documento JSONIn arrivo
testi.json: lo stesso documento, da scaricare e ricaricare.
Disponibilità misurata sul servizio vivo il 30 ottobre 2026.
Riscrivi il saluto
curl
curl -X PUT "https://oxjqgjbiltoviwldailg.supabase.co/functions/v1/core-api/v1/store_texts?lang=it" \
-H "Authorization: Bearer $GAI_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: saluto-2026-11-02" \
-d '{"phrases":[{"lang":"it","key":"greeting_named","text":"Ciao {name}! Sono l'\''assistente di Bottega Esempio: scrivimi che cosa ti serve."}]}'Node.js (18+)
const risposta = await fetch("https://oxjqgjbiltoviwldailg.supabase.co/functions/v1/core-api/v1/store_texts?lang=it", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.GAI_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(),
},
body: JSON.stringify({
phrases: [
{ lang: "it", key: "greeting_named", text: "Ciao {name}! Sono l'assistente di Bottega Esempio: scrivimi che cosa ti serve." },
],
}),
});
console.log(risposta.status, await risposta.json());