Metodi API

GetReader

GetReader consente a un editore di verificare se uno dei suoi lettori con un PPID noto ha collegato il proprio abbonamento a Google. Con una richiesta GET, l'editore cerca un PPID appartenente a un determinato ID pubblicazione.

Richiesta

//GET /v1/publications/dailybugle.com/readers/6789

Risposta

L'endpoint restituirà un codice 200 con un corpo JSON contenente il created_time dell'abbonamento collegato o un errore se non viene trovato alcun PPID per la pubblicazione. Per ulteriori informazioni, consulta la sezione relativa agli errori.

{
  "name": "publications/gtech-demo.appspot.com/readers/81112",  
  "create_time": "2022-04-19T04:53:40+00:00"
}

GetReaderEntitlements

GetReaderEntitlements consente a un editore di eseguire una query per verificare i diritti relativi a un PPID da lui fornito in precedenza. Utilizzando una richiesta GET, l'editore richiede i diritti fornendo un PPID e un ID pubblicazione.

Richiesta

//GET /v1/publications/dailybugle.com/readers/6789/entitlements

Risposta

Per una richiesta andata a buon fine, il formato di restituzione è identico a quello utilizzato per archiviare i diritti con la richiesta PATCH 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"
      }
  ]
}

Per gli utenti che non hanno diritti, ma hanno un PPID collegato (ad esempio, un diritto scaduto ed eliminato definitivamente), una richiesta di diritti restituirà un array di diritti vuoto come parte dell'oggetto Diritti standard.

{ 
  "name": "publications/dailybugle.com/readers/6789/entitlements",
  "createTime": "2023-02-07T17:38:57.425577Z"
}

UpdateReaderEntitlements

UpdateReaderEntitlements viene utilizzato per creare e aggiornare i diritti di un lettore in base al suo PPID.

Questo payload di esempio concede al lettore con diritti PPID 6789 tre ID prodotto per il Daily Bugle: dailybugle.com:basic, dailybugle.com:premium e dailybugle.com:deluxe. Quando in un secondo momento il lettore 6789 utilizza le piattaforme Google per la Ricerca e Discover, l'elenco "Dai tuoi abbonamenti" conterrà tutti i risultati pertinenti provenienti dagli articoli di Dailybugle.com taggati con uno di questi ID prodotto.

Richiesta

//PATCH /v1/publications/dailybugle.com/readers/6789/entitlements

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

Risposta

Dopo un'operazione PATCH riuscita, l'oggetto entitlements salvato verrà restituito nello stesso formato di GetReaderEntitlements.

DeleteReader

DeleteReader consente a un editore di eliminare manualmente l'abbonamento collegato di un lettore. Con una richiesta DELETE, l'editore invia un PPID relativo a un ID pubblicazione da eliminare.

Richiesta

//DELETE /v1/publications/dailybugle.com/readers/6789

Risposta

Un'eliminazione corretta restituisce un codice 200 con un oggetto JSON vuoto {}.

{}