NAV Navbar
python javascript
  • 紹介
  • 認証
  • 公開API
  • マーケット情報
  • アカウントと資金
  • 注文
  • OTC
  • レバレッジ
  • エラーコード
  • 紹介

    FCoin取引プラットフォームの利用方法をご紹介します。FCoinが提供するAPIを使用して、FCoin取引プラットフォームに簡単にアクセスできます。

    認証

    下記コードを使用して、ユーザー認証を行います:

    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    
    const fcoin = require('fcoin');
    
    let api = fcoin.authorize('key', 'secret', timestamp);
    

    FCoinはAPI キーとAPIシークレットを使用して、認証を行います。 設定センターにて,開発者にご登録してください。ご登録いただいた後、API キーとAPI シークレット情報をご利用いただけます。

    FCoinのAPI利用について,公開API以外に、API キー及び署名が必要となります。

    アクセス制限

    現在、アクセスの頻度はユーザーごとに100回 / 10秒,将来はサービスごと、アクセスの頻度を制限する予定です。

    API 署名

    署名を行うため、あらかじめ下記データをご用意してください:

    HTTP_METHOD + HTTP_REQUEST_URI + TIMESTAMP + POST_BODY

    接続が確立後, Base64エンコーディングが必要です。エンコーディング後のデータに対して、 HMAC-SHA1 署名を行います。また、デジタル署名に対して、Base64エンコーディングを2回実施します。各ステップの詳細内容について、ご説明します:

    HTTP_METHOD

    GET, POST, DELETE, PUT は必ず大文字にしてください

    HTTP_REQUEST_URI

    https://api.fcoin.com/v2/ v2 APIのリクエストの接頭辞

    その後に、アクセスしたいリソースパスを記入してください。例: orders?param1=value1の場合は,最終形は https://api.fcoin.com/v2/orders?param1=value1となります

    リクエストされたURIのパラメータについては、アルファベット順に並べ替える必要があります!

    すなわち、リクエストされたURIはhttps://api.fcoin.com/v2/orders?c=value1&b=value2&a=value3の場合,デジタル署名する際に、リクエスト・パラメータをアルファベット順にソートさせ、デジタル署名の最終URIは https://api.fcoin.com/v2/orders?a=value3&b=value2&c=value1となります。 元のリクエスト中には、URI中の三つのパラメータの順番は c, b, aだが,ソート後、順番は a, b, cになっております。ご注意ください。

    TIMESTAMP

    APIを利用してアクセスする時のUNIX EPOCHタイムスタンプは、サーバーとの時間差は30秒以内でなければなりません。

    POST_BODY

    POST リクエストの場合は,POST リクエストデータへのデジタル署名も必要です。デジタル署名のルールはご説明します:

    リクエストされたすべてのキーはアルファベット順に並べ替えられた後、urlパラメータ化されます。 &を使用して、繋ぎます。

    下記リクエストデータの場合は:

    {
      "username": "username",
      "password": "passowrd"
    }
    

    先に、キーをアルファベット順にソートし、urlパラメータ化します。すなわち:

    password=password
    username=username
    

    アルファベットの順番には、pはuの前にあるため、passwordusernameの前に置かれるべき、その次、&を使用して接続します。すなわち:

    password=password&username=username
    

    デモンストレーション

    下記のリクエストの場合は:

    POST https://api.fcoin.com/v2/orders
    
    {
      "type": "limit",
      "side": "buy",
      "amount": "100.0",
      "price": "100.0",
      "symbol": "btcusdt"
    }
    
    timestamp: 1523069544359
    

    デジタル署名を行うため、あらかじめ下記データをご用意してください:

    POSThttps://api.fcoin.com/v2/orders1523069544359amount=100.0&price=100.0&side=buy&symbol=btcusdt&type=limit
    

    Base64エンコーディングし、下記データになります:

    UE9TVGh0dHBzOi8vYXBpLmZjb2luLmNvbS92Mi9vcmRlcnMxNTIzMDY5NTQ0MzU5YW1vdW50PTEwMC4wJnByaWNlPTEwMC4wJnNpZGU9YnV5JnN5bWJvbD1idGN1c2R0JnR5cGU9bGltaXQ=
    

    API キーを申請した際に取得したキー(API シークレット)をコピーし,以下のデジタル署名結果は、例として 3600d0a74aa3410fb3b1996cca2419c8 を使用しています,

    結果に対して、秘密鍵を使用して、 HMAC-SHA1 デジタル署名し、バイナリ結果に対してBase64 エンコーディング後、下記になります:

    DeP6oftldIrys06uq3B7Lkh3a0U=
    

    すなわち、APIサーバーへ検証するための最終的なデジタル署名が生成されます

    パラメータ名

    説明

    デベロッパーツール(準備中)を使用して、オンライン検証を行えます。

    公開API

    サーバー時刻の照会

    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    server_time = api.server_time()
    
    const fcoin = require('fcoin');
    
    let api = fcoin.authorize('key', 'secret', timestamp);
    let serverTime = api.serverTime();
    

    応答結果は下記のとおりです:

    {
      "status": 0,
      "data": 1523430502977
    }
    

    このAPIを使用して、サーバー時刻を取得できます。

    HTTP Request

    GET https://api.fcoin.com/v2/public/server-time

    取扱い仮想通貨の照会

    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    currencies = api.currencies()
    
    const fcoin = require('fcoin');
    
    let api = fcoin.authorize('key', 'secret', timestamp);
    let currencies = api.currencies();
    

    応答結果は下記のとおりです:

    {
      "status": 0,
      "data": [
        "btc",
        "eth"
      ]
    }
    

    このAPIを使用して、取扱い仮想通貨を取得できます。

    HTTP Request

    GET https://api.fcoin.com/v2/public/currencies

    取引通貨ペアの照会

    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    symbols = api.symbols()
    
    const fcoin = require('fcoin');
    
    let api = fcoin.authorize('key', 'secret', timestamp);
    let symbols = api.symbols();
    

    応答結果は下記のとおりです:

    {
      "status": 0,
      "data": [
        {
          "name": "btcusdt",
          "base_currency": "btc",
          "quote_currency": "usdt",
          "price_decimal": 2,
          "amount_decimal": 4
        },
        {
          "name": "ethusdt",
          "base_currency": "eth",
          "quote_currency": "usdt",
          "price_decimal": 2,
          "amount_decimal": 4
        }
      ]
    }
    

    このAPIを使用して、取引通貨ペアを取得できます。

    HTTP Request

    GET https://api.fcoin.com/v2/public/symbols

    マーケット情報

    マーケット情報概述

    マーケット情報は公開APIを通じて取得できます。現在、HTTPとWebSocketの2つのAPIを提供しています。タイムリーにマーケット情報を取得するため、WebSocketを使用してアクセスすることをお勧めします。マーケット情報のリアルタイムパフォーマンスを可能な限り高めるために、現在の公開している部分は最新のマーケットデータのみを取得することができます。もし全部の情報、または履歴情報を取得する必要がある場合は、support@fcoin.comまでご連絡ください。

    すべての HTTP リクエストのURLベースは:https://api.fcoin.com/v2/market です

    すべての WebSocket リクエストのURLは: wss://api.fcoin.com/v2/ws です

    用語は以下のように統一されます:

    WebSocket 初回接続の確立

    接続ができたら、サーバーからウェルカムメッセージを送信します。

    接続成功後、サーバーからメッセージを返します:

    {
      "type":"hello",
      "ts":1523693784042
    }
    
    • ts: プッシュサーバーの現在の時点。

    WebSocket 接続の維持 - heartbeat

    # WebSocket サーバーに ping を送信し、ハートビートを維持します。
    import time
    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    now_ms = int(time.time())
    api.market.ping(now_ms)
    

    WebSocket クライアント側は WebSocket サーバーとの接続を確立後、お勧めとして、WebSocket Client が30sごとに(この頻度は変化する可能性があります)、サーバーへ ping リクエストを送信します。サーバーがクライアントのping要求を長時間受信しなかった場合、サーバーはアクティブに接続を切断します(300s)。

    WebSocket リクエスト

    ping リクエストの送信: {"cmd":"ping","args":[$client_ts],"id":"$client_id"}

    ping リクエストの例:

    {"cmd":"ping","args":[1540557696867],"id":"sample.client.id"}
    

    ping リクエストが成功になり、サーバーから以下の情報を返しました:

    {
      "id":"sample.client.id",
      "type":"ping",
      "ts":1523693784042,
      "gap":112
    }
    
    • gap: プッシュサーバーがこのリクエストを処理する時間と、ユーザーまで送信する時差。
    • ts: プッシュサーバーの現在の時点。

    WebSocket サブスクリプション

    sub リクエストの送信: {"cmd":"sub","args":["$topic", ...],"id":"$client_id"}

    sub リクエストの例(単一 topic):

    {"cmd":"sub","args":["ticker.ethbtc"]}
    

    sub リクエストの例(複数 topic):

    {"cmd":"sub","args":["ticker.ethbtc", "ticker.btcusdt"]}
    

    サブスクリプション成功した場合の応答結果は下記のとおりです:

    {
      "type": "topics",
      "topics": ["ticker.ethbtc", "ticker.btcusdt"]
    }
    

    サブスクリプション失敗した場合の応答結果は下記のとおりです:

    {
      "id":"invalid_topics_sample",
      "status":41002,
      "msg":"invalid sub topic, xxx.M1.xxx"
    }
    

    ticker データの取得

    ticker 情報ブロックを十分に小さく、迅速に取得するために、強制的にリスト形式を使用しています。

    ticker リストの対応するフィールドの意味説明:

    [
      "最新取引価格",
      "最新の成約高",
      "買い注文価格の最高値",
      "買い注文取引量の最高値",
      "売り注文価格の最安値",
      "売り注文取引量の最安値",
      "24時間前の成約価格",
      "24時間価格の最高値",
      "24時間価格の最安値",
      "24時間基軸通貨の取引量。例えば、btcusdt の btc のボリューム",
      "24時間評価通貨の取引量。例えば、btcusdt の usdt のボリューム"
    ]
    

    HTTP リクエスト

    GET https://api.fcoin.com/v2/market/ticker/$symbol

    #  ticker データの取得
    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    api.market.get_ticker("ethbtc")
    

    HTTP リクエストの応答結果は下記の通りです:

    {
      "status": 0,
      "data": {
        "type": "ticker.btcusdt",
        "seq": 680035,
        "ticker": [
          7140.890000000000000000,
          1.000000000000000000,
          7131.330000000,
          233.524600000,
          7140.890000000,
          225.495049866,
          7140.890000000,
          7140.890000000,
          7140.890000000,
          1.000000000,
          7140.890000000000000000
        ]
      }
    }
    

    WebSocket サブスクリプション

    sub リクエストの送信、topic: ticker.$symbol ( WebSocket サブスクリプションをご参照ください)

    # ticker データのサブスクリプション
    import fcoin
    
    fcoin_ws = fcoin.init_ws()
    topics = ["ticker.ethbtc", "ticker.btcusdt"]
    fcoin_ws.handle(print)
    fcoin_ws.sub(topics)
    

    WebSocket サブスクリプションの通知結果は下記の通りです:

    {
      "type": "ticker.btcusdt",
      "seq": 680035,
      "ticker": [
        7140.890000000000000000,
        1.000000000000000000,
        7131.330000000,
        233.524600000,
        7140.890000000,
        225.495049866,
        7140.890000000,
        7140.890000000,
        7140.890000000,
        1.000000000,
        7140.890000000000000000
      ]
    }
    

    最新の厚み詳細の取得

    HTTP リクエスト

    GET https://api.fcoin.com/v2/market/depth/$level/$symbol

    $level 含まれる種類(大文字と小文字にご注意ください):

    種類 説明
    L20 20 番目の注文までの明細
    L150 150 番目の注文までの明細
    full 全ての厚みの明細。時間やプッシュを保証しません。

    その中で、 L20 のプッシュ時間が L150より少し早くなり、プッシュの頻度が L150より少し多くなります。具体的なストレスや状況により決められます。自身のニーズによって、ご利用ください。

    HTTP リクエストの応答結果は下記の通りです:

    {
      "status":0,
      "data":{
        "type": "depth.L20.ethbtc",
        "ts": 1523619211000,
        "seq": 120,
        "bids": [0.000100000, 1.000000000, 0.000010000, 1.000000000],
        "asks": [1.000000000, 1.000000000]
      }
    }
    

    WebSocket サブスクリプション

    # WebSocket サブスクリプションのデプス詳細
    import fcoin
    
    fcoin_ws = fcoin.init_ws()
    topics = ["depth.L20.ethbtc", "depth.L150.btcusdt"]
    fcoin_ws.handle(print)
    fcoin_ws.sub(topics)
    
    // WebSocket サブスクリプションのデプス詳細
    const fcoin = require('fcoin');
    
    let fcoin_ws = fcoin.init_ws()
    topics = ["depth.L20.ethbtc", "depth.L150.btcusdt"]
    fcoin_ws.handle(print)
    fcoin_ws.sub(topics)
    

    sub リクエストの送信,topic: depth.$level.$symbol ( WebSocket サブスクリプションをご参照ください)

    WebSocket サブスクリプションの通知結果が下記の通りです:

    {
      "type": "depth.L20.ethbtc",
      "ts": 1523619211000,
      "seq": 120,
      "bids": [0.000100000, 1.000000000, 0.000010000, 1.000000000],
      "asks": [1.000000000, 1.000000000]
    }
    

    bids 和 asks に対応する配列は偶数の項目であります。買い(売り)注文1の価格、買い(売り)注文1の数量のように順序に並びます。

    最新の取引明細の取得

    取引 id のサイズを比較することによって、最新の取引かどうかを判断できます。{trade id} 通常、 trade から transaction までのプロセスがあるため、公開マーケットの取引 id は、決済システム中の取引 id と実際には一致しないことにご注意ください。 取引記録が1つであっても、最新の取引が再取得されたときに、 id が常に一致しているという保証はできません。

    PS:過去のマーケット情報では、取引 id が1つであることが保証できます。{transaction id} ここはマーケットの更新通知としてのみ使用され、アーカイブに使用しないでください。

    # WebSocket 最新の取引明細を照会するリクエスト
    import fcoin
    
    fcoin_ws = fcoin.init_ws()
    topic = "trade.ethbtc"
    limit = 3
    args = [topic, limit]
    fcoin_ws.req(args, rep_handler)
    
    # WebSocket 最新の取引明細のサブスクリプション
    import fcoin
    
    fcoin_ws = fcoin.init_ws()
    topics = ["trade.ethbtc", "trade.btcusdt"]
    fcoin_ws.handle(print)
    fcoin_ws.sub(topics)
    

    HTTP リクエスト

    GET https://api.fcoin.com/v2/market/trades/$symbol

    ペラメータの紹介(HTTP リクエスト)

    ペラメータ デフォルト値 説明
    before ある id より小さい id の Candle を照会する
    limit デフォルトは 20 条

    WebSocket リクエスト

    req リクエストの送信: {"cmd":"req", "args":["$topic", limit],"id":"$client_id"}

    WebSocket リクエストが成功した場合の応答結果が下記の通りです:

    {
      "id":null,
      "ts":1523693400329,
      "data":[
        {
          "amount":1.000000000,
          "ts":1523419946174,
          "id":76000,
          "side":"sell",
          "price":4.000000000
        },
        {
          "amount":1.000000000,
          "ts":1523419114272,
          "id":74000,
          "side":"sell",
          "price":4.000000000
        },
        {
          "amount":1.000000000,
          "ts":1523415182356,
          "id":71000,
          "side":"sell",
          "price":3.000000000
        }
      ]
    }
    

    WebSocket サブスクリプション

    sub リクエストの送信、topic: trade.$symbol ( WebSocket サブスクリプションをご参照ください)

    WebSocket サブスクリプションの通知結果が下記の通りです:

    {
      "type":"trade.ethbtc",
      "id":76000,
      "amount":1.000000000,
      "ts":1523419946174,
      "side":"sell",
      "price":4.000000000
    }
    

    Candle 情報の取得

    HTTP リクエスト

    GET https://api.fcoin.com/v2/market/candles/$resolution/$symbol

    パラメータの照会(HTTP リクエスト)

    ペラメータ デフォルト値 説明
    before ある id より小さい id の Candle を照会する
    limit デフォルトは 20 条

    $resolution 含まれる種類(大文字と小文字にご注意ください):

    種類 説明
    M1 1 分
    M3 3 分
    M5 5 分
    M15 15 分
    M30 30 分
    H1 1 時間
    H4 4 時間
    H6 6 時間
    D1 1 日
    W1 1 週
    MN 1 ヶ月

    WebSocket リクエスト

    req リクエストの送信: {"cmd":"req","args":["$topic",limit,before],"id":"$client_id"}

    WebSocket リクエストが成功した場合の応答結果が下記の通りです:

    {
      "id":"candle.btcusdt.M1",
      "data":[
        {
          "id":1540809840,
          "seq":24793830600000,
          "high":6491.74,
          "low":6489.24,
          "open":6491.24,
          "close":6490.07,
          "count":26,
          "base_vol":8.2221,
          "quote_vol":53371.531286
        },
        {
          "id":1540809900,
          "seq":24793879800000,
          "high":6490.47,
          "low":6487.62,
          "open":6490.09,
          "close":6487.62,
          "count":23,
          "base_vol":10.8527,
          "quote_vol":70430.840624
        }
      ]
    }
    

    Weboskcet サブスクリプション

    sub リクエストの送信,topic: candle.$resolution.$symbol ( WebSocket サブスクリプショをご参照ください)

    # WebSocket サブスクリプション candle データ
    import fcoin
    
    fcoin_ws = fcoin.init_ws()
    topics = ["candle.M1.ethbtc"]
    fcoin_ws.handle(print)
    fcoin_ws.sub(topics)
    

    WebSocket サブスクリプションの通知結果が下記の通りです:

    {
      "type":"candle.M1.ethbtc",
      "id":1523691480,
      "seq":11400000,
      "open":2.000000000,
      "close":2.000000000,
      "high":2.000000000,
      "low":2.000000000,
      "count":0,
      "base_vol":0,
      "quote_vol":0
    }
    

    アカウントと資金

    アカウント資金照会

    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    api.accounts_balance
    
    const fcoin = require('fcoin');
    
    let api = fcoin.authorize('key', 'secret', timestamp);
    let orders = api.accountsBalance;
    

    响应结果如下:

    {
      "status": 0,
      "data": [
        {
          "currency": "btc",
          "available": "50.0",
          "frozen": "50.0",
          "balance": "100.0"
        }
      ]
    }
    

    このAPIは、ユーザーの資産リストを照会するために使用されます。

    HTTP Request

    GET https://api.fcoin.com/v2/accounts/balance

    注文

    注文モデル説明

    注文モデルは、以下の属性によって構成されます:

    属性 タイプ 内容説明
    id String 注文 ID
    symbol String 通貨ペア
    side String 取引方向(buy, sell
    type String 注文タイプ(limitmarket
    price String 注文価格
    amount String 注文ボリューム
    state String 注文ステータス
    executed_value String 約定
    filled_amount String 出来高
    fill_fees String 手数料
    created_at Long 注文日時
    source String ソース

    注文ステータス説明:

    属性 内容説明
    submitted 注文中
    partial_filled 一部約定
    partial_canceled 一部キャンセル
    filled 約定
    canceled キャンセル
    pending_cancel キャンセルリクエスト中

    新規注文

    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    order_create_param = fcoin.order_create_param('btcusdt', 'buy', 'limit', '8000.0', '1.0')
    api.orders.create(order_create_param)
    
    const fcoin = require('fcoin');
    
    let api = fcoin.authorize('key', 'secret', timestamp);
    let orderCreateParam = fcoin.orderCreateParam('btcusdt', 'buy', 'limit', '8000.0', '1.0');
    let orders = api.orders.create(orderCreateParam);
    

    レスポンス結果は下記のとおりです:

    {
      "status": 0,
      "data": "9d17a03b852e48c0b3920c7412867623"
    }
    

    このAPIは新規注文を発注します。

    HTTP Request

    POST https://api.fcoin.com/v2/orders

    リクエスト・パラメータ

    パラメータ デフォルト値 説明
    symbol 通貨ペア
    side 取引方向
    type 注文タイプ
    price 価格
    amount 発注量
    exchage 取引ゾーン
    account_type 注文タイプ(レバレッジ:margin)

    注文リストの照会

    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    api.orders.get()
    
    const fcoin = require('fcoin');
    
    let api = fcoin.authorize('key', 'secret', timestamp);
    let orders = api.orders.get();
    

    レスポンス結果は下記のとおりです:

    {
      "status": 0,
      "data": [
        {
          "id": "string",
          "symbol": "string",
          "type": "limit",
          "side": "buy",
          "price": "string",
          "amount": "string",
          "state": "submitted",
          "executed_value": "string",
          "fill_fees": "string",
          "filled_amount": "string",
          "created_at": 0,
          "source": "web"
        }
      ]
    }
    

    このAPIは注文リストの照会に使用されます。

    HTTP Request

    GET https://api.fcoin.com/v2/orders

    照会パラメータ

    パラメータ デフォルト値 説明
    symbol 通貨ペア
    states 注文ステータス
    before あるページの前の
    after あるページの後の注文の照会
    limit ページごとの注文量、デフォルトは20条

    特定注文の取得

    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    api.orders.get('9d17a03b852e48c0b3920c7412867623')
    
    const fcoin = require('fcoin');
    
    let api = fcoin.authorize('key', 'secret', timestamp);
    let max = api.orders.get('9d17a03b852e48c0b3920c7412867623');
    

    レスポンス結果は下記のとおりです:

    {
      "status": 0,
      "data": {
        "id": "9d17a03b852e48c0b3920c7412867623",
        "symbol": "string",
        "type": "limit",
        "side": "buy",
        "price": "string",
        "amount": "string",
        "state": "submitted",
        "executed_value": "string",
        "fill_fees": "string",
        "filled_amount": "string",
        "created_at": 0,
        "source": "web"
      }
    }
    

    このAPIは指定された注文の詳細を取得します。

    HTTP Request

    GET https://api.fcoin.com/v2/orders/{order_id}

    URL パラメータ

    パラメータ 説明
    order_id 注文 ID

    注文キャンセルのリクエスト

    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    api.orders.submit_cancel(2)
    
    const fcoin = require('fcoin');
    
    let api = fcoin.authorize('key', 'secret', timestamp);
    let max = api.orders.submitCancel(2);
    

    レスポンス結果は下記のとおりです:

    {
      "status": 0,
      "msg": "string",
      "data": true
    }
    

    このAPIは指定された注文をキャンセルするために、使用されます。注文のキャンセル・プロセスは非同期です。つまり、このAPIの呼び出しが成功した場合は、注文はキャンセルリクエストのプロセスに入っていますが、注文の取り消しを確認するためにマッチング処理を待つ必要があります。

    HTTP Request

    POST https://api.fcoin.com/v2/orders/{order_id}/submit-cancel

    URL パラメータ

    パラメータ 解釈
    order_id 注文 ID

    指定されている注文の取引記録の照会

    import fcoin
    
    api = fcoin.authorize('key', 'secret', timestamp)
    api.orders.get('9d17a03b852e48c0b3920c7412867623').match_results()
    
    const fcoin = require('fcoin');
    
    let api = fcoin.authorize('key', 'secret', timestamp);
    let max = api.orders.get('9d17a03b852e48c0b3920c7412867623').matchResults();
    

    レスポンス結果は下記のとおりです:

    {
      "status": 0,
      "data": [
        {
          "price": "string",
          "fill_fees": "string",
          "filled_amount": "string",
          "side": "buy",
          "type": "limit",
          "created_at": 0
        }
      ]
    }
    

    このAPIは指定されている注文の取引記録の取得に使用されます

    HTTP Request

    GET https://api.fcoin.com/v2/orders/{order_id}/match-results

    URL パラメータ

    パラメータ 解釈
    order_id 注文 ID

    注文エラーコード

    エラーコード 内容解釈
    2000 アカウントエラー

    OTC

    OTC資産の振込入金

    このAPIは、取引口座やマイウォレットの資産をOTC口座に振込入金するために使用されます。

    HTTP Request

    POST https://api.fcoin.com/v2/broker/otc/assets/transfer/in

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    amount 振込入金の数量
    currency 通貨:usdt、btc、eth
    source_account_type 送金口座のタイプ: exchange: 取引口座; assets: マイウォレット
    target_account_type 入金先の口座のタイプ: otc:法定通貨口座
    {
      "amount": 1,
      "currency": "btc",
      "source_account_type": "exchange",
      "target_account_type": "otc"
    }
    

    応答結果

    {
      "data": null,
      "status": "ok"
    }
    

    OTC資産の振込出金

    このAPIは、OTC口座の資産を取引口座やマイウォレットに振込出金するために使用されます。

    HTTP Request

    POST https://api.fcoin.com/v2/broker/otc/assets/transfer/out

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    amount 振込出金の数量
    currency 通貨:usdt、btc、eth
    source_account_type 送金口座のタイプ:otc: 法币账户
    target_account_type 入金先の口座のタイプ: exchange: 取引口座; assets: マイウォレット
    {
      "amount": 1,
      "currency": "btc",
      "source_account_type": "otc",
      "target_account_type": "exchange"
    }
    

    応答結果

    {
      "data": null,
      "status": "ok"
    }
    

    OTC注文

    新しい注文を作る

    このAPIは、新しいOTC注文を作るために使用されます。

    HTTP Request

    POST https://api.fcoin.com/v2/broker/otc/suborders

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    amount 取引数量
    delegation_order_id 委託注文id
    {
      "amount": 1,
      "delegation_order_id": "St5_OiSE5YQiy4lxkQhq8w"
    }
    

    応答結果

    {
      "err_code": "",
      "err_msg": "",
      "status": "ok",
      "data": 4064224473046529
    }
    

    OTC注文リストを照会する

    このAPIは、OTC注文リストを照会するために使用されます。

    HTTP Request

    GET https://api.fcoin.com/v2/broker/otc/suborders

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    id 最後のページングのID
    page_size 各ページの記録回数
    delegation_order_id 委託注文id
    states 注文状態:

    1 confirmed 確認済
2 buyer_appeal 買い手申し立て中
3 seller_appeal 売り手申し立て中
4 paid 買い手が支払い済み
5 released 通貨が転送済み 6 filled 約定済
7 cancelled キャンセル済
8 timeout キャンセル時間切れ
9 system_cancelled システムキャンセル(残高不足)|

    応答結果

    {
      "err_code": "",
      "err_msg": "",
      "status": "ok",
      "data": {
        "content": [
          {
            "id": "4064224473046529",
            "currency": "usdt",
            "legal_currency": "cny",
            "direction": "buy",
            "type": "normal",
            "price": "7.00",
            "amount": "100.000000",
            "total_price": "700.00",
            "start_at": 1546614090132,
            "created_at": 1546614090135,
            "state": "confirmed"
          },
          {
            "id": "3214937639915529",
            "currency": "usdt",
            "legal_currency": "cny",
            "direction": "buy",
            "type": "normal",
            "price": "7.70",
            "amount": "100.000000",
            "total_price": "770.00",
            "start_at": 1546421969839,
            "created_at": 1546421969842,
            "state": "filled"
          }
        ],
        "current_elements": 2,
        "has_prev": true,
        "has_next": false,
        "next_page_id": 3214937639915529
      }
    }
    

    注文詳細を照会する

    このAPIは、注文詳細を照会するために使用されます。

    HTTP Request

    GET https://api.fcoin.com/v2/broker/otc/suborders/{id}

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    id 注文id

    応答結果

    {
      "status": "ok",
      "data": {
        "id": "4064224473046529",
        "currency": "usdt",
        "legal_currency": "cny",
        "direction": "buy",
        "type": "normal",
        "price": "7.00",
        "amount": "100.000000",
        "payment_method": "wechat_pay",
        "total_price": "700.00",
        "start_at": 1546614090132,
        "paid_at": 1546614126421,
        "finished_at": 1546614470679,
        "created_at": 1546614090135,
        "release_begin_at": 1546614294160,
        "buyer_user_id": "hXD7rALO-p899HLEG6OGCA",
        "seller_user_id": "U_g-dtTE_B8Q2eQYa4a8Bw",
        "state": "filled",
        "first_name": "Tim",
        "last_name": "im"
      }
    }
    

    注文支払いの確認

    このAPIは、注文の支払いを確認するために使用されます。

    HTTP Request

    POST https://api.fcoin.com/v2/broker/otc/suborders/{id}/pay_confirm

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    id 注文id
    payment_method 支払い方法:

    1 alipay Alipay 2 wechat_pay Wechat Pay 3 bank_card_pay 銀行カード

    応答結果

    {
      "err_code": "",
      "err_msg": "",
      "status": "ok"
    }
    

    買い手の注文キャンセル

    このAPIは、買い手が注文をキャンセルするために使用されます。

    HTTP Request

    POST https://api.fcoin.com/v2/broker/otc/suborders/{id}/cancel

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    id 注文id

    応答結果

    {
      "err_code": "",
      "err_msg": "",
      "status": "ok"
    }
    

    売り手の支払い方法の確認

    このAPIは、注文した後、売り手の支払い方法を確認するために使用されます。

    HTTP Request

    GET https://api.fcoin.com/v2/broker/otc/suborders/{id}/payments

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    id 注文id

    応答結果

    {
      "status": "ok",
      "data": [
        {
          "payment_method": "alipay",
          "first_name": "Tim",
          "last_name": "im",
          "bank_name": null,
          "bank_branch_name": null,
          "account": "zhifubao",
          "account_image_key": "551c9c2d6bad417fb4aa171bcc6b861d.jpg",
          "account_image_read_url": "https://s3.ap-northeast-1.amazonaws.com/local-s3.bitdict.com/kyc/551c9c2d6bad417fb4aa171bcc6b861d.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190115T113640Z&X-Amz-SignedHeaders=host&X-Amz-Expires=7200&X-Amz-Credential=AKIAIZ37IMEFO7JZRBOQ%2F20190115%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-Signature=26788f3972b7a732b232cc08a54cd7afa038da0a219bf20076267ec70037bf3c"
        },
        {
          "payment_method": "wechat_pay",
          "first_name": "Tim",
          "last_name": "im",
          "bank_name": null,
          "bank_branch_name": null,
          "account": "weixina",
          "account_image_key": "e5b20c5af24232f11ec4ce187f7c6998.jpg",
          "account_image_read_url": "https://s3.ap-northeast-1.amazonaws.com/local-s3.bitdict.com/kyc/e5b20c5af24232f11ec4ce187f7c6998.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190115T113640Z&X-Amz-SignedHeaders=host&X-Amz-Expires=7200&X-Amz-Credential=AKIAIZ37IMEFO7JZRBOQ%2F20190115%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-Signature=8d9e599cf672d3cc495407d2c9538e3b4fb7275aee7201b48b8ba48c65f6fa68"
        }
      ]
    }
    

    OTC口座情報の獲得

    HTTP请求

    GET https://api.fcoin.com/v2/broker/otc/users

    リクエスト・パラメータ

    応答結果

    {
        "status": "ok",
        "data": {
            "user_id": "Hff9R282Ty8wDa5Xb8AaLg",                #ユーザーID
            "nickname": "isfulei",                              #ニックネーム
            "merchant": true,                                   #OTCメーカーですか?
            "margin_amount": "1.00000000",                      #証拠金の数量
            "total_transaction": 0,                             #約定済の注文総数
            "recent_transaction": 0,                            #最近約定済の注文数
            "total_release_time": "0",                          #合計転送時間(分)
            "average_release_time": "0",                        #平均転送時間(分)
            "recent_success_transaction_ratio": "0",            #最近の成約率
            "register_at": 1,                                   #登録時間
            "remark": "备注",                                    #メモ
            "bind_email": true,                                 #メールアドレスの紐付けを設定しますか?
            "bind_phone": true,                                 #携帯の紐付けを設定しますか?
            "kyc": true,                                        #KYC認証しますか?
            "enable_otc": true,                                 #OTCユーザーでありますか?
            "set_payment_method": false,                        #支払い方法を設定しましたか?
            "set_assets_password": false,                       #資金パスワードを設定しましたか?
            "binding_google_auth": false,                       #2段階認証を設定しましたか?
            "phone": "86-13000000000",                          #電話番号
            "first_name": fu,                                   #姓
            "last_name": lei,                                   #名
            "email": "mock_user@fcoin.com"                      #メール
        }
    

    OTC口座資金総額の照会

    リクエスト

    GET https://api.fcoin.com/v2/broker/otc/users/me/balances

    リクエスト・パラメータ

    応答結果

    {
        "status": "ok",
        "data": {
            "summary": "0.00000000",
            "balances": [
                {
                    "currency": "btc",                 # 通貨
                    "available_amount": 20.3202023,    # 利用可能額
                    "frozen_amount": 32093.3223        # 凍結中の数量
                },
                {
                    "currency": "eth",
                    "available_amount": 20.3202023,
                    "frozen_amount": 32093.3223
                }
            ]
        }
    }            
    

    OTC口座の指定された通貨の資金照会

    リクエスト・URL

    GET https://api.fcoin.com/v2/broker/otc/users/me/balance

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    currency 通貨(例):btc/eth/usdt

    応答結果

    {
        "status": "ok",
        "data": {
            "summary": "0.00000000",                  # btcに換算すると
            "balances": [
                {
                    "currency": "btc",               # 通貨
                    "available_amount": 20.3202023,  # 利用可能額
                    "frozen_amount": 32093.3223      # 凍結中の数量
                }
            ]
        }
    }             
    

    レバレッジ

    レバレッジ口座へ資産の振込入金

    このAPIは、取引口座或いはマイウォレットの資産をレバレッジ口座に振込入金するために使用されます。

    HTTP Request

    POST https://api.fcoin.com/v2/broker/leveraged/assets/transfer/in

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    amount 振込入金の数量
    currency 通貨:usdt、btc、eth
    source_account_type 送金口座のタイプ: exchange: 取引口座; assets: マイウォレット
    target_account_type 入金先の口座のタイプ: leveraged_btcusdt、leveraged_ethusdt、leveraged_eosusdt、leveraged_xrpusdt
    {
      "amount": 1,
      "currency": "btc",
      "source_account_type": "exchange",
      "target_account_type": "leveraged_btcusdt"
    }
    

    応答結果

    {
      "data": null,
      "status": "ok"
    }
    

    レバレッジ口座から資産の振込出金

    このAPIは、レバレッジ口座から取引口座或いはマイウォレットに資産を振込出金するために使用されます。

    HTTP Request

    POST https://api.fcoin.com/v2/broker/leveraged/assets/transfer/out

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    amount 振込出金の数量
    currency 通貨:usdt、btc、eth、eos、xrp
    source_account_type 資産の元口座のタイプ: leveraged_btcusdt、leveraged_ethusdt、leveraged_eosusdt、leveraged_xrpusdt
    target_account_type 出金先の口座のタイプ:: exchange: 取引口座; assets: マイウォレット
    {
      "amount": 1,
      "currency": "btc",
      "source_account_type": "leveraged_btcusdt",
      "target_account_type": "exchange"
    }
    

    応答結果

    {
      "data": null,
      "status": "ok"
    }
    

    指定されたレバレッジ口座の情報を照会する

    リクエスト・URL

    GET https://api.fcoin.com/v2/broker/leveraged_accounts/account

    リクエスト・パラメータ

    ペラメータ デフォルト値 説明
    account_type レバレッジ口座のタイプ:btcusdt/ethusdt

    応答結果

    {
        "status": "ok",
        "data": {
           "open": true,                                    #本タイプのレバレッジ口座を開設しましたか? true:はい;false:いいえ
            "leveraged_account_type": "btcusdt",             #レバレッジ口座のタイプ
            "base": "btc",                                   #基軸通貨
            "quote": "usdt",                                 #評価通貨
            "available_base_currency_amount": "1001.00",     #利用可能の基軸通貨資産
            "frozen_base_currency_amount": "0",              #凍結中の基軸通貨資産
            "available_quote_currency_amount": "100100",     #利用可能の評価通貨資産
            "frozen_quote_currency_amount": "0",             #凍結中の評価通貨資産
            "available_base_currency_loan_amount": "2.000",  #貸借可能の基軸通貨資産        
         "available_quote_currency_loan_amount": "300.000",#貸借可能の評価通貨数量
            "blow_up_price": null,                           #清算価格
            "risk_rate": "0.90",                             #ロスカットリスク率
            "state": "open"                                  #口座状態. close クローズ;open オープン-貸借無し;normal 貸借あり-ノーマルなリスク率;blow_up ロスカット;overrun 追証", allowableValues = "close,open,normal,blow_up,overrun")
    
        }
    }
    

    全てのレバレッジ口座の情報を照会する

    リクエスト・URL

    GET https://api.fcoin.com/v2/broker/leveraged_accounts

    リクエスト・パラメータ

    応答結果

    {
        "status": "ok",
        "data": [
            {
           "open": true,                                    #本タイプのレバレッジ口座を開設しましたか? true:はい;false:いいえ
            "leveraged_account_type": "btcusdt",             #レバレッジ口座のタイプ
            "base": "btc",                                   #基軸通貨
            "quote": "usdt",                                 #評価通貨
            "available_base_currency_amount": "1001.00",     #利用可能の基軸通貨資産
            "frozen_base_currency_amount": "0",              #凍結中の基軸通貨資産
            "available_quote_currency_amount": "100100",     #利用可能の評価通貨資産
            "frozen_quote_currency_amount": "0",             #凍結中の評価通貨資産
            "available_base_currency_loan_amount": "2.000",  #貸借可能の基軸通貨資産        
         "available_quote_currency_loan_amount": "300.000",#貸借可能の評価通貨数量
            "blow_up_price": null,                           #清算価格
            "risk_rate": "0.90",                             #ロスカットリスク率
            "state": "open"                                  #口座状態. close クローズ;open オープン-貸借無し;normal 貸借あり-ノーマルなリスク率;blow_up ロスカット;overrun 追証"
            }
        ]
    }
    

    エラーコード

    エラーコード 内容解釈
    400 Bad Request -- 誤リクエスト
    401 Unauthorized -- API key 或いは署名、タイムスタンプに誤りがあります
    403 Forbidden -- アクセス不可
    404 Not Found -- リクエストされたリソースが見つかりませんでした
    405 Method Not Allowed -- 使用されるHTTPメソッドは、要求されたリソースには適用されません
    406 Not Acceptable -- リクエストされたコンテンツのフォーマットはJSONではありません
    429 Too Many Requests -- 負荷がオーバーロード、リクエスト頻度を下げてください
    500 Internal Server Error -- サービスの内部エラーが発生、後でもう一度お試しください
    503 Service Unavailable -- サービスが利用できません、後でやり直してください