GetReader
GetReader
permite que um editor valide se um dos leitores com um PPID conhecido vinculou a assinatura ao Google. O editor pode usar uma solicitação GET
para consultar um PPID pertencente a um determinado ID de publicação.
Solicitação
API REST: solicitação GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid
Biblioteca de cliente (Node.js)
async function getReader(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.get({
name: `publications/${publicationId}/readers/${ppid}`,
});
};
Resposta
O endpoint vai retornar 200 com um corpo JSON contendo o
created_time
da assinatura vinculada ou um erro, caso nenhum PPID seja encontrado
para a publicação. Para mais informações, consulte a seção de erros.
{
"name": "publications/CAowqfCKCw/readers/22553",
"createTime": "2025-07-30T18:26:58.050224Z",
"publicationId": "CAowqfCKCw",
"ppid": "22553",
"originatingPublicationId": "CAowqfCKCw"
}
GetReaderEntitlements
GetReaderEntitlements
permite que o publisher consulte os direitos para um PPID
fornecido anteriormente pelo publisher. Com uma solicitação GET, o publisher
pode solicitar os direitos fornecendo um PPID e um ID de publicação.
Solicitação
API REST: solicitação GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Biblioteca de 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`
});
};
Resposta
Para que a solicitação funcione, o formato de retorno precisa ser idêntico ao usado para
armazenar direitos com a
solicitação 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"
}
]
}
Para usuários que não têm direitos, mas têm um PPID vinculado (por exemplo, um direito que expirou e foi limpo), uma solicitação de direitos vai retornar uma matriz de direitos vazia como parte do objeto de direitos padrão.
{
"name": "publications/dailybugle.com/readers/6789/entitlements"
}
UpdateReaderEntitlements
O UpdateReaderEntitlements
é usado para criar e atualizar direitos para um leitor com base no PPID dele.
Esta amostra de payload concede ao leitor com PPID 6789
direitos para três IDs de produto do The Daily Bugle: dailybugle.com:basic
, dailybugle.com:premium
e dailybugle.com:deluxe
. Quando o leitor 6789
usar as plataformas do Google para a Pesquisa e o Discover, a
lista "Das suas assinaturas" vai mostrar os resultados relevantes
de artigos do dailybugle.com marcados com qualquer um desses IDs de produto.
Solicitação
API REST: solicitação PATCH
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Corpo da solicitação: para mais informações sobre o objeto entitlements
, consulte a página do glossário.
{
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
}
Biblioteca de 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
});
};
Resposta
Após uma operação PATCH bem-sucedida, o objeto entitlements
salvo será
retornado no mesmo formato que GetReaderEntitlements
.
DeleteReader
DeleteReader
permite que um editor exclua manualmente uma assinatura vinculada.
O editor deve usar uma solicitação DELETE
para enviar um PPID para que um ID de publicação seja excluído.
Antes de chamar DeleteReader
, exclua os direitos usando UpdateReaderEntitlements
com uma matriz vazia ({ "entitlements": [] }
) ou defina o parâmetro opcional force
como true
se precisar excluir um leitor que tenha direitos.
O parâmetro force
tem como padrão false
.
Solicitação
API REST: solicitação DELETE
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid?force={boolean}
Biblioteca de 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
});
};
Resposta
A exclusão retorna um código 200 com um objeto JSON vazio {}
.
{}