Vai al contenuto

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"
}
Risposta HTTP
{
  "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
Risposta HTTP
{
  "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"
}
Risposta HTTP
{
  "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
}
Risposta HTTP
{
  "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*' \
Altri esempi dell'utilizzo sono disponibili sul pannello di controllo

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
Risposta HTTP
[
  {
    "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"
}
Risposta HTTP
{
  "status": "ok"
}

Elimina un API-Token

Per eliminare un API-Token è disponibile la seguente richiesta:

Richiesta HTTP

DELETE /ecs/v2/keys/{token-id}
Risposta HTTP
{
  "status": "ok"
}