Método HTTP GET
Autenticação: API Key + API Secret
Agregações
Agregações por combustível
Retorna métricas agregadas por tipo de combustível, incluindo quantidade de veículos, consumo médio, emissão média e eco score médio.
Resumo técnico
- Método
- Método HTTP GET
- Rota
- /aggregations/by-fuel
- URL completa
- https://uzjxyrtbszreqxjvpzpv.supabase.co/functions/v1/public-catalog-phase1/aggregations/by-fuel
Quando usar
Use em análise da matriz energética.
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 |
Campos principais da resposta
Retorna um objeto com `items` agregados por combustível em `data.data.items`, além de metadados em `data.meta`, incluindo `generated_at`, `request_id` e `filters_applied`.
| Nome | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| success | - | Não | Campo principal do retorno. | - |
| data.data.items[].grupo | - | Não | Campo principal do retorno. | - |
| data.data.items[].quantidadeVeiculos | - | Não | Campo principal do retorno. | - |
| data.data.items[].consumoMedio | - | Não | Campo principal do retorno. | - |
| data.data.items[].emissaoMedia | - | Não | Campo principal do retorno. | - |
| data.data.items[].ecoScoreMedio | - | Não | Campo principal do retorno. | - |
| data.meta.generated_at | - | Não | Campo principal do retorno. | - |
| data.meta.request_id | - | Não | Campo principal do retorno. | - |
| data.meta.filters_applied | - | Não | Campo principal do retorno. | - |
Cenários de uso
- Alimentar dashboards com `data.data.items` por grupo (brand/year/fuel/category).
- Usar endpoints de distribuição para histogramas (`faixa`, `total`).
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/aggregations/by-fuel" \
-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": [
{
"grupo": "Flex",
"quantidadeVeiculos": 412,
"consumoMedio": 1.8705,
"emissaoMedia": 114.9096,
"ecoScoreMedio": 51.4296
},
{
"grupo": "Gasolina",
"quantidadeVeiculos": 405,
"consumoMedio": 2.3504,
"emissaoMedia": 141.3234,
"ecoScoreMedio": 45.4099
},
{
"grupo": "Diesel",
"quantidadeVeiculos": 122,
"consumoMedio": 2.6988,
"emissaoMedia": 199.1881,
"ecoScoreMedio": 34.0656
},
{
"grupo": "Elétrico",
"quantidadeVeiculos": 60,
"consumoMedio": 0.6522,
"emissaoMedia": 0,
"ecoScoreMedio": 76.9167
},
{
"grupo": "N/A",
"quantidadeVeiculos": 1,
"consumoMedio": null,
"emissaoMedia": null,
"ecoScoreMedio": 50
}
]
},
"meta": {
"generated_at": "2026-04-17T22:03:16.372Z",
"request_id": "762f6abe-1846-4c04-a979-e348c3e0c072",
"filters_applied": {}
}
}
}Erros possíveis (exemplo de payload)
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Parâmetros inválidos: page deve ser maior que 0"
}
}