গেটরিডার
GetReader মাধ্যমে একজন প্রকাশক যাচাই করতে পারেন যে, তাদের পরিচিত PPID-যুক্ত কোনো পাঠক গুগলের সাথে তার সাবস্ক্রিপশন লিঙ্ক করেছেন কি না। একটি GET রিকোয়েস্ট ব্যবহার করে, প্রকাশক একটি নির্দিষ্ট Publication ID-র অন্তর্গত PPID-এর জন্য অনুসন্ধান করেন।
অনুরোধ
REST API: GET অনুরোধ
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid
ক্লায়েন্ট লাইব্রেরি (নোড.জেএস)
async function getReader(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.get({
name: `publications/${publicationId}/readers/${ppid}`,
});
};
প্রতিক্রিয়া
এন্ডপয়েন্টটি হয় একটি 200 কোড রিটার্ন করবে, যার JSON বডিতে লিঙ্ক করা সাবস্ক্রিপশনের created_time থাকবে, অথবা পাবলিকেশনটির জন্য কোনো PPID খুঁজে না পাওয়া গেলে একটি এরর রিটার্ন করবে। আরও তথ্যের জন্য এরর সেকশনটি দেখুন।
{
"name": "publications/CAowqfCKCw/readers/22553",
"createTime": "2025-07-30T18:26:58.050224Z",
"publicationId": "CAowqfCKCw",
"ppid": "22553",
"originatingPublicationId": "CAowqfCKCw"
}
GetReaderEntitlements
GetReaderEntitlements একজন প্রকাশককে তার পূর্বে প্রদান করা একটি PPID-এর জন্য এনটাইটেলমেন্ট অনুসন্ধান করার সুযোগ দেয়। একটি GET অনুরোধ ব্যবহার করে, প্রকাশক একটি PPID এবং Publication ID প্রদান করে এনটাইটেলমেন্টের জন্য অনুরোধ করেন।
অনুরোধ
REST API: GET অনুরোধ
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
ক্লায়েন্ট লাইব্রেরি (নোড.জেএস)
async function getReaderEntitlements(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.getEntitlements({
name: `publications/${publicationId}/readers/${ppid}/entitlements`
});
};
প্রতিক্রিয়া
একটি সফল অনুরোধের ক্ষেত্রে, রিটার্ন ফরম্যাটটি 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"
}
]
}
যেসব ব্যবহারকারীর কোনো এনটাইটেলমেন্ট নেই, কিন্তু একটি লিঙ্ক করা PPID আছে (উদাহরণস্বরূপ, একটি মেয়াদোত্তীর্ণ এবং মুছে ফেলা এনটাইটেলমেন্ট), তাদের ক্ষেত্রে একটি এনটাইটেলমেন্ট অনুরোধ স্ট্যান্ডার্ড এনটাইটেলমেন্ট অবজেক্টের অংশ হিসেবে একটি খালি এনটাইটেলমেন্ট অ্যারে ফেরত দেবে।
{
"name": "publications/dailybugle.com/readers/6789/entitlements"
}
পাঠকের অধিকার আপডেট করুন
UpdateReaderEntitlements কোনো রিডারের PPID-এর উপর ভিত্তি করে তার এনটাইটেলমেন্ট তৈরি ও আপডেট করার জন্য ব্যবহৃত হয়।
এই নমুনা পেলোডটি PPID 6789 এর পাঠককে দ্য ডেইলি বাগলের তিনটি প্রোডাক্ট আইডি— dailybugle.com:basic , dailybugle.com:premium , এবং dailybugle.com:deluxe এর জন্য এনটাইটেলমেন্ট প্রদান করে। পরবর্তীতে যখন পাঠক 6789 সার্চ এবং ডিসকভারের জন্য গুগলের বিভিন্ন সারফেস ব্যবহার করবেন, তখন "আপনার সাবস্ক্রিপশন থেকে" তালিকায় এই প্রোডাক্ট আইডিগুলোর যেকোনো একটি দিয়ে ট্যাগ করা dailybugle.com-এর আর্টিকেলগুলো থেকে প্রাসঙ্গিক ফলাফলগুলো প্রদর্শিত হবে।
অনুরোধ
REST API: PATCH অনুরোধ
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
অনুরোধের মূল অংশ: entitlements অবজেক্ট সম্পর্কে আরও তথ্যের জন্য, পরিভাষা পৃষ্ঠাটি দেখুন।
{
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
}
ক্লায়েন্ট লাইব্রেরি (নোড.জেএস)
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
});
}
প্রতিক্রিয়া
একটি সফল PATCH অপারেশনের পর, সংরক্ষিত entitlements অবজেক্টটি GetReaderEntitlements এর অনুরূপ ফরম্যাটে ফেরত দেওয়া হবে।
ডিলিটরিডার
DeleteReader একজন প্রকাশককে ম্যানুয়ালি একটি লিঙ্ক করা সাবস্ক্রিপশন মুছে ফেলার সুযোগ দেয়। একটি DELETE অনুরোধ ব্যবহার করে, প্রকাশক মুছে ফেলার জন্য একটি Publication ID-এর PPID জমা দেন।
DeleteReader কল করার আগে, আপনাকে অবশ্যই UpdateReaderEntitlements ব্যবহার করে একটি খালি অ্যারে ( { "entitlements": [] } ) দিয়ে এনটাইটেলমেন্টগুলো প্রথমে ডিলিট করতে হবে, অথবা যদি এনটাইটেলমেন্টসহ কোনো রিডার ডিলিট করার প্রয়োজন হয়, তাহলে ঐচ্ছিক force প্যারামিটারটি true তে সেট করতে হবে। force প্যারামিটারটির ডিফল্ট মান false থাকে।
অনুরোধ
REST API: DELETE অনুরোধ
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid?force={boolean}
ক্লায়েন্ট লাইব্রেরি (নোড.জেএস)
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
});
}
প্রতিক্রিয়া
সফলভাবে ডিলিট করলে একটি খালি JSON অবজেক্ট {} সহ 200 কোড রিটার্ন হয়।
{}