Agentes de compra con IA y tiendas personalizadas
Agentes de compra con IA (ChatGPT, Gemini, Copilot) y enlaces de la app Shop
Todavía no pueden elegir una fecha de entrega. Shopify no ofrece a las apps ninguna forma de pedírsela a un agente. Tus reglas de fecha se siguen aplicando a sus pedidos en el checkout:
- Con Bloquear, el checkout pide al cliente que termine en tu tienda y elija la fecha.
- Con Aceptar, el pedido se completa y el cliente elige la fecha en la página de confirmación del pedido (agradecimiento), o más tarde en la página de estado del pedido una vez que ha iniciado sesión en su cuenta.
Consulta Pedidos sin fecha de entrega.
Avisa a los agentes de que se necesita una fecha
OrderRules → Fechas de entrega → Pedidos y preparación → Indica a los agentes de IA que se necesita una fecha. Copia la pregunta frecuente lista para usar y añádela a la app gratuita Knowledge Base de Shopify, que los agentes de IA consultan cuando los compradores preguntan por tu tienda. Añadir la misma frase a tu política de envíos también ayuda.

Tiendas personalizadas (Hydrogen, headless, agentes propios)
El selector de fecha de entrega de OrderRules es un bloque de app de tema, así que solo aparece en los temas de Online Store. Una tienda creada con la Storefront API se lo salta, sea Hydrogen o una app personalizada de React o Next.js. El checkout sigue aplicando tus reglas.
Para que los compradores elijan la fecha en tu propia tienda, escríbela en el carrito con los mismos campos que usa el selector. Las consultas de abajo son para la Storefront API 2026-10.
1. Lee las fechas abiertas
query OrderRulesDelivery {
shop {
metafield(namespace: "order_rules", key: "delivery") { value }
}
}
value es JSON. Las partes que necesitas:
| Campo | Significado |
|---|---|
rules[] | Reglas de entrega: id, scope (storewide / product / collection / tag), requireDate, requireSlot, slotTemplateId, allowedDates (YYYY-MM-DD, ya descontadas la hora límite y la antelación) |
defaultRuleId | La regla de toda la tienda, si existe |
productRuleMap | Id numérico de producto → id de regla |
collectionProductIds / tagProductIds | Qué productos cubre una regla de colección o de etiqueta |
blackouts | Fechas cerradas (YYYY-MM-DD) |
slotTemplates[id].windows[] | Franjas horarias: id, label, start, end |
capacity[date][slotId or "_all"] | Reservas restantes; 0 significa completo |
Muestra una fecha solo si se cumplen todas estas condiciones:
- está en los
allowedDatesde la regla; - no está en
blackouts; capacity[date]._allno es0.
Cuando requireDate es true, la fecha es obligatoria. El metacampo se actualiza cada vez que cambias tus ajustes de entrega y después de que lleguen pedidos. Trátalo como de solo lectura: el formato es interno y puede cambiar.
2. Escribe la fecha elegida
Una fecha para todo el pedido. Atributos del carrito:
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_dpes lo que lee la comprobación del checkout. Su formato esd|YYYY-MM-DD|slotId; deja la franja vacía cuando no hay franjas horarias, por ejemplod|2026-11-04|.delivery_dateydelivery_slotson lo que leen tu lista de pedidos, las etiquetas, la exportación CSV y los recuentos de capacidad.
O una fecha por producto. Un atributo de línea:
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 }
}
}
El _os_dpl propio de una línea prevalece sobre el _os_dp del pedido. Las líneas que no lo tienen usan la fecha del pedido.
3. Compruébalo
Ve al checkout con un producto que exija fecha.
- Sin fecha: el checkout muestra «Please choose a delivery date…».
- Con una fecha válida: el checkout continúa, y el pedido muestra la fecha en sus detalles adicionales.
Enlaces en lugar de una tienda
Para ventas por chat, correo o redes sociales, usa Enlace de pago con fecha de entrega. Crea un enlace de carrito con la fecha ya definida.