---
title: "Agenti di acquisto IA e storefront personalizzati"
description: "Gli agenti di acquisto IA e i link dell'app Shop non possono ancora scegliere una data di consegna, ma le tue regole sulle date valgono comunque al checkout. Comunica agli agenti che serve una data e lascia che Hydrogen o gli storefront headless scrivano la data, così il checkout la accetta."
contentType: "docs"
locale: "it"
localized: true
source: "https://orderrules.com/it/docs/delivery/ai-shopping-agents-and-headless"
slug: "delivery/ai-shopping-agents-and-headless"
---
## 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](/docs/delivery/orders-without-a-delivery-date).

### 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.

![Il riquadro di OrderRules per dire agli agenti IA che serve una data, con una FAQ pronta da copiare nell'app Knowledge Base di Shopify](/images/docs/delivery-ai-agents-faq.png)

## 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

```graphql
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 `allowedDates` della regola;
- non è in `blackouts`;
- `capacity[date]._all` non è `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:

```graphql
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 esempio `d|2026-11-04|`.
- `delivery_date` e `delivery_slot` sono 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:

```graphql
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](/docs/delivery/checkout-links-with-delivery-date). Crea un link al carrello con la data già impostata.

## Correlati

- [Ordini senza data di consegna](/docs/delivery/orders-without-a-delivery-date) · [Protezione del checkout](/docs/delivery/checkout-protection) · [Data di consegna dopo l'ordine](/docs/delivery/delivery-date-after-order)
