Фильтрация учетных записей, к которым вы можете получить доступ

Вы можете использовать API учетных записей торговцев для просмотра отфильтрованного списка учетных записей, к которым у вас есть доступ, включая субсчета. Вы можете фильтровать по отображаемым именам и связям с другими учетными записями. Например, вы можете отфильтровать учетные записи с отображаемыми именами, содержащими строку "store" , которые также имеют статус связи " PENDING ", чтобы просмотреть все ваши магазины, которые еще не приняли запрос на связывание учетных записей.

Чтобы просмотреть все ваши дочерние учетные записи, accounts.v1beta.accounts.listSubAccounts .

Чтобы просмотреть отфильтрованный список всех учетных записей, к которым у вас есть доступ, включая дочерние учетные записи и любые учетные записи, в которых вы являетесь User , вызовите accounts.v1beta.accounts.list и укажите критерии фильтрации в поле filter .

Подробную информацию о синтаксисе поля filter см. в справочнике по синтаксису фильтра .

Вот типы фильтров, которые вы можете использовать:

Фильтры аккаунтов

Вы можете использовать следующие поля для фильтрации на уровне account :

  • accountName : фильтрует по accountName ресурса account .
  • relationship(...) : фильтрует по типу отношений, которые учетная запись имеет с другой учетной записью. Вы можете включить несколько фильтров relationship(...) в один запрос.

Фильтры отношений

Вы можете использовать функцию relationship(...) для фильтрации по следующим критериям:

  • providerId : идентификатор продавца поставщика услуг. Например, если фильтр должен возвращать только учетные записи, у которых есть услуга, предоставляемая account/123 , используйтеProviderId providerId = 123 .
  • callerHasAccessToProviderFilter() : фильтрует учетные записи, связанные с поставщиком услуг, к которому у вас есть доступ.
  • externalAccountId : идентификатор внешней учетной записи поставщика услуг для учетной записи, которой он предоставляет услугу.
  • accountIdAlias: псевдоним идентификатора учетной записи, настроенный для связи.
  • service(...) : услуга, предоставляемая как часть отношения. Вы можете включить несколько функций service(...) в одну функцию relationship(...) .

Сервисные фильтры

Вы можете использовать функцию service(...) для дальнейшей фильтрации учетных записей на основе статуса их отношений и типов услуг, которые эти отношения предоставляют:

  • handshakeState : состояние соглашения об обслуживании между двумя учетными записями. Принимает следующие значения:
    • PENDING
    • APPROVED
  • type: тип услуги, предоставляемой провайдером. Принимает следующие значения:
    • ACCOUNT_MANAGEMENT Поставщик управляет учетной записью.
    • ACCOUNT_AGGREGATION Провайдер является агрегатором аккаунта.

Примеры

Вот несколько примеров фильтров, которые вы можете попробовать.

Отфильтруйте учетные записи с отображаемыми именами, содержащими слово «магазин», и поставщиков с идентификатором «123»:

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

Фильтр для всех субсчетов аккаунта «123»:

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

Фильтруйте учетные записи с утвержденными службами управления учетными записями:

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

Фильтруйте учетные записи с определенным псевдонимом и идентификатором, у которых есть доступ к провайдеру. У вас также должен быть доступ к провайдеру для этого запроса:

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

Что дальше