Linha do tempo do pedido
Lê as etapas que a loja quer mostrar ao cliente para acompanhar o pedido (recebido, pago, faturado, em trânsito, entregue) e a quais status cada etapa corresponde.
A linha do tempo do pedido é a barra de progresso que o cliente vê na página do pedido e no e-mail. Cada loja tem seus status internos (veja Status de pedido), mas ao cliente ela mostra poucas etapas com nomes simples. Esta rota entrega a tradução: uma lista ordenada de etapas, cada uma com os status que a fazem "acender" e o texto em cada idioma.
/api/v1/storefront/settings/order-timelinePúblicaConsulta as etapas da linha do tempo do pedido
Pública porque quem acompanha o pedido pelo link do e-mail pode não estar logado; a configuração só traz os nomes das etapas. Nunca devolve 500: se a leitura falhar, responde 200 com o desenho padrão.
Exemplo de requisição
curl "$BASE_URL/api/v1/storefront/settings/order-timeline"Resposta
{
"enabled": true,
"steps": [
{ "statuses": ["O", "P", "H", "B"], "labels": { "en": "Order received", "pt-BR": "Pedido recebido" } },
{ "statuses": ["A"], "labels": { "en": "Payment approved", "pt-BR": "Pagamento aprovado" } },
{ "statuses": [], "labels": { "en": "Order invoiced", "pt-BR": "Pedido faturado" } },
{ "statuses": ["S"], "labels": { "en": "In transit", "pt-BR": "Transporte em andamento" } },
{ "statuses": ["C", "K"], "labels": { "en": "Delivered", "pt-BR": "Entrega realizada" } }
]
}Campos da resposta
enabledbooleanfalse: a loja não quer a barra de progresso. Não a mostre.stepsarraysteps[].statusesarraysteps[].labelsobjectpt-BR, en). Se o idioma do cliente faltar, use pt-BR; se também faltar, use qualquer texto preenchido.Como usar
Pegue a letra do status do pedido e procure a última etapa cujo statuses a contém: ela é a etapa atual, e todas as anteriores ficam marcadas como concluídas. Uma etapa com statuses vazio (no exemplo, "Pedido faturado") não tem status próprio: ela acende sozinha quando uma etapa seguinte é alcançada.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 404 | Loja não identificada | {"error":"tenant not found","message":"could not resolve storefront from request"} |