篩選您可以存取的帳戶

您可以使用 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")

後續步驟

  • 如要進一步瞭解如何篩選帳戶,請參閱「篩選語法」一文。