REST Resource: forms.watches

Recurso: Reloj

Es un objeto de supervisión de eventos para un formulario. Cuando ocurra el evento designado, se publicará una notificación en el destino especificado. Los atributos de la notificación incluirán una clave formId que tenga el ID del formulario supervisado y una clave eventType que tenga la cadena del tipo.

Los mensajes se envían con la entrega de al menos una vez y solo se descartan en circunstancias extraordinarias. Por lo general, todas las notificaciones se deben entregar de forma confiable en unos segundos. Sin embargo, en algunas situaciones, es posible que se retrasen.

Un objeto de supervisión vence siete días después de su creación, a menos que se renueve con watches.renew.

Representación JSON
{
  "id": string,
  "target": {
    object (WatchTarget)
  },
  "eventType": enum (EventType),
  "createTime": string,
  "expireTime": string,
  "errorType": enum (ErrorType),
  "state": enum (State)
}
Campos
id

string

Solo salida. Es el ID de este reloj. Consulta las notas sobre CreateWatchRequest.watch_id.

target

object (WatchTarget)

Es obligatorio. Dónde enviar la notificación.

eventType

enum (EventType)

Es obligatorio. El tipo de evento que se debe observar

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la creación.

Usa RFC 3339, en el que el resultado generado siempre se normalizará en Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan compensaciones distintas de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

expireTime

string (Timestamp format)

Solo salida. Marca de tiempo del vencimiento. Cada llamada a watches.renew restablece este valor a siete días en el futuro.

Usa RFC 3339, en el que el resultado generado siempre se normalizará en Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan compensaciones distintas de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

errorType

enum (ErrorType)

Solo salida. Es el tipo de error más reciente de un intento de entrega. Para volver a observar el formulario, se puede llamar a watches.renew, que también borra esta información de error.

state

enum (State)

Solo salida. Es el estado actual del reloj. Para obtener detalles adicionales sobre los relojes suspendidos, consulta errorType.

WatchTarget

Es el objetivo para la entrega de notificaciones.

Representación JSON
{

  // Union field target can be only one of the following:
  "topic": {
    object (CloudPubsubTopic)
  }
  // End of list of possible types for union field target.
}
Campos
Campo de unión target. Es obligatorio. Es el objetivo para la entrega de notificaciones. Las direcciones (target) solo pueden ser una de las siguientes opciones:
topic

object (CloudPubsubTopic)

Un tema de Pub/Sub. Para recibir notificaciones, el tema debe otorgar privilegios de publicación a la cuenta de servicio de Forms serviceAccount:forms-notifications@system.gserviceaccount.com. Solo el proyecto propietario de un tema puede crear un objeto de supervisión con él.

Se deben tener en cuenta las garantías de entrega de Pub/Sub.

CloudPubsubTopic

Un tema de Pub/Sub.

Representación JSON
{
  "topicName": string
}
Campos
topicName

string

Es obligatorio. Es un nombre de tema de Pub/Sub completamente calificado en el que se publicarán los eventos. El proyecto que realiza la llamada debe ser propietario de este tema y este ya debe existir en Pub/Sub.

EventType

Son los posibles tipos de eventos que se pueden observar.

Enumeraciones
EVENT_TYPE_UNSPECIFIED Tipo de evento no especificado. No se debe usar este valor.
SCHEMA Es el tipo de evento del esquema. Un reloj con este tipo de evento recibirá una notificación sobre los cambios en el contenido y la configuración del formulario.
RESPONSES Es el tipo de evento de respuesta. Se notificará a un reloj con este tipo de evento cuando se envíen las respuestas del formulario.

ErrorType

Posibles tipos de errores.

Enumeraciones
ERROR_TYPE_UNSPECIFIED Tipo de error no especificado.
PROJECT_NOT_AUTHORIZED El proyecto de Cloud no tiene acceso al formulario que se está supervisando. Esto ocurre si el usuario revocó la autorización para que tu proyecto acceda a sus formularios. No se volverán a intentar los relojes con este error. Para intentar volver a ver el formulario, puedes llamar a watches.renew.
NO_USER_ACCESS El usuario que otorgó el acceso ya no tiene acceso al formulario que se está supervisando. No se volverán a intentar los relojes con este error. Para intentar volver a ver el formulario, puedes llamar a watches.renew.
OTHER_ERRORS Se produjo otro tipo de error. La continuidad de las notificaciones depende del state del reloj.

Estado

Estados posibles del reloj.

Enumeraciones
STATE_UNSPECIFIED Estado sin especificar.
ACTIVE El reloj está activo.
SUSPENDED El reloj está suspendido debido a un error que se puede resolver. El reloj seguirá existiendo hasta que venza. Para intentar reactivar el reloj, se puede llamar a watches.renew.

Métodos

create

Crea un reloj nuevo.

delete

Borrar un reloj

list

Muestra una lista de los relojes que pertenecen al proyecto que realiza la llamada.

renew

Renovar un reloj existente por siete días