Exemple de requête API REST utilisant bash

Dernière mise à jour : 31 mars 2025

Introduction

La mise en œuvre d'une interface API REST Kraken à l'aide du shell Bourne Again (bash) et de certaines commandes associées (openssl, base64, xxd, etc.) peut être une solution pratique et efficace pour interagir avec les marchés de Kraken (bien que ce ne soit pas l'implémentation la plus rapide par rapport au code compilé).

Bash et les commandes requises sont facilement disponibles (préinstallées) sur la plupart des systèmes UNIX, Linux et macOS, et peuvent être facilement installées sur Windows et d'autres systèmes, de sorte que tous les logiciels nécessaires sont disponibles sans utiliser d'outils ou de bibliothèques API tiers supplémentaires.

À l'aide d'un éditeur de texte simple (même un éditeur à l'ancienne comme vi) et de quelques lignes de code, il est possible d'accéder aux données de marché publiques et aux données de compte privées, ainsi que de passer/annuler des ordres sur les marchés de Kraken.

Exemple de code

Le code suivant présente une implémentation en bash pour appeler le point de terminaison Balance de l'API REST :

#!/usr/bin/env bash

# Clés API publiques/privées copiées du site web de gestion de compte

api_key='gxTXpC4Ag/N0QPKlYnRhL1qVB2G/HZV1eB2drl7eOXga30dEKoB+EUMs'
api_private='62kRfRX7BI8G8T/jl7clnZ+vSfJt7YmQN23JQkJfHCE6oxecJX4fN4i2RitmRhyFzfJ4efKy2yCo4H068rfv0A=='

# Variables API (URL, point de terminaison, nonce, etc.)

api_host='https://api.kraken.com'
api_endpoint='/0/private/Balance'
api_nonce=`date +%s`
api_post="nonce=$api_nonce"

# Algorithme d'authentification (SHA256 et HMAC SHA512)

api_private_hex=`echo -n $api_private base64 -d xxd -p tr -d "\n"`
echo -n $api_endpoint > kapi_bash.bin
echo -n $api_nonce$api_post openssl dgst -sha256 -binary >> kapi_bash.bin
api_sign=`cat kapi_bash.bin openssl dgst -binary -sha512 -mac HMAC -macopt hexkey:$api_private_hex base64`

# Requête HTTP (POST)

curl --header "API-Key: $api_key" --header "API-Sign: $api_sign" --data $api_post $api_host$api_endpoint

et le code correspondant peut également être téléchargé (sous forme de fichier kapi_bash.sh).

Utilisation/Développement ultérieur

Pour récupérer les soldes de votre propre compte, la clé API d'exemple doit être remplacée par une clé API de votre propre compte Kraken, et des points de terminaison API supplémentaires peuvent être activés simplement en modifiant la variable api_endpoint et la variable api_post (si nécessaire).

Besoin d’aide supplémentaire ?