---
title: "Validação de data de entrega no Shopify: bloqueie datas ausentes, fechadas e lotadas no checkout"
description: "Um seletor de data de entrega só mostra datas. A validação é o que impede que um pedido sem data, com data fechada ou com data lotada passe. Veja as verificações que importam, as mensagens exatas que o cliente vê, três formas de ter isso no Shopify e o que ainda escapa."
contentType: "blog"
locale: "pt-br"
localized: true
source: "https://orderrules.com/pt-br/blog/shopify-delivery-date-validation"
slug: "shopify-delivery-date-validation"
date: "2026-10-31"
tags:
  - "shopify"
  - "delivery dates"
  - "delivery date validation"
  - "checkout validation"
  - "shopify functions"
  - "express checkout"
  - "buy it now"
  - "shop pay"
  - "capacity"
---
**Um seletor de data de entrega mostra datas. A validação as impõe.** No Shopify, validação é uma Cart and Checkout Validation Function: uma verificação que roda nos servidores do Shopify antes do pagamento e barra o pedido se a data estiver ausente, fechada ou lotada. Ela roda em todos os planos do Shopify e em todas as formas de chegar ao checkout, inclusive Shop Pay, Apple Pay e **Comprar agora**. Só um seletor exibido *dentro* da página de checkout exige o Plus.

## Por que um seletor sozinho deixa passar datas inválidas

Um seletor na página do produto ou do carrinho é só uma exibição. Ele deixa em cinza as datas fechadas e lotadas no navegador do cliente, e nada além disso. Os pedidos ainda passam sem uma data válida quando:

- **O cliente usa um botão expresso.** Comprar agora, Shop Pay, Apple Pay e Google Pay na página do produto vão direto ao checkout, então o seletor do carrinho nunca roda. Veja [Comprar agora pula a data de entrega](/blog/shopify-buy-it-now-skips-delivery-date).
- **A data lotou enquanto ele pagava.** O seletor mostrava "1 restante" quando a página carregou. Outra pessoa levou a vaga.
- **O carrinho é de ontem.** Ele escolheu uma data, voltou depois do corte e finalizou a compra.
- **O carrinho lateral não mostra o seletor,** ou o tema mudou e o bloco do seletor foi removido.
- **Alguém edita a data de entrega do carrinho** à mão ou com um script.

A opção gratuita do próprio Shopify, um seletor de data adicionado à página do carrinho com código do tema, tem a mesma lacuna: ela coleta uma data, mas nada a verifica no checkout.

## As verificações que a validação de data de entrega deve fazer

Estas são as verificações que o OrderRules faz no checkout, com a mensagem que o cliente vê por padrão:

| Verificação | O que ela pega | Mensagem padrão |
|---|---|---|
| Data obrigatória | Nenhuma data, muitas vezes por Comprar agora ou Shop Pay | Escolha uma data de entrega antes de finalizar a compra. |
| Data permitida | Datas passadas, dentro do prazo mínimo ou após o corte, em um dia da semana em que você não entrega, além do seu horizonte de reservas | Essa data de entrega não está mais disponível. Escolha outra. |
| Data fechada | Uma data bloqueada, como um feriado | Não realizamos entregas na data selecionada. Escolha outra. |
| Dia lotado | A data atingiu o seu máximo de pedidos por data de entrega | A entrega em `{date}` está esgotada. Escolha outra data. |
| Faixa de horário | Nenhuma faixa escolhida, ou a faixa está lotada | Escolha um horário de entrega. / Esse horário de entrega está esgotado. Escolha outro. |
| Limite de produto por data | Mais unidades de um produto do que restam para aquela data | Only `{n}` left for delivery on `{date}`. Please reduce the quantity or choose another date. |
| Método | Itens só de retirada e só de entrega misturados, ou o método errado | Alguns itens no seu carrinho exigem métodos de processamento diferentes e não podem ser comprados juntos. |
| Retirada | Sem data, local ou horário de retirada; um dia ou faixa de retirada fechado ou lotado | Escolha uma data de retirada antes de finalizar a compra. (e mais cinco) |

