Método HTTP POST
Autenticação: API Key + API Secret
Comparação
Comparar 2 a 4 veículos
Compara veículos e retorna vencedores por critério e vencedor geral.
Resumo técnico
- Método
- Método HTTP POST
- Rota
- /compare
- URL completa
- https://uzjxyrtbszreqxjvpzpv.supabase.co/functions/v1/public-catalog-phase1/compare
Quando usar
Use em jornadas de decisão entre veículos.
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 |
| Content-Type | Sim | Formato JSON do payload. | application/json |
Corpo da requisição
| Nome | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| vehicle_ids | uuid[] | Sim | Lista com 2 a 4 UUIDs. | - |
Exemplo de payload de requisição
Exemplo de body (JSON)
{
"vehicle_ids": [
"001af754-592a-42ce-8227-01c958d4de3c",
"001c09ef-0e8a-495f-a460-c34d00bc83f5"
]
}Campos principais da resposta
Retorna `vehicles`, `criteria`, `winner_by_criterion`, `ties`, `missing_data` e `summary`.
| Nome | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| data.data.vehicles[] | string | Não | Campo retornado pelo endpoint. | - |
| data.data.criteria[] | string | Não | Campo retornado pelo endpoint. | - |
| data.data.winner_by_criterion | string | Não | Campo retornado pelo endpoint. | - |
| data.data.ties[] | string | Não | Campo retornado pelo endpoint. | - |
| data.data.missing_data | string | Não | Campo retornado pelo endpoint. | - |
| data.data.summary.score_geral[] | string | Não | Campo retornado pelo endpoint. | - |
| data.data.summary.vencedor_geral | string | Não | Campo retornado pelo endpoint. | - |
Cenários de uso
- Comparar entre 2 e 4 veículos com body estrito `{ vehicle_ids: uuid[] }`.
- Mostrar vencedores por critério com `winner_by_criterion` e empates em `ties`.
- Tratar `missing_data` e `vehicles_not_found` para casos incompletos.
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 POST "https://uzjxyrtbszreqxjvpzpv.supabase.co/functions/v1/public-catalog-phase1/compare" \
-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": {
"vehicles": [
{
"vehicle_id": "001af754-592a-42ce-8227-01c958d4de3c",
"eco_score": 72.2,
"eco_faixa": "B",
"computed": {
"co2_referencia_g_km": 98,
"eficiencia_media_referencia": 13.2,
"autonomia_km": 650,
"custo_anual_estimado": 5636.36
}
}
],
"criteria": [
{
"key": "eco_score",
"direction": "max"
},
{
"key": "co2_referencia_g_km",
"direction": "min"
},
{
"key": "eficiencia_media_referencia",
"direction": "max"
},
{
"key": "autonomia_km",
"direction": "max"
}
],
"winner_by_criterion": {
"eco_score": [
"001af754-592a-42ce-8227-01c958d4de3c"
]
},
"ties": [],
"missing_data": {
"vehicles_not_found": []
},
"summary": {
"score_geral": [
{
"vehicle_id": "001af754-592a-42ce-8227-01c958d4de3c",
"score_geral_final": 4
}
],
"vencedor_geral": "001af754-592a-42ce-8227-01c958d4de3c"
}
},
"meta": {
"generated_at": "2026-04-17T22:03:16.372Z",
"request_id": "762f6abe-1846-4c04-a979-e348c3e0c072"
}
}
}Erros possíveis (exemplo de payload)
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Parâmetros inválidos: page deve ser maior que 0"
}
}