Μέθοδοι API

GetReader

GetReader επιτρέπει σε έναν εκδότη να επαληθεύσει εάν ένας από τους αναγνώστες του με γνωστό PPID έχει συνδέσει τη συνδρομή του με την Google. Χρησιμοποιώντας ένα αίτημα GET , ο εκδότης αναζητά ένα PPID που ανήκει σε ένα συγκεκριμένο αναγνωριστικό δημοσίευσης.

Αίτηση

REST API: Αίτημα GET

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"
}

Δικαιώματα GetReader

GetReaderEntitlements επιτρέπει σε έναν εκδότη να υποβάλει ερώτημα για δικαιώματα για ένα PPID που είχε παράσχει προηγουμένως. Χρησιμοποιώντας ένα αίτημα GET, ο εκδότης ζητά τα δικαιώματα παρέχοντας ένα PPID και ένα αναγνωριστικό δημοσίευσης.

Αίτηση

REST API: Αίτημα GET

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 χρησιμοποιείται για τη δημιουργία και την ενημέρωση δικαιωμάτων για έναν αναγνώστη, με βάση το PPID του.

Αυτό το δείγμα ωφέλιμου φορτίου παρέχει στον αναγνώστη με PPID 6789 δικαιώματα σε τρία αναγνωριστικά προϊόντος για το The Daily Bugle: dailybugle.com:basic , dailybugle.com:premium και dailybugle.com:deluxe . Όταν ο αναγνώστης 6789 χρησιμοποιεί στη συνέχεια τις πλατφόρμες της Google για Αναζήτηση και Discover, η λίστα "Από τις συνδρομές σας" θα περιλαμβάνει τυχόν σχετικά αποτελέσματα από άρθρα του 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'
  }]
}

Βιβλιοθήκη προγράμματος-πελάτη (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, θα επιστραφεί το αντικείμενο saved entitlements , στην ίδια μορφή με GetReaderEntitlements .

Διαγραφή Αναγνώστη

DeleteReader επιτρέπει σε έναν εκδότη να διαγράψει χειροκίνητα μια συνδεδεμένη συνδρομή. Χρησιμοποιώντας ένα αίτημα DELETE , ο εκδότης υποβάλλει ένα PPID για τη διαγραφή ενός Αναγνωριστικού Έκδοσης.

Πριν καλέσετε DeleteReader , πρέπει είτε να διαγράψετε πρώτα τα δικαιώματα χρησιμοποιώντας UpdateReaderEntitlements με έναν κενό πίνακα ( { "entitlements": [] } ) είτε να ορίσετε την προαιρετική παράμετρο force σε true εάν χρειάζεται να διαγράψετε έναν αναγνώστη που έχει δικαιώματα. Η παράμετρος force έχει προεπιλεγμένη τιμή false .

Αίτηση

REST API: Αίτημα DELETE

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 {} .

{}