Om API-requests te maken, moet je een app aanmaken en een toegangstoken hebben. Als je nog geen toegangstoken hebt aangemaakt, volg dan eerst de tutorial Krijg eerst een toegangstoken met Oauth2.
Stap 1: Haal de config pools van je bot op
Om de config pools van je bot op te halen, moet je een GET request maken naar het /hopper/{id}/config/pool endpoint, waarbij {id} de id van jouw bot is.
API endpoint:
https://api.cryptohopper.com/v1/hopper/{id}/config/pool
Als het API-verzoek succesvol is, ontvang je een JSON-response met de config pools van je bot in het data veld.
JSON-response voorbeeld:
{
"data": [
{
"id": "3242012",
"name": "CONFIG POOL 01",
"coins": "BTC",
"config": {
"max_buy_rate": "",
"advanced_ta_candle_size": "1800",
"advanced_ta_stoch_fast_k": "",
"advanced_ta_stoch_slow_k": "",
"advanced_ta_stoch_slow_k_matype": "0",
"advanced_ta_stoch_slow_d": "",
"advanced_ta_stoch_slow_d_matype": "0",
"advanced_ta_stoch_oversold": "",
"advanced_ta_stoch_overbought": "",
"advanced_ta_stochrsi_period": "",
"advanced_ta_stochrsi_fast_k": "",
"advanced_ta_stochrsi_fast_d": "",
"advanced_ta_stochrsi_fast_d_matype": "0",
"advanced_ta_stochrsi_oversold": "",
"advanced_ta_stochrsi_overbought": "",
"advanced_ta_rsi_period": "",
"advanced_ta_rsi_oversold": "",
"advanced_ta_rsi_overbought": "",
"advanced_ta_macd_fast_period": "",
"advanced_ta_macd_slow_period": "",
"advanced_ta_macd_signal_period": "",
"advanced_ta_ema_short_period": "",
"advanced_ta_ema_long_period": "",
"advanced_ta_sma_short_period": "",
"advanced_ta_sma_long_period": "",
"advanced_ta_kama_short_period": "",
"advanced_ta_kama_long_period": "",
"advanced_ta_bbands_period": "",
"advanced_ta_bbands_dev_up": "",
"advanced_ta_bbands_dev_low": "",
"advanced_ta_bbands_matype": "0",
"buy_score_corrected": "0",
"min_buy_score": "0.1",
"sell_score_corrected": "0",
"min_sell_score": "-1",
"rsi_candle_size": "1800",
"rsi_period": "",
"rsi_oversold": "",
"bbands_candle_size": "60",
"bbands_days": "",
"bbands_deviation": "",
"set_percentage": "1000",
"sell_order_type": "market",
"max_open_time": "5",
"ask_percentage": "0.1",
"ask_percentage_type": "higher",
"buy_order_type": "market",
"bid_percentage": "0.2",
"bid_percentage_type": "lower",
"max_open_time_buy": "5",
"cooldown_when": "buys",
"cooldown_count": "1",
"cooldown_val": "days",
"stop_loss_percentage": "",
"stop_loss_trailing": "1",
"stop_loss_trailing_percentage": "0.50",
"stop_loss_trailing_arm": "1.50",
"trailing_stop_loss_reset": "1",
"trailing_buy_percentage": "0.25",
"auto_close_positions_time": "-7 days",
"auto_dca": "1",
"dca_order_type": "market",
"auto_dca_time": "-1 hour",
"auto_dca_max": "1",
"auto_dca_percentage": "2",
"auto_dca_size": "custom",
"auto_dca_size_custom": "100"
},
"updated": "2021-12-15 13:36:25",
"status": "1"
},
{
"id": "3242015",
"name": "CONFIG POOL 02",
"coins": "ETH",
"config": {
"max_buy_rate": "",
"advanced_ta_candle_size": "1800",
"advanced_ta_stoch_fast_k": "",
"advanced_ta_stoch_slow_k": "",
"advanced_ta_stoch_slow_k_matype": "0",
"advanced_ta_stoch_slow_d": "",
"advanced_ta_stoch_slow_d_matype": "0",
"advanced_ta_stoch_oversold": "",
"advanced_ta_stoch_overbought": "",
"advanced_ta_stochrsi_period": "",
"advanced_ta_stochrsi_fast_k": "",
"advanced_ta_stochrsi_fast_d": "",
"advanced_ta_stochrsi_fast_d_matype": "0",
"advanced_ta_stochrsi_oversold": "",
"advanced_ta_stochrsi_overbought": "",
"advanced_ta_rsi_period": "",
"advanced_ta_rsi_oversold": "",
"advanced_ta_rsi_overbought": "",
"advanced_ta_macd_fast_period": "",
"advanced_ta_macd_slow_period": "",
"advanced_ta_macd_signal_period": "",
"advanced_ta_ema_short_period": "",
"advanced_ta_ema_long_period": "",
"advanced_ta_sma_short_period": "",
"advanced_ta_sma_long_period": "",
"advanced_ta_kama_short_period": "",
"advanced_ta_kama_long_period": "",
"advanced_ta_bbands_period": "",
"advanced_ta_bbands_dev_up": "",
"advanced_ta_bbands_dev_low": "",
"advanced_ta_bbands_matype": "0",
"buy_score_corrected": "0",
"min_buy_score": "0.1",
"sell_score_corrected": "0",
"min_sell_score": "-1",
"rsi_candle_size": "1800",
"rsi_period": "",
"rsi_oversold": "",
"bbands_candle_size": "60",
"bbands_days": "",
"bbands_deviation": "",
"set_percentage": "1000",
"sell_order_type": "market",
"max_open_time": "5",
"ask_percentage": "0.1",
"ask_percentage_type": "higher",
"buy_order_type": "market",
"bid_percentage": "0.2",
"bid_percentage_type": "lower",
"max_open_time_buy": "5",
"cooldown_when": "buys",
"cooldown_count": "1",
"cooldown_val": "days",
"stop_loss_percentage": "",
"stop_loss_trailing": "1",
"stop_loss_trailing_percentage": "0.50",
"stop_loss_trailing_arm": "1.50",
"trailing_stop_loss_reset": "1",
"trailing_buy_percentage": "0.25",
"auto_close_positions_time": "-7 days",
"auto_dca": "1",
"dca_order_type": "market",
"auto_dca_time": "-1 hour",
"auto_dca_max": "1",
"auto_dca_percentage": "2",
"auto_dca_size": "custom",
"auto_dca_size_custom": "100"
},
"updated": "2021-12-15 13:36:48",
"status": "1"
}
]
}
Stap 2: Update een config pool van je bot.
Nu we de config pools van je bot hebben opgehaald, kunnen we een van die config pools updaten door een PATCH request te sturen naar hetzelfde eindpunt dat we in de vorige stap hebben gebruikt. Je moet de id van de configuratie (in {pool_id}) en de bijgewerkte configuratie opgeven. In dit voorbeeld veranderen we de stop_loss_trailing_percentage naar 0.75.
API endpoint:
https://api.cryptohopper.com/v1/hopper/{id}/config/{pool_id}
Voorbeeld JSON PATCH request:
{
"config": {
"max_buy_rate": "",
"advanced_ta_candle_size": "1800",
"advanced_ta_stoch_fast_k": "",
"advanced_ta_stoch_slow_k": "",
"advanced_ta_stoch_slow_k_matype": "0",
"advanced_ta_stoch_slow_d": "",
"advanced_ta_stoch_slow_d_matype": "0",
"advanced_ta_stoch_oversold": "",
"advanced_ta_stoch_overbought": "",
"advanced_ta_stochrsi_period": "",
"advanced_ta_stochrsi_fast_k": "",
"advanced_ta_stochrsi_fast_d": "",
"advanced_ta_stochrsi_fast_d_matype": "0",
"advanced_ta_stochrsi_oversold": "",
"advanced_ta_stochrsi_overbought": "",
"advanced_ta_rsi_period": "",
"advanced_ta_rsi_oversold": "",
"advanced_ta_rsi_overbought": "",
"advanced_ta_macd_fast_period": "",
"advanced_ta_macd_slow_period": "",
"advanced_ta_macd_signal_period": "",
"advanced_ta_ema_short_period": "",
"advanced_ta_ema_long_period": "",
"advanced_ta_sma_short_period": "",
"advanced_ta_sma_long_period": "",
"advanced_ta_kama_short_period": "",
"advanced_ta_kama_long_period": "",
"advanced_ta_bbands_period": "",
"advanced_ta_bbands_dev_up": "",
"advanced_ta_bbands_dev_low": "",
"advanced_ta_bbands_matype": "0",
"buy_score_corrected": "0",
"min_buy_score": "0.1",
"sell_score_corrected": "0",
"min_sell_score": "-1",
"rsi_candle_size": "1800",
"rsi_period": "",
"rsi_oversold": "",
"bbands_candle_size": "60",
"bbands_days": "",
"bbands_deviation": "",
"set_percentage": "1000",
"sell_order_type": "market",
"max_open_time": "5",
"ask_percentage": "0.1",
"ask_percentage_type": "higher",
"buy_order_type": "market",
"bid_percentage": "0.2",
"bid_percentage_type": "lower",
"max_open_time_buy": "5",
"cooldown_when": "buys",
"cooldown_count": "1",
"cooldown_val": "days",
"stop_loss_percentage": "",
"stop_loss_trailing": "1",
"stop_loss_trailing_percentage": "0.75",
"stop_loss_trailing_arm": "1.50",
"trailing_stop_loss_reset": "1",
"trailing_buy_percentage": "0.25",
"auto_close_positions_time": "-7 days",
"auto_dca": "1",
"dca_order_type": "market",
"auto_dca_time": "-1 hour",
"auto_dca_max": "1",
"auto_dca_percentage": "2",
"auto_dca_size": "custom",
"auto_dca_size_custom": "100"
}
}
Als het API-verzoek succesvol is, ontvang je een 200 response met een bericht dat de config pool is bijgewerkt.
JSON-response voorbeeld:
{
"data": "Config pool updated."
}
Hopelijk is het je gelukt om een config pool van je bot te updaten na het lezen van deze tutorial.