Method: accounts.list

호출하는 사용자가 액세스할 수 있고 페이지 크기 또는 필터와 같은 요청의 제약 조건과 일치하는 계정을 나열합니다. 여기에는 MCA의 하위 계정만 나열되는 것이 아니라 호출하는 사용자가 다른 MCA, 연결된 계정, 독립형 계정 등을 포함하여 액세스할 수 있는 모든 계정이 표시됩니다.

HTTP 요청

GET https://merchantapi.googleapis.com/accounts/v1beta/accounts

URL은 gRPC 트랜스코딩 구문을 사용합니다.

쿼리 매개변수

매개변수
pageSize

integer

선택사항입니다. 반환할 최대 계정 수입니다. 서비스가 이 값보다 더 적게 반환할 수 있습니다. 지정하지 않으면 최대 250개의 계정이 반환됩니다. 최댓값은 500이며, 500을 초과하는 값은 500으로 변환됩니다.

pageToken

string

선택사항입니다. 이전 accounts.list 호출에서 받은 페이지 토큰입니다. 후속 페이지를 검색하려면 이를 입력합니다.

페이지를 매길 때 accounts.list에 제공된 다른 모든 매개변수는 페이지 토큰을 제공한 호출과 일치해야 합니다.

filter

string

선택사항입니다. 필터와 일치하는 계정만 표시하는 선택적 필터입니다.

다음은 유효한 필터의 몇 가지 예입니다.

  • accountName = "*store*" AND relationship(providerId = 123)
  • relationship(providerId = 123 AND service(type = "ACCOUNT_AGGREGATION"))
  • (accountName = "storeA") OR (accountName = "storeB")
  • relationship(service( handshakeState = "APPROVED" AND type = "ACCOUNT_MANAGEMENT"))
  • relationship(callerHasAccessToProvider() AND externalAccountId = "extAcctId" AND accountIdAlias = "alias")
  • (relationship(service(type = "ACCOUNT_MANAGEMENT") AND service(handshakeState = "PENDING"))) OR (accountName = "store" AND relationship(...))

계정 수준의 필터에서 사용되는 의미는 다음과 같습니다.

  • accountName 계정의 accountName 필드를 나타냅니다.
  • relationship(...) 다른 계정과의 관계를 나타냅니다. 함수 내에서 이 관계를 추가로 지정할 수 있습니다.

관계 수준의 필터에는 다음과 같은 의미가 있습니다.

  • providerId 관계의 다른 구성원인 계정의 숫자 ID를 나타냅니다. 예를 들어 필터를 accounts/name/123 계정과 관계가 있는 계정으로 제한해야 하는 경우 providerId을(를) providerId = 123(으)로 필터링해야 합니다.
  • callerHasAccessToProvider() 이렇게 하면 호출하는 사용자가 관계의 다른 구성원 (또는 공급자)에 액세스할 수 있는 다른 계정과 관계가 있는 계정으로 결과 계정이 제한됩니다.
  • externalAccountId 이는 관계에 구성된 외부 계정 ID를 나타냅니다.
  • accountIdAlias 관계에 구성된 계정 ID 별칭을 나타냅니다.
  • service(...) 이는 관계의 일부로 제공되는 서비스를 나타냅니다. 참고: 두 계정 간의 관계에 여러 서비스가 포함될 수 있습니다.

서비스 수준의 필터에는 다음과 같은 의미가 있습니다.

  • handshakeState 서비스의 핸드셰이크 상태를 나타냅니다. 서비스가 설정되면 관계의 다른 구성원 또는 두 구성원 모두가 먼저 승인해야 하는 경우가 있습니다. 따라서 서비스는 PENDING 또는 APPROVED 상태일 수 있습니다.
  • type 서비스의 유형을 나타냅니다. 가능한 값은 다음과 같습니다.
    • ACCOUNT_MANAGEMENT 제공업체가 계정을 관리합니다.
    • ACCOUNT_AGGREGATION 제공업체가 계정의 애그리게이터입니다.

필터는 AIP 필터 사양의 하위 집합 및 공식 EBNF 문법을 따릅니다. 이 필터의 문법은 더 제한적이고 구체적입니다.

filter
    : accountFilterDisj
    | accountFilterConj
    ;
accountFilterDisj
    : "(" accountFilterConj " OR " accountFilterConj ")"
    ;
accountFilterConj
    : accountFilter {" AND " accountFilter}
    ;
accountFilter
    : accountNameFilter | relationshipFn
    ;
accountNameFilter
    : "accountName" comparator value
    ;
relationshipFn
    : "relationship(" relationshipConj ")"
    ;
relationshipConj
    : relationshipFilter {" AND " relationshipFilter}
    ;
relationshipFilter
    : "providerId = " numValue
    | "callerHasAccessToProvider()"
    | "externalAccountId" comparator value
    | "accountIdAlias" comparator value
    | serviceFn
    ;
serviceFn
    : "service(" serviceConj ")"
    ;
serviceConj
    : serviceFilter {" AND " serviceFilter}
    ;
serviceFilter
    : handshakeStateFilter
    | typeFilter
    ;
handshakeStateFilter
    : "handshakeState = " value
    ;
typeFilter
    : "type = " value
    ;
comparator
    : " = " | " != "
    ;

또한 다음 사항이 적용됩니다.

  • 접속사의 각 필드는 한 번만 표시될 수 있습니다. 예를 들어 계정 수준에서 accountName을 한 번만 필터링할 수 있거나 각 관계 수준에서 providerId을 한 번만 필터링할 수 있습니다.
  • 문자열 필드 (예: accountName 또는 accountIdAlias)의 경우 쿼리를 *로 묶어 CONTAINS 연산자를 표현할 수 있습니다. 예를 들어 accountName = "*foo*"foo가 포함된 accountName가 있는 모든 계정을 반환합니다. 직교로 !=를 사용하여 NOT_CONTAINS 연산자를 표현할 수 있습니다. 예를 들어 accountName != "*foo*"foo가 포함되지 않은 accountName을 가진 모든 계정을 반환합니다. 참고: ***를 사용하여 별표 문자 *를 포함하는 accountName이 있는 계정을 검색할 수 있습니다.
  • 추가 공백은 무시됩니다.
  • 숫자만 포함하는 값을 제외한 모든 값은 큰따옴표로 묶어야 합니다.
  • 분리가 사용되는 경우 각 변의 접속사는 괄호를 사용해야 합니다. 괄호는 함수 호출을 제외하고 다른 어떤 곳에도 허용되지 않습니다 (예: relationship 또는 service). 이는 결합이 논리적으로 분리보다 더 강력한 결합을 명확하게 표현하기 위함입니다.

요청 본문

요청 본문은 비어 있어야 합니다.

응답 본문

accounts.list 메서드에 대한 응답 메시지입니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "accounts": [
    {
      object (Account)
    }
  ],
  "nextPageToken": string
}
입력란
accounts[]

object (Account)

ListAccountsRequest와 일치하는 계정

nextPageToken

string

다음 페이지를 검색하기 위해 pageToken으로 전송할 수 있는 토큰입니다. 이 필드를 생략하면 후속 페이지가 표시되지 않습니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/content

자세한 내용은 OAuth 2.0 개요를 참고하세요.