GetReader
GetReader memungkinkan penayang memvalidasi apakah salah satu pembacanya dengan PPID yang diketahui telah menautkan langganannya ke Google. Dengan menggunakan permintaan GET, penayang akan membuat kueri untuk PPID yang dimiliki ID Publikasi tertentu.
Permintaan
REST API: Permintaan GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid
Library klien (Node.js)
async function getReader(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.get({
name: `publications/${publicationId}/readers/${ppid}`,
});
};
Respons
Endpoint akan menampilkan 200 dengan isi JSON yang berisi
created_time langganan yang ditautkan, atau error jika tidak ada PPID yang ditemukan
untuk publikasi. Lihat bagian error untuk mengetahui informasi selengkapnya.
{
"name": "publications/CAowqfCKCw/readers/22553",
"createTime": "2025-07-30T18:26:58.050224Z",
"publicationId": "CAowqfCKCw",
"ppid": "22553",
"originatingPublicationId": "CAowqfCKCw"
}
GetReaderEntitlements
GetReaderEntitlements memungkinkan penayang membuat kueri untuk hak PPID yang sebelumnya diberikan penayang. Dengan menggunakan permintaan GET, penayang meminta hak dengan memberikan PPID dan ID Publikasi.
Permintaan
REST API: Permintaan GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Library klien (Node.js)
async function getReaderEntitlements(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.getEntitlements({
name: `publications/${publicationId}/readers/${ppid}/entitlements`
});
};
Respons
Untuk permintaan yang berhasil, format yang ditampilkan sama dengan format yang digunakan untuk
menyimpan hak dengan
UpdateReaderEntitlements PATCH permintaan.
{
"name": "publications/dailybugle.com/readers/6789/entitlements",
"entitlements": [
{
"product_id": "dailybugle.com:basic",
"subscription_token": "dnabhdufbwinkjanvejskenfw",
"detail": "This is our basic plan",
"expire_time": "2022-08-19T04:53:40+00:00"
},
{
"product_id": "dailybugle.com:premium",
"subscription_token": "wfwhddgdgnkhngfw",
"detail": "This is our premium plan",
"expire_time": "2022-07-19T04:53:40+00:00"
},
{
"product_id": "dailybugle.com:deluxe",
"subscription_token": "fefcbwinkjanvejfefw",
"detail": "This is our deluxe plan",
"expire_time": "2022-08-20T04:53:40+00:00"
}
]
}
Untuk pengguna yang tidak memiliki hak, tetapi memiliki PPID yang ditautkan (misalnya, hak yang telah habis masa berlakunya dan dihapus), permintaan hak akan menampilkan array hak kosong sebagai bagian dari objek hak standar.
{
"name": "publications/dailybugle.com/readers/6789/entitlements"
}
UpdateReaderEntitlements
UpdateReaderEntitlements digunakan untuk membuat dan memperbarui hak untuk pembaca, berdasarkan PPID-nya.
Payload contoh ini memberikan hak kepada pembaca dengan PPID 6789 untuk tiga ID Produk untuk The Daily Bugle: dailybugle.com:basic, dailybugle.com:premium, dan dailybugle.com:deluxe. Saat pembaca 6789 selanjutnya menggunakan platform Google untuk Penelusuran dan Discover, daftar "Dari langganan Anda" akan menampilkan hasil yang relevan dari artikel dailybugle.com yang diberi tag dengan salah satu ID Produk ini.
Permintaan
REST API: Permintaan PATCH
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Isi permintaan: Untuk mengetahui informasi selengkapnya tentang objek entitlements, lihat halaman
glosarium.
{
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
}
Library klien (Node.js)
async function updateReaderEntitlements(ppid) {
const publicationId = process.env.PUBLICATION_ID;
const requestBody = {
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
};
return await client.publications.readers.updateEntitlements({
name: `publications/${publicationId}/readers/${ppid}/entitlements`,
requestBody
});
}
Respons
Setelah operasi PATCH berhasil, objek entitlements yang disimpan akan ditampilkan, dalam format yang sama dengan GetReaderEntitlements.
DeleteReader
DeleteReader memungkinkan penayang menghapus langganan yang ditautkan secara manual.
Dengan menggunakan permintaan DELETE, penayang akan mengirimkan PPID untuk ID Publikasi yang akan dihapus.
Sebelum memanggil DeleteReader, Anda harus menghapus hak
terlebih dahulu menggunakan UpdateReaderEntitlements dengan array kosong
({ "entitlements": [] }), atau menetapkan parameter force opsional ke true jika
Anda perlu menghapus pembaca yang memiliki hak.
Parameter force secara default ditetapkan ke false.
Permintaan
REST API: Permintaan DELETE
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid?force={boolean}
Library klien (Node.js)
async function deleteReader(ppid, forceDelete = false) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.delete({
name: `publications/${publicationId}/readers/${ppid}`,
force: forceDelete
});
}
Respons
Penghapusan yang berhasil akan menampilkan 200 dengan objek JSON kosong {}.
{}