액세스 권한이 있는 계정 필터링

판매자 계정 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")

다음 단계

  • 계정 필터링에 대한 자세한 내용은 필터 구문을 참고하세요.