Method: accounts.list

Mencantumkan akun yang dapat diakses oleh pengguna yang menelepon dan cocok dengan batasan permintaan, seperti ukuran halaman atau filter. Daftar ini tidak hanya mencantumkan sub-akun MCA, tetapi semua akun yang dapat diakses oleh pengguna yang melakukan panggilan, termasuk MCA lainnya, akun tertaut, akun mandiri, dan sebagainya.

Permintaan HTTP

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

URL menggunakan sintaksis gRPC Transcoding.

Parameter kueri

Parameter
pageSize

integer

Opsional. Jumlah maksimum akun yang akan ditampilkan. Layanan mungkin menampilkan lebih sedikit dari nilai ini. Jika tidak ditentukan, maksimal 250 akun akan ditampilkan. Nilai maksimum adalah 500; nilai di atas 500 akan dikonversi menjadi 500.

pageToken

string

Opsional. Token halaman, yang diterima dari panggilan accounts.list sebelumnya. Berikan atribut ini untuk mengambil halaman selanjutnya.

Saat memberi nomor halaman, semua parameter lain yang diberikan ke accounts.list harus cocok dengan panggilan yang menyediakan token halaman.

filter

string

Opsional. Filter opsional untuk hanya menampilkan akun yang cocok dengan filter.

Berikut beberapa contoh filter yang valid:

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

Filter di tingkat akun memiliki semantik berikut:

  • accountName Ini mengacu pada kolom accountName di akun.
  • relationship(...) Ini mengacu pada hubungan antara akun dan akun lain. Di dalam fungsi, hubungan ini dapat ditentukan lebih lanjut.

Filter di tingkat relationship memiliki semantik berikut:

  • providerId Ini mengacu pada ID numerik akun yang merupakan anggota lain dari hubungan. Misalnya jika filter harus dibatasi pada akun yang memiliki hubungan dengan akun accounts/name/123, providerId harus difilter sebagai providerId = 123.
  • callerHasAccessToProvider() Tindakan ini akan membatasi akun yang dihasilkan ke akun yang memiliki hubungan dengan akun lain yang juga memiliki akses ke anggota hubungan lainnya (atau penyedia) bagi pengguna yang melakukan panggilan.
  • externalAccountId Ini mengacu ke ID akun eksternal yang dikonfigurasi untuk hubungan tersebut.
  • accountIdAlias Ini mengacu ke alias ID akun yang dikonfigurasi untuk hubungan tersebut.
  • service(...) Ini mengacu pada layanan yang disediakan sebagai bagian dari hubungan. Catatan: Hubungan antara dua akun dapat terdiri dari beberapa layanan.

Filter di tingkat layanan memiliki semantik berikut:

  • handshakeState Ini mengacu pada status handshake layanan. Layanan yang sudah mapan terkadang perlu disetujui oleh anggota yang lain atau kedua pihak terlebih dahulu. Oleh karena itu, layanan dapat berada dalam status PENDING atau APPROVED.
  • type Ini mengacu pada jenis layanan. Kemungkinan nilainya adalah:
    • ACCOUNT_MANAGEMENT Penyedia mengelola akun.
    • ACCOUNT_AGGREGATION Penyedia merupakan agregator akun.

Filter mengikuti subset spesifikasi filter AI dan tata bahasa EBNF formal. Tata bahasa untuk filter ini lebih ketat dan spesifik

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

Selain itu, hal berikut berlaku:

  • Setiap kolom dalam hubungan hanya dapat muncul sekali (misalnya, Anda hanya dapat memfilter accountName sekali di tingkat akun atau Anda hanya dapat memfilter providerId sekali di setiap tingkat hubungan).
  • Untuk kolom string (seperti accountName atau accountIdAlias), Anda dapat menyatakan operator CONTAINS dengan menyertakan kueri di *. Misalnya, accountName = "*foo*" akan menampilkan semua akun dengan accountName yang berisi foo. Secara ortogonal, operator NOT_CONTAINS dapat dinyatakan menggunakan !=. Misalnya, accountName != "*foo*" akan menampilkan semua akun dengan accountName yang tidak berisi foo. Catatan: Anda dapat menelusuri akun dengan accountName yang berisi karakter bintang * menggunakan ***.
  • Spasi kosong tambahan akan diabaikan.
  • Semua nilai kecuali untuk nilai yang hanya bersifat numerik harus diapit dengan tanda kutip ganda.
  • Jika disjungsi digunakan, konjungsi di setiap sisi harus menggunakan tanda kurung meskipun kata konjungsi tersebut hanya memiliki satu ekspresi. Tanda kurung tidak diizinkan di tempat lain kecuali untuk pemanggilan fungsi (seperti relationship atau service). Hal ini untuk menyatakan dengan jelas bahwa konjungsi mengikat lebih kuat daripada disjungsi secara logis.

Isi permintaan

Isi permintaan harus kosong.

Isi respons

Pesan respons untuk metode accounts.list.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "accounts": [
    {
      object (Account)
    }
  ],
  "nextPageToken": string
}
Kolom
accounts[]

object (Account)

Akun yang cocok dengan ListAccountsRequest.

nextPageToken

string

Token, yang dapat dikirim sebagai pageToken untuk mengambil halaman berikutnya. Jika kolom ini dihilangkan, tidak ada halaman berikutnya.

Cakupan otorisasi

Memerlukan cakupan OAuth berikut ini:

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

Untuk informasi selengkapnya, lihat Ringkasan OAuth 2.0.