最終更新:
編集

レスポンスのフォーマット

rippledAPIからのレスポンスのフォーマットは、メソッドが呼び出されたインターフェイス(WebSocket、JSON-RPC、コマンドライン)に応じて多少異なります。コマンドラインインターフェイスがJSON-RPCを呼び出すため、コマンドラインインターフェイスとJSON-RPCインターフェイスは同じフォーマットを使用します。

成功した場合のレスポンスに含まれるフィールドは、以下の通りです。

Field説明
id(場合により異なる)(WebSocketのみ)このレスポンスのリクエスト元となったリクエストで指定されているID。
status文字列(WebSocketのみ)値がsuccessである場合、リクエストがサーバによって正常に受信され、理解されたことを示します。
result.status文字列(JSON-RPCおよびコマンドライン)値がsuccessである場合、リクエストがサーバによって正常に受信され、理解されたことを示します。
type文字列(WebSocketのみ)値がresponseの場合、コマンドに対する正常なレスポンスであることを示します。非同期の通知では、ledgerClosedtransactionなど異なる値が使用されます。
resultオブジェクトクエリーの結果。内容はコマンドによって異なります。
warning文字列(省略可) このフィールドが存在する場合、値は文字列loadです。これはクライアントがサーバがこのクライアントを切断するレートリミットの閾値に近づいていることを意味します。
warnings配列(省略可) このフィールドが存在する場合、重要な警告を含む1つ以上のWarningsオブジェクトが含まれます。詳細については、API警告をご覧ください。
forwarded真偽値(省略可) trueの場合、このリクエストとレスポンスはレポートモードサーバからP2Pモードサーバに転送されます。デフォルトはfalseです。

成功した場合のレスポンスの例

{
  "id": 2,
  "status": "success",
  "type": "response",
  "result": {
    "account_data": {
      "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59",
      "Balance": "27389517749",
      "Flags": 0,
      "LedgerEntryType": "AccountRoot",
      "OwnerCount": 18,
      "PreviousTxnID": "B6B410172C0B65575D89E464AF5B99937CC568822929ABF87DA75CBD11911932",
      "PreviousTxnLgrSeq": 6592159,
      "Sequence": 1400,
      "index": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05"
    },
    "ledger_index": 6760970
  }
}

APIの警告

レスポンスにwarningsの配列が含まれる場合、その配列の各要素はサーバからの個別の警告を表します。このような警告オブジェクトはそれぞれ以下のフィールドを含みます:

フィールド説明
id数値この警告メッセージの一意の数値コード。
message文字列このメッセージの原因を説明する人間が読める文字列。このメッセージの内容に依存するようなソフトウェアを書かないでください。代わりにid(およびdetails(もしあれば))を使って警告を識別してください。
detailsオブジェクト(省略可) この警告に関する追加情報。内容は警告の種類によって異なります。

以下の資料では、考えられるすべての警告について説明しています。

1001. Unsupported amendments have reached majority

警告の例:

"warnings" : [
  {
    "details" : {
      "expected_date" : 864030,
      "expected_date_UTC" : "2000-Jan-11 00:00:30.0000000 UTC"
    },
    "id" : 1001,
    "message" : "One or more unsupported amendments have reached majority. Upgrade to the latest version before they are activated to avoid being amendment blocked."
  }
]

この警告は、XRP Ledgerプロトコルの1つ以上のAmendmentが有効になる予定であるが、現在のサーバにはそれらのAmendmentの実装がないことを示しています。これらのAmendmentが有効になると、現在のサーバはAmendmentブロックされるため、できるだけ早く最新のrippledバージョンにアップグレードする必要があります。

サーバは、この警告を送信するのは、クライアントが管理者として接続している場合のみです。

この警告には、以下のフィールドを含むdetailsフィールドが含まれます。

フィールド説明
expected_date数値サポートされていない最初のAmendmentが有効になると予想される時刻([リップルエポックからの秒数][])。
expected_date_UTC文字列サポートされていない最初のAmendmentが有効になると予想される時刻(UTCでのタイムスタンプ)。

レジャーのクローズ時間の変動により、これらはおおよその時刻となります。また、指定された時刻までにAmendmentが80%以上のバリデータからサポートされ続けない場合、Amendmentが有効にならず、期待された時刻にAmendmentが有効にならない可能性があります。サポートされていないAmendmentが有効にならない限り、サーバはAmendmentブロックされません。

1002. This server is amendment blocked

警告の例:

"warnings" : [
  {
    "id" : 1002,
    "message" : "This server is amendment blocked, and must be updated to be able to stay in sync with the network."
  }
]

この警告は、サーバがAmendmentブロックされ、同期を取ることができなくなったことを示しています。

サーバの管理者は、アクティブ化されたAmendmentをサポートするバージョンにrippledをアップグレードする必要があります。

1003. This is a reporting server

警告の例:

"warnings" : [
  {
    "id" : 1003,
    "message" : "This is a reporting server. The default behavior of a reporting server is to only return validated data. If you are looking for not yet validated data, include \"ledger_index : current\" in your request, which will cause this server to forward the request to a p2p node. If the forward is successful the response will include \"forwarded\" : \"true\""
  }
]

この警告は、リクエストに応答するサーバがレポートモードで実行されていることを示しています。レポートモードはピアツーピアネットワークに接続せず、まだ検証されていないレジャーデータを追跡しないため、一部のAPIメソッドが利用できないか、異なる動作をすることがあります。

一般的に、この警告は無視しても安全です。

注意: レポートモードで検証されていないデータをリクエストする場合、明示的にレジャーバージョンを指定しない限り、レポートモードはデフォルトで最新の検証済みレジャーを使用します。

関連項目