SDK in abbonamento
OAuth per utente · limiti del piano condivisi tra le app · modello gestito da Pura.
Cerchi le API a consumo?Chat e streaming
Contratto OpenAI-compatible degli endpoint delegati.
Richiesta chat
POST /v1/integrations/inference/chat/completions richiede Authorization: Bearer ACCESS_TOKEN, lo scope inference e messages. Non inviare model: il servizio sceglie il modello per la richiesta in abbonamento. Usa lo stesso endpoint per chat e streaming. I campi model e gli override di routing, credenziali e metadata non sono supportati e restituiscono 422.
curl https://ai.puradigital.it/v1/integrations/inference/chat/completions \
-H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"messages":[{"role":"user","content":"Hello"}]}'Verifica i servizi disponibili
GET /v1/integrations/inference/capabilities restituisce services.chat e services.audio_transcription. Controlla questi valori prima di offrire una funzione all’utente. La risposta descrive i servizi disponibili, non un catalogo di modelli. Nelle risposte chat e streaming il campo model è pura.
SSE e cancellazione
Imposta stream=true per ricevere text/event-stream. Interpreta gli eventi SSE fino a [DONE], senza trattare l’intera risposta come un singolo JSON. Un’interruzione della connessione non garantisce l’annullamento della richiesta: il consumo può aggiornarsi anche dopo la chiusura dello stream.
Ammissione e richieste in corso
Puoi avere al massimo due richieste in corso per account, condivise fra tutte le app e fra chat e audio. Gestisci 429 subscription_requests_pending attendendo prima di riprovare; mostra le percentuali aggiornate restituite da usage(), anche se cambiano dopo la risposta.
Timeout e risultato incerto
Se la connessione si interrompe senza una risposta completa, l’esito della richiesta è incerto. Non ripetere automaticamente l’inferenza come se fosse idempotente: una seconda chiamata può consumare nuovamente il piano. Controlla usage() e lascia all’utente la scelta di riprovare.