API-methoden

GetReader

GetReader kan een uitgever valideren of een van zijn lezers met een bekende PPID zijn abonnement aan Google heeft gekoppeld. Met behulp van een GET verzoek vraagt ​​de uitgever naar een PPID die bij een specifieke publicatie-ID hoort.

Verzoek

REST API: GET verzoek

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

Clientbibliotheek (Node.js)

async function getReader(ppid) {
  const publicationId = process.env.PUBLICATION_ID;
  return await client.publications.readers.get({
    name: `publications/${publicationId}/readers/${ppid}`,
  });
};

Antwoord

Het eindpunt retourneert een 200 met een JSON-body die de created_time van het gekoppelde abonnement bevat, of een foutmelding als er geen PPID voor de publicatie wordt gevonden. Zie de sectie 'Fouten' voor meer informatie.

{
  "name": "publications/CAowqfCKCw/readers/22553",
  "createTime": "2025-07-30T18:26:58.050224Z",
  "publicationId": "CAowqfCKCw",
  "ppid": "22553",
  "originatingPublicationId": "CAowqfCKCw"
}

GetReaderEntitlements

Met GetReaderEntitlements kan een uitgever rechten opvragen voor een PPID die de uitgever eerder heeft opgegeven. Met behulp van een GET-verzoek vraagt ​​de uitgever de rechten op door een PPID en publicatie-ID op te geven.

Verzoek

REST API: GET verzoek

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

Clientbibliotheek (Node.js)

async function getReaderEntitlements(ppid) {
  const publicationId = process.env.PUBLICATION_ID;
  return await client.publications.readers.getEntitlements({
    name: `publications/${publicationId}/readers/${ppid}/entitlements`
  });
};

Antwoord

Voor een succesvolle aanvraag is het retourformaat identiek aan het formaat dat wordt gebruikt om rechten op te slaan met de UpdateReaderEntitlements PATCH aanvraag.

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

Voor gebruikers die geen rechten hebben, maar wel een gekoppelde PPID (bijvoorbeeld een recht dat is verlopen en verwijderd), retourneert een rechtenaanvraag een lege rechtenarray als onderdeel van het standaardrechtenobject.

{
  "name": "publications/dailybugle.com/readers/6789/entitlements"
}

UpdateReaderEntitlements

UpdateReaderEntitlements wordt gebruikt voor het maken en bijwerken van rechten voor een lezer, op basis van hun PPID.

Deze voorbeeldpayload geeft de lezer met PPID 6789 rechten op drie product-ID's voor The Daily Bugle: dailybugle.com:basic , dailybugle.com:premium en dailybugle.com:deluxe . Wanneer lezer 6789 vervolgens Google Surfaces gebruikt voor Zoeken en Discover, bevat de lijst 'Van uw abonnementen' alle relevante resultaten van artikelen op dailybugle.com die zijn getagd met een van deze product-ID's.

Verzoek

REST API: PATCH -verzoek

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

Aanvraagbody: Raadpleeg de verklarende woordenlijstpagina voor meer informatie over het entitlements .

{
  entitlements : [{
    product_id: `${publicationId}:basic`,
    subscription_token: 'abc1234',
    detail: 'This is our basic plan',
    expire_time: '2025-10-21T03:05:08.200564Z'
  }]
}

Clientbibliotheek (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
  });
};

Antwoord

Bij een succesvolle PATCH-bewerking wordt het opgeslagen entitlements geretourneerd in dezelfde indeling als GetReaderEntitlements .

DeleteReader

DeleteReader kan een uitgever handmatig een gekoppeld abonnement verwijderen. Met een DELETE -verzoek dient de uitgever een PPID in voor de verwijdering van een publicatie-ID.

Voordat u DeleteReader aanroept, moet u eerst rechten verwijderen met UpdateReaderEntitlements met een lege array ( { "entitlements": [] } ), of de optionele parameter force instellen op true als u een lezer met rechten wilt verwijderen. De parameter force is standaard ingesteld op false .

Verzoek

REST API: verzoek DELETE

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

Clientbibliotheek (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
  });
};

Antwoord

Een succesvolle verwijdering retourneert een 200 met een leeg JSON-object {} .

{}