您可以使用 Merchant Accounts API 来查看您有权访问的帐号(包括子帐号)的过滤列表。您可以按显示名以及与其他帐号的关系进行过滤。例如,您可以过滤出显示名称包含字符串 "store"
且关联状态为 PENDING
的帐号,以查看尚未接受帐号关联请求的所有商店。
如需查看所有子帐号,请调用 accounts.v1beta.accounts.listSubAccounts
。
如需查看您有权访问的所有帐号的过滤列表(包括子帐号以及以 User
身份使用的任何帐号),请调用 accounts.v1beta.accounts.list
,并在 filter
字段中指定过滤条件。
如需详细了解 filter
字段的语法,请参阅过滤器语法参考文档。
以下是您可以使用的过滤条件类型:
账号过滤条件
您可以使用以下字段在 account
级别进行过滤:
accountName
:按account
资源的accountName
过滤。relationship(...)
:按帐号与其他帐号的关系类型进行过滤。您可以在一个请求中包含多个relationship(...)
过滤条件。
关系过滤条件
您可以使用 relationship(...)
函数根据以下条件进行过滤:
providerId
:服务提供商的商家 ID。例如,如果过滤器应仅返回具有由account/123
提供的服务的帐号,请使用providerId = 123
。callerHasAccessToProviderFilter()
:与您有权访问的服务提供商有关系的帐号的过滤器。externalAccountId
:服务提供商向其提供服务的帐号的外部帐号 ID。accountIdAlias:
:为关系配置的帐号 ID 别名。service(...)
:作为关系的一部分提供的服务。您可以在一个relationship(...)
函数中包含多个service(...)
函数。
服务过滤条件
您可以使用 service(...)
函数,根据帐号的关系状态以及这些关系提供的服务类型,进一步过滤帐号:
handshakeState
:两个帐号之间服务协议的状态。接受以下值: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")
后续步骤
- 如需详细了解如何过滤帐号,请参阅过滤条件语法。