XRP Chartsへの取引所の登録

XRP Chartsは、XRP Ledgerネットワークとそのアカウントおよびトランザクションに関するデータの他に、外部取引所のXRPマーケットデータ も提供します。このチュートリアルでは、各自の取引所とそのXRP取引、およびオーダーブックのデータをXRP Chartsに登録する方法を説明します。

XRP Chartsの取引所リストに掲載されるには、以下のデータを使用可能にしておく必要があります。取引所に、以下のデータを提供できる既存のRESTful APIエンドポイントがある場合は、タスク1と2を実行する際に必要な開発作業はほとんどありません。

  1. 最近実行された取引を返すRESTful APIエンドポイントの提供

  2. 現行オーダーブックのデータを返すRESTful APIエンドポイントの提供

次に、XRP Chartsへの取引所登録依頼の送信を行う必要があります。

エンドポイントの仕様についてのご質問は、xrpcharts_support@ripple.comまでお問い合わせください。

最近実行された取引を返すRESTful APIエンドポイントの提供

特定のXRPマーケットで実行された最新の500~1,000件の個別取引を返すRESTful APIエンドポイントを提供します。

取引の取りこぼしがないようにするため、XRP Chartsはエンドポイントを5~30秒間隔で頻繁に照会します。これは重複する取引データを含む応答を取得することを目的としています。エンドポイントにより適用されるレート制限が、この照会頻度に対応できることを確認してください。XRP Chartsは、取引が重複する場合でも一意の取引データのみを記録します。

XRP Chartsがレート制限を上回る頻度でエンドポイントを照会する必要がある場合、XRP Chartsから、レート制限を調整するか、last_tidパラメーターを指定するように求められます。

要求フォーマット

以下のような要求フォーマットを指定します。

GET {api_base_url}/v1/trades

認証

XRP Chartsでは、一般にアクセス可能なエンドポイントを使用することが望まれます。

パラメーター

応答で返される取引をXRP Chartsで絞り込むことを可能にするパラメーターを指定します。パラメーターのフィールド名は一例です。他の名前を使用できます。エンドポイントでは省略可能なパラメーターを指定する必要はありませんが、このようなパラメーターは有用です。

フィールド 説明
market 文字列 XRPがベース通貨またはクオート通貨のいずれかである特定の市場で実施された取引を返します。提案されるフォーマット(<basecurrency>_<countercurrency>)を使用して、有効な値(xrp_btcbtc_xrpxrp_usdusd_xrpなど)を指定します。
last_tid 整数 (省略可) 特定の取引IDの後で実行された取引を返します。たとえば、XRP Chartsではこのパラメーターを使用して、サイトデータに記録されている最後の取引セット以降に行われたすべての取引を取得します。これにより、すべての取引が確実に記録されます。
limit 整数 (省略可) 応答で特定の数の取引のみを返します。

応答フォーマット

正常に終了した場合の応答は、各取引を表すオブジェクトのJSON配列である必要があります。パラメーターのフィールド名は一例です。他の名前を使用できます。エンドポイントでは省略可能なパラメーターを指定する必要はありませんが、このようなパラメーターは有用です。

フィールド 説明
price 文字列または数値 取引の為替レート。
amount 文字列または数値 売買するXRPの額。
timestamp 文字列 ISO 8601 の日時フォーマットまたはUnixの時刻 フォーマットでの取引実行時刻。
tid 整数 (省略可) 取引の一意のID。整数のシーケンス番号であれば理想的です。
type 文字列 (省略可) 取引のタイプ。有効な値にはbuysellなどがあります。
size 文字列または数値 (省略可) 取引されたクオート通貨の額。
count 整数 (省略可) 応答で返す取引オブジェクトの数。

要求の例

GET https://api.example.com/v1/trades?market=xrp_btc&last_tid=75208825&limit=500

応答の例

{
  "trades":[
     {
        "tid":75209326,
        "type":"buy",
        "price":"0.57201",
        "amount":"4954.0744",
        "size":"2833.7801",
        "timestamp":"2018-10-01T12:35:11.000Z"
     },
     ...
     {
        "tid":75208826,
        "type":"sell",
        "price":"0.57201",
        "amount":"4954.0744",
        "size":"2833.7801",
        "timestamp":"2018-10-01T12:31:16.000Z"
     }
  ],
  "count":"500"
}

現行オーダーブックのデータを返すRESTful APIエンドポイントの提供

特定マーケットの現行オーダーブックに関するデータを返すRESTful APIエンドポイントを提供します。

XRP Chartsはこのエンドポイントを約30秒間隔で照会します。

要求フォーマット

以下のような要求フォーマットを指定します。

GET {api_base_url}/v1/orderbook

認証

XRP Chartsでは、一般にアクセス可能なエンドポイントを使用することが望まれます。

パラメーター

以下のパラメーターを指定します。パラメーターのフィールド名は一例です。他の名前を使用できます。

Field 説明
market 文字列 XRPがベース通貨またはクオート通貨のいずれかである現行オーダーブックを返します。提案されるフォーマット(<basecurrency>_<countercurrency>)を使用して、有効な値(xrp_btcbtc_xrpxrp_usdusd_xrpなど)を指定します。

応答フォーマット

正常に終了した場合の応答は、現行の売値と買値からなる配列とタイムスタンプを含むJSONオブジェクトである必要があります。応答にはオーダーブック全体が含まれている必要はありません。必要とされるのは、マーケットでの現在のXRP流動性を把握するのに十分なデータだけです。パラメーターのフィールド名は一例です。他の名前を使用できます。

フィールド 説明
timestamp 文字列 ISO 8601 の日時フォーマットまたはUnixの時刻 フォーマットの応答送信時刻。
bids オブジェクトの配列 オーダーブックでの売値。配列の各オブジェクトには、オファーで示されたpriceとその価格で使用可能なamountが含まれている必要があります。
asks オブジェクトの配列 オーダーブックでの買値。配列の各オブジェクトには、オファーで示されたpriceとその価格で使用可能なamountが含まれている必要があります。

要求の例

GET https://api.example.com/v1/orderbook?market=xrp_btc

応答の例

{
  "timestamp":"2018-10-01T12:41:16.000Z",
  "bids":[
     {
        "price":0.00007103,
        "amount":140
     },
     {
        "price":0.000071,
        "amount":135
     },
     {
        "price":0.00007092,
        "amount":5266
     }
  ],
  "asks":[
     {
        "price":0.00007108,
        "amount":140
     },
     {
        "price":0.00007109,
        "amount":84
     },
     {
        "price":0.0000711,
        "amount":10650
     }
  ]
}

XRP Chartsへの取引所登録依頼の送信

XRP Chartsへの取引所登録のご依頼は、xrpcharts_support@ripple.comまでご連絡ください。

依頼には、APIドキュメントへのリンクを必ず記述してください。