שיטות API

GetReader

GetReader מאפשר לבעל תוכן דיגיטלי לאמת אם אחד מהקוראים שלו עם מזהה PPID ידוע קישר את המינוי שלו ל-Google. באמצעות בקשת GET, בעל התוכן הדיגיטלי שולח שאילתה לגבי מזהה PPID ששייך למזהה פרסום מסוים.

בקשה

בקשת GET REST API

https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid

ספריית לקוח (Node.js)

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 ומזהה פרסום.

בקשה

בקשת GET REST API

https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements

ספריית לקוח (Node.js)

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

UpdateReaderEntitlements משמש ליצירה ולעדכון של הרשאות עבור קורא, על סמך מזהה PPID שלו.

מטען הנתונים לדוגמה הזה מעניק למשתמש עם מזהה PPID‏ 6789 זכויות לשלושה מזהי מוצר של The Daily Bugle: ‏ dailybugle.com:basic,‏ dailybugle.com:premium ו-dailybugle.com:deluxe. כשקורא 6789 משתמש לאחר מכן בפלטפורמות של Google לחיפוש ול-Discover, ברשימה 'מהמינויים שלך' יופיעו תוצאות רלוונטיות מכתבות באתר dailybugle.com שתויגו עם אחד ממזהי המוצרים האלה.

בקשה

בקשת PATCH REST API

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'
  }]
}

ספריית לקוח (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
  });
}

תשובה

אחרי פעולת PATCH מוצלחת, אובייקט entitlements שנשמר יוחזר באותו פורמט כמו GetReaderEntitlements.

DeleteReader

DeleteReader מאפשר לבעל תוכן דיגיטלי למחוק ידנית מינוי מקושר. בעל התוכן הדיגיטלי שולח בקשה למחיקת מזהה PPID לפי מזהה אתר חדשות DELETE.

לפני שקוראים ל-DeleteReader, צריך למחוק קודם את ההרשאות באמצעות UpdateReaderEntitlements עם מערך ריק ({ "entitlements": [] }), או להגדיר את הפרמטר האופציונלי force ל-true אם צריך למחוק קורא שיש לו הרשאות. ערך ברירת המחדל של הפרמטר force הוא false.

בקשה

בקשת DELETE REST API

https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid?force={boolean}

ספריית לקוח (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
  });
}

תשובה

אם המחיקה בוצעה בהצלחה, מוחזר קוד סטטוס 200 עם אובייקט JSON ריק {}.

{}