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 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/gtech-demo.appspot.com/readers/81112",
"create_time": "2022-04-19T04:53:40+00:00"
}
GetReaderEntitlements
GetReaderEntitlements
memungkinkan penayang membuat kueri untuk hak untuk PPID
yang sebelumnya diberikan oleh 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
permintaan PATCH
UpdateReaderEntitlements
.
{
"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",
"createTime": "2023-02-07T17:38:57.425577Z"
}
UpdateReaderEntitlements
UpdateReaderEntitlements
digunakan untuk membuat dan memperbarui hak untuk pembaca, berdasarkan PPID-nya.
Payload contoh ini memberi pembaca hak PPID 6789
ke tiga
ID Produk untuk The Daily Bugle: dailybugle.com:basic
,
dailybugle.com:premium
, dan dailybugle.com:deluxe
. Saat pembaca 6789
kemudian menggunakan platform Google untuk Penelusuran dan Discover, daftar "Dari langganan Anda" akan menampilkan hasil yang relevan
dari artikel dailybugle.com yang diberi tag dengan 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
ditetapkan secara default 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 {}
.
{}