GetReader
GetReader
memungkinkan penayang memvalidasi apakah salah satu pembacanya dengan PPID yang diketahui telah menautkan langganannya ke Google. Dengan menggunakan permintaan GET
,
penayang membuat kueri untuk PPID yang termasuk dalam 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 tertaut, 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 atas 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 identik dengan format yang digunakan untuk
menyimpan hak dengan permintaan
UpdateReaderEntitlements
PATCH
.
{
"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 tertaut (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 atas konten bagi pembaca, berdasarkan PPID mereka.
Payload contoh ini memberikan hak kepada pembaca dengan PPID 6789
atas 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 tertaut secara manual.
Dengan menggunakan permintaan DELETE
, penayang 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 adalah 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 {}
.
{}