アクセスできるアカウントをフィルタする

Merchant Accounts API を使用すると、アクセス権があるアカウント(サブアカウントを含む)をフィルタして一覧表示できます。表示名や他のアカウントとの関係でフィルタできます。たとえば、表示名に文字列 "store" が含まれ、リンク ステータスも PENDING であるアカウントをフィルタリングすると、アカウントのリンク リクエストをまだ承認していないすべてのショップを表示できます。

すべてのサブアカウントを表示するには、accounts.v1beta.accounts.listSubAccounts を呼び出します。

アクセス可能なすべてのアカウント(サブアカウントや、自分が User であるアカウントを含む)のフィルタされたリストを表示するには、accounts.v1beta.accounts.list を呼び出して、filter フィールドにフィルタ条件を指定します。

filter フィールドの構文の詳細については、フィルタ構文リファレンスをご覧ください。

使用できるフィルタの種類は次のとおりです。

アカウント フィルタ

次のフィールドを使用して、account レベルでフィルタできます。

  • accountName: account リソースの accountName でフィルタします。
  • relationship(...): アカウントと別のアカウントの関係のタイプでフィルタします。1 つのリクエストに複数の relationship(...) フィルタを含めることができます。

関係フィルタ

relationship(...) 関数を使用すると、次の条件に基づいてフィルタリングできます。

  • providerId: サービス プロバイダの販売者 ID。たとえば、account/123 が提供するサービスを持つアカウントのみをフィルタで返す必要がある場合は、providerId = 123 を使用します。
  • callerHasAccessToProviderFilter(): アクセス可能なサービス プロバイダとの関係があるアカウントをフィルタします。
  • externalAccountId: サービス プロバイダがサービスを提供するアカウントの外部アカウント ID。
  • accountIdAlias:: 関係に構成されているアカウント ID エイリアス。
  • service(...): 関係の一部として提供されるサービス。1 つの relationship(...) 関数に複数の service(...) 関数を含めることができます。

サービス フィルタ

service(...) 関数を使用すると、関係のステータスと、それらの関係が提供するサービスの種類に基づいて、アカウントをさらにフィルタリングできます。

  • handshakeState: 2 つのアカウント間のサービス契約の状態。指定できる値は次のとおりです。
    • PENDING
    • APPROVED
  • type:: プロバイダが提供するサービスの種類。指定できる値は次のとおりです。
    • ACCOUNT_MANAGEMENT プロバイダがアカウントを管理します。
    • ACCOUNT_AGGREGATION プロバイダはアカウントのアグリゲータです。

使用できるフィルタの例をいくつか示します。

表示名に「store」を含むアカウントと、ID が「123」のプロバイダをフィルタします。

accountName = "*store*" AND relationship(providerId = 123)

アカウント「123」のすべてのサブアカウントでフィルタ:

relationship(providerId = 123 AND service(type = "ACCOUNT_AGGREGATION"))

承認済みのアカウント管理サービスがあるアカウントをフィルタします。

relationship(service(handshakeState = "APPROVED" AND type = "ACCOUNT_MANAGEMENT"))

プロバイダにアクセスできる、特定のエイリアスと ID を持つアカウントをフィルタします。このリクエストを行うには、プロバイダへのアクセス権も必要です。

relationship(callerHasAccessToProviderFilter() AND externalAccountId = "extAcctId" AND accountIdAlias = "alias")

次のステップ

  • アカウントのフィルタリングの詳細については、フィルタ構文をご覧ください。