REST Resource: forms.watches

Recurso: relógio

Um relógio de eventos de um formulário. Quando o evento designado acontece, uma notificação é publicada no destino especificado. Os atributos da notificação vão incluir uma chave formId que tem o ID do formulário monitorado e uma chave eventType que tem a string do tipo.

As mensagens são enviadas com entrega pelo menos uma vez e são descartadas apenas em circunstâncias extraordinárias. Normalmente, todas as notificações devem ser entregues de forma confiável em alguns segundos. No entanto, em algumas situações, elas podem demorar para aparecer.

O relógio expira sete dias após ser criado, a menos que seja renovado com watches.renew

Representação JSON
{
  "id": string,
  "target": {
    object (WatchTarget)
  },
  "eventType": enum (EventType),
  "createTime": string,
  "expireTime": string,
  "errorType": enum (ErrorType),
  "state": enum (State)
}
Campos
id

string

Apenas saída. O ID deste relógio. Ver observações em CreateWatchRequest.watch_id.

target

object (WatchTarget)

Obrigatório. Local de envio da notificação.

eventType

enum (EventType)

Obrigatório. O tipo de evento a ser observado.

createTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora de quando isso foi criado.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

expireTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora de quando isso vai expirar. Cada chamada watches.renew redefine o período como sete dias depois.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

errorType

enum (ErrorType)

Apenas saída. O tipo de erro mais recente de uma tentativa de entrega. Para voltar a assistir o formulário, faça uma chamada para watches.renew, que também limpa as informações desse erro.

state

enum (State)

Apenas saída. O estado atual do relógio. Para saber mais detalhes sobre relógios suspensos, consulte o errorType.

WatchTarget

O destino da entrega de notificações.

Representação 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ão target. Obrigatório. O destino da entrega de notificações. target pode ser apenas de um dos tipos a seguir:
topic

object (CloudPubsubTopic)

um tópico do Pub/Sub; Para receber notificações, o tópico precisa conceder privilégios de publicação à conta de serviço do Formulários serviceAccount:forms-notifications@system.gserviceaccount.com. Somente o projeto que é proprietário de um tópico pode criar um relógio com ele.

É preciso considerar as garantias de entrega do Pub/Sub.

CloudPubsubTopic

um tópico do Pub/Sub;

Representação JSON
{
  "topicName": string
}
Campos
topicName

string

Obrigatório. Um nome de tópico do Pub/Sub totalmente qualificado em que os eventos serão publicados. Esse tópico precisa pertencer ao projeto de chamada e já existir no Pub/Sub.

EventType

Possíveis tipos de eventos que podem ser assistidos.

Enums
EVENT_TYPE_UNSPECIFIED Tipo de evento não especificado. Esse valor não deve ser usado.
SCHEMA Tipo de evento do esquema. Um relógio com esse tipo de evento será notificado sobre alterações no conteúdo e nas configurações do formulário.
RESPONSES O tipo de evento de respostas. Um relógio com esse tipo de evento será notificado quando as respostas do formulário forem enviadas.

ErrorType

Tipos de erros possíveis.

Enums
ERROR_TYPE_UNSPECIFIED Tipo de erro não especificado.
PROJECT_NOT_AUTHORIZED O projeto na nuvem não tem acesso ao formulário que está sendo monitorado. Isso ocorre quando o usuário revoga a autorização para que seu projeto acesse os formulários. Não será feita outra tentativa de assistir relógios com esse erro. Para tentar assistir o formulário novamente, é possível fazer uma chamada para watches.renew
NO_USER_ACCESS O usuário que concedeu acesso não tem mais acesso ao formulário que está sendo monitorado. Não será feita outra tentativa de assistir relógios com esse erro. Para tentar assistir o formulário novamente, é possível fazer uma chamada para watches.renew
OTHER_ERRORS Ocorreu outro tipo de erro. A continuidade das notificações depende do dispositivo state do relógio.

Estado

Possíveis estados do relógio.

Enums
STATE_UNSPECIFIED Estado não especificado.
ACTIVE O relógio está ativo.
SUSPENDED O relógio foi suspenso devido a um erro que pode ser resolvido. O relógio continuará existindo até expirar. Para tentar reativar o relógio, é possível fazer uma chamada para watches.renew

Métodos

create

Crie um novo relógio.

delete

Excluir um relógio.

list

Retorna uma lista dos relógios de propriedade do projeto de invocação.

renew

Renove um relógio por sete dias.