# Chat basata sulla ricerca

Genera una risposta con fonti web usando il saldo della piattaforma.

Invia una domanda e ricevi in un'unica risposta una risposta generata con fonti web.

Tutti gli esempi usano `FELO_API_KEY` dalla [panoramica](https://openapi.felo.ai/it/docs/data-api/guides/felo-overview.md). Le chiamate usano **il saldo della piattaforma**, non i crediti Felo Pro. Gli esempi di risposta sono illustrativi; il contenuto live e i campi opzionali variano.

## Endpoint

`POST /api/v1/data/chat`

Questo è l'endpoint del saldo della piattaforma. La [Felo Search API](https://openapi.felo.ai/it/docs/api-reference/chat.md) su `/v2/chat` usa i crediti Pro e ha un envelope di risposta diverso.

## Richiesta

| Campo | Tipo | Obbligatorio | Significato |
|---|---|---|---|
| `query` | string | Sì | Domanda, 1–2.000 caratteri |
| `accept_language` | string | No | Lingua preferita della risposta, ad esempio `en`, `ja` o `zh-CN`; massimo 64 caratteri |
| `stream` | boolean | No | Deve essere `false`; predefinito `false` |

Usa un tag lingua con un codice lingua di 2–8 lettere e subtags opzionali separati da trattini, ad esempio `zh-TW`. Il servizio aggiunge questa preferenza alla richiesta di generazione. Se omessa, il servizio upstream sceglie la lingua; non esiste un valore predefinito fisso e una domanda in inglese non garantisce una risposta in inglese. La preferenza si applica alla risposta generata; i titoli e gli estratti delle fonti mantengono la loro lingua originale.

Questo endpoint restituisce JSON non in streaming. Non supporta `stream: true`, SSE, un array `messages` o la selezione del modello.

```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}'
```

## Risposta

HTTP 200 restituisce `status: "ok"` e un oggetto `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 | Significato |
|---|---|
| `data.answer` | Risposta generata |
| `data.resources` | Pagine fonte con titoli, link e snippet |
| `data.query_analysis` | Analisi della query opzionale; può essere null |
| `data.id`, `data.message_id` | Identificatori della risposta |

Controlla prima lo stato HTTP, poi leggi la risposta e le fonti. Non verificare `status: 200` numerico come faresti con `/v2/chat`.

## Fatturazione

`chat` è fatturato per richiesta, non per token del modello. Vedi i [prezzi attuali](https://openapi.felo.ai/api/v1/data/prices) e [Fatturazione ed errori](https://openapi.felo.ai/it/docs/data-api/guides/felo-billing.md).
