Data de entrega
Estima a data de chegada de um produto, ou de vários de uma vez, considerando preparo, horário de corte e dias úteis.
A janela de entrega é o módulo que transforma "prazo em dias" numa data: considera quanto tempo a loja leva para separar o pedido, até que horas ela ainda despacha no mesmo dia, e pula fins de semana e feriados. O resultado é o que a vitrine mostra como "Receba até quinta, 15/out".
Data de um produto
/api/v1/storefront/delivery-estimatePúblicaData estimada de entrega de um produto
Estima a data em que um produto chega, somando o tempo de preparo da loja, o horário de corte, o calendário de dias úteis e feriados e o prazo do método. Exige o módulo delivery-window.
Parâmetros de consulta
product_iduuidpostal_codestringshipping_method_iduuidmin_daysintegermax_daysintegermin_days/max_days para a data bater com o prazo de uma cotação em tempo real.Exemplo de requisição
Resposta
Campos da resposta
earliest_datestringYYYY-MM-DD.latest_datestringYYYY-MM-DD.business_daysintegerbusiness_days_minintegerdisplay_textstringdisplay_formatstringdate_rangebusiness_dayshiddendate_range (mostrar a data), business_days (mostrar "X-Y dias úteis") ou hidden (nunca mostrar data de calendário).buy_by_datestringYYYY-MM-DD), só em janelas de dia fixo. Ausente nas demais.fixed_windowbooleantrue) quando a data vem da regra de dia fixo, que conta dias corridos (sem feriados nem horário de corte).Erros
| Status | Quando | Corpo |
|---|---|---|
| 403 | Módulo delivery-window desligado na loja. | {"error":"module_disabled","module":"delivery-window"} |
| 500 | Falha ao calcular a data (por exemplo product_id que não é UUID). | {"error":"failed to calculate delivery estimate","detail":"..."} |
Promessa em lote
/api/v1/storefront/delivery-promisePúblicaPromessa de entrega em lote
Para listagens e carrinho: resolve, numa só chamada, a promessa mais cedo de cada produto para um CEP. Produto sem método elegível simplesmente não aparece no resultado (sem selo, sem erro). Exige o módulo delivery-window.
Corpo da requisição
postal_codestringobrigatóriopromises vazio (sem chute nacional).product_idsuuid[]obrigatórioExemplo de requisição
Resposta
Campos da resposta
postal_codestringpromisesobjectpromises.{id}.delivery_datestringYYYY-MM-DD.promises.{id}.formattedstringpromises.{id}.method_iduuidpromises.{id}.method_namestringpromises.{id}.cutoff_atstringpromises.{id}.ships_todaybooleantrue quando um pedido feito agora ainda é despachado hoje.promises.{id}.display_formatstringdisplay_format acima. A data só deve aparecer em date_range.Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo que não é JSON. | {"error":"invalid request body","detail":"..."} |
| 403 | Módulo delivery-window desligado na loja. | {"error":"module_disabled","module":"delivery-window"} |
| 500 | Falha ao calcular as promessas. | {"error":"failed to calculate delivery promises","detail":"..."} |