Método HTTP GET
Autenticação: API Key + API Secret
Rankings
Ranking dinâmico por métrica
Ranking customizado por `metric`, `order`, `top` e filtros.
Resumo técnico
- Método
- Método HTTP GET
- Rota
- /rankings/custom
- URL completa
- https://uzjxyrtbszreqxjvpzpv.supabase.co/functions/v1/public-catalog-phase1/rankings/custom
Quando usar
Use para jornadas analíticas parametrizáveis.
Headers obrigatórios
| Header | Obrigatório | Descrição | Exemplo |
|---|---|---|---|
| X-API-Key | Sim | Chave pública fornecida para consumo da API pública. | SUA_PUBLIC_KEY |
| X-API-Secret | Sim | Segredo pareado à API Key para autenticação. | SEU_SECRET |
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| marca | string | Não | Filtra por marca (ilike). | - |
| modelo | string | Não | Filtra por modelo (ilike). | - |
| categoria | string | Não | Filtra por categoria (ilike). | - |
| combustivel | string | Não | Filtra por combustível (ilike). | - |
| propulsao | string | Não | Filtra por tipo de propulsão (ilike). | - |
| transmissao | string | Não | Filtra por transmissão (ilike). | - |
| ano | number | Não | Ano exato (1900-2100); equivalente a ano_min=<ano>&ano_max=<ano>. | 2023 |
| ano_min | number | Não | Ano mínimo (1900-2100). | 2020 |
| ano_max | number | Não | Ano máximo (1900-2100). | 2026 |
| metric | enum | Não | Métrica: eco_score|consumo|co2|autonomia|eficiencia. | eco_score |
| order | enum | Não | Ordenação: asc|desc. | desc |
| top | number | Não | Quantidade de itens (1-100). | 10 |
Campos principais da resposta
Retorna `data.data.items[]` (RankingBaseItem) e `data.meta.filters_applied` contendo filtros + metric/order/top.
| Nome | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| data.data.items[].vehicleId | string | Não | Campo retornado pelo endpoint. | - |
| data.data.items[].ecoScore | string | Não | Campo retornado pelo endpoint. | - |
| data.data.items[].consumoReferencia | string | Não | Campo retornado pelo endpoint. | - |
| data.data.items[].co2ReferenciaGKm | string | Não | Campo retornado pelo endpoint. | - |
| data.data.items[].autonomiaKm | string | Não | Campo retornado pelo endpoint. | - |
| data.data.items[].eficienciaMediaReferencia | string | Não | Campo retornado pelo endpoint. | - |
| data.meta.filters_applied.metric | string | Não | Campo retornado pelo endpoint. | - |
| data.meta.filters_applied.order | string | Não | Campo retornado pelo endpoint. | - |
| data.meta.filters_applied.top | string | Não | Campo retornado pelo endpoint. | - |
Cenários de uso
- Exibir rankings específicos (most-economical, lowest-co2, electric-range) usando `ranking_type` + `items`.
- Gerar ranking customizado/segmentado consumindo `filters_applied` do meta.
Exemplos de integração
Os exemplos desta documentação utilizam dados fictícios/mockados para fins ilustrativos, mas seguem a estrutura oficial real da API.
Nunca exponha X-API-Secret em aplicações front-end públicas. Para aplicações web públicas, faça a chamada a partir do seu backend.
Exemplo de integração (cURL)
curl -X GET "https://uzjxyrtbszreqxjvpzpv.supabase.co/functions/v1/public-catalog-phase1/rankings/custom?metric=eco_score&order=desc&top=10&marca=Toyota" \
-H "X-API-Key: SUA_PUBLIC_KEY" \
-H "X-API-Secret: SEU_SECRET"Os exemplos desta documentação utilizam dados fictícios/mockados para fins ilustrativos, mas seguem a estrutura oficial real da API.
Exemplo de resposta
{
"success": true,
"data": {
"data": {
"items": [
{
"vehicleId": "001af754-592a-42ce-8227-01c958d4de3c",
"marca": "Toyota",
"modelo": "Corolla",
"versao": "Altis",
"ano": 2025,
"categoria": "Sedan",
"combustivelTipo": "Flex",
"tipoPropulsao": "Combustão",
"transmissaoTipo": null,
"ecoScore": 72.2,
"consumoReferencia": 1.55,
"co2ReferenciaGKm": 98,
"autonomiaKm": 650,
"eficienciaMediaReferencia": 13.2
}
]
},
"meta": {
"generated_at": "2026-04-17T22:03:16.372Z",
"request_id": "762f6abe-1846-4c04-a979-e348c3e0c072",
"filters_applied": {
"metric": "eco_score",
"order": "desc",
"top": 10,
"marca": "Toyota"
}
}
}
}Erros possíveis (exemplo de payload)
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Parâmetros inválidos: page deve ser maior que 0"
}
}