# Chat com base na busca

Gere uma resposta com fontes da web usando o saldo da plataforma.

Envie uma pergunta e receba em uma única resposta uma resposta gerada com fontes da web.

Todos os exemplos usam `FELO_API_KEY` a partir da [visão geral](https://openapi.felo.ai/pt-BR/docs/data-api/guides/felo-overview.md). As chamadas usam **saldo da plataforma**, não créditos Pro da Felo. Os exemplos de resposta são ilustrativos; o conteúdo ao vivo e os campos opcionais variam.

## Endpoint

`POST /api/v1/data/chat`

Este é o endpoint de saldo da plataforma. A [API de Busca da Felo](https://openapi.felo.ai/pt-BR/docs/api-reference/chat.md) em `/v2/chat` usa créditos Pro e tem um envelope de resposta diferente.

## Solicitação

| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
| `query` | string | Sim | Pergunta, 1–2.000 caracteres |
| `accept_language` | string | Não | Idioma preferido da resposta, como `en`, `ja` ou `zh-CN`; máximo de 64 caracteres |
| `stream` | boolean | Não | Deve ser `false`; padrão `false` |

Use uma tag de idioma com um código de idioma de 2 a 8 letras e subtags opcionais separadas por hífen, como `zh-TW`. O serviço adiciona essa preferência à solicitação de geração. Se omitida, o serviço upstream escolhe o idioma; não há padrão fixo, e uma pergunta em inglês não garante uma resposta em inglês. A preferência se aplica à resposta gerada; títulos e trechos das fontes mantêm seu idioma original.

Este endpoint retorna JSON sem streaming. Ele não oferece suporte a `stream: true`, SSE, array `messages` ou seleção de modelo.

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/chat" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"Explain retrieval augmented generation and cite sources.","accept_language":"en","stream":false}'
```

## Resposta

HTTP 200 retorna `status: "ok"` e um objeto `data`:

```json
{
  "status": "ok",
  "data": {
    "id": "example-chat-id",
    "message_id": "example-message-id",
    "answer": "Retrieval augmented generation adds retrieved context to a model request...",
    "resources": [
      {"title":"Example reference","link":"https://example.com/guide","snippet":"An overview of retrieval augmented generation."}
    ],
    "query_analysis": {"queries":["retrieval augmented generation"]}
  }
}
```

| Campo | Significado |
|---|---|
| `data.answer` | Resposta gerada |
| `data.resources` | Páginas de origem com títulos, links e trechos |
| `data.query_analysis` | Análise opcional da consulta; pode ser nula |
| `data.id`, `data.message_id` | Identificadores da resposta |

Verifique primeiro o status HTTP e depois leia a resposta e as fontes. Não teste para `status: 200` numérico como você faria com `/v2/chat`.

## Cobrança

`chat` é cobrado por solicitação, não por tokens do modelo. Consulte os [preços atuais](https://openapi.felo.ai/api/v1/data/prices) e [Cobrança e Erros](https://openapi.felo.ai/pt-BR/docs/data-api/guides/felo-billing.md).
