Les clés API sont l'une des composantes de l'authentification API, c'est-à-dire l'équivalent au niveau d'une API d'un nom d'utilisateur et d'un mot de passe.
Les clés API sont nécessaires pour appeler l'une des méthodes d'API privées, à savoir les méthodes de gestion de compte, de trading et de financement. Les clés API ne sont pas nécessaires pour utiliser les méthodes d'API publiques (méthodes pour la récupération de données du marché), car les méthodes publiques n'ont pas besoin d'accéder à un compte Kraken.
- Connectez-vous à votre compte Kraken.
- Cliquez sur votre nom dans le coin supérieur droit de la page.
- Cliquez sur Sécurité, puis sur API.
- Cliquez sur le bouton Ajouter une clé.
Description de la clé
La description de la clé est le nom de la clé API. Vous êtes libre de la choisir, à condition qu'elle soit unique (différente des descriptions de toutes les autres clés API présentes sur le compte).
Le texte par défaut qui apparaît dans le champ Description de la clé ressemble à "api-key-1605316109249". Vous pouvez conserver cette description par défaut ou la modifier au profit d'un nom plus parlant (par exemple, "clé de trading", "clé de gestion de compte", "clé API Python 6" ou "clé d'application mobile").
Autorisations de la clé
Les autorisations de la clé déterminent les méthodes d'API privées que la clé API est autorisée à utiliser:
Fonds
- L'autorisation Consulter les fonds est nécessaire pour les méthodes de gestion de compte qui recherchent des données sur le solde du compte, telles que Balance et TradeBalance.
- L'autorisation Effectuer un dépôt est nécessaire pour les méthodes de financement liées aux dépôts, telles que DepositMethods et DepositAddresses.
- L'autorisation Effectuer un retrait est nécessaire pour les méthodes de financement liées aux retraits, telles que WithdrawInfo, Withdraw et WithdrawCancel.
Ordres et transactions
- L'autorisation Consulter les ordres et transactions ouverts est nécessaire pour les méthodes de gestion de compte qui recherchent les ordres et les positions existants, comme OpenOrders, QueryOrders et OpenPositions.
- L'autorisation Consulter les ordres et transactions fermés est nécessaire pour les méthodes de gestion de compte qui recherchent des ordres et positions clôturés/annulés, telles que ClosedOrders, QueryOrders et QueryTrades.
- L'autorisation Modifier les ordres est nécessaire pour la méthode de trading qui place de nouveaux ordres, à savoir AddOrder.
- L'autorisation Annuler/clôturer les ordres est nécessaire pour la méthode de trading qui annule les ordres ouverts ou en attente, à savoir CancelOrder.
Autres
- L'autorisation Consulter les entrées du registre est nécessaire pour les méthodes de gestion de compte qui récupèrent des données antérieures dans le registre des comptes, à savoir Ledgers et QueryLedgers.
- L'autorisation Exporter les données est nécessaire pour les méthodes de gestion de compte qui exportent le registre, à savoir AddExport, RetrieveExport, ExportStatus et RemoveExport.
- L'autorisation Accéder à l'API WebSockets est nécessaire pour récupérer un jeton d'authentification pour les flux/points de terminaison privés de l'API WebSocket.
À titre d'exemple, pour utiliser correctement les autorisations de clé API, envisagez de créer une clé API spécifique que vous transmettez aux tiers pour le trading. Pour cette clé API, les autorisations Modifier les ordres et Annuler/clôturer les ordres seraient absolument nécessaires, l'autorisation Consulter les ordres et transactions ouverts serait peut-être nécessaire, mais l'autorisation Retirer des fonds ne serait certainement pas nécessaire.
Si les autorisations sont configurées de manière appropriée, le client de l'API peut effectuer des transactions pour le compte, mais ne peut pas accéder aux informations du compte ni exécuter des tâches de financement.
Autres paramètres (fenêtre nonce, expiration de la clé, date de début/fin de la requête)
Les autres paramètres de la clé API sont uniquement requis pour les configurations plus avancées. Par conséquent, leurs valeurs par défaut peuvent généralement être conservées:
- La fenêtre nonce correspond à une courte période (1 seconde, 10 secondes, etc.) pendant laquelle les demandes d'API présentant une valeur nonce invalide, en particulier une valeur nonce inférieure à une valeur nonce précédemment utilisée, ne génèrent pas d'erreur de valeur nonce invalide (EAPI:Invalid nonce). L'objectif principal de la fenêtre nonce est de surmonter les incohérences réseau.
- Le champ Expiration de la clé permet de créer une clé API qui ne fonctionne que pendant une période spécifiée par l'utilisateur.
- Le champ Date/heure de début/fin de la requête permet de spécifier une période pendant laquelle les données de l'historique du compte peuvent être obtenues à l'aide de cette clé API particulière.
Une fois les paramètres de la clé API correctement configurés, la nouvelle clé API peut être générée en cliquant sur le bouton "Générer la clé". Une fois le code QR scanné ou les clés publiques et privées enregistrées, cliquez sur "Enregistrer". Si vous n'enregistrez pas, la clé ne sera pas valide.
IMPORTANT: La "clé privée" et le code QR ne seront visibles qu'une seule fois après leur première génération. Enregistrez la clé dans un gestionnaire de mots de passe si vous devez y accéder à nouveau ultérieurement. Ne l'enregistrez pas dans un format non chiffré!
La "clé privée" et le code QR doivent être gérés de la même manière que votre mot de passe. S'ils tombent entre de mauvaises mains, votre compte peut être compromis.
Cette paire peut être utilisée de trois manières:
- Elle peut être copiée et collée sous forme de texte brut directement dans le code du client de l'API. Exemple: La méthode utilisée par notre client d'API PHP.
- Elle peut être copiée et collée dans des fichiers en texte brut auxquels le client de l'API peut accéder. Exemple: La méthode utilisée par notre client d'API de ligne de commande.
- Les valeurs de la paire de clés peuvent être importées dans notre application mobile pour iOS et Android en scannant le code QR (comme indiqué ci-dessus) avec l'appareil photo d'un téléphone mobile. Un guide complet est accessible en cliquant ici.
Remarque: La clé privée est également appelée "clé secrète" (ou simplement le "secret") par certains logiciels client d'API.
Une authentification à deux facteurs pour une clé API peut être ajoutée à une clé API existante via la page Sécurité et peut utiliser un mot de passe statique ou Google Authenticator.
Remarque: Pour ajouter une authentification à deux facteurs à une clé API, le client de l'API doit également prendre en charge la 2FA (c'est-à-dire pouvoir fournir les données de l'authentification à deux facteurs pour chaque appel des méthodes d'API privées). Si ce n'est pas le cas, une erreur inattendue est renvoyée au lieu du résultat souhaité.
Pour en savoir plus sur le fonctionnement de l'authentification à deux facteurs pour les clés API, cliquez ici.