Simular a data de entrega
Calcula a data de entrega que a loja prometeria agora para um produto, um método de envio e um CEP, sem gravar nada.
Use esta rota para conferir uma configuração antes de publicá-la, ou para depurar uma promessa que parece errada. Ela roda exatamente o mesmo cálculo da página do produto, com a hora atual, e devolve as datas e o texto que o cliente veria. Nada é gravado.
Simular
/api/v1/admin/delivery-window/previewAdminSimula a data de entrega
Exige o privilégio manage_shipping (também para ler) e o módulo delivery-window ligado.
Corpo da requisição
product_iduuidProduto. Se informado e o produto tem
processing_days maior que zero, ele substitui o preparo padrão. Opcional.shipping_method_iduuidMétodo de envio, para obter os dias de transporte. Sem ele (ou desativado), o transporte conta zero dia.
postal_codestringCEP de destino, para escolher o prazo da área do endereço.
Exemplo de requisição
bash
curl -X POST "$BASE_URL/api/v1/admin/delivery-window/preview" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"product_id": "d8a6c5e7-8e44-4055-a0e2-49014f5d17f6",
"shipping_method_id": "50000000-0000-0000-0000-000000000001",
"postal_code": "01310-100"
}'Resposta
200Estimativa
json
{
"earliest_date": "2026-10-15",
"latest_date": "2026-10-16",
"business_days": 2,
"business_days_min": 2,
"display_text": "qui., 15 de out.",
"display_format": "date_range"
}Campos da resposta
earliest_datestringData mais cedo,
AAAA-MM-DD.latest_datestringData mais tarde,
AAAA-MM-DD.business_daysintegerDias úteis totais até a data mais tarde (preparo + transporte máximo).
business_days_minintegerDias úteis totais até a data mais cedo.
display_textstringTexto pronto para mostrar, no formato de
display_format, em português.display_formatstringdate_rangebusiness_dayshiddenFormato de exibição da loja.
buy_by_datestringSó em entrega de dia fixo: último dia para comprar e pegar o próximo fechamento.
fixed_windowbooleanPresente e verdadeiro quando a data veio de uma regra de dia fixo, não do calendário comum.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado | {"error":"invalid or expired token"} |
| 403 | Sem o privilégio manage_shipping | {"error":"insufficient privileges","privilege_required_any":["manage_shipping"]} |
| 403 | Módulo delivery-window desligado | {"error":"module_disabled","module":"delivery-window"} |
| 400 | Corpo que não é JSON | {"error":"invalid request body","detail":"..."} |
| 500 | shipping_method_id ou product_id que não é UUID, ou método inexistente | {"error":"failed to calculate delivery estimate","detail":"..."} |