Members

Catatan: Mulai 31 Maret 2020, endpoint members akan menggantikan endpoint sponsors, yang sekarang tidak digunakan lagi dan tidak akan didukung lagi pada atau setelah 30 September 2020. Klien API harus memperbarui panggilan ke metode sponsors.list untuk menggunakan metode members.list.

Endpoint ini hanya dapat digunakan oleh masing-masing kreator untuk mengajukan permintaan untuk channel YouTube mereka sendiri yang mengaktifkan langganan channel. Hubungi perwakilan Google atau YouTube Anda untuk meminta akses.

Resource member mewakili anggota channel untuk sebuah channel YouTube. Seorang anggota memberikan dukungan uang berulang kepada kreator dan menerima manfaat khusus. Misalnya, pelanggan dapat melakukan chat saat kreator mengaktifkan mode khusus pelanggan untuk chat.

Metode

API mendukung metode berikut untuk resource member:

list
Menampilkan daftar pelanggan (sebelumnya dikenal sebagai "sponsor") untuk sebuah channel. Permintaan API harus diotorisasi oleh pemilik saluran.

Representasi resource

Struktur JSON berikut menunjukkan format resource member:

{
  "kind": "youtube#member",
  "etag": etag,
  "snippet": {
    "creatorChannelId": string,
    "memberDetails": {
      "channelId": string,
      "channelUrl": string,
      "displayName": string,
      "profileImageUrl": string
    },
    "membershipsDetails": {
      "highestAccessibleLevel": string,
      "highestAccessibleLevelDisplayName": string,
      "accessibleLevels": [
        string
      ],
      "membershipsDuration": {
        "memberSince": datetime,
        "memberTotalDurationMonths": integer,
      },
      "membershipsDurationAtLevel": [
        {
          "level": string,
          "memberSince": datetime,
          "memberTotalDurationMonths": integer,
        }
      ]
    }
  }
}

Properti

Tabel berikut menentukan properti yang muncul di resource ini:

Properti
kind string
Mengidentifikasi jenis resource API. Nilainya adalah youtube#member.
etag etag
Etag resource ini.
snippet object
Objek snippet berisi detail tentang anggota.
snippet.creatorChannelId string
ID channel YouTube kreator yang menawarkan langganan.
snippet.memberDetails object
Objek ini berisi data profil tentang channel YouTube yang membayar langganan.

Perlu diperhatikan bahwa channel dapat memiliki pelanggan dengan data profil yang tidak tersedia. Misalnya, hal ini terjadi pada pelanggan yang telah menghapus channel miliknya tetapi masih membayar langganan. Perlu diperhatikan bahwa pelanggan ini masih dapat mengakses manfaat langganannya.

Respons API menyertakan resource bagi anggota tersebut untuk memastikan jumlah yang akurat meskipun detail profil di dalam objek memberDetails tidak ditetapkan. membershipsDetails masih disediakan untuk anggota tersebut.
snippet.memberDetails.channelId string
ID channel YouTube dari channel pelanggan. Jika disetel, ID saluran juga dapat diperlakukan sebagai ID unik untuk pelanggan. Jika tidak disetel, anggota tidak dapat diidentifikasi secara unik, tetapi resource masih menyampaikan detail keanggotaan seperti level yang dapat diakses oleh anggota dan durasi keanggotaannya.
snippet.memberDetails.channelUrl string
URL channel.
snippet.memberDetails.displayName string
Nama tampilan channel.
snippet.memberDetails.profileImageUrl string
URL avatar channel.
snippet.membershipsDetails object
Objek ini berisi detail langganan untuk channel pelanggan.
snippet.membershipsDetails.highestAccessibleLevel string
ID level langganan tertinggi yang saat ini dapat diakses oleh channel pelanggan. Nilai ini sesuai dengan nilai properti id dalam resource membershipsLevel.
snippet.membershipsDetails.highestAccessibleLevelDisplayName string
Nama level langganan tertinggi yang saat ini dapat diakses oleh channel pelanggan. Nilai ini sesuai dengan nilai properti displayName dalam resource membershipsLevel.
snippet.membershipsDetails.accessibleLevels[] list (of strings)
Daftar ID untuk semua level langganan yang saat ini dapat diakses oleh pengguna. Daftar ini mencakup level yang saat ini aktif dan semua level di bawahnya.
snippet.membershipsDuration object
Objek ini berisi informasi tentang keseluruhan durasi keanggotaan saat ini tanpa memperhatikan level harga. Kemudian, properti snippet.membershipsDetails.membershipsDurationAtLevel[] berisi daftar objek yang berisi detail tentang periode langganan yang selama anggota tersebut memiliki akses ke level langganan tertentu.

Contoh berikut menunjukkan cara kerja properti ini: Pelanggan membeli langganan baru pada Januari di level langganan 1 dan memiliki langganan tersebut hingga Maret. Pada bulan April dan Mei, anggota tidak memiliki langganan. Pada bulan Juni, pelanggan memulai ulang langganannya, sekali lagi di level 1. Kemudian, pada Agustus, pelanggan mengupgrade langganannya ke level 2. Jadi, jika panggilan API dilakukan pada bulan Oktober, resource member akan berisi hal berikut:
"membershipsDetails": {
  "membershipsDuration": {
    "memberSince": "2020-06-01T12:00:00",
    "memberTotalDurationMonths": 7,
  },
  "membershipsDurationAtLevel": [
    {
      "level": "level_1_ID",
      "memberSince": "2020-06-01T12:00:00",
      "memberTotalDurationMonths": 7
    },
    {
      "level": "level_2_ID",
      "memberSince": "2020-08-01T12:00:00",
      "memberTotalDurationMonths": 2
    },
  ]
}
snippet.membershipsDuration.memberSince datetime
Tanggal dan waktu saat keanggotaan pelanggan saat ini dimulai. Dengan kata lain, pelanggan terus memiliki langganan sejak tanggal dan waktu ini. Perlu diperhatikan bahwa periode langganan yang berbeda mungkin telah digunakan di level langganan yang berbeda.
snippet.membershipsDuration.memberTotalDurationMonths integer
Jumlah bulan yang dibulatkan ke bawah ke bilangan bulat terdekat, saat pengguna telah menjadi anggota. Nilai ini mencerminkan jumlah bulan lengkap langganan yang dimiliki pelanggan, tetapi angka tersebut tidak berarti bahwa pelanggan terus memiliki langganan selama beberapa bulan tersebut.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel[] list (of objects)
Daftar objek, yang mana setiap objek berisi detail tentang periode keanggotaan selama anggota memiliki akses ke level keanggotaan tertentu. Daftar tersebut mencakup satu objek untuk setiap level langganan yang saat ini dapat diakses oleh pelanggan.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.level string
ID level langganan. Nilai ini sesuai dengan nilai properti id dalam resource membershipsLevel.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberSince datetime
Tanggal dan waktu saat pelanggan memiliki akses ke level langganan yang ditentukan. Dengan kata lain, anggota terus memiliki akses ke level sejak tanggal dan waktu ini. Perlu diperhatikan bahwa periode langganan yang berbeda mungkin telah dibelanjakan pada level langganan yang lebih tinggi.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberTotalDurationMonths integer
Jumlah bulan yang dibulatkan ke bawah ke bilangan bulat terdekat, yang dapat diakses pengguna ke tingkat yang ditentukan. Nilai ini mencerminkan jumlah bulan penuh yang dimiliki anggota untuk mengakses level, tetapi angka tersebut tidak berarti bahwa pelanggan terus memiliki langganan selama beberapa bulan tersebut.