API Blu Pantheon
Introduzione alle API REST di Blu Pantheon: ambienti, versionamento, convenzioni e primo esempio funzionante.
Le API di Blu Pantheon sono API REST su HTTPS, con payload JSON e autenticazione tramite token Bearer. Ogni funzione disponibile nella Console è esposta anche via API: puoi automatizzare l'onboarding degli utenti, sincronizzare anagrafiche clienti, leggere conversazioni e statistiche, gestire prenotazioni e consultare consumi e fatture.
Cosa puoi fare
Gestire identità e accessi
Utenti, tenant, ruoli, permessi e chiavi API tramite /identity/v1.
Operare sulla Console
Sessioni, messaggi, clienti, progetti, knowledge base e statistiche.
Leggere consumi e fatture
Abbonamenti, contatori di utilizzo e documenti contabili.
Automatizzare le prenotazioni
Disponibilità, creazione, conferma e annullamento appuntamenti.
Ambienti e base URL
| Ambiente | Base URL | Uso previsto |
|---|---|---|
| Produzione | https://api.blupantheon.com | Traffico reale, dati di clienti reali |
| Staging | https://api.staging.blupantheon.com | Verifiche pre-rilascio con dati anonimizzati |
| Sandbox | https://api.sandbox.blupantheon.com | Sviluppo e test di integrazione, dati sintetici |
Ogni servizio è raggiungibile tramite un prefisso dedicato:
| Prefisso | Servizio | Ambito |
|---|---|---|
/identity/v1 | Identity | Autenticazione, utenti, tenant, ruoli, chiavi API |
/billing/v1 | Billing | Abbonamenti, consumi, fatture |
/booking/v1 | Booking | Disponibilità, prenotazioni |
/console/v1 | Console | Sessioni, clienti, progetti, knowledge base, statistiche |
Un solo host, più servizi
Non esistono host separati per servizio: il routing avviene sul path. La chiamata
GET https://api.blupantheon.com/console/v1/sessions e GET https://api.blupantheon.com/identity/v1/me
usano lo stesso host e la stessa credenziale.
Versionamento
La versione maggiore è espressa nel path (/v1). Le modifiche retrocompatibili — nuovi campi in risposta,
nuovi valori enum documentati come estendibili, nuovi endpoint — vengono rilasciate senza cambiare la versione.
Le modifiche non retrocompatibili comportano una nuova versione maggiore (/v2) e seguono questa politica:
Annuncio
La deprecazione viene comunicata via email agli amministratori del tenant e pubblicata nel changelog, con almeno 12 mesi di preavviso.
Periodo di convivenza
/v1 e /v2 restano attive contemporaneamente. Le risposte degli endpoint deprecati includono
gli header Deprecation e Sunset con la data di dismissione in formato HTTP-date.
Dismissione
Dopo la data indicata in Sunset l'endpoint risponde 410 Gone con codice ENDPOINT_REMOVED.
Puoi fissare esplicitamente la revisione minore inviando l'header X-BP-Api-Version con una data:
curl https://api.blupantheon.com/identity/v1/me \
-H "Authorization: Bearer bp_live_xxxxxxxxxxxxxxxx" \
-H "X-BP-Api-Version: 2026-09-01"Se l'header è assente viene usata la revisione più recente compatibile con /v1.
Convenzioni
- Formato: richieste e risposte in
application/json, codificaUTF-8. IlContent-Typeè obbligatorio su tutte le richieste con body. - Nomi dei campi:
camelCasesia in input sia in output (createdAt,projectId,nextCursor). - Date e orari: ISO 8601 con fuso orario esplicito, sempre in UTC nelle risposte (
2026-09-04T10:32:15.482Z). In input sono accettati anche offset locali (2026-09-04T12:32:15+02:00). - Identificatori: stringhe opache con prefisso tipizzato (
usr_4a7b1e90,sess_9f2c8d41,bp_proj_7f3a9c21). Non fare assunzioni su lunghezza o alfabeto. - Importi: interi in centesimi con codice valuta ISO 4217 separato (
{ "amount": 12900, "currency": "EUR" }). - Idempotenza: tutte le scritture accettano l'header
Idempotency-Key. Vedi Endpoint. - Paginazione: basata su cursore. Vedi Paginazione.
- Errori: envelope strutturato con
code,title,message,traceId. Vedi Errori.
Hello World
L'esempio seguente autentica una chiamata con una chiave API e legge il profilo associato
all'endpoint GET /identity/v1/me.
Prima di iniziare
- Una chiave API attiva creata dalla Console
- Accesso in uscita verso api.blupantheon.com sulla porta 443
- Runtime aggiornato con supporto TLS 1.2 o superiore
curl -sS https://api.blupantheon.com/identity/v1/me \
-H "Authorization: Bearer bp_live_xxxxxxxxxxxxxxxx" \
-H "Accept: application/json"Risposta:
{
"id": "usr_4a7b1e90",
"email": "mario.rossi@acme.it",
"firstName": "Mario",
"lastName": "Rossi",
"status": "active",
"roles": ["tenant_admin"],
"tenant": {
"id": "tnt_2b8e4f11",
"slug": "acme",
"name": "ACME S.p.A."
},
"createdAt": "2025-11-14T09:21:03.117Z",
"updatedAt": "2026-08-30T16:04:55.902Z"
}Non esporre le chiavi
Le chiavi bp_live_... non devono comparire in codice frontend, repository Git, log applicativi o
richieste effettuate dal browser. Usale solo da backend o da processi server-to-server.
Continua
Autenticazione
JWT di sessione, chiavi API e firma HMAC servizio-a-servizio.
Rate limiting
Limiti per fascia, header di quota e strategie di retry.
Paginazione
Cursori, filtri, ordinamento e cicli di lettura completi.
Errori
Envelope, mappa degli status HTTP e catalogo dei codici.
Endpoint
Riferimento completo per Identity, Console, Billing e Booking.
Webhook
Schema degli eventi, catalogo, firma e politiche di ritentativo.
SDK e client
Client TypeScript e Python, collezione Postman, OpenAPI.
Ambienti
Sandbox, staging e produzione: differenze, credenziali e promozione.