Feriados da entrega
Lista, cadastra e remove os dias sem expediente que a promessa de entrega pula, e carrega os feriados nacionais de um ano.
Um feriado cadastrado aqui deixa de contar como dia útil na conta da promessa de entrega. Há feriados de data fixa que se repetem todo ano (recurring: true, como o Natal) e feriados de um único ano (como o Carnaval). O atalho seed carrega de uma vez os feriados nacionais do Brasil de um ano.
Listar feriados
/api/v1/admin/delivery-window/holidaysAdminLista os feriados da entrega
Exige o privilégio manage_shipping (também para ler) e o módulo delivery-window ligado. Ordenado por data.
Exemplo de requisição
curl "$BASE_URL/api/v1/admin/delivery-window/holidays" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"holidays": [
{
"id": "d1a12515-2955-4e0e-9b42-38b02da81d7f",
"date": "2026-01-01",
"name": "Ano Novo (Confraternização Universal)",
"recurring": true,
"created_at": "2026-06-29T03:48:43.023826Z"
}
],
"total": 1
}Campos da resposta
holidaysarraytotalintegerholidays[].iduuidholidays[].datestringAAAA-MM-DD.holidays[].namestringholidays[].recurringbooleanholidays[].created_atstringCadastrar um feriado
Cada data aceita um único feriado. Cadastrar uma data que já existe é recusado.
/api/v1/admin/delivery-window/holidaysAdminCadastra um feriado
Exige o privilégio manage_shipping (também para ler) e o módulo delivery-window ligado.
Corpo da requisição
datestringobrigatórioAAAA-MM-DD (não aceita data e hora).namestringobrigatóriorecurringbooleanpadrão: falseExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/delivery-window/holidays" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"date": "2026-12-24",
"name": "Véspera de Natal (ponto facultativo)",
"recurring": true
}'Resposta
{
"id": "63f41f58-8158-439a-af6e-d5ab948ff4f6",
"date": "2026-12-24",
"name": "Véspera de Natal (ponto facultativo)",
"recurring": true,
"created_at": "2026-06-29T03:48:43.023826Z"
}Remover um feriado
/api/v1/admin/delivery-window/holidays/{id}AdminRemove um feriado
Exige o privilégio manage_shipping (também para ler) e o módulo delivery-window ligado.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X DELETE "$BASE_URL/api/v1/admin/delivery-window/holidays/$HOLIDAY_ID" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"message": "holiday removed"
}Carregar os feriados nacionais
Insere os feriados nacionais do Brasil do ano pedido. Datas que já existem são mantidas como estão. É seguro repetir a chamada.
/api/v1/admin/delivery-window/holidays/seedAdminCarrega os feriados nacionais de um ano
Exige o privilégio manage_shipping (também para ler) e o módulo delivery-window ligado. Sem corpo.
Parâmetros de consulta
yearintegerExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/delivery-window/holidays/seed?year=2027" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"message": "Brazilian holidays seeded",
"year": 2027,
"inserted": 12
}Campos da resposta
messagestringyearintegerinsertedintegerErros
| 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; date ou name vazios; data em formato diferente de AAAA-MM-DD; data já cadastrada; feriado inexistente; id que não é UUID | {"error":"a holiday already exists for date 2099-12-25"} / {"error":"holiday not found"} / {"error":"date and name are required"} |
| 500 | Falha ao listar ou carregar | {"error":"failed to seed holidays","detail":"..."} |