Le API key sono una componente dell'autenticazione tramite API e costituiscono l'equivalente API di nome utente e password.
Le API key sono necessarie per richiedere qualsiasi metodo API privato, ovvero un metodo utilizzato per la gestione degli account, il trading e il versamento di fondi. Non sono invece necessarie per utilizzare i metodi API pubblici (metodi per i dati di mercato), perché tali metodi non hanno l'esigenza di accedere a un account di Kraken.
- Accedi al tuo account Kraken.
- Clicca sul tuo nome nell'angolo in alto a destra della pagina.
- Clicca su Sicurezza, quindi su API.
- Clicca sul pulsante Aggiungi key.
Descrizione della Key
La descrizione della chiave è sostanzialmente il nome dell'API key, che può essere scelta a piacere purché risulti univoca (diversa dalle descrizioni di tutte le altre API key nello stesso account).
Per impostazione predefinita, la descrizione della chiave viene automaticamente popolata con un codice quale "api-key-1605316109249". Tale descrizione predefinita può essere mantenuta o sostituita da un nome più descrittivo, come "Key di Trading", "Key Gestione Account", "API Key Python 6" o "Key app mobile".
Autorizzazioni della Key
Le autorizzazioni della Key determinano i metodi API privati che l'API key è autorizzata a utilizzare:
Fondi
- L'autorizzazione Richiesta Dati Fondi è necessaria per i metodi di gestione dell'account che recuperano le informazioni relative al saldo dell'account, come Balance e TradeBalance.
- L'autorizzazione Deposito Fondi viene utilizzata dai metodi di versamento correlati ai depositi, come DepositMethods e DepositAddresses.
- L'autorizzazione Prelievo Fondi è necessaria per the i metodi di versamento correlati ai prelievi, come WithdrawInfo, Withdraw e WithdrawCancel.
Ordini & Trade
- Richiesta Ordini & Trade Aperti viene utilizzata dai metodi di gestione dell'account che recuperano informazioni relative agli ordini e alle position esistenti, come OpenOrders, QueryOrders e OpenPositions.
- Richiesta Ordini & Trade Chiusi viene utilizzata dai metodi di gestione dell'account che recuperano informazioni relative agli ordini e alle position chiusi o annullati in precedenza, come ClosedOrders, QueryOrders e QueryTrades.
- L'autorizzazione Modifica ordini è necessaria al metodo di trading utilizzato per la presentazione di nuovi ordini, ovvero AddOrder.
- L'autorizzazione Annulla/Chiudi Ordini è necessaria al metodo di trading utilizzato per l'annullamento degli ordini aperti o in sospeso, ovvero CancelOrder.
Altro
- L'autorizzazione Richiesta Voci Ledger viene utilizzata dai metodi di gestione dell'account che recuperano i dati storici dell'account dal relativo ledger, ovvero Ledgers e QueryLedgers.
- L'autorizzazione Esportazione Dati viene utilizzata dai metodi di gestione dell'account che esportano il ledger dell'account, ovvero AddExport, RetrieveExport, ExportStatus e RemoveExport.
- L'autorizzazione Accesso API WebSocket è necessaria per recuperare un token di autenticazione per i feed e gli endpoint privati dell'API WebSocket.
Come esempio di utilizzo corretto delle autorizzazioni della chiave, considera una API key che viene fornita a terze parti a scopo di trading. Una API key di questo tipo richiede sicuramente le autorizzazioni Modifica Ordini e Annulla/Chiudi Ordini e potrebbe avere l'esigenza di utilizzare l'autorizzazione Richiesta Ordini & Trade Aperti , ma probabilmente non ha bisogno dell'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.
Altre impostazioni (Finestra Nonce, Scadenza Key, Data Inizio/Fine Richiesta)
Le altre impostazioni relative all'API key sono necessarie solo per le configurazioni più avanzate, e in genere è possibile mantenere i valori predefiniti:
- La Finestra Nonce è un breve intervallo di tempo (1 secondo, 10 secondi, etc.) durante il quale le richieste API con un valore nonce non valido, ovvero inferiore a quello utilizzato in precedenza, non determinano la generazione di un errore EAPI di nonce non valido. La Finestra Nonce ha soprattutto lo scopo di evitare le incoerenze di rete.
- L'impostazione Scadenza Key consente di creare una API key che funziona solo per un periodo di tempo specificato dall'utente.
- L'impostazione Data/Ora Inizio/Fine Richiesta consente di specificare un intervallo di tempo durante il quale è possibile recuperare i dati storici relativi all'account utilizzando l'API key in questione.
Una volta configurate correttamente le impostazioni relative, è possibile generare la nuova API key cliccando sul pulsante "Genera Key". Dopo la scansione del codice QR o il salvataggio delle chiavi Pubbliche e Private, assicurati di cliccare su "Salva", altrimenti la key non sarà valida.
IMPORTANTE: la "Private Key" e il codice QR saranno visibili solo una volta dopo averli generati! Salvali in un password manager per potervi accedere nuovamente in seguito e qualora fosse necessario. Non salvarli in un formato non criptato!
La "Private Key" e il codice QR devono essere trattati come se fossero una password. Se finiscono nelle mani sbagliate, il tuo account può essere compromesso.
Può essere utilizzata in tre modi:
- La coppia di chiavi può essere copiata e incollata come testo semplice, direttamente nel codice del client API. Esempio: 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.
- I valori della coppia di chiavi possono essere importati nella nostra app mobile per iOS e Android, effettuando la scansione del codice QR (come mostrato sopra), con la fotocamera del dispositivo mobile. La guida completa è disponibile qui.
Nota: in alcuni software API client, la chiave privata prende il nome di "API secret" (o semplicemente "secret").
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.