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 người bán để xem danh sách các 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ả các cửa hàng 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ả tài khoản mà bạn có quyền truy cập, bao gồm các tài khoản phụ và mọi tài khoản mà bạn là User, hãy gọi accounts.v1beta.accounts.list rồi chỉ định tiêu chí lọc trong trường filter.

Để biết thông tin chi tiết về cú pháp cho trường filter, hãy xem tài liệu tham khảo về cú pháp bộ lọc.

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ể dùng các trường sau đây để lọc ở cấp account:

  • accountName: Lọc theo accountName của tài nguyên account.
  • relationship(...): Lọc theo loại mối quan hệ giữa tài khoản đó với tài khoản khác. Bạn có thể đưa nhiều bộ lọc relationship(...) vào 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 tiêu chí sau:

  • providerId: Mã người bán của nhà cung cấp dịch vụ. Ví dụ: nếu bộ lọc chỉ trả về các tài khoản có dịch vụ do account/123 cung cấp, hãy sử dụng providerId = 123.
  • callerHasAccessToProviderFilter(): Bộ lọc cho các tài khoản có mối quan hệ với một 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à nhà cung cấp dịch vụ đó cung cấp.
  • accountIdAlias: Bí danh của 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ể đưa nhiều hàm service(...) vào một hàm 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 trạng thái 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ụ do nhà cung cấp cung cấp. Chấp nhận các giá trị sau:
    • ACCOUNT_MANAGEMENT Nhà cung cấp quản lý tài khoản.
    • ACCOUNT_AGGREGATION Nhà cung cấp là đơn vị tập 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 ra các tài khoản có tên hiển thị chứa "store" (cửa hàng) và nhà cung cấp có mã nhận dạng là "123":

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

Lọc cho 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 liên hệ với nhà cung cấp để thực hiện yêu cầu này:

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

Bước tiếp theo

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