bitFlyer LightningのAPI経由でRからBitcoinを買う

すっかり放置していた

bitFlyer LightningのAPIをRから使う - My Life as a Mock Quant

の続き。
POST系のメソッドをやろうとして昔失敗して放置していたのだが、なんか今日やったらうまくいった。
こんなんでRからBitcoinを指値で発注できます(そして2018年6月16日22時現在の相場だと約定します)。

BITFLYER_KEY <- "<your key>"
BITFLYER_SECRET <- "<your secret>"
BITFLYER_URL <- "https://api.bitflyer.jp"
path <- "/v1/me/sendchildorder"
timestamp <- as.numeric(Sys.time())
body <- '{
  "product_code": "BTC_JPY",
  "child_order_type": "LIMIT",
  "side": "BUY",
  "price": 699000,
  "size": 0.001,
  "minute_to_expire": 10000,
  "time_in_force": "GTC"
}'
sign <- digest::hmac(paste0(timestamp, "POST", path, body), key=BITFLYER_SECRET, algo="sha256", serialize=FALSE)
header <- httr::add_headers(
  `ACCESS-KEY`=BITFLYER_KEY,
  `ACCESS-TIMESTAMP`=timestamp,
  `ACCESS-SIGN`=sign,
  `Content-Type`="application/json"
)
httr::content(httr::POST(paste0(BITFLYER_URL, path), body=body, header))