

coincheckのAPIと、gemを使用してアプリをつくっています。  
2つのリクエストを、間を置かず続けて実行しようとしたところ、

[code]

    {"success"=>false, "error"=>"Nonce must be incremented"}
    
[/code]

というエラーが返ってきました。  
ドキュメントには

[code]

    ACCESS-NONCE 毎リクエストごとに増加する必要のある正の整数。通常はUNIXタイムスタンプを用います。最大値は 9223372036854775807 です。APIキーごとに管理されます。
    
[/code]

<https://coincheck.com/ja/documents/exchange/api#auth>

と書かれていますが、どのようにすればnonceを毎リクエストごとに増やすことができるのでしょうか。  
gemはこちらのものを使用しています。  
<https://github.com/coincheckjp/ruby_coincheck_client>

該当部分のコードは以下です。

[code]

      response = @cc.create_orders(market_buy_amount:10000,order_type: "market_buy")
      p result = JSON.parse(response.body)
    
      # responseがsuccsess= trueならsend処理に入る
      p result['success']
      if result['success'] == true then
         #送金処理。ここでエラー
         response = @cc.create_send_money(address: "xxxx", amount: "0.1")
      end
    
[/code]


CC BY-SA 3.0
2016-11-24T15:07:37.493
30657
2017-12-14T09:32:20.193
18443
question
ruby api http
HTTPリクエストで毎リクエストごとにnonceを増加させたい


"間を置かず続けて実行"と書かれてますが、1秒経過していないということでしょうか？
だとしたらUNIXタイムスタンプを使うという仕様上、暗黙的に1秒間経たないアクセスを禁止してる気もするのですが…。

技術的な解決としては秒じゃなくてミリ秒やマイクロ秒を使えば問題ないと思います。

[code]

    -Time.now.to_i.to_s
    +Time.now.to_i.to_s + format('%06d', Time.now.usec)
    
[/code]


CC BY-SA 3.0
2016-11-25T07:30:21.640
30663
2016-11-25T07:30:21.640
3271
30657
answer


現在、該当のgemは以下のpull-requestにて現象を解決済みのようです。  
<https://github.com/coincheckjp/ruby_coincheck_client/pull/7>


CC BY-SA 3.0
2017-12-14T09:32:20.193
40272
2017-12-14T09:32:20.193
14973
30657
answer