Appearance
Casi d'uso end-to-end
Scenari completi che combinano più funzioni, raccontati passo per passo con le chiamate API coinvolte. Ogni scenario segue lo schema obiettivo → passi → risultato atteso → riferimenti tecnici.
Attivazione di un agente (con accesso all'area riservata)
Obiettivo — Censire un nuovo agente e dargli l'accesso personale alla propria area riservata, dove potrà consultare profilo, contratti e posizione nella rete.
Attori — Il sistema del partner (autenticato con Chiave API rw) esegue i passi 1–3; l'agente compie il primo accesso ai passi 4–5. Vedi Accessi.
Prerequisiti
- Chiave API del tenant con permessi di scrittura:
Authorization: Bearer dmk_… - Base URL:
https://api.base9.app
Passo 1 — (opzionale) verificare i livelli
La creazione richiede un livello della rete (pre-seedati L0…L4, dove L3 = Agente).
bash
curl -H "Authorization: Bearer dmk_xxxx" \
"https://api.base9.app/v1/agenti_livelli"Passo 2 — creare l'agente
Si crea l'anagrafica includendo già il contatto email (servirà per l'invito).
bash
curl -X POST "https://api.base9.app/v1/agenti" \
-H "Authorization: Bearer dmk_xxxx" \
-H "Content-Type: application/json" \
-d '{
"tipo": "PF",
"livello": "L3",
"mercato": "ENTRAMBI",
"anagrafica": {
"nome": "Valerio",
"cognome": "Rossi",
"codice_fiscale": "RSSVLR80A01H501X"
},
"contatti": [
{ "tipo_contatto": "EMAIL", "valore": "agente@example.com", "is_primary": true }
]
}'Risposta 201 — l'id dell'agente (formato A + 8 caratteri) è nel campo id:
json
{ "object": "agente", "id": "A1B2C3D4E",
"data": { "id": "A1B2C3D4E", "tipo": "PF", "stato": "attivo", "livello": "L3" } }Per i tipi
GIURIDICO/DIcambia il bloccoanagrafica(es.ragione_sociale+partita_iva). Vedi la API Reference, sezione Agenti.
Passo 3 — abilitare l'accesso all'area riservata
Crea l'identità e assegnale l'area AGENTE con i moduli, tramite l'API admin grant. Questo crea l'utente, collega la risorsa e attiva l'accesso al portale.
bash
# crea l'identità (se non esiste già)
curl -X POST "https://api.base9.app/v1/admin/users" \
-H "Authorization: Bearer $ADMIN_ID_TOKEN" -H "Content-Type: application/json" \
-d '{ "email": "agente@example.com" }' # → { "data": { "sub": "..." } }
# assegna l'area AGENTE (risorsa + moduli)
curl -X PUT "https://api.base9.app/v1/admin/users/<sub>/grants/AGENTE" \
-H "Authorization: Bearer $ADMIN_ID_TOKEN" -H "Content-Type: application/json" \
-d '{ "resource_id": "A1B2C3D4E", "modules": { "contratti": "rw", "fatturazione": "r" } }'Da questo momento l'agente può accedere con email + password (vedi Passo 4). Guida completa: Area riservata multi-persona.
Passo 4 — primo accesso dell'agente
L'agente accede con email + password su POST https://api.base9.app/v1/auth/login:
- Login → se è il primo accesso (password provvisoria) il sistema risponde col challenge
NEW_PASSWORD_REQUIRED(nessun token ancora). - L'agente imposta la nuova password (
POST /v1/auth/new-password) → vengono rilasciati i token (JWT). Se il tenant richiede il 2FA per gli agenti, attiva anche il TOTP.
Guida passo-passo: Area riservata multi-persona · dettagli: Autenticazione.
Passo 5 — l'agente consulta la propria area
Le chiamate /v1/me/* usano il token JWT (id_token); l'agente vede solo i propri dati.
bash
curl -H "Authorization: Bearer <IdToken>" "https://api.base9.app/v1/me/agente"
curl -H "Authorization: Bearer <IdToken>" "https://api.base9.app/v1/me/agente/contratti"
curl -H "Authorization: Bearer <IdToken>" "https://api.base9.app/v1/me/agente/superiori"Risultato atteso — L'agente è censito, ha un accesso personale e sicuro, e consulta in autonomia le proprie informazioni. Lo stato del portale passa da invitato ad attivo al primo accesso.
Revoca — In qualsiasi momento: DELETE /v1/agenti/{id}/portal-access.
Riferimenti tecnici — API Reference (sezioni Agenti e Portale) · Accessi · Rete agenti.
Altri scenari (in preparazione)
Seguiranno, con la stessa impostazione:
- Onboarding di un nuovo cliente — dall'anagrafica al punto di fornitura, dal contratto all'offerta applicata.
- Subentro su un punto (voltura) — cambio di intestatario con storicizzazione.
- Cambio fornitore (switching) — attivazione e tempistiche.
- Abilitazione area cliente — invito e primo accesso del cliente (gemello dello scenario agente).

