Lọc tài khoản bạn có thể truy cập

Bạn có thể sử dụng API tài khoản Merchant để xem danh sách tài khoản đã lọc mà bạn có quyền truy cập, bao gồm cả các tài khoản phụ. Bạn có thể lọc theo tên hiển thị và mối quan hệ với các tài khoản khác. Ví dụ: bạn có thể lọc các tài khoản có tên hiển thị chứa chuỗi "store", cũng có trạng thái liên kết PENDING, để xem tất cả chưa chấp nhận yêu cầu liên kết tài khoản.

Để xem tất cả các tài khoản phụ, hãy gọi accounts.v1beta.accounts.listSubAccounts.

Để xem danh sách đã lọc gồm tất cả các tài khoản mà bạn có quyền truy cập, bao gồm tài khoản phụ và bất kỳ tài khoản nào có bạn là User, gọi accounts.v1beta.accounts.list và chỉ định tiêu chí lọc trong trường filter.

Để biết thông tin chi tiết về cú pháp của trường filter, hãy xem cú pháp bộ lọc tham chiếu.

Dưới đây là các loại bộ lọc mà bạn có thể sử dụng:

Bộ lọc tài khoản

Bạn có thể sử dụng các trường sau để lọc ở cấp account:

  • accountName: Các bộ lọc theo accountName của tài nguyên account.
  • relationship(...): Lọc theo loại mối quan hệ mà tài khoản có với một tài khoản khác. Bạn có thể thêm nhiều bộ lọc relationship(...) trong một yêu cầu.

Bộ lọc mối quan hệ

Bạn có thể sử dụng hàm relationship(...) để lọc dựa trên các giá trị sau tiêu chí:

  • providerId: Mã người bán của nhà cung cấp dịch vụ. Ví dụ: nếu bộ lọc sẽ chỉ trả về các tài khoản có dịch vụ do account/123, sử dụng providerId = 123.
  • callerHasAccessToProviderFilter(): Bộ lọc cho các tài khoản có với nhà cung cấp dịch vụ mà bạn có quyền truy cập.
  • externalAccountId: Mã tài khoản bên ngoài của nhà cung cấp dịch vụ cho tài khoản mà nó cung cấp dịch vụ.
  • accountIdAlias: Bí danh mã tài khoản được định cấu hình cho mối quan hệ.
  • service(...): Dịch vụ được cung cấp trong mối quan hệ. Bạn có thể thêm nhiều hàm service(...) vào một relationship(...) .

Bộ lọc dịch vụ

Bạn có thể dùng hàm service(...) để lọc thêm các tài khoản dựa trên tình trạng của các mối quan hệ và loại dịch vụ mà các mối quan hệ đó cung cấp:

  • handshakeState: Trạng thái của thoả thuận dịch vụ giữa hai tài khoản. Chấp nhận các giá trị sau:
    • PENDING
    • APPROVED
  • type: Loại dịch vụ của nhà cung cấp. Chấp nhận mục sau giá trị:
    • ACCOUNT_MANAGEMENT Nhà cung cấp quản lý tài khoản.
    • ACCOUNT_AGGREGATION Nhà cung cấp là trang web tổng hợp của tài khoản.

Ví dụ

Dưới đây là một số ví dụ về bộ lọc mà bạn có thể thử.

Lọc các tài khoản có tên hiển thị chứa "store" (cửa hàng) và nhà cung cấp Mã nhận dạng "123":

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

Lọc tất cả các tài khoản phụ của tài khoản "123":

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

Lọc các tài khoản có dịch vụ quản lý tài khoản được phê duyệt:

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

Lọc các tài khoản có email đại diện và mã nhận dạng cụ thể có quyền truy cập vào một nhà cung cấp. Bạn cũng phải có quyền truy cập vào nhà cung cấp để thực hiện yêu cầu này:

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

Các bước tiếp theo

  • Để biết thêm thông tin về cách lọc tài khoản, hãy xem phần Bộ lọc cú pháp.