您可以使用 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()
:用于过滤与您有权访问的服务提供商有关系的账号的过滤条件。accountIdAlias:
为关联配置的账号 ID 别名。service(...)
:在这种关系中提供的服务。您可以在一个relationship(...)
函数中添加多个service(...)
函数。
服务过滤条件
您可以使用 service(...)
函数根据账号关系的状态以及这些关系提供的服务类型进一步过滤账号:
externalAccountId
:服务提供商为其提供服务的账号的外部账号 ID。handshakeState
:两个账号之间的服务协议状态。接受以下值:PENDING
APPROVED
type:
提供商提供的服务类型。接受以下值:ACCOUNT_MANAGEMENT
提供商管理账号。ACCOUNT_AGGREGATION
提供商是该账号的集合商家。
示例
以下是一些您可以尝试的过滤条件示例。
过滤出显示名称包含“商店”且提供商 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 accountIdAlias = "alias" AND service(externalAccountId = "extAcctId"))
后续步骤
- 如需详细了解如何过滤账号,请参阅过滤条件语法。