Account
Account
Diverse operazioni possono essere eseguite tramite API per la gestione degli account utente, tra cui il login e la visualizzazione delle informazioni sull'account:
Login
Le operazioni sugli utenti sono elaborate tramite la nostra API, per cui è necessario generare un token JWT per permettere all'utente di identificarsi sui i nostri servizi. Il seguente endpoint consente la generazione di un token di accesso partendo dal nome utente e dalla password.
Richiesta HTTP
POST /ecs/v2/login
{
"username": "foo",
"password": "foo-s3cr3t-passw0rd"
}
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtc2ciOiJXcm9uZyBQbGFjZSBkdWRlPyJ9.vBb9pIUYaxiGtO-7HY6hzBXH-q7L0GJS8stz2VYqb90",
"expire": 1728560902,
"status": "ok"
}
Info
Il token generato può essere utilizzato come un semplice token di tipo bearer fino alla sua scadenza.
curl --request GET 'https://api.seeweb.it/ecs/v2/' \
--header 'Authorization: Il-Tuo-Token-JWT' \
Informazioni Account
Le informazioni utente possono essere raccolte tramite il seguente endpoint:
Richiesta HTTP
GET /ecs/v2/account
{
"username": "foo",
"email": "foo@seeweb.it",
"reserved_available": true, # L'utente può utilizzare il piano riservato
"offline_available": false, # L'utente riceve uno sconto offline
"ecs_special_discount": 12, # se > 0 l'utente ha già uno sconto speciale sui piani ecs standard
"ecshm_special_discount": 0, # se == 0 l'utente non ha sconti speciali sui piani high memory
"ecsgpu_special_discount": -1 # se < 0 l'utente ha uno sconto speciale sui piani gpu
}
Cambia Password
Puoi cambiare la password di un utente direttamente dall'API al seguente endpoint:
Richiesta HTTP
POST /ecs/v2/account
{
"password": "my-new-supers3cr3t-passw0rd"
}
{
"status": "ok"
}
API-Token
TL;DR:
Gli API-Token sono utilizzati per integrare i servizi ECS con le tue applicazioni senza però, al contrario dei token JWT, nessuna scadenza del token.
Per utilizzarlo basta aggiungerlo come header:
curl --location --request GET 'https://api.seeweb.it' \
--header 'X-APITOKEN: *il tuo token API*' \
Continua a leggere:
I token JWT sono molto utili per validare le operazioni di un utente per brevi periodi, ma cosa posso fare se devo collegare i sistemi ECS con un servizio automatizzato?
Per risolvere questo problema abbiamo introdotto gli API-Token, token di lunga durata che permettono l'integrazione con i nostri sistemi la necessità di generare token jwt per richiesta.
Attenzione
I servizi ECS non forzano la rigenerazione del token, ma è fortemente consigliato farlo sui lunghi periodi per motivi di sicurezza.
Crea un API-Token
Per creare un API-Token puoi semplicemente utilizzare il seguente endpoint:
Richiesta HTTP
POST /ecs/v2/keys
{
"notes": "foo-rest-api-token-label" # un nome utilizzato per riconoscere il token
}
{
"status": "ok",
"token": "8yKnCbmPMyAgeaxjhzhdWc7WtsI9Y0XVvuavy0m9E1co6S0epK3e0DPqRjzpBDyGBxFeeFdYKFgpPfWZaTdNu2K1hdhcvviarI4biDNrybmQUY4LLbHtM6C5GsW2EIhc"
}
Info
Dopo la creazione del token, puoi semplicemente aggiungerlo all'intestazione "X-APITOKEN" come segue:
curl --location --request GET 'https://api.seeweb.it' \
--header 'X-APITOKEN: *il tuo token API*' \
Attenzione
Questo token viene mostrato solo successivamente alla creazione, in caso il token venga perso o compromesso è fortemente consigliato distruggerlo e generarne uno nuovo.
Elenca API-Token
Ovviamente ECS non è autorizzato a condividere il contenuto del token, è pero in grado di condividere le etichette e il codice associato a ciascun token in modo che possa essere eliminato:
Richiesta HTTP
GET /ecs/v2/keys
[
{
"id": 0,
"notes": "foo-rest-api-token-label-1",
"created_at": "2024-10-10 10:36..."
},
{
"id": 1,
"notes": "foo-rest-api-token-label-2",
"created_at": "2024-10-10 10:37..."
}
]
Rinomina un API-Token
Per cambiare l'etichetta del tuo API-Token puoi semplicemente utilizzare la seguente richiesta:
Richiesta HTTP
PUT /ecs/v2/keys/{token-id}
{
"notes": "my-new-label"
}
{
"status": "ok"
}
Elimina un API-Token
Per eliminare un API-Token è disponibile la seguente richiesta:
Richiesta HTTP
DELETE /ecs/v2/keys/{token-id}
{
"status": "ok"
}