REST Resource: forms.watches

Recurso: Watch

Un reloj para los eventos de un formulario. Cuando ocurra el evento designado, se publicará una notificación para el destino especificado. Los atributos de la notificación incluirán una clave formId que tiene el ID del formulario observado y una clave eventType que tiene la cadena del tipo.

Los mensajes se envían con entrega al menos una vez y solo se descartan en circunstancias extraordinarias. Por lo general, todas las notificaciones deben entregarse de manera confiable en pocos segundos. Sin embargo, en algunas situaciones, las notificaciones pueden retrasarse.

Un reloj 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)

Obligatorio. Dónde se envía la notificación.

eventType

enum (EventType)

Obligatorio. El tipo de evento que se debe supervisar.

createTime

string (Timestamp format)

Solo salida. Marca de tiempo de cuándo se creó.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

expireTime

string (Timestamp format)

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

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

errorType

enum (ErrorType)

Solo salida. Corresponde al tipo de error más reciente de un intento de entrega. Para volver a ver el formulario, se puede realizar una llamada a watches.renew, que también borrará la información del error.

state

enum (State)

Solo salida. El estado actual del reloj. Puedes encontrar más detalles sobre los relojes suspendidos consultando el errorType.

WatchTarget

El destino de 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. Obligatorio. El destino de 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 Formularios serviceAccount:forms-notifications@system.gserviceaccount.com. Solo el proyecto que posee un tema puede crear un reloj con este.

Se deben considerar las garantías de entrega de Pub/Sub.

CloudPubsubTopic

Un tema de Pub/Sub

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

string

Obligatorio. Un nombre del tema de Pub/Sub completamente calificado para publicar los eventos. Este tema debe ser propiedad del proyecto que realiza la llamada y ya debe existir en Pub/Sub.

EventType

Son los posibles tipos de eventos que se pueden mirar.

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

ErrorType

Tipos de errores posibles.

Enumeraciones
ERROR_TYPE_UNSPECIFIED Tipo de error no especificado.
PROJECT_NOT_AUTHORIZED El proyecto de la nube no tiene acceso al formulario que se está visualizando. 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 comenzar a ver el formulario de nuevo, se puede llamar al watches.renew
NO_USER_ACCESS El usuario que otorgó acceso ya no tiene acceso al formulario que se está mirando. No se volverán a intentar los relojes con este error. Para intentar comenzar a ver el formulario de nuevo, se puede llamar al watches.renew
OTHER_ERRORS Se produjo otro tipo de error. La continuidad de las notificaciones depende del reloj state.

Estado

Estados posibles de observación.

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

Métodos

create

Crear un nuevo reloj.

delete

Borrar un reloj.

list

Muestra una lista de los relojes que posee el proyecto de invocación.

renew

Renovar un reloj existente durante siete días