Saúde das predições
Verifica se o último cálculo de cada característica funcionou e quando rodou.
Antes de confiar numa previsão, confira se o cálculo dela está rodando. Esta rota devolve, por característica, o resultado da execução mais recente: se deu certo, se rodou mas não achou nada para prever, ou se falhou. É a primeira coisa a olhar quando um selo de previsão não aparece ou parece velho.
Qualquer seller pode chamar; não há privilégio específico. Não exige o cabeçalho X-Tenant-ID. O resultado é o da loja, igual para todos os sellers: não é filtrado pelo seu seller.
/api/v1/vendor/predictions/healthSellerLê a saúde dos cálculos de predição
Sem parâmetros.
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/vendor/predictions/health" \
-H "Authorization: Bearer $TOKEN"Resposta
200Saúde retornada
json
{
"features": [
{
"feature_id": "a1_stock_runway",
"status": "ok",
"rows_written": 4998,
"duration_ms": 4153,
"run_at": "2026-09-08T06:15:21.786937Z"
},
{
"feature_id": "c6_persona",
"status": "empty",
"rows_written": 0,
"duration_ms": 2,
"run_at": "2026-07-27T05:15:12.449754Z"
}
],
"generated_at": "2026-10-11T14:00:00Z"
}Campos da resposta
featuresarrayUma linha por característica que já rodou ao menos uma vez nesta loja, na ordem do id. Características que nunca rodaram não aparecem.
features[].feature_idstringId da característica, com o código (por exemplo
a1_stock_runway). Veja o catálogo.features[].statusstringokemptyfailedok: calculou e gravou linhas. empty: rodou sem erro, mas não havia o que prever (por exemplo, sem dados suficientes). failed: deu erro; veja error.features[].rows_writtenintegerQuantas previsões a execução gravou.
features[].duration_msintegerDuração da execução, em milissegundos.
features[].errorstringTexto do erro quando
status é failed. Omitido nos demais.features[].run_atstringQuando a execução aconteceu (RFC 3339, UTC).
generated_atstringInstante em que esta resposta foi montada (RFC 3339, UTC).
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O token não é de um usuário seller, ou a conta não tem um seller vinculado. | {"error":"insufficient permissions"} ou {"error":"no vendor account associated with this user"} |
| 500 | Falha ao consultar o histórico de execuções. | {"error":"failed to load ml health"} |