REST Resource: forms.watches

Recurso: Watch

Um relógio para eventos de um formulário. Quando o evento designado acontece, uma notificação é publicada no destino especificado. Os atributos da notificação incluem 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 pelo menos uma vez e são descartadas apenas em circunstâncias extraordinárias. Normalmente, todas as notificações são entregues de maneira confiável em poucos segundos. No entanto, em algumas situações, as notificações podem atrasar.

Um relógio expira sete dias após a criação, 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. Consulte as observações em CreateWatchRequest.watch_id.

target

object (WatchTarget)

Obrigatório. Para onde enviar a 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 foi criado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", 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 da expiração. Cada chamada de watches.renew é redefinida para sete dias no futuro.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", 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 para uma tentativa de entrega. Para voltar a assistir o formulário, faça uma chamada para watches.renew, que também limpa essas informações de erro.

state

enum (State)

Apenas saída. O estado atual do relógio. Consulte errorType para encontrar mais detalhes sobre smartwatches suspensos.

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 possui 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 para publicar os eventos. Esse tópico precisa pertencer ao projeto de chamada e já existir no Pub/Sub.

EventType

Tipos de eventos possíveis que podem ser assistidos.

Enums
EVENT_TYPE_UNSPECIFIED Tipo de evento não especificado. Esse valor não deve ser usado.
SCHEMA O 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 vai receber uma notificação 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 se o usuário revogou a autorização para que seu projeto acesse os formulários. Não haverá novas tentativas para os relógios com esse erro. Para tentar assistir o formulário de novo, faça uma chamada para watches.renew
NO_USER_ACCESS O usuário que concedeu acesso não terá mais acesso ao formulário que está sendo monitorado. Não haverá novas tentativas para os relógios com esse erro. Para tentar assistir o formulário de novo, faça uma chamada para watches.renew
OTHER_ERRORS Ocorreu outro tipo de erro. A ativação das notificações depende do state do relógio.

Estado

Possíveis estados de exibição.

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 vai continuar existindo até expirar. Para tentar reativar o relógio, faça uma chamada para watches.renew

Métodos

create

Criar um novo relógio.

delete

Excluir um relógio.

list

Retorne uma lista de relógios pertencentes ao projeto invocado.

renew

Renove um relógio existente por sete dias.