Method: accounts.list

Arayan kullanıcının erişebildiği ve sayfa boyutu veya filtreler gibi isteğin kısıtlamalarına uyan hesapları listeler. Bu işlem yalnızca bir MCA'nın alt hesaplarını değil; çağrı yapan kullanıcının diğer MCA'lar, bağlı hesaplar, bağımsız hesaplar vb. dahil olmak üzere erişebildiği tüm hesapları da listeler.

HTTP isteği

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

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

Sorgu parametreleri

Parametreler
pageSize

integer

İsteğe bağlı. Döndürülecek maksimum hesap sayısı. Hizmet bu değerden daha az bir değer döndürebilir. Belirtilmezse en fazla 250 hesap döndürülür. Maksimum değer 500'dür. 500'ün üzerindeki değerler 500'e zorlanır.

pageToken

string

İsteğe bağlı. Önceki accounts.list çağrısından alınan bir sayfa jetonu. Sonraki sayfayı almak için bunu sağlayın.

Sayfalara ayırma işlemi sırasında accounts.list öğesine sağlanan diğer tüm parametreler, sayfa jetonunu sağlayan çağrıyla eşleşmelidir.

filter

string

İsteğe bağlı. Yalnızca filtreyle eşleşen hesapları getiren isteğe bağlı bir filtre.

Geçerli filtre örneklerinden bazıları şunlardır:

  • 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(...))

Hesap düzeyindeki filtreler aşağıdaki anlamlara sahiptir:

  • accountName Bu, hesabın accountName alanını ifade eder.
  • relationship(...) Bu, hesabın başka bir hesapla olan ilişkisini ifade eder. Fonksiyon içinde bu ilişki daha da belirtilebilir.

İlişki düzeyindeki filtreler aşağıdaki anlamlara sahiptir:

  • providerId Bu, ilişkinin diğer üyesi olan hesabın sayısal kimliğini ifade eder. Örneğin, filtrenin accounts/name/123 hesabıyla ilişkisi olan hesaplarla sınırlanması gerekiyorsa providerId, providerId = 123 olarak filtrelenmelidir.
  • callerHasAccessToProvider() Bu işlem sonucunda ortaya çıkan hesaplar, arayan kullanıcının ilişkinin diğer üyesine (veya sağlayıcıya) da erişebildiği başka bir hesapla ilişkisi olan hesaplarla sınırlanır.
  • externalAccountId Bu, ilişki için yapılandırılan harici hesap kimliğini ifade eder.
  • accountIdAlias Bu, ilişki için yapılandırılan hesap kimliği takma adını ifade eder.
  • service(...) Bu, ilişkinin bir parçası olarak sağlanan hizmeti ifade eder. Not: İki hesap arasındaki bir ilişki birden çok hizmetten oluşabilir.

Hizmet düzeyindeki filtreler aşağıdaki anlamlara sahiptir:

  • handshakeState Bu, hizmetin el sıkışma durumunu ifade eder. Bir hizmet kurulduğunda bazen öncelikle bu hizmetin diğeri veya her ikisi tarafından onaylanması gerekir. Bu nedenle, bir hizmet PENDING veya APPROVED durumunda olabilir.
  • type Bu, hizmetin türünü ifade eder. Olası değerler:
    • ACCOUNT_MANAGEMENT Hesabı sağlayıcı yönetiyor.
    • ACCOUNT_AGGREGATION Sağlayıcı, hesabın toplayıcısıdır.

Filtre, AIP filtresi spesifikasyonunun bir alt kümesini ve resmi EBNF dil bilgisi alt kümesini izler. Bu filtrenin dil bilgisi daha kısıtlayıcı ve belirgindir

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
    : " = " | " != "
    ;

Ayrıca aşağıdakiler geçerlidir:

  • Bir bağlaçtaki her alan yalnızca bir kez görünebilir (örneğin, accountName için hesap düzeyinde yalnızca bir kez filtreleme yapılabilir veya her ilişki düzeyinde providerId için yalnızca bir kez filtreleme yapılabilir).
  • Dize alanları (accountName veya accountIdAlias gibi) için sorguyu * içine alarak bir CONTAINS operatörü ifade etmek mümkündür. Örneğin accountName = "*foo*", foo içeren bir accountName içeren tüm hesapları döndürür. Dikey olarak NOT_CONTAINS operatörü, != kullanılarak ifade edilebilir. Örneğin accountName != "*foo*", foo içermeyen accountName içeren tüm hesapları döndürür. Not: * yıldız karakterini içeren bir accountName içeren hesapları *** kullanarak aramak mümkündür.
  • Ek boşluklar yoksayılır.
  • Yalnızca sayısal değerler hariç tüm değerler çift tırnak işaretleri içine alınmalıdır.
  • Ayırma kullanılırsa, bağlaç yalnızca tek bir ifade içerse bile her iki taraftaki bağlaçlarda parantez kullanılmalıdır. İşlev çağrıları (relationship veya service gibi) dışında hiçbir yerde parantezlere izin verilmez. Bu, bağlaçların mantıksal olarak ayırmalardan daha güçlü bağlandığını açıkça ifade etmek içindir.

İstek içeriği

İstek metni boş olmalıdır.

Yanıt gövdesi

accounts.list yöntemi için yanıt mesajı.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "accounts": [
    {
      object (Account)
    }
  ],
  "nextPageToken": string
}
Alanlar
accounts[]

object (Account)

ListAccountsRequest ile eşleşen hesaplar.

nextPageToken

string

Sonraki sayfayı almak için pageToken olarak gönderilebilecek bir jeton. Bu alan atlanırsa sonraki sayfa olmaz.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamını gerektirir:

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

Daha fazla bilgi için OAuth 2.0 Overview (OAuth 2.0'a Genel Bakış) sayfasına göz atın.