REST Resource: forms.watches

Recurso: Watch

Un reloj para eventos de un formulario. Cuando ocurre el evento designado, se publica una notificación para el objetivo especificado. Los atributos de la notificación incluirán una clave formId que tiene el ID del formulario supervisado y una clave eventType que tiene la cadena del tipo.

Los mensajes se envían con al menos una entrega y solo se entregan en circunstancias extraordinarias. Por lo general, todas las notificaciones se envían 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. El ID de este reloj. Consulta las notas sobre CreateWatchRequest.watch_id.

target

object (WatchTarget)

Obligatorio. Dónde enviar la notificación.

eventType

enum (EventType)

Obligatorio. El tipo de evento que se debe observar

createTime

string (Timestamp format)

Solo salida. Marca de tiempo de la creación.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con 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. La marca de tiempo del vencimiento. Cada llamada a watches.renew se restablece a siete días después.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con 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. El tipo de error más reciente de un intento de envío. Para comenzar a ver el formulario nuevamente, 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. Para obtener más información sobre los relojes suspendidos, consulta errorType.

WatchTarget

El objetivo 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 objetivo 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 de tema de Pub/Sub completamente calificado para publicar los eventos. Este tema debe ser propiedad del proyecto que realiza la llamada y ya existir en Pub/Sub.

EventType

Posibles tipos de eventos que se pueden ver.

Enumeradores
EVENT_TYPE_UNSPECIFIED No se especificó el tipo de evento. No se debe usar este valor.
SCHEMA El tipo de evento de esquema. Los relojes con este tipo de evento recibirán notificaciones sobre los cambios en el contenido del formulario y la configuración.
RESPONSES El tipo de evento de respuestas. Un reloj con este tipo de evento recibirá una notificación cuando se envíen las respuestas del formulario.

ErrorType

Tipos de errores posibles.

Enumeradores
ERROR_TYPE_UNSPECIFIED Tipo de error no especificado.
PROJECT_NOT_AUTHORIZED El proyecto de la nube no tiene acceso al formulario que se está supervisando. Esto ocurre cuando el usuario revocó la autorización para que tu proyecto acceda a sus formularios. No se reintentarán los relojes que tengan este error. Para intentar ver el formulario de nuevo, se puede realizar una llamada al watches.renew.
NO_USER_ACCESS El usuario que otorgó el acceso ya no tiene acceso al formulario que se está visualizando. No se reintentarán los relojes que tengan este error. Para intentar ver el formulario de nuevo, se puede realizar una llamada al watches.renew.
OTHER_ERRORS Se produjo otro tipo de error. La opción de continuar las notificaciones depende del reloj state.

Estado

Posibles estados del reloj

Enumeradores
STATE_UNSPECIFIED Estado sin especificar.
ACTIVE El reloj está activo.
SUSPENDED El reloj está suspendido debido a un error que podría resolverse. El reloj seguirá existiendo hasta que venza. Para intentar reactivar el reloj, se puede realizar una llamada al watches.renew

Métodos

create

Crea un reloj nuevo.

delete

Borra un reloj.

list

Muestra una lista de los relojes que pertenecen al proyecto de invocación.

renew

Renovar un reloj existente por siete días.