Le API key sono una componente fondamentale dell'autenticazione tramite API e costituiscono l'equivalente API di nome utente e password dell'account di Kraken.
Le API key sono necessarie per richiamare qualsiasi endpoint API specifico dell'account (noto anche come privato), ovvero gli endpoint utilizzati per la gestione dell'account, il trading, il versamento di fondi e lo staking. Le API key non sono necessarie per richiamare gli endpoint API dei dati di mercato (noti anche come pubblici), poiché gli endpoint dei dati di mercato non sono associati a nessun account di Kraken specifico.
Le API key possono essere utilizzate da qualsiasi software che interagisce con mercati e account, come i nostri client a riga di comando REST API, alcune app per dispositivi mobili, i bot di trading di terze parti e molti altri prodotti/servizi.
Creazione di una API key
- •Apri il menu dell'account (cliccando sull’icona a forma di persona nell’angolo in alto a destra della pagina)
- •Seleziona l’opzione Impostazioni
- •Vai alla scheda API, quindi clicca su "<strong>Crea API key
Configurazione di una API key
Prima di utilizzare una API key è necessario impostare varie opzioni e configurazioni, in particolare la descrizione o il nome e le autorizzazioni di accesso.Nome della key
Il nome della key è sostanzialmente il nome dell'API key, che può essere scelto a piacere purché la descrizione risulti univoca (diversa dalle descrizioni di tutte le altre API key nello stesso account).È consigliabile assegnare un nome descrittivo alla API key, senza esporre informazioni sensibili (come "Key di trading", "Key di gestione dell'account", "API Key Python 6" o "Key app mobile", solo per fare qualche esempio).Autorizzazioni della Key
Le autorizzazioni della key determinano quali endpoint API specifici (privati) dell'account l'API key è autorizzata a richiamare:Fondi
- •L'autorizzazione Dati sui fondi è necessaria per gli endpoint API che recuperano informazioni relative al saldo dell'account, come Balance e TradeBalance.
- •L'autorizzazione Deposito fondi è necessaria per gli endpoint di versamento correlati ai depositi, come DepositMethods e DepositAddresses.
- •L'autorizzazione Prelievo fondi è necessaria per gli endpoint di versamento correlati ai prelievi, come WithdrawInfo, Withdraw e WithdrawCancel.
Ordini & Trade
- •L'autorizzazione Dati su trade e ordini aperti è necessaria per gli endpoint API che recuperano informazioni su posizioni con margine e ordini esistenti, come OpenOrders, QueryOrders e OpenPositions.
- •L'autorizzazione Dati su trade e ordini chiusi è necessaria per gli endpoint che recuperano informazioni su posizioni con margine e ordini chiusi o annullati in precedenza, come ClosedOrders, QueryOrders e QueryTrades.
- •L'autorizzazione Modifica ordini è necessaria per gli endpoint di trading che eseguono nuovi ordini, come AddOrder, EditOrder eAddOrderBatch.
- •L'autorizzazione Annulla/Chiudi ordini è necessaria per gli endpoint di trading che annullano gli ordini aperti o in sospeso, come CancelOrder, CancelAll e CancelOrderBatch.
Dati
- •L'autorizzazione Dati su voci ledger è necessaria per gli endpoint API che recuperano i dati storici dell'account dal relativo ledger, ovvero Ledgers e QueryLedgers.
- •L'autorizzazione Esportazione dati è necessaria per gli endpoint che esportano (scaricano) il ledger dell'account, ovvero AddExport, RetrieveExport, ExportStatus e RemoveExport.
Come esempio di utilizzo corretto delle autorizzazioni della chiave, considera una API key che viene fornita a terze parti a scopo di trading. Un'API key di questo tipo richiede sicuramente le autorizzazioni Modifica ordini e Annulla/Chiudi ordini, potrebbe richiedere l'autorizzazione Dati su trade e ordini aperti, ma quasi sicuramente non richiede l'autorizzazione Prelievo fondi.Configurando correttamente le autorizzazioni, si offre all'API client la possibilità di eseguire trade per l'account, ma non quella di accedere alle informazioni sull'account o di eseguire attività di versamento.Impostazioni opzionali
Le altre impostazioni relative all'API key sono necessarie solo per le configurazioni più avanzate e, in genere, è possibile mantenere i valori predefiniti:- •L'autorizzazione Interfaccia WebSocketè necessaria per recuperare il token di autenticazione per le API WebSocket tramite l’endpoint GetWebSocketsToken.
- •Restrizione dell'indirizzo IP è una funzionalità di sicurezza che limita l'uso dell’API key a indirizzi IP specifici lato client.
- •Scadenza key può essere utilizzata per creare un'API key che funziona solo per un determinato periodo di tempo, ad esempio per una sola settimana.
- •Dati su ora/data di inizio/fine è un'impostazione che limita le richieste di dati cronologici di un account a un intervallo di tempo specifico, ad esempio una key che potrebbe recuperare la cronologia di trading di quest'anno, ma non degli anni precedenti.
- •Finestra nonce personalizzata è un'impostazione utilizzata per risolvere i problemi del network che potrebbero causare la mancata esecuzione delle richieste API fornendo un breve intervallo di tempo (1 secondo, 10 secondi e così via) durante il quale le richieste API con un nonce non valido (un valore del nonce inferiore a uno utilizzato in precedenza) non causeranno un errore.
Una volta configurate correttamente le impostazioni relative, è possibile generare la nuova API key cliccando sul pulsante Genera key.L'API key, la key privata e il codice QR devono essere trattati come se fossero nome utente e password. Salvali in un password manager per potervi accedere nuovamente in seguito e qualora fosse necessario. Non salvarli in un formato non criptato!Uso di una API key
Una API key è costituita da una coppia di chiavi (pubblica/privata) che devono essere fornite al software dell'API client.Le API key possono essere fornite in diversi modi, ad esempio:- •La coppia di chiavi può essere copiata e incollata come testo semplice direttamente nel codice del client API. Esempio: Il metodo utilizzato dal nostro PHP API client.
- •La coppia di chiavi può essere copiata e incollata in file di testo semplice accessibili all'API client. Esempio: metodo utilizzato dal nostro command line API client.
Nota: in alcuni software API client, la chiave privata prende il nome di "API secret" (o semplicemente "secret").2FA per l'API key
Le API key offrono già un metodo sicuro per autenticare l'accesso tramite API a un account Kraken, ma è possibile aumentare ulteriormente il livello di protezione aggiungendo l'autenticazione a due fattori (2FA).La 2FA per l'API key può essere aggiunta a una API key esistente tramite la pagina Sicurezza e può utilizzare una password statica o Google Authenticator.Nota: per aggiungere la 2FA a una API key è necessario utilizzare anche un API client che supporta la 2FA, fornendo i dati relativi per ogni richiesta ai metodi API privati. In caso contrario, al posto dell'output desiderato dell'API viene restituito un errore imprevisto.Per ulteriori informazioni sul funzionamento della 2FA per le API key, clicca qui.