最終更新:
編集

unsubscribe

[ソース]

unsubscribeコマンドはサーバに対して、特定のサブスクリプションまたは一連のサブスクリプションへのメッセージ送信の停止を指示します。

リクエストのフォーマット

リクエストのフォーマットの例:

{
   "id":"Unsubscribe a lot of stuff",
   "command":"unsubscribe",
   "streams":["ledger","server","transactions","transactions_proposed"],
   "accounts":["rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1"],
   "accounts_proposed":["rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1"],
   "books":[
       {
           "taker_pays":{
               "currency":"XRP"
           },
           "taker_gets":{
               "currency":"USD",
               "issuer":"rUQTpMqAF5jhykj4FExVeXakrZpiKF6cQV"
           },
           "both": true
       }
   ]
}

試してみる >

このリクエストのパラメーターは、subscribeメソッドのパラメーターとほぼ同様の方法で指定されますが、終了するサブスクリプションを定義するために使用される点が異なります。これらのパラメーターを以下に示します。

Field説明
streams配列(省略可) サブスクライブを解除する汎用ストリームの文字列名の配列(ledgerservertransactionstransactions_proposedなど)。
accounts配列(省略可) 更新の受信を停止する一意のアカウントアドレスの配列(XRP Ledgerのbase58フォーマット)。(以前にこれらのアカウントをサブスクライブしていた場合にのみ、メッセージが停止されます。一般のトランザクションストリームからアカウントを除外する目的では使用できません。)
accounts_proposed配列(省略可)accountsと同様ですが、未検証のトランザクションを含むaccounts_proposedサブスクリプションを対象としています。
books配列(省略可) 以下に説明するように、サブスクライブ解除するオーダーブックを定義するオブジェクトの配列。

rt_accountsパラメーター、urlパラメーター、rt_transactionsストリーム名は廃止予定であり、今後予告なしに削除される可能性があります。

books配列のオブジェクトは、subscribeのオブジェクトと同様に定義されますが、一部のフィールドが含まれていない点が異なります。このオブジェクトのフィールドを次に示します。

Field説明
taker_getsオブジェクトオファーを受諾するアカウントが受け取る通貨を、通貨額と同様、currencyフィールドとissuerフィールドを持つオブジェクトとして指定します(XRPの場合はissuerを省略)。
taker_paysオブジェクトオファーを受諾するアカウントが支払う通貨を、通貨額と同様、currencyフィールドとissuerフィールドを持つオブジェクトとして指定します(XRPの場合はissuerを省略)。
bothブール値(省略可、デフォルトではfalse)trueの場合は、オーダーブックの両サイドからサブスクリプションを削除します。

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

処理が成功したレスポンスの例:

{
   "id":"Unsubscribe a lot of stuff",
   "result":{},
   "status":"success",
   "type":"response"
}

このレスポンスは標準フォーマットに従っており、正常に完了した場合は結果にフィールドが含まれません。

考えられるエラー

  • 汎用エラータイプのすべて。
  • invalidParams - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。
  • noPermission - リクエストにurlフィールドが指定されていますが、管理者として接続していません。
  • malformedStream - リクエストのstreamsフィールドのフォーマットが適切ではありません。
  • malformedAccount - リクエストのaccountsまたはaccounts_proposedフィールドのアドレスの1つが、適切なフォーマットのXRP Ledgerアドレスではありません。
    • 注記: グローバルレジャーにエントリがまだ作成されていないアドレスのストリームをサブスクライブ できます 。このようにサブスクライブして、そのアドレスに資金が供給されたらメッセージを受け取ることができます。
  • srcCurMalformed - リクエストのbooksフィールドの1つ以上のtaker_paysサブフィールドのフォーマットが適切ではありません。
  • dstAmtMalformed - リクエストのbooksフィールドの1つ以上のtaker_getsサブフィールドのフォーマットが適切ではありません。
  • srcIsrMalformed - リクエストのbooksフィールドの1つ以上のtaker_paysサブフィールドのissuerフィールドが無効です。
  • dstIsrMalformed - リクエストのbooksフィールドの1つ以上のtaker_getsサブフィールドのissuerフィールドが無効です。
  • badMarket - books フィールドに指定されている1つ以上のオーダーブックが存在していません(ある通貨をその通貨自体と交換するオファーなど)。