Agents d'achat IA et boutiques personnalisées
Agents d'achat IA (ChatGPT, Gemini, Copilot) et liens de l'app Shop
Ils ne peuvent pas encore choisir de date de livraison. Shopify ne donne aucun moyen aux apps d'en demander une à un agent. Vos règles de date s'appliquent quand même à leurs commandes au paiement :
- Avec Bloquer, le paiement demande au client de terminer sur votre boutique et d'y choisir la date.
- Avec Accepter, la commande passe et le client choisit la date sur la page de confirmation de commande (remerciement), ou plus tard sur la page d'état de la commande une fois connecté à son compte.
Voir Commandes sans date de livraison.
Indiquer aux agents qu'une date est requise
OrderRules → Dates de livraison → Commandes et traitement → Indiquer aux agents IA qu'une date est requise. Copiez la FAQ prête à l'emploi et ajoutez-la à l'app gratuite Knowledge Base de Shopify, que les agents IA consultent quand les clients posent des questions sur votre boutique. Ajouter la même phrase à votre politique d'expédition aide aussi.

Boutiques personnalisées (Hydrogen, headless, agents sur mesure)
Le sélecteur de date de livraison d'OrderRules est un bloc d'app de thème : il n'apparaît donc que sur les thèmes Online Store. Une boutique construite sur l'API Storefront le contourne, qu'il s'agisse de Hydrogen ou d'une app React ou Next.js sur mesure. Le paiement applique quand même vos règles.
Pour laisser les acheteurs choisir la date dans votre propre boutique, écrivez-la dans le panier avec les mêmes champs que le sélecteur. Les requêtes ci-dessous concernent l'API Storefront 2026-10.
1. Lire les dates ouvertes
query OrderRulesDelivery {
shop {
metafield(namespace: "order_rules", key: "delivery") { value }
}
}
value est du JSON. Les éléments dont vous avez besoin :
| Champ | Signification |
|---|---|
rules[] | Règles de livraison : id, scope (storewide / product / collection / tag), requireDate, requireSlot, slotTemplateId, allowedDates (YYYY-MM-DD, déjà après l'heure limite et le délai de préparation) |
defaultRuleId | La règle valable pour toute la boutique, s'il y en a une |
productRuleMap | Identifiant numérique du produit → identifiant de la règle |
collectionProductIds / tagProductIds | Les produits couverts par une règle de collection ou d'étiquette |
blackouts | Dates fermées (YYYY-MM-DD) |
slotTemplates[id].windows[] | Créneaux horaires : id, label, start, end |
capacity[date][slotId or "_all"] | Réservations restantes ; 0 signifie complet |
N'affichez une date que si toutes ces conditions sont remplies :
- elle figure dans les
allowedDatesde la règle ; - elle ne figure pas dans
blackouts; capacity[date]._alln'est pas0.
Quand requireDate est vrai, la date est obligatoire. Le metafield est actualisé à chaque modification de vos réglages de livraison et après l'arrivée de commandes. Traitez-le comme en lecture seule : son format est interne et peut changer.
2. Écrire la date choisie
Une seule date pour toute la commande. Attributs du panier :
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_dpest ce que lit la vérification du paiement. Son format estd|YYYY-MM-DD|slotId; laissez le créneau vide quand il n'y a pas de créneaux horaires, par exempled|2026-11-04|.delivery_dateetdelivery_slotsont ce que lisent votre liste de commandes, les étiquettes, l'export CSV et les décomptes de capacité.
Ou une date par produit. Un attribut de ligne :
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 }
}
}
Le _os_dpl propre à une ligne l'emporte sur le _os_dp de la commande. Les lignes qui n'en ont pas utilisent la date de la commande.
3. Vérifier
Allez au paiement avec un produit à date obligatoire.
- Sans date : le paiement affiche « Please choose a delivery date… ».
- Avec une date valide : le paiement se poursuit, et la commande affiche la date dans ses détails supplémentaires.
Des liens plutôt qu'une boutique
Pour vendre par chat, e-mail ou réseaux sociaux, utilisez le Lien de paiement avec date de livraison. Il crée un lien de panier avec la date déjà définie.