Agenti di acquisto IA e storefront personalizzati
Agenti di acquisto IA (ChatGPT, Gemini, Copilot) e link dell'app Shop
Non possono ancora scegliere una data di consegna. Shopify non offre alle app un modo per chiederla a un agente. Le tue regole sulle date valgono comunque per i loro ordini al checkout:
- Con Blocca, il checkout chiede al cliente di completare l'ordine sul tuo negozio e scegliere la data.
- Con Accetta, l'ordine va a buon fine e il cliente sceglie la data nella pagina di conferma dell'ordine (ringraziamento), o più tardi nella pagina di stato dell'ordine una volta effettuato l'accesso al suo account.
Vedi Ordini senza data di consegna.
Comunica agli agenti che serve una data
OrderRules → Date di consegna → Ordini ed evasione → Comunica agli agenti IA che serve una data. Copia la FAQ già pronta e aggiungila all'app gratuita Knowledge Base di Shopify, che gli agenti IA leggono quando gli acquirenti fanno domande sul tuo negozio. Aiuta anche aggiungere la stessa frase alla politica di spedizione.

Storefront personalizzati (Hydrogen, headless, agenti personalizzati)
Il selettore della data di consegna di OrderRules è un blocco app del tema, quindi compare solo nei temi Online Store. Uno storefront basato sulla Storefront API lo salta, sia che si tratti di Hydrogen sia di un'app React o Next.js personalizzata. Il checkout applica comunque le tue regole.
Per far scegliere la data agli acquirenti nel tuo storefront, scrivila nel carrello con gli stessi campi usati dal selettore. Le query qui sotto sono per la Storefront API 2026-10.
1. Leggi le date aperte
query OrderRulesDelivery {
shop {
metafield(namespace: "order_rules", key: "delivery") { value }
}
}
value è JSON. Le parti che ti servono:
| Campo | Significato |
|---|---|
rules[] | Regole di consegna: id, scope (storewide / product / collection / tag), requireDate, requireSlot, slotTemplateId, allowedDates (YYYY-MM-DD, già oltre l'orario limite e il tempo di preparazione) |
defaultRuleId | La regola valida per tutto il negozio, se presente |
productRuleMap | ID numerico del prodotto → ID della regola |
collectionProductIds / tagProductIds | Quali prodotti copre una regola per collezione o per tag |
blackouts | Date chiuse (YYYY-MM-DD) |
slotTemplates[id].windows[] | Fasce orarie: id, label, start, end |
capacity[date][slotId or "_all"] | Prenotazioni rimaste; 0 significa al completo |
Mostra una data solo se valgono tutte queste condizioni:
- è nelle
allowedDatesdella regola; - non è in
blackouts; capacity[date]._allnon è0.
Quando requireDate è true, la data è obbligatoria. Il metacampo viene aggiornato ogni volta che modifichi le impostazioni di consegna e dopo l'arrivo degli ordini. Trattalo come sola lettura: il formato è interno e potrebbe cambiare.
2. Scrivi la data scelta
Una data per l'intero ordine. Attributi del carrello:
mutation SetDeliveryDate($cartId: ID!) {
cartAttributesUpdate(cartId: $cartId, attributes: [
{ key: "_os_dp", value: "d|2026-11-04|am" }
{ key: "delivery_date", value: "2026-11-04" }
{ key: "delivery_slot", value: "am" }
]) {
cart { id }
userErrors { field message }
}
}
_os_dpè ciò che legge il controllo del checkout. Il formato èd|YYYY-MM-DD|slotId; lascia vuoto lo slot quando non ci sono fasce orarie, per esempiod|2026-11-04|.delivery_dateedelivery_slotsono ciò che leggono l'elenco ordini, i tag, l'esportazione CSV e i conteggi della capacità.
Oppure una data per prodotto. Un attributo di riga:
mutation AddDatedLine($cartId: ID!) {
cartLinesAdd(cartId: $cartId, lines: [{
merchandiseId: "gid://shopify/ProductVariant/123"
quantity: 1
attributes: [{ key: "_os_dpl", value: "d|2026-11-04|am" }]
}]) {
cart { id }
userErrors { field message }
}
}
Il _os_dpl di una riga ha la precedenza sul _os_dp a livello di ordine. Le righe che non ne hanno usano la data dell'ordine.
3. Verifica
Vai al checkout con un prodotto che richiede una data.
- Senza data: il checkout mostra «Please choose a delivery date…».
- Con una data valida: il checkout prosegue e l'ordine mostra la data tra i suoi dettagli aggiuntivi.
Link al posto di uno storefront
Per le vendite via chat, email o social usa Link di pagamento con data di consegna. Crea un link al carrello con la data già impostata.