Listar e ver o calendário
Lista as mudanças agendadas com filtros e agrupa as de um mês por dia.
A lista serve para auditar (o que foi aplicado, o que falhou); o calendário serve para ver a agenda. As duas incluem mudanças de todos os estados, inclusive canceladas.
Listar mudanças
/api/v1/admin/scheduled-changesAdminLista mudanças agendadas, da mais antiga para a mais nova
Parâmetros de consulta
fromstring (RFC 3339)Só mudanças com
apply_at a partir daqui. Valor inválido é ignorado sem erro.tostring (RFC 3339)Só mudanças com
apply_at até aqui. Valor inválido é ignorado.entity_typestringproductTipo do alvo.
statusstringscheduledappliedrevertedcancelledfailedEstado da mudança.
Exemplo de requisição: listar
bash
curl "$BASE_URL/api/v1/admin/scheduled-changes?status=scheduled&from=2026-11-01T00:00:00-03:00" \
-H "Authorization: Bearer $TOKEN"Resposta: listar
200Mudanças
json
{
"items": [
{
"id": "2fe513d8-c5e4-44ce-89c5-4287ea725748",
"batch_id": "0d4c8f1a-6b2e-4c9d-9f31-7a5e2b8c0d14",
"entity_type": "product",
"entity_id": "4a6235f6-9132-4945-806d-09c617174c42",
"entity_label": "Teclado Moderno Roxo 00048",
"field": "price",
"new_value": 8990,
"apply_at": "2026-11-27T03:00:00Z",
"revert_at": "2026-11-30T02:59:00Z",
"status": "scheduled",
"created_by": "67bf291c-0846-4053-9528-8cfd5ab0ebf1",
"created_at": "2026-10-11T15:10:00Z"
}
],
"total": 1
}Campos da resposta
itemsarrayAté 500 mudanças.
iduuidIdentificador da mudança agendada.
batch_iduuidLote em que a mudança foi criada. Todas as mudanças de uma mesma chamada compartilham o lote.
entity_typestringTipo do alvo. Hoje só
product.entity_idstringId do alvo (UUID do produto).
entity_labelstringNome legível do alvo (nome do produto). Se o alvo não existe, repete o
entity_id. Vem vazio na resposta da criação.fieldstringCampo que muda:
price, list_price ou status.new_valueanyValor aplicado em
apply_at. Centavos (inteiro) para price e list_price; texto para status.revert_valueany | omittedValor que o campo tinha quando a mudança foi aplicada. Só existe se há
revert_at e a mudança já foi aplicada.apply_atstring (RFC 3339)Quando aplicar.
revert_atstring (RFC 3339) | nullQuando desfazer.
null = permanente.statusstringscheduledappliedrevertedcancelledfailedscheduled, applied, reverted, cancelled ou failed.errorstring | omittedMotivo da falha, quando
status é failed.created_byuuid | nullUsuário que agendou.
created_atstring (RFC 3339)Quando foi agendada.
totalintegerQuantidade de itens devolvidos (no máximo 500), não o total do banco.
Erros: listar
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente ou inválido. | {"error":"authentication required"} |
| 403 | Falta um destes privilégios: manage_catalog, manage_layout ou manage_content. Vale também para leitura. | {"error":"insufficient privileges","required":"manage_catalog"} |
| 500 | Falha ao consultar. | {"error":"failed","detail":"..."} |
Calendário do mês
/api/v1/admin/scheduled-changes/calendarAdminAgrupa por dia as mudanças de um mês
Parâmetros de consulta
monthstringMês no formato
AAAA-MM. Padrão: o mês atual do servidor.Exemplo de requisição: calendário
bash
curl "$BASE_URL/api/v1/admin/scheduled-changes/calendar?month=2026-11" \
-H "Authorization: Bearer $TOKEN"Resposta: calendário
200Dias com mudanças
json
{
"days": [
{
"date": "2026-11-27",
"items": [
{ "id": "2fe513d8-c5e4-44ce-89c5-4287ea725748", "entity_type": "product", "field": "price", "new_value": 8990, "apply_at": "2026-11-27T03:00:00Z", "status": "scheduled", "...": "demais campos como na lista" }
]
}
]
}Campos da resposta
daysarrayUm objeto por dia que tem mudanças, sem ordem garantida. [] quando o mês está vazio.
datestringDia no formato
AAAA-MM-DD, pela data UTC de apply_at.itemsarrayAs mudanças do dia, no mesmo formato da lista.
Erros: calendário
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente ou inválido. | {"error":"authentication required"} |
| 403 | Falta um destes privilégios: manage_catalog, manage_layout ou manage_content. Vale também para leitura. | {"error":"insufficient privileges","required":"manage_catalog"} |
| 400 | month fora do formato AAAA-MM. | {"error":"failed","detail":"invalid month (want YYYY-MM)"} |