API 요청을 하려면 앱을 만들고 액세스 토큰이 필요합니다. 아직 액세스 토큰을 만들지 않았다면 Oauth2로 액세스 토큰을 먼저 획득하세요. 튜토리얼을 따라해 주세요.
1단계: 봇의 설정 풀 검색
봇의 설정 풀을 검색하려면 /hopper/{id}/config/pool 엔드포인트로 GET 요청을 보내야 합니다. 여기서 {id}는 봇의 ID입니다.
API 엔드포인트:
https://api.cryptohopper.com/v1/hopper/{id}/config/pool
API 요청이 성공하면 데이터 필드에 봇의 설정 풀이 있는 JSON 응답을 받게 됩니다.
JSON 응답 예시:
{
"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"
}
]
}
2단계: 봇의 설정 풀 업데이트.
이제 봇의 설정 풀을 검색했으므로 이전 단계에서 사용한 동일한 엔드포인트로 PATCH 요청을 전송하여 해당 설정 풀 중 하나를 업데이트할 수 있습니다. 구성 ID({pool_id}에 있음)와 업데이트된 구성을 제공해야 합니다. 이 예에서는 stop_loss_trailing_percentage를 0.75로 변경합니다.
API 엔드포인트:
https://api.cryptohopper.com/v1/hopper/{id}/config/{pool_id}
JSON PATCH 요청 예시:
{
"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"
}
}
API 요청이 성공하면 설정 풀이 업데이트되었다는 메시지와 함께 200 응답을 받게 됩니다.
JSON 응답 예시:
{
"data": "Config pool updated."
}
이 튜토리얼을 읽고 난 후 봇의 설정 풀을 업데이트할 수 있기를 바랍니다.