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つ以上のオーダーブックが存在していません(ある通貨をその通貨自体と交換するオファーなど)。