Filtrar contas que você pode acessar

Use a API Merchant Accounts para visualizar uma lista filtrada das contas a que você tem acesso, incluindo subcontas. É possível filtrar por nomes de exibição e relacionamentos com outras contas. Por exemplo, é possível filtrar por contas com nomes de exibição que contêm a string "store", que também têm um status de vinculação PENDING, para ver todas as suas lojas que ainda não aceitaram um pedido de vinculação de conta.

Para conferir todas as subcontas, chame accounts.v1beta.accounts.listSubAccounts.

Para ver uma lista filtrada de todas as contas a que você tem acesso, incluindo subcontas e todas as contas que tenham você como User, chame accounts.v1beta.accounts.list e especifique os critérios de filtro no campo filter.

Para detalhes sobre a sintaxe do campo filter, consulte a referência de sintaxe do filtro.

Estes são os tipos de filtros que você pode usar:

Filtros da conta

É possível usar os seguintes campos para filtrar no nível do account:

  • accountName: filtra pelo accountName do recurso account.
  • relationship(...): filtra pelo tipo de relação da conta com outra. Você pode incluir vários filtros relationship(...) em uma solicitação.

Filtros de relacionamento

É possível usar a função relationship(...) para filtrar com base nos seguintes critérios:

  • providerId: o ID do comerciante do provedor de serviços. Por exemplo, se o filtro precisar retornar apenas contas que tenham um serviço fornecido por account/123, use providerId = 123.
  • callerHasAccessToProviderFilter(): filtros para contas que têm uma relação com um provedor de serviços a que você tem acesso.
  • externalAccountId: o ID da conta externa do provedor de serviços para a conta a que ele fornece um serviço.
  • accountIdAlias:: o alias do ID da conta configurado para o relacionamento.
  • service(...): o serviço fornecido como parte da relação. Você pode incluir várias funções service(...) em uma função relationship(...).

Filtros de serviço

Você pode usar a função service(...) para filtrar ainda mais as contas com base no status das relações e nos tipos de serviços que elas oferecem:

  • handshakeState: o estado de um contrato de serviço entre duas contas. Aceita os seguintes valores:
    • PENDING
    • APPROVED
  • type: O tipo de serviço oferecido pelo provedor. Aceita os seguintes valores:
    • ACCOUNT_MANAGEMENT O provedor gerencia a conta.
    • ACCOUNT_AGGREGATION O provedor é um agregador da conta.

Exemplos

Aqui estão alguns exemplos de filtros que você pode testar.

Filtre as contas com nomes de exibição que contêm "loja" e provedores com o ID "123":

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

Filtrar por todas as subcontas da conta "123":

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

Filtrar contas com serviços de gerenciamento de conta aprovados:

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

Filtre por contas com um alias e um ID específicos que tenham acesso a um provedor. Você também precisa ter acesso ao provedor para essa solicitação:

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

A seguir