GetReader
GetReader permite que un editor valide si uno de sus lectores con un PPID conocido vinculó su suscripción a Google. Mediante una solicitud GET, el editor consulta un PPID que pertenece a un ID de publicación específico.
Solicitud
API de REST: Solicitud GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid
Biblioteca cliente (Node.js)
async function getReader(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.get({
name: `publications/${publicationId}/readers/${ppid}`,
});
};
Respuesta
El extremo mostrará un código de estado 200 con un cuerpo JSON que contiene el
created_time de la suscripción vinculada o un error si no se encuentra un PPID
para la publicación. Consulta la sección de errores para obtener más
información.
{
"name": "publications/CAowqfCKCw/readers/22553",
"createTime": "2025-07-30T18:26:58.050224Z",
"publicationId": "CAowqfCKCw",
"ppid": "22553",
"originatingPublicationId": "CAowqfCKCw"
}
GetReaderEntitlements
GetReaderEntitlements permite que un editor busque derechos para un PPID que el editor proporcionó anteriormente. Mediante una solicitud GET, el editor solicita los derechos proporcionando un PPID y un ID de publicación.
Solicitud
API de REST: Solicitud GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Biblioteca cliente (Node.js)
async function getReaderEntitlements(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.getEntitlements({
name: `publications/${publicationId}/readers/${ppid}/entitlements`
});
};
Respuesta
Para que se realice correctamente una solicitud, el formato que se muestra es idéntico al formato que se usa para
almacenar derechos con la
UpdateReaderEntitlements PATCH solicitud.
{
"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"
}
]
}
En el caso de los usuarios que no tienen derechos, pero que tienen un PPID vinculado (por ejemplo, un derecho que venció y se borró definitivamente), una solicitud de derechos mostrará un array de derechos vacío como parte del objeto de derechos estándar.
{
"name": "publications/dailybugle.com/readers/6789/entitlements"
}
UpdateReaderEntitlements
UpdateReaderEntitlements se usa para crear y actualizar derechos para un lector, según su PPID.
Esta carga útil de muestra le otorga al lector los derechos de PPID 6789 a tres IDs de productos para The Daily Bugle: dailybugle.com:basic, dailybugle.com:premium y dailybugle.com:deluxe. Cuando el lector 6789 utilice posteriormente las plataformas de Google para la Búsqueda y Descubre, la lista "De tus suscripciones" mostrará cualquier resultado relevante de los artículos de dailybugle.com etiquetados con cualquiera de estos IDs de producto.
Solicitud
API de REST: Solicitud PATCH
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Cuerpo de la solicitud: Para obtener más información sobre el objeto entitlements, consulta la
página del glosario.
{
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
}
Biblioteca cliente (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
});
}
Respuesta
Cuando la operación PATCH se realice correctamente, se mostrará el objeto entitlements guardado, en el mismo formato que GetReaderEntitlements.
DeleteReader
DeleteReader permite que un editor borre de forma manual una suscripción vinculada.
Mediante una solicitud DELETE, el editor envía un PPID para que se borre un ID de publicación.
Antes de llamar a DeleteReader, debes borrar los derechos
primero con UpdateReaderEntitlements con un array vacío
({ "entitlements": [] }) o configurar el parámetro opcional force como true si
necesitas borrar un lector que tenga derechos.
El parámetro force se establece en false de forma predeterminada.
Solicitud
API de REST: Solicitud DELETE
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid?force={boolean}
Biblioteca cliente (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
});
}
Respuesta
Una eliminación correcta muestra un código de estado 200 con un objeto JSON vacío {}.
{}