Métodos de API

GetReader

GetReader permite al editor validar si uno de sus lectores con un PPID conocido ha vinculado su suscripción a Google. A través de una solicitud GET, el editor consulta un PPID que pertenece a un ID de publicación concreto.

Solicitud

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

Respuesta

El endpoint devolverá un código 200 con el cuerpo del archivo JSON que contenga el elemento created_time de la suscripción vinculada, o bien un error si no se encuentra el PPID de la publicación. Consulta la sección de errores para obtener más información.

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

GetReaderEntitlements

GetReaderEntitlements permite al editor consultar los derechos de un PPID que haya proporcionado anteriormente. A través de una solicitud GET, el editor solicita los derechos proporcionando un PPID y un ID de publicación.

Solicitud

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

Respuesta

Si la solicitud se realiza correctamente, el formato de la devolución es idéntico al que se utiliza 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"
      }
  ]
}

Si los usuarios no tienen derechos, pero tienen un PPID vinculado (por ejemplo, un derecho que ha caducado y se ha purgado), una solicitud de derechos devolverá un array de derechos vacío como parte del objeto de derechos estándar.

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

UpdateReaderEntitlements

UpdateReaderEntitlements se usa para crear y actualizar los derechos de un lector en función de su PPID.

Esta carga útil de ejemplo concede al lector con el PPID 6789 los derechos a tres IDs de producto de The Daily Bugle: dailybugle.com:basic, dailybugle.com:premium y dailybugle.com:deluxe. Cuando el lector 6789 use posteriormente las superficies de Google para la Búsqueda y Discover, la lista "De tus suscripciones" incluirá resultados relevantes de artículos de dailybugle.com etiquetados con cualquiera de estos IDs de producto.

Solicitud

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

Respuesta

Si la operación de PATCH se realiza correctamente, se devolverá el objeto entitlements guardado con el mismo formato que GetReaderEntitlements.

DeleteReader

DeleteReader permite al editor eliminar manualmente una suscripción vinculada a un lector. A través de una solicitud DELETE, el editor envía el PPID de un ID de publicación que quiere eliminar.

Solicitud

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

Respuesta

Si se elimina correctamente, se devuelve un código 200 con un objeto JSON vacío {}.

{}