Se a verificação de um app no checkout cobre só a primeira linha, ela barra pedidos sem data, mas não os que excedem a capacidade.

## Três formas de ter validação no Shopify

**1. Crie sua própria Function de validação.** Um desenvolvedor escreve uma Cart and Checkout Validation Function que lê a data de entrega do carrinho e retorna um erro se ela não for permitida. Ela roda em todos os planos. Uma Function não consegue consultar um banco de dados enquanto roda, então as suas datas permitidas e as contagens de reservas precisam ser gravadas antes em um metafield e mantidas atualizadas. Esse é o grosso do trabalho. As [Functions de validação do Shopify explicadas](/blog/shopify-checkout-validation-functions-block-orders) cobrem a mecânica.

**2. Use um app de seletor de data com validação no checkout.** Faça cinco perguntas antes de instalar:

1. Ele usa uma Cart and Checkout Validation Function ou só JavaScript do tema?
2. Ele barra pedidos de Comprar agora, Shop Pay e Apple Pay sem data?
3. Em quais planos do Shopify a verificação roda?
4. Ele reconfere datas e faixas lotadas no checkout ou só as esconde no seletor?
5. Você pode editar as mensagens em todos os idiomas em que vende?

Nossa [comparação de apps de seletor de data de entrega](/blog/best-shopify-delivery-date-picker-apps) marca quais apps impõem a data no checkout e quais só a exibem.

**3. No Shopify Plus, coloque o seletor dentro do checkout.** Uma extensão de UI de checkout mostra o calendário na página de checkout, então quem usa pagamento expresso também o vê. Ainda é só uma exibição: combine-a com uma Function de validação, ou uma data pode ser pulada ou ficar desatualizada.

## Configure no OrderRules

1. No plano **Advanced**, abra sua regra de disponibilidade e ative **Exigir uma data de entrega no checkout** (e **Exigir uma faixa de horário** se você usa faixas).
2. No Shopify, abra **Configurações → Checkout**, role até **Regras de checkout** e confira se a regra do OrderRules está ligada.
3. Defina o que a validação verifica: **Máximo de pedidos por data de entrega**, **Limite/dia** em cada faixa de horário, limites de produto contados por **Data de entrega** e datas bloqueadas.
4. Em **Mensagens do checkout**, edite qualquer mensagem ou aplique um pacote de idiomas.
5. Teste sem data, com uma data fechada e com uma data lotada, pelo carrinho, por **Comprar agora** e pelo Shop Pay. Uma [loja de desenvolvimento](/docs/getting-started/test-on-development-store) é o lugar mais seguro para testar primeiro.

## O que a validação não pega

- **Dois checkouts no mesmo segundo** para a última vaga podem passar os dois. A validação lê o que está reservado; ela não mantém um bloqueio.
- **Logo após um corte,** uma data pode passar no checkout por um curto período até o app atualizar a lista de datas permitidas. O seletor na página tira a data imediatamente.
- **Pedidos que pulam o checkout** não são verificados: Shopify POS, renovações de assinatura, pedidos criados no admin e marcados como pagos, e pedidos de outros apps ou da Admin API. Eles ainda contam para os seus limites.
- **Edições após a compra.** Alterar a data de um pedido no admin do Shopify não é verificado e não move a vaga dele.
- **CEPs e zonas.** O OrderRules não confere o endereço. Para parar de entregar em uma área, deixe-a de fora das suas zonas de envio do Shopify.

Mais em [compatibilidade e limitações conhecidas](/docs/guides/compatibility-and-limitations).

## Relacionados

- [Comprar agora pula a data de entrega](/blog/shopify-buy-it-now-skips-delivery-date) · [Como funciona a validação de checkout](/blog/shopify-checkout-validation-functions-block-orders) · [Melhores apps de seletor de data de entrega](/blog/best-shopify-delivery-date-picker-apps)
- [Data de entrega no checkout (Plus)](/docs/delivery/delivery-date-at-checkout) · [Limites de data de entrega](/docs/delivery/delivery-date-limits)
