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 de 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 de 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 solicitud PATCH
de UpdateReaderEntitlements
.
{
"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 con PPID 6789
derechos 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 de 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
, primero debes borrar los derechos con UpdateReaderEntitlements
y un array vacío ({ "entitlements": [] }
), o bien establecer el parámetro opcional force
en true
si necesitas borrar un lector que tiene derechos.
El parámetro force
se establece en false
de forma predeterminada.
Solicitud
API de REST: Solicitud de 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 {}
.
{}