Package google.apps.card.v1

Índice

Ação

Uma ação que descreve o comportamento quando o formulário é enviado. Por exemplo, é possível invocar um script do Apps Script para processar o formulário. Se a ação for acionada, os valores do formulário serão enviados ao servidor.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
function

string

Uma função personalizada para invocar quando o elemento que contém o elemento de destino for clicado ou ativado de outra forma.

Para conferir um exemplo de uso, consulte Ler dados de formulário.

parameters[]

ActionParameter

Lista de parâmetros de ação.

load_indicator

LoadIndicator

Especifica o indicador de carregamento que a ação exibe ao fazer a call-to-action.

persist_values

bool

Indica se os valores do formulário persistem após a ação. O valor padrão é false.

Se true, os valores do formulário permanecem após a ação ser acionada. Para permitir que o usuário faça mudanças enquanto a ação está sendo processada, defina LoadIndicator como NONE. Para mensagens de cards em apps de chat, também é necessário definir a ResponseType da ação como UPDATE_MESSAGE e usar o mesmo card_id do card que continha a ação.

Se false, os valores do formulário são limpos quando a ação é acionada. Para impedir que o usuário faça alterações enquanto a ação está sendo processada, defina LoadIndicator como SPINNER.

interaction

Interaction

Opcional. Obrigatório ao abrir uma caixa de diálogo.

O que fazer em resposta a uma interação com um usuário, como clicar em um botão em uma mensagem de card.

Se não for especificado, o app vai responder executando uma action, como abrir um link ou executar uma função, normalmente.

Ao especificar um interaction, o app pode responder de maneiras interativas especiais. Por exemplo, ao definir interaction como OPEN_DIALOG, o app pode abrir uma caixa de diálogo. Quando especificado, um indicador de carregamento não é mostrado. Se especificado para um complemento, o card inteiro é removido e nada é mostrado no cliente.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

required_widgets[]

string

Opcional. Preencha a lista com os nomes dos widgets necessários para um envio válido.

Se os widgets listados aqui não tiverem um valor quando essa ação for invocada, o envio do formulário será interrompido.

Disponível para apps do Google Chat e complementos do Google Workspace.

all_widgets_are_required

bool

Opcional. Se for verdadeiro, todos os widgets serão considerados obrigatórios por essa ação.

Disponível para apps do Google Chat e complementos do Google Workspace.

ActionParameter

Lista de parâmetros de string a serem fornecidos quando o método de ação for invocado. Por exemplo, considere três botões de adiamento: adiar agora, adiar um dia ou adiar para a próxima semana. Você pode usar action method = snooze(), transmitindo o tipo e o tempo de suspensão na lista de parâmetros de string.

Para saber mais, consulte CommonEventObject.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
key

string

O nome do parâmetro do script de ação.

value

string

O valor do parâmetro.

Interação

Opcional. Obrigatório ao abrir uma caixa de diálogo.

O que fazer em resposta a uma interação com um usuário, como um clique em um botão em uma mensagem de card.

Se não for especificado, o app vai responder executando uma action, como abrir um link ou executar uma função, normalmente.

Ao especificar um interaction, o app pode responder de maneiras interativas especiais. Por exemplo, ao definir interaction como OPEN_DIALOG, o app pode abrir uma caixa de diálogo.

Quando especificado, um indicador de carregamento não é mostrado. Se especificado para um complemento, o card inteiro é removido e nada é mostrado no cliente.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Enums
INTERACTION_UNSPECIFIED Valor padrão. O action é executado normalmente.
OPEN_DIALOG

Abre uma caixa de diálogo, uma interface com base em cards e janelas que os apps de chat usam para interagir com os usuários.

Só é compatível com apps do Chat em resposta a cliques no botão em mensagens de cards. Se especificado para um complemento, o card inteiro é removido e nada é mostrado no cliente.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

LoadIndicator

Especifica o indicador de carregamento que a ação exibe ao fazer a call-to-action.

Disponível para apps do Google Chat e complementos do Google Workspace.

Enums
SPINNER Mostra um ícone de carregamento para indicar que o conteúdo está sendo carregado.
NONE Nada é exibido.

BorderStyle

As opções de estilo para a borda de um card ou widget, incluindo o tipo e a cor da borda.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
type

BorderType

O tipo de borda.

stroke_color

Color

As cores a serem usadas quando o tipo é BORDER_TYPE_STROKE.

Para definir a cor do traço, especifique um valor para os campos red, green e blue. O valor precisa ser um número flutuante entre 0 e 1 com base no valor da cor RGB, em que 0 (0/255) representa a ausência de cor e 1 (255/255) representa a intensidade máxima da cor.

Por exemplo, o código a seguir define a cor como vermelho na intensidade máxima:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

O campo alpha não está disponível para a cor do traço. Se especificado, este campo será ignorado.

corner_radius

int32

O raio dos cantos da borda.

BorderType

Representa os tipos de borda aplicados aos widgets.

Disponível para apps do Google Chat e complementos do Google Workspace.

Enums
BORDER_TYPE_UNSPECIFIED Não use. Não especificado.
NO_BORDER Valor padrão. Sem borda.
STROKE Contorno.

Botão

Um botão de texto, ícone ou texto e ícone em que os usuários podem clicar. Para conferir um exemplo em apps do Google Chat, consulte Adicionar um botão.

Para tornar uma imagem um botão clicável, especifique um Image (não um ImageComponent) e defina uma ação onClick.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
text

string

O texto exibido dentro do botão.

icon

Icon

Um ícone exibido dentro do botão. Se icon e text forem definidos, o ícone vai aparecer antes do texto.

color

Color

Opcional. A cor do botão. Se definido, o botão type será definido como FILLED e a cor dos campos text e icon será definida como uma cor contrastante para facilitar a leitura. Por exemplo, se a cor do botão for definida como azul, qualquer texto ou ícone no botão será definido como branco.

Para definir a cor do botão, especifique um valor para os campos red, green e blue. O valor precisa ser um número flutuante entre 0 e 1 com base no valor da cor RGB, em que 0 (0/255) representa a ausência de cor e 1 (255/255) representa a intensidade máxima da cor.

Por exemplo, o código a seguir define a cor como vermelho na intensidade máxima:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

O campo alpha não está disponível para a cor do botão. Se especificado, este campo será ignorado.

on_click

OnClick

Obrigatório. A ação a ser realizada quando um usuário clica no botão, como abrir um hiperlink ou executar uma função personalizada.

disabled

bool

Se true, o botão aparece em um estado inativo e não responde às ações do usuário.

alt_text

string

O texto alternativo usado para acessibilidade.

Defina um texto descritivo que informe aos usuários o que o botão faz. Por exemplo, se um botão abrir um hiperlink, você pode escrever: "Abre uma nova guia do navegador e navega até a documentação para desenvolvedores do Google Chat em https://developers.google.com/workspace/chat".

type

Type

Opcional. O tipo de um botão. Se não for definido, o tipo de botão será definido como OUTLINED. Se o campo color estiver definido, o tipo de botão será forçado para FILLED, e qualquer valor definido para esse campo será ignorado.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Tipo

Opcional. O tipo de um botão. Se o campo color estiver definido, o type será forçado a FILLED.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Enums
TYPE_UNSPECIFIED Não use. Não especificado.
OUTLINED Os botões com contorno são de ênfase média. Eles geralmente contêm ações importantes, mas não são a principal ação em um app de chat ou um complemento.
FILLED Um botão preenchido tem um contêiner com uma cor sólida. Ele tem o maior impacto visual e é recomendado para a ação principal e importante em um app de chat ou um complemento.
FILLED_TONAL Um botão tonal preenchido é um meio-termo alternativo entre botões preenchidos e contornados. Eles são úteis em contextos em que um botão de prioridade mais baixa precisa de um pouco mais de ênfase do que um botão de contorno.
BORDERLESS Um botão não tem um contêiner invisível no estado padrão. Ele é usado com frequência para ações de menor prioridade, especialmente ao apresentar várias opções.

ButtonList

Uma lista de botões disposta horizontalmente. Para conferir um exemplo em apps do Google Chat, consulte Adicionar um botão.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
buttons[]

Button

Uma matriz de botões.

Cartas

Uma interface de card exibida em uma mensagem do Google Chat ou em um complemento do Google Workspace.

Os cards oferecem suporte a um layout definido, elementos de interface interativos, como botões, e rich media, como imagens. Use cards para apresentar informações detalhadas, coletar informações dos usuários e orientar para a próxima etapa.

Crie e visualize cards com o Criador de cards.

Abrir o criador de cards

Para saber como criar cards, consulte a documentação a seguir:

Observação: é possível adicionar até 100 widgets por card. Os widgets além desse limite são ignorados. Esse limite se aplica a mensagens e caixas de diálogo de cards nos apps do Google Chat e aos cards nos Add-ons do Google Workspace.

Exemplo: mensagem de card para um app do Google Chat

Exemplo de card de contato

Para criar a mensagem de exemplo no Google Chat, use o seguinte JSON:

{
  "cardsV2": [
    {
      "cardId": "unique-card-id",
      "card": {
        "header": {
           "title": "Sasha",
           "subtitle": "Software Engineer",
           "imageUrl":
           "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
           "imageType": "CIRCLE",
           "imageAltText": "Avatar for Sasha"
         },
         "sections": [
           {
             "header": "Contact Info",
             "collapsible": true,
             "uncollapsibleWidgetsCount": 1,
             "widgets": [
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "EMAIL"
                   },
                   "text": "sasha@example.com"
                 }
               },
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "PERSON"
                   },
                   "text": "<font color=\"#80e27e\">Online</font>"
                 }
               },
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "PHONE"
                   },
                   "text": "+1 (555) 555-1234"
                 }
               },
               {
                 "buttonList": {
                   "buttons": [
                     {
                       "text": "Share",
                       "onClick": {
                        "openLink": {
                           "url": "https://example.com/share"
                         }
                       }
                     },
                     {
                       "text": "Edit",
                       "onClick": {
                         "action": {
                           "function": "goToView",
                           "parameters": [
                             {
                               "key": "viewType",
                               "value": "EDIT"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
Campos
header

CardHeader

O cabeçalho do card. Um cabeçalho geralmente contém uma imagem principal e um título. Os cabeçalhos sempre aparecem na parte de cima de um card.

sections[]

Section

Contém uma coleção de widgets. Cada seção tem um cabeçalho opcional. As seções são separadas visualmente por um divisor de linha. Para conferir um exemplo em apps do Google Chat, consulte Definir uma seção de um card.

section_divider_style

DividerStyle

O estilo do divisor entre o cabeçalho, as seções e o rodapé.

card_actions[]

CardAction

As ações do card. As ações são adicionadas ao menu da barra de ferramentas do card.

Disponível para complementos do Google Workspace e indisponível para apps do Google Chat.

Por exemplo, o JSON a seguir constrói um menu de ação de card com as opções Settings e Send Feedback:

"card_actions": [
  {
    "actionLabel": "Settings",
    "onClick": {
      "action": {
        "functionName": "goToView",
        "parameters": [
          {
            "key": "viewType",
            "value": "SETTING"
         }
        ],
        "loadIndicator": "LoadIndicator.SPINNER"
      }
    }
  },
  {
    "actionLabel": "Send Feedback",
    "onClick": {
      "openLink": {
        "url": "https://example.com/feedback"
      }
    }
  }
]
name

string

Nome do card. Usado como um identificador de cartão na navegação de cards.

Disponível para complementos do Google Workspace e indisponível para apps do Google Chat.

display_style

DisplayStyle

Nos complementos do Google Workspace, define as propriedades de exibição do peekCardHeader.

Disponível para complementos do Google Workspace e indisponível para apps do Google Chat.

peek_card_header

CardHeader

Ao mostrar conteúdo contextual, o cabeçalho do card de visualização funciona como um marcador para que o usuário possa navegar entre os cards da página inicial e os cards contextuais.

Disponível para complementos do Google Workspace e indisponível para apps do Google Chat.

CardAction

A ação do card é a ação associada a ele. Por exemplo, um card de fatura pode incluir ações como excluir fatura, enviar fatura por e-mail ou abrir a fatura em um navegador.

Disponível para complementos do Google Workspace e indisponível para apps do Google Chat.

Campos
action_label

string

O rótulo que aparece como o item do menu de ação.

on_click

OnClick

A ação onClick para este item de ação.

CardFixedFooter

Um rodapé persistente que aparece na parte de baixo do card.

A configuração de fixedFooter sem especificar um primaryButton ou um secondaryButton causa um erro.

Para apps de chat, é possível usar cabeçalhos fixos em caixas de diálogo, mas não em mensagens de cards. Para conferir um exemplo em apps do Google Chat, consulte Adicionar um rodapé permanente.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
primary_button

Button

O botão principal do rodapé fixo. O botão precisa ser de texto com texto e cor definidos.

secondary_button

Button

O botão secundário do rodapé fixo. O botão precisa ser de texto com texto e cor definidos. Se secondaryButton estiver definido, defina também primaryButton.

CardHeader

Representa um cabeçalho de cartão. Para conferir um exemplo em apps do Google Chat, consulte Adicionar um cabeçalho.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
title

string

Obrigatório. O título do cabeçalho do card. O cabeçalho tem uma altura fixa: se um título e um subtítulo forem especificados, cada um ocupará uma linha. Se apenas o título for especificado, ele ocupará as duas linhas.

subtitle

string

O subtítulo do cabeçalho do card. Se especificado, aparece na própria linha abaixo de title.

image_type

ImageType

A forma usada para cortar a imagem.

Disponível para apps do Google Chat e complementos do Google Workspace.

image_url

string

O URL HTTPS da imagem no cabeçalho do cartão.

image_alt_text

string

O texto alternativo dessa imagem usado para acessibilidade.

DisplayStyle

Nos complementos do Google Workspace, determina como um card é exibido.

Disponível para complementos do Google Workspace e indisponível para apps do Google Chat.

Enums
DISPLAY_STYLE_UNSPECIFIED Não use. Não especificado.
PEEK O cabeçalho do card aparece na parte de baixo da barra lateral, cobrindo parcialmente o card superior atual da pilha. Ao clicar no cabeçalho, o card é adicionado à pilha. Se o card não tiver cabeçalho, um cabeçalho gerado será usado.
REPLACE Valor padrão. O card é mostrado substituindo a visualização do card superior na pilha.

DividerStyle

O estilo do divisor de um card. Atualmente, é usado apenas para divisores entre seções de cards.

Disponível para apps do Google Chat e complementos do Google Workspace.

Enums
DIVIDER_STYLE_UNSPECIFIED Não use. Não especificado.
SOLID_DIVIDER Opção padrão. Renderiza um divisor sólido.
NO_DIVIDER Se definido, nenhum divisor será renderizado. Esse estilo remove completamente o divisor do layout. O resultado é equivalente a não adicionar um divisor.

NestedWidget

Uma lista de widgets que podem ser mostrados em um layout que os contém, como um CarouselCard. Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Campos

Campo de união data.

data pode ser apenas de um dos tipos a seguir:

text_paragraph

TextParagraph

Um widget de parágrafo de texto.

button_list

ButtonList

Um widget de lista de botões.

image

Image

Um widget de imagem.

Seção

Uma seção contém uma coleção de widgets renderizados verticalmente na ordem em que são especificados.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
header

string

Texto que aparece na parte de cima de uma seção. Suporta texto simples formatado em HTML. Para mais informações sobre a formatação de texto, consulte Formatar texto em apps do Google Chat e Formatar texto em complementos do Google Workspace.

widgets[]

Widget

Todos os widgets da seção. Precisa conter pelo menos um widget.

collapsible

bool

Indica se essa seção pode ser recolhida.

As seções recolhíveis ocultam alguns ou todos os widgets, mas os usuários podem expandir a seção para revelar os widgets ocultos clicando em Mostrar mais. Os usuários podem ocultar os widgets novamente clicando em Mostrar menos.

Para determinar quais widgets estão ocultos, especifique uncollapsibleWidgetsCount.

uncollapsible_widgets_count

int32

O número de widgets não redimensionáveis que permanecem visíveis mesmo quando uma seção está recolhida.

Por exemplo, quando uma seção contém cinco widgets e uncollapsibleWidgetsCount está definido como 2, os dois primeiros widgets são sempre mostrados e os três últimos são recolhidos por padrão. O uncollapsibleWidgetsCount é levado em conta apenas quando collapsible é true.

collapse_control

CollapseControl

Opcional. Defina o botão de expansão e retração da seção. Esse botão só vai aparecer se a seção puder ser recolhida. Se esse campo não estiver definido, o botão padrão será usado. Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Um carrossel, também conhecido como controle deslizante, gira e exibe uma lista de widgets em um formato de apresentação de slides, com botões que navegam para o widget anterior ou o seguinte.

Por exemplo, esta é uma representação JSON de um carrossel que contém três widgets de parágrafo de texto.

{
  "carouselCards": [
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "First text paragraph in carousel",
          }
        }
      ]
    },
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "Second text paragraph in carousel",
          }
        }
      ]
    },
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "Third text paragraph in carousel",
          }
        }
      ]
    }
  ]
}

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Campos
carousel_cards[]

CarouselCard

Uma lista de cards incluídos no carrossel.

CarouselCard

Um card que pode ser exibido como um item de carrossel. Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Campos
widgets[]

NestedWidget

Uma lista de widgets exibidos no card do carrossel. Os widgets são mostrados na ordem em que são especificados.

footer_widgets[]

NestedWidget

Uma lista de widgets exibida na parte de baixo do card do carrossel. Os widgets são mostrados na ordem em que são especificados.

Ícone

Um ícone, um texto ou um ícone com texto que os usuários podem clicar.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Campos
icon

Icon

A imagem do ícone. Se icon e text forem definidos, o ícone vai aparecer antes do texto.

label

string

O texto exibido dentro do ícone.

on_click

OnClick

Opcional. A ação a ser realizada quando um usuário clicar no ícone, como abrir um hiperlink ou executar uma função personalizada.

enabled
(deprecated)

bool

Indica se o ícone está em um estado ativo e responde às ações do usuário. O valor padrão é true. Obsoleto. Use disabled.

disabled

bool

Indica se o ícone está em um estado inativo e ignora as ações do usuário. O valor padrão é false.

alt_text

string

O texto alternativo usado para acessibilidade.

Defina um texto descritivo que informe aos usuários o que o ícone faz. Por exemplo, se um ícone abrir um hiperlink, escreva: "Abre uma nova guia do navegador e navega até a documentação para desenvolvedores do Google Chat em https://developers.google.com/workspace/chat".

ChipList

Uma lista de ícones disposta horizontalmente, que pode rolar horizontalmente ou ser contornada para a próxima linha.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Campos
layout

Layout

Layout da lista de ícones especificado.

chips[]

Chip

Uma matriz de chips.

Layout

O layout da lista de ícones.

Enums
LAYOUT_UNSPECIFIED Não use. Não especificado.
WRAPPED Valor padrão. A lista de ícones vai para a próxima linha se não houver espaço horizontal suficiente.
HORIZONTAL_SCROLLABLE Os ícones vão rolar horizontalmente se não couberem no espaço disponível.

CollapseControl

Representar um controle de abertura e fechamento. Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Campos
horizontal_alignment

HorizontalAlignment

O alinhamento horizontal do botão de abrir e fechar.

expand_button

Button

Opcional. Defina um botão personalizável para abrir a seção. Os campos "expand_button" e "collapse_button" precisam ser definidos. Apenas um conjunto de campos não vai entrar em vigor. Se esse campo não estiver definido, o botão padrão será usado.

collapse_button

Button

Opcional. Defina um botão personalizável para recolher a seção. Os campos "expand_button" e "collapse_button" precisam ser definidos. Apenas um conjunto de campos não vai entrar em vigor. Se esse campo não estiver definido, o botão padrão será usado.

Colunas

O widget Columns mostra até duas colunas em um card ou caixa de diálogo. É possível adicionar widgets a cada coluna. Eles aparecem na ordem especificada. Para conferir um exemplo em apps do Google Chat, consulte Mostrar cards e caixas de diálogo em colunas.

A altura de cada coluna é determinada pela coluna mais alta. Por exemplo, se a primeira coluna for mais alta que a segunda, ambas terão a altura da primeira. Como cada coluna pode conter um número diferente de widgets, não é possível definir linhas ou alinhar widgets entre as colunas.

As colunas são mostradas lado a lado. É possível personalizar a largura de cada coluna usando o campo HorizontalSizeStyle. Se a largura da tela do usuário for muito estreita, a segunda coluna será exibida abaixo da primeira:

  • Na Web, a segunda coluna é recolhida se a largura da tela for menor ou igual a 480 pixels.
  • Em dispositivos iOS, a segunda coluna é recolhida se a largura da tela for menor ou igual a 300 pt.
  • Em dispositivos Android, a segunda coluna é recolhida se a largura da tela for menor ou igual a 320 dp.

Para incluir mais de duas colunas ou usar linhas, use o widget Grid.

Disponível para apps do Google Chat e complementos do Google Workspace. As interfaces de complemento que oferecem suporte a colunas incluem:

  • A caixa de diálogo exibida quando os usuários abrem o complemento em um rascunho de e-mail.
  • Caixa de diálogo exibida quando os usuários abrem o complemento no menu Adicionar anexo em um evento do Google Agenda.
Campos
column_items[]

Column

Uma matriz de colunas. É possível incluir até duas colunas em um card ou caixa de diálogo.

Coluna

Uma coluna.

Complementos do Google Workspace e apps de chat

Campos
horizontal_size_style

HorizontalSizeStyle

Especifica como uma coluna preenche a largura do card.

horizontal_alignment

HorizontalAlignment

Especifica se os widgets são alinhados à esquerda, à direita ou ao centro de uma coluna.

vertical_alignment

VerticalAlignment

Especifica se os widgets são alinhados à parte de cima, de baixo ou ao centro de uma coluna.

widgets[]

Widgets

Uma matriz de widgets incluída em uma coluna. Os widgets aparecem na ordem em que são especificados.

HorizontalSizeStyle

Especifica como uma coluna preenche a largura do card. A largura de cada coluna depende da HorizontalSizeStyle e da largura dos widgets na coluna.

Complementos do Google Workspace e apps de chat

Enums
HORIZONTAL_SIZE_STYLE_UNSPECIFIED Não use. Não especificado.
FILL_AVAILABLE_SPACE Valor padrão. A coluna preenche o espaço disponível, até 70% da largura do card. Se as duas colunas forem definidas como FILL_AVAILABLE_SPACE, cada coluna vai preencher 50% do espaço.
FILL_MINIMUM_SPACE A coluna preenche o menor espaço possível e não mais de 30% da largura do card.

VerticalAlignment

Especifica se os widgets são alinhados à parte de cima, de baixo ou ao centro de uma coluna.

Complementos do Google Workspace e apps de chat

Enums
VERTICAL_ALIGNMENT_UNSPECIFIED Não use. Não especificado.
CENTER Valor padrão. Alinha os widgets ao centro de uma coluna.
TOP Alinha os widgets na parte de cima de uma coluna.
BOTTOM Alinha os widgets na parte de baixo de uma coluna.

Widgets

Os widgets compatíveis que podem ser incluídos em uma coluna.

Complementos do Google Workspace e apps do Chat

Campos

Campo de união data.

data pode ser apenas de um dos tipos a seguir:

text_paragraph

TextParagraph

Widget de TextParagraph.

image

Image

Widget de Image.

decorated_text

DecoratedText

Widget de DecoratedText.

button_list

ButtonList

Widget de ButtonList.

text_input

TextInput

Widget de TextInput.

selection_input

SelectionInput

Widget de SelectionInput.

date_time_picker

DateTimePicker

Widget de DateTimePicker.

chip_list

ChipList

Widget de ChipList. Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

DateTimePicker

Permite que os usuários insiram uma data, uma hora ou ambos. Para conferir um exemplo em apps do Google Chat, consulte Permitir que um usuário escolha uma data e hora.

Os usuários podem inserir texto ou usar o seletor para selecionar datas e horários. Se os usuários inserirem uma data ou hora inválida, o seletor vai mostrar um erro que solicita a entrada correta das informações.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
name

string

O nome pelo qual o DateTimePicker é identificado em um evento de entrada de formulário.

Para saber mais sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário.

label

string

O texto que solicita que os usuários insiram uma data, uma hora ou uma data e hora. Por exemplo, se os usuários estiverem agendando um horário, use um rótulo como Appointment date ou Appointment date and time.

type

DateTimePickerType

Se o widget aceita a entrada de uma data, uma hora ou a data e a hora.

value_ms_epoch

int64

O valor padrão exibido no widget, em milissegundos desde a época Unix.

Especifique o valor com base no tipo de seletor (DateTimePickerType):

  • DATE_AND_TIME: uma data e hora do calendário em UTC. Por exemplo, para representar 1º de janeiro de 2023 às 12h UTC, use 1672574400000.
  • DATE_ONLY: uma data do calendário às 00:00:00 UTC. Por exemplo, para representar 1º de janeiro de 2023, use 1672531200000.
  • TIME_ONLY: um horário no fuso UTC. Por exemplo, para representar 12h, use 43200000 (ou 12 * 60 * 60 * 1000).
timezone_offset_date

int32

O número que representa a compensação de fuso horário em relação ao UTC, em minutos. Se definido, o value_ms_epoch será mostrado no fuso horário especificado. Se não for definido, o valor padrão será a configuração de fuso horário do usuário.

on_change_action

Action

Acionado quando o usuário clica em Salvar ou Limpar na interface DateTimePicker.

validation

Validation

Opcional. Especifique a validação necessária para este seletor de data e hora.

Disponível para apps do Google Chat e complementos do Google Workspace.

DateTimePickerType

O formato da data e da hora no widget DateTimePicker. Determina se os usuários podem inserir uma data, um horário ou ambos.

Disponível para apps do Google Chat e complementos do Google Workspace.

Enums
DATE_AND_TIME Os usuários inserem uma data e hora.
DATE_ONLY Os usuários inserem uma data.
TIME_ONLY Os usuários inserem um tempo.

DecoratedText

Um widget que mostra texto com decorações opcionais, como um rótulo acima ou abaixo do texto, um ícone na frente do texto, um widget de seleção ou um botão após o texto. Para conferir um exemplo nos apps do Google Chat, consulte Mostrar texto com texto decorativo.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
icon
(deprecated)

Icon

Descontinuado em favor de startIcon.

start_icon

Icon

O ícone exibido na frente do texto.

top_label

string

O texto que aparece acima de text. Sempre trunca.

text

string

Obrigatório. O texto principal.

Suporta formatação simples. Para mais informações sobre a formatação de texto, consulte Formatar texto em apps do Google Chat e Formatar texto em complementos do Google Workspace.

wrap_text

bool

A configuração de ajuste de texto. Se true, o texto é quebrado e mostrado em várias linhas. Caso contrário, o texto é truncado.

Válido apenas para text, não para topLabel e bottomLabel.

bottom_label

string

O texto que aparece abaixo de text. Sempre envolve.

on_click

OnClick

Essa ação é acionada quando os usuários clicam em topLabel ou bottomLabel.

Campo de união control. Um botão, interruptor, caixa de seleção ou imagem que aparece à direita do texto no widget decoratedText. control pode ser apenas de um dos tipos a seguir:
button

Button

Um botão em que o usuário pode clicar para acionar uma ação.

switch_control

SwitchControl

Um widget de alternância que o usuário pode clicar para mudar o estado e acionar uma ação.

end_icon

Icon

Um ícone exibido após o texto.

Suporte a ícones integrados e personalizados.

SwitchControl

Um botão de alternância ou uma caixa de seleção dentro de um widget decoratedText.

Disponível para apps do Google Chat e complementos do Google Workspace.

Suporte apenas no widget decoratedText.

Campos
name

string

O nome pelo qual o widget de chave é identificado em um evento de entrada de formulário.

Para saber mais sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário.

value

string

O valor inserido por um usuário, retornado como parte de um evento de entrada de formulário.

Para saber mais sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário.

selected

bool

Quando true, o interruptor é selecionado.

on_change_action

Action

A ação a ser realizada quando o estado do interruptor for alterado, como qual função executar.

control_type

ControlType

Como a chave aparece na interface do usuário.

Disponível para apps do Google Chat e complementos do Google Workspace.

ControlType

Como a chave aparece na interface do usuário.

Disponível para apps do Google Chat e complementos do Google Workspace.

Enums
SWITCH Um interruptor de alternância.
CHECKBOX Descontinuado em favor de CHECK_BOX.
CHECK_BOX Uma caixa de seleção.

Separador

Esse tipo não tem campos.

Mostra um divisor entre os widgets como uma linha horizontal. Para conferir um exemplo em apps do Google Chat, consulte Adicionar um divisor horizontal entre widgets.

Disponível para apps do Google Chat e complementos do Google Workspace.

Por exemplo, o JSON a seguir cria um divisor:

"divider": {}

Grade

Mostra uma grade com uma coleção de itens. Os itens só podem incluir texto ou imagens. Para colunas responsivas ou para incluir mais do que texto ou imagens, use Columns. Para conferir um exemplo em apps do Google Chat, consulte Mostrar uma grade com uma coleção de itens.

Uma grade oferece suporte a qualquer número de colunas e itens. O número de linhas é determinado pelos itens divididos por colunas. Uma grade com 10 itens e 2 colunas tem 5 linhas. Uma grade com 11 itens e 2 colunas tem 6 linhas.

Disponível para apps do Google Chat e complementos do Google Workspace.

Por exemplo, o JSON a seguir cria uma grade de duas colunas com um único item:

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
Campos
title

string

O texto que aparece no cabeçalho da grade.

items[]

GridItem

Os itens a serem mostrados na grade.

border_style

BorderStyle

O estilo de borda a ser aplicado a cada item da grade.

column_count

int32

O número de colunas a serem exibidas na grade. Um valor padrão será usado se esse campo não for especificado, e esse valor padrão será diferente dependendo de onde a grade é mostrada (caixa de diálogo ou complementar).

on_click

OnClick

Esse callback é reutilizado por cada item da grade, mas com o identificador e o índice do item na lista de itens adicionados aos parâmetros do callback.

GridItem

Representa um item em um layout de grade. Os itens podem conter texto, uma imagem ou ambos.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
id

string

Um identificador especificado pelo usuário para este item de grade. Esse identificador é retornado nos parâmetros de callback onClick da grade mãe.

image

ImageComponent

A imagem que aparece no item da grade.

title

string

O título do item da grade.

subtitle

string

O subtítulo do item da grade.

layout

GridItemLayout

O layout a ser usado para o item da grade.

GridItemLayout

Representa as várias opções de layout disponíveis para um item de grade.

Disponível para apps do Google Chat e complementos do Google Workspace.

Enums
GRID_ITEM_LAYOUT_UNSPECIFIED Não use. Não especificado.
TEXT_BELOW O título e o subtítulo são mostrados abaixo da imagem do item da grade.
TEXT_ABOVE O título e o subtítulo aparecem acima da imagem do item da grade.

Ícone

Um ícone exibido em um widget em um card. Para conferir um exemplo em apps do Google Chat, consulte Adicionar um ícone.

Suporte a ícones integrados e personalizados.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
alt_text

string

Opcional. Uma descrição do ícone usado para acessibilidade. Se não for especificado, o valor padrão Button será fornecido. Como prática recomendada, defina uma descrição útil para o que o ícone mostra e, se aplicável, o que ele faz. Por exemplo, A user's account portrait ou Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat.

Se o ícone for definido em um Button, o altText vai aparecer como texto auxiliar quando o usuário passar o cursor sobre o botão. No entanto, se o botão também definir text, o altText do ícone será ignorado.

image_type

ImageType

O estilo de corte aplicado à imagem. Em alguns casos, a aplicação de um corte CIRCLE faz com que a imagem seja renderizada maior do que um ícone integrado.

Campo de união icons. O ícone exibido no widget do card. icons pode ser apenas de um dos tipos a seguir:
known_icon

string

Mostrar um dos ícones integrados fornecidos pelo Google Workspace.

Por exemplo, para mostrar um ícone de avião, especifique AIRPLANE. Para um ônibus, especifique BUS.

Para conferir uma lista completa de ícones compatíveis, consulte Ícones integrados.

icon_url

string

Mostre um ícone personalizado hospedado em um URL HTTPS.

Exemplo:

"iconUrl":
"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png"

Os tipos de arquivo compatíveis incluem .png e .jpg.

material_icon

MaterialIcon

Mostre um dos ícones do Google Material Design.

Por exemplo, para mostrar um ícone de caixa de seleção, use

"material_icon": {
  "name": "check_box"
}

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Imagem

Uma imagem especificada por um URL e que pode ter uma ação onClick. Confira um exemplo em Adicionar uma imagem.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
image_url

string

O URL HTTPS que hospeda a imagem.

Exemplo:

https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
on_click

OnClick

Quando um usuário clica na imagem, o clique aciona essa ação.

alt_text

string

O texto alternativo dessa imagem usado para acessibilidade.

ImageComponent

Representa uma imagem.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
image_uri

string

O URL da imagem.

alt_text

string

O rótulo de acessibilidade da imagem.

crop_style

ImageCropStyle

O estilo de corte a ser aplicado à imagem.

border_style

BorderStyle

O estilo de borda a ser aplicado à imagem.

ImageCropStyle

Representa o estilo de corte aplicado a uma imagem.

Disponível para apps do Google Chat e complementos do Google Workspace.

Por exemplo, veja como aplicar uma proporção de 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
Campos
type

ImageCropType

O tipo de corte.

aspect_ratio

double

A proporção a ser usada se o tipo de corte for RECTANGLE_CUSTOM.

Por exemplo, veja como aplicar uma proporção de 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}

ImageCropType

Representa o estilo de corte aplicado a uma imagem.

Disponível para apps do Google Chat e complementos do Google Workspace.

Enums
IMAGE_CROP_TYPE_UNSPECIFIED Não use. Não especificado.
SQUARE Valor padrão. Aplica um corte quadrado.
CIRCLE Aplica um corte circular.
RECTANGLE_CUSTOM Aplica um corte retangular com uma proporção personalizada. Defina a proporção personalizada com aspectRatio.
RECTANGLE_4_3 Aplica um corte retangular com uma proporção de 4:3.

MaterialIcon

Um ícone do Material Design do Google, que inclui mais de 2.500 opções.

Por exemplo, para mostrar um ícone de caixa de seleção com peso e nota personalizados, escreva o seguinte:

{
  "name": "check_box",
  "fill": true,
  "weight": 300,
  "grade": -25
}

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Campos
name

string

O nome do ícone definido no ícone do Google Material, por exemplo, check_box. Todos os nomes inválidos são abandonados e substituídos por uma string vazia, o que resulta na falha na renderização do ícone.

fill

bool

Indica se o ícone é renderizado como preenchido. O valor padrão é “false”.

Para visualizar diferentes configurações de ícones, acesse Ícones de fonte do Google e ajuste as configurações em Personalizar.

weight

int32

A espessura do traço do ícone. Escolha entre {100, 200, 300, 400, 500, 600, 700}. Se não estiver presente, o valor padrão será 400. Se outro valor for especificado, o valor padrão será usado.

Para visualizar diferentes configurações de ícones, acesse Ícones de fonte do Google e ajuste as configurações em Personalizar.

grade

int32

O peso e a gradação afetam a espessura de um símbolo. Os ajustes de gradação são mais detalhados do que os ajustes de peso e têm um pequeno impacto no tamanho do símbolo. Escolha entre {-25, 0, 200}. Se não houver, o valor padrão será 0. Se outro valor for especificado, o valor padrão será usado.

Para visualizar diferentes configurações de ícones, acesse Ícones de fonte do Google e ajuste as configurações em Personalizar.

OnClick

Representa como responder quando os usuários clicam em um elemento interativo em um card, como um botão.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos

Campo de união data.

data pode ser apenas de um dos tipos a seguir:

action

Action

Se especificado, uma ação será acionada por esse onClick.

card

Card

Um novo card é enviado para a pilha de cards após o clique, se especificado.

Disponível para complementos do Google Workspace e indisponível para apps do Google Chat.

overflow_menu

OverflowMenu

Se especificado, esse onClick abre um menu flutuante. Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

OnClose

O que o cliente faz quando um link aberto por uma ação OnClick é fechado.

A implementação depende dos recursos da plataforma do cliente. Por exemplo, um navegador da Web pode abrir um link em uma janela pop-up com um manipulador OnClose.

Se os manipuladores OnOpen e OnClose forem definidos e a plataforma do cliente não puder usar os dois valores, o OnClose terá precedência.

Disponível para complementos do Google Workspace e indisponível para apps do Google Chat.

Enums
NOTHING Valor padrão. O cartão não é atualizado.
RELOAD

Recarrega o card depois que a janela filha é fechada.

Se usado em conjunto com OpenAs.OVERLAY, a janela filha funciona como uma caixa de diálogo modal, e o cartão pai é bloqueado até que a janela filha seja fechada.

OpenAs

Quando uma ação OnClick abre um link, o cliente pode abrir o link como uma janela de tamanho completo (se esse for o frame usado pelo cliente) ou uma sobreposição (como um pop-up). A implementação depende dos recursos da plataforma do cliente, e o valor selecionado pode ser ignorado se o cliente não oferecer suporte a ele. O FULL_SIZE é compatível com todos os clientes.

Disponível para complementos do Google Workspace e indisponível para apps do Google Chat.

Enums
FULL_SIZE O link é aberto como uma janela de tamanho completo (se esse for o frame usado pelo cliente).
OVERLAY O link é aberto como uma sobreposição, como um pop-up.

OverflowMenu

Um widget que apresenta um menu pop-up com uma ou mais ações que os usuários podem invocar. Por exemplo, mostrar ações não principais em um card. Use esse widget quando as ações não couberem no espaço disponível. Para usar, especifique esse widget na ação OnClick dos widgets compatíveis. Por exemplo, em um Button.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Campos
items[]

OverflowMenuItem

Obrigatório. A lista de opções do menu.

OverflowMenuItem

Uma opção que os usuários podem invocar em um menu flutuante.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Campos
start_icon

Icon

O ícone exibido na frente do texto.

text

string

Obrigatório. O texto que identifica ou descreve o item para os usuários.

on_click

OnClick

Obrigatório. A ação invocada quando uma opção de menu é selecionada. Esse OnClick não pode conter um OverflowMenu. Qualquer OverflowMenu especificado é descartado e o item de menu é desativado.

disabled

bool

Indica se a opção do menu está desativada. O padrão é "false".

SelectionInput

Um widget que cria um ou mais itens de interface que os usuários podem selecionar. Por exemplo, um menu suspenso ou caixas de seleção. Você pode usar esse widget para coletar dados que podem ser previstos ou enumerados. Para conferir um exemplo em apps do Google Chat, consulte Adicionar elementos de interface selecionáveis.

Os apps de chat podem processar o valor dos itens que os usuários selecionam ou inserem. Para saber mais sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário.

Para coletar dados indefinidos ou abstratos dos usuários, use o widget TextInput.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
name

string

Obrigatório. O nome que identifica a entrada de seleção em um evento de entrada de formulário.

Para saber mais sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário.

label

string

O texto que aparece acima do campo de entrada de seleção na interface do usuário.

Especifique um texto que ajude o usuário a inserir as informações necessárias para o app. Por exemplo, se os usuários estiverem selecionando a urgência de um tíquete de trabalho em um menu suspenso, o rótulo pode ser "Urgência" ou "Selecionar urgência".

type

SelectionType

O tipo de itens que são mostrados aos usuários em um widget SelectionInput. Os tipos de seleção são compatíveis com diferentes tipos de interações. Por exemplo, os usuários podem selecionar uma ou mais caixas de seleção, mas só podem selecionar um valor em um menu suspenso.

items[]

SelectionItem

Uma matriz de itens selecionáveis. Por exemplo, uma matriz de botões de opção ou caixas de seleção. Suporta até 100 itens.

on_change_action

Action

Se especificado, o formulário será enviado quando a seleção mudar. Se não for especificado, você vai precisar especificar um botão separado que envie o formulário.

Para saber mais sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário.

multi_select_max_selected_items

int32

Para menus de múltipla seleção, o número máximo de itens que um usuário pode selecionar. O valor mínimo é 1 item. Se não for especificado, o padrão será 3 itens.

multi_select_min_query_length

int32

Para menus de múltipla escolha, o número de caracteres de texto que um usuário insere antes que o menu retorne os itens de seleção sugeridos.

Se não for definido, o menu de seleção múltipla vai usar os seguintes valores padrão:

  • Se o menu usar uma matriz estática de itens SelectionInput, o padrão será 0 caracteres e os itens da matriz serão preenchidos imediatamente.
  • Se o menu usar uma fonte de dados dinâmica (multi_select_data_source), o padrão será de três caracteres antes de consultar a fonte de dados para retornar os itens sugeridos.
validation

Validation

Para menus suspensos, a validação para este campo de entrada de seleção.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campo de união multi_select_data_source. Para um menu de múltipla escolha, uma origem de dados que preenche dinamicamente os itens de seleção.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace. multi_select_data_source pode ser apenas de um dos tipos a seguir:

external_data_source

Action

Uma fonte de dados externa, como um banco de dados relacional.

platform_data_source

PlatformDataSource

Uma fonte de dados do Google Workspace.

PlatformDataSource

Para um widget SelectionInput que usa um menu de múltipla seleção, uma fonte de dados do Google Workspace. Usado para preencher itens em um menu de múltipla seleção.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Campos
Campo de união data_source. A fonte de dados. data_source pode ser apenas de um dos tipos a seguir:
common_data_source

CommonDataSource

Uma fonte de dados compartilhada por todos os aplicativos do Google Workspace, como os usuários de uma organização do Google Workspace.

host_app_data_source

HostAppDataSourceMarkup

Uma fonte de dados exclusiva de um aplicativo host do Google Workspace, como espaços no Google Chat.

Esse campo oferece suporte às bibliotecas de cliente de APIs do Google, mas não está disponível nas bibliotecas de cliente do Cloud. Para saber mais, consulte Instalar as bibliotecas de cliente.

CommonDataSource

Uma fonte de dados compartilhada por todos os apps do Google Workspace.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Enums
UNKNOWN Valor padrão. Não use.
USER Usuários do Google Workspace. O usuário só pode visualizar e selecionar usuários da organização do Google Workspace.

SelectionItem

Um item que os usuários podem selecionar em uma entrada de seleção, como uma caixa de seleção ou um botão. Suporta até 100 itens.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
text

string

O texto que identifica ou descreve o item para os usuários.

value

string

O valor associado a esse item. O cliente precisa usar esse valor como um valor de entrada de formulário.

Para saber mais sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário.

selected

bool

Se o item está selecionado por padrão. Se a entrada de seleção aceitar apenas um valor (como para botões de opção ou um menu suspenso), defina esse campo apenas para um item.

start_icon_uri

string

Para menus de múltipla seleção, o URL do ícone exibido ao lado do campo text do item. Compatível com arquivos PNG e JPEG. Precisa ser um URL HTTPS. Por exemplo, https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.

bottom_text

string

Para menus de múltipla escolha, uma descrição de texto ou um rótulo exibido abaixo do campo text do item.

SelectionType

O formato dos itens que os usuários podem selecionar. Opções diferentes oferecem suporte a tipos diferentes de interações. Por exemplo, os usuários podem marcar várias caixas de seleção, mas só podem selecionar um item em um menu suspenso.

Cada entrada de seleção aceita um tipo de seleção. Por exemplo, não é possível misturar caixas de seleção e botões de alternância.

Disponível para apps do Google Chat e complementos do Google Workspace.

Enums
CHECK_BOX Um conjunto de caixas de seleção. Os usuários podem selecionar uma ou mais caixas de seleção.
RADIO_BUTTON Um conjunto de botões de opção. Os usuários podem selecionar um botão de opção.
SWITCH Um conjunto de interruptores. Os usuários podem ativar um ou mais interruptores.
DROPDOWN Um menu suspenso. Os usuários podem selecionar um item do menu.
MULTI_SELECT

Um menu com uma caixa de texto. Os usuários podem digitar e selecionar um ou mais itens.

Para os complementos do Google Workspace, é necessário preencher os itens usando uma matriz estática de objetos SelectionItem.

Para apps do Google Chat, você também pode preencher itens usando uma fonte de dados dinâmica e sugerir itens automaticamente conforme os usuários digitam no menu. Por exemplo, os usuários podem começar a digitar o nome de um espaço do Google Chat, e o widget sugere o espaço automaticamente. Para preencher dinamicamente os itens de um menu de múltipla seleção, use um dos seguintes tipos de fontes de dados:

  • Dados do Google Workspace: os itens são preenchidos usando dados do Google Workspace, como usuários do Google Workspace ou espaços do Google Chat.
  • Dados externos: os itens são preenchidos de uma fonte de dados externa, fora do Google Workspace.

Para conferir exemplos de como implementar menus de multiseleção em apps de chat, consulte Adicionar um menu de multiseleção.

Disponível para apps do Google Chat e complementos do Google Workspace.

Sugestões

Valores sugeridos que os usuários podem inserir. Esses valores aparecem quando os usuários clicam dentro do campo de entrada de texto. À medida que os usuários digitam, os valores sugeridos são filtrados dinamicamente para corresponder ao que os usuários digitaram.

Por exemplo, um campo de entrada de texto para linguagem de programação pode sugerir Java, JavaScript, Python e C++. Quando os usuários começam a digitar Jav, a lista de sugestões é filtrada para mostrar Java e JavaScript.

Os valores sugeridos ajudam a orientar os usuários a inserir valores que seu app pode entender. Ao se referir a JavaScript, alguns usuários podem inserir javascript e outros java script. Sugerir JavaScript pode padronizar a interação dos usuários com seu app.

Quando especificado, TextInput.type é sempre SINGLE_LINE, mesmo que esteja definido como MULTIPLE_LINE.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
items[]

SuggestionItem

Uma lista de sugestões usadas para recomendações de preenchimento automático em campos de entrada de texto.

SuggestionItem

Um valor sugerido que os usuários podem inserir em um campo de entrada de texto.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos

Campo de união content.

content pode ser apenas de um dos tipos a seguir:

text

string

O valor de uma entrada sugerida para um campo de entrada de texto. Isso é equivalente ao que os usuários digitam.

TextInput

Um campo em que os usuários podem inserir texto. Suporte a sugestões e ações de alteração. Para conferir um exemplo em apps do Google Chat, consulte Adicionar um campo em que o usuário pode inserir texto.

Os apps de chat recebem e podem processar o valor do texto inserido durante os eventos de entrada de formulário. Para saber mais sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário.

Quando você precisar coletar dados indefinidos ou abstratos dos usuários, use uma entrada de texto. Para coletar dados definidos ou enumerados dos usuários, use o widget SelectionInput.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
name

string

O nome pelo qual a entrada de texto é identificada em um evento de entrada de formulário.

Para saber mais sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário.

label

string

O texto que aparece acima do campo de entrada de texto na interface do usuário.

Especifique um texto que ajude o usuário a inserir as informações necessárias para o app. Por exemplo, se você estiver perguntando o nome de alguém, mas precisar especificamente do sobrenome, escreva surname em vez de name.

Obrigatório se hintText não estiver especificado. Caso contrário, é opcional.

hint_text

string

Texto que aparece abaixo do campo de entrada de texto para ajudar os usuários a inserir um determinado valor. Esse texto está sempre visível.

Obrigatório se label não estiver especificado. Caso contrário, é opcional.

value

string

O valor inserido por um usuário, retornado como parte de um evento de entrada de formulário.

Para saber mais sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário.

type

Type

Como um campo de entrada de texto aparece na interface do usuário. Por exemplo, se o campo é de linha única ou múltipla.

on_change_action

Action

O que fazer quando uma mudança ocorre no campo de entrada de texto. Por exemplo, um usuário adicionando ou excluindo texto.

Exemplos de ações incluem executar uma função personalizada ou abrir uma caixa de diálogo no Google Chat.

initial_suggestions

Suggestions

Valores sugeridos que os usuários podem inserir. Esses valores aparecem quando os usuários clicam dentro do campo de entrada de texto. À medida que os usuários digitam, os valores sugeridos são filtrados dinamicamente para corresponder ao que os usuários digitaram.

Por exemplo, um campo de entrada de texto para linguagem de programação pode sugerir Java, JavaScript, Python e C++. Quando os usuários começam a digitar Jav, a lista de sugestões é filtrada para mostrar apenas Java e JavaScript.

Os valores sugeridos ajudam a orientar os usuários a inserir valores que seu app pode entender. Ao se referir a JavaScript, alguns usuários podem inserir javascript e outros java script. Sugerir JavaScript pode padronizar a interação dos usuários com seu app.

Quando especificado, TextInput.type é sempre SINGLE_LINE, mesmo que esteja definido como MULTIPLE_LINE.

Disponível para apps do Google Chat e complementos do Google Workspace.

auto_complete_action

Action

Opcional. Especifique a ação a ser realizada quando o campo de entrada de texto oferecer sugestões aos usuários que interagem com ele.

Se não for especificado, as sugestões serão definidas por initialSuggestions e processadas pelo cliente.

Se especificado, o app executa a ação especificada aqui, como executar uma função personalizada.

Disponível para complementos do Google Workspace e indisponível para apps do Google Chat.

validation

Validation

Especifique a validação necessária para esse campo de entrada de texto.

Disponível para apps do Google Chat e complementos do Google Workspace.

placeholder_text

string

Texto que aparece no campo de entrada de texto quando ele está vazio. Use esse texto para pedir que os usuários insiram um valor. Por exemplo, Enter a number from 0 to 100.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Tipo

Como um campo de entrada de texto aparece na interface do usuário. Por exemplo, se é um campo de entrada de linha única ou de várias linhas. Se initialSuggestions for especificado, type será sempre SINGLE_LINE, mesmo que seja definido como MULTIPLE_LINE.

Disponível para apps do Google Chat e complementos do Google Workspace.

Enums
SINGLE_LINE O campo de entrada de texto tem uma altura fixa de uma linha.
MULTIPLE_LINE O campo de entrada de texto tem uma altura fixa de várias linhas.

TextParagraph

Um parágrafo de texto que oferece suporte à formatação. Para conferir um exemplo nos apps do Google Chat, consulte Adicionar um parágrafo de texto formatado. Para mais informações sobre a formatação de texto, consulte Formatar texto em apps do Google Chat e Formatar texto em complementos do Google Workspace.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
text

string

O texto mostrado no widget.

max_lines

int32

O número máximo de linhas de texto exibidas no widget. Se o texto exceder o número máximo especificado de linhas, o conteúdo excedente será ocultado por um botão mostrar mais. Se o texto for igual ou menor que o número máximo especificado de linhas, o botão mostrar mais não será exibido.

O valor padrão é 0. Nesse caso, todo o contexto é mostrado. Valores negativos são ignorados. Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Validação

Representa os dados necessários para validar o widget a que está anexado.

Disponível para apps do Google Chat e complementos do Google Workspace.

Campos
character_limit

int32

Especifique o limite de caracteres para widgets de entrada de texto. Ele é usado apenas para entrada de texto e é ignorado para outros widgets.

Disponível para apps do Google Chat e complementos do Google Workspace.

input_type

InputType

Especifique o tipo dos widgets de entrada.

Disponível para apps do Google Chat e complementos do Google Workspace.

InputType

O tipo do widget de entrada.

Enums
INPUT_TYPE_UNSPECIFIED Tipo não especificado. Não use.
TEXT Texto normal que aceita todos os caracteres.
INTEGER Um valor inteiro.
FLOAT Um valor flutuante.
EMAIL Um endereço de e-mail.
EMOJI_PICKER Um emoji selecionado no seletor de emojis fornecido pelo sistema.

Widget

Cada card é composto por widgets.

Um widget é um objeto composto que pode representar texto, imagens, botões e outros tipos de objetos.

Campos
horizontal_alignment

HorizontalAlignment

Especifica se os widgets são alinhados à esquerda, à direita ou ao centro de uma coluna.

Campo de união data. Um widget só pode ter um dos seguintes itens. É possível usar vários campos de widget para mostrar mais itens. data pode ser apenas de um dos tipos a seguir:
text_paragraph

TextParagraph

Mostra um parágrafo de texto. Suporta texto simples formatado em HTML. Para mais informações sobre a formatação de texto, consulte Formatar texto em apps do Google Chat e Formatar texto em complementos do Google Workspace.

Por exemplo, o JSON a seguir cria um texto em negrito:

"textParagraph": {
  "text": "  <b>bold text</b>"
}
image

Image

Mostra uma imagem.

Por exemplo, o JSON a seguir cria uma imagem com texto alternativo:

"image": {
  "imageUrl":
  "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
  "altText": "Chat app avatar"
}
decorated_text

DecoratedText

Mostra um item de texto decorado.

Por exemplo, o JSON a seguir cria um widget de texto decorado que mostra o endereço de e-mail:

"decoratedText": {
  "icon": {
    "knownIcon": "EMAIL"
  },
  "topLabel": "Email Address",
  "text": "sasha@example.com",
  "bottomLabel": "This is a new Email address!",
  "switchControl": {
    "name": "has_send_welcome_email_to_sasha",
    "selected": false,
    "controlType": "CHECKBOX"
  }
}
button_list

ButtonList

Uma lista de botões.

Por exemplo, o JSON a seguir cria dois botões. O primeiro é um botão de texto azul, e o segundo é um botão de imagem que abre um link:

"buttonList": {
  "buttons": [
    {
      "text": "Edit",
      "color": {
        "red": 0,
        "green": 0,
        "blue": 1,
      },
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}
text_input

TextInput

Mostra uma caixa de texto em que os usuários podem digitar.

Por exemplo, o JSON a seguir cria uma entrada de texto para um endereço de e-mail:

"textInput": {
  "name": "mailing_address",
  "label": "Mailing Address"
}

Como outro exemplo, o JSON a seguir cria uma entrada de texto para uma linguagem de programação com sugestões estáticas:

"textInput": {
  "name": "preferred_programing_language",
  "label": "Preferred Language",
  "initialSuggestions": {
    "items": [
      {
        "text": "C++"
      },
      {
        "text": "Java"
      },
      {
        "text": "JavaScript"
      },
      {
        "text": "Python"
      }
    ]
  }
}
selection_input

SelectionInput

Mostra um controle de seleção que permite que os usuários selecionem itens. Os controles de seleção podem ser caixas de seleção, botões de opção, chaves ou menus suspensos.

Por exemplo, o JSON a seguir cria um menu suspenso que permite que os usuários escolham um tamanho:

"selectionInput": {
  "name": "size",
  "label": "Size"
  "type": "DROPDOWN",
  "items": [
    {
      "text": "S",
      "value": "small",
      "selected": false
    },
    {
      "text": "M",
      "value": "medium",
      "selected": true
    },
    {
      "text": "L",
      "value": "large",
      "selected": false
    },
    {
      "text": "XL",
      "value": "extra_large",
      "selected": false
    }
  ]
}
date_time_picker

DateTimePicker

Mostra um widget que permite que os usuários insiram uma data, hora ou data e hora.

Por exemplo, o JSON a seguir cria um seletor de data e hora para agendar um horário:

"dateTimePicker": {
  "name": "appointment_time",
  "label": "Book your appointment at:",
  "type": "DATE_AND_TIME",
  "valueMsEpoch": "796435200000"
}
divider

Divider

Mostra uma linha horizontal entre os widgets.

Por exemplo, o JSON a seguir cria um divisor:

"divider": {
}
grid

Grid

Mostra uma grade com uma coleção de itens.

Uma grade oferece suporte a qualquer número de colunas e itens. O número de linhas é determinado pelos limites superiores do número de itens dividido pelo número de colunas. Uma grade com 10 itens e 2 colunas tem 5 linhas. Uma grade com 11 itens e 2 colunas tem 6 linhas.

Disponível para apps do Google Chat e complementos do Google Workspace.

Por exemplo, o JSON a seguir cria uma grade de duas colunas com um único item:

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
columns

Columns

Mostra até duas colunas.

Para incluir mais de duas colunas ou usar linhas, use o widget Grid.

Por exemplo, o JSON a seguir cria duas colunas que contêm parágrafos de texto:

"columns": {
  "columnItems": [
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "First column text paragraph"
          }
        }
      ]
    },
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "Second column text paragraph"
          }
        }
      ]
    }
  ]
}
carousel

Carousel

Um carrossel contém uma coleção de widgets aninhados. Por exemplo, esta é uma representação JSON de um carrossel que contém dois parágrafos de texto.

{
  "widgets": [
    {
      "textParagraph": {
        "text": "First text paragraph in the carousel."
      }
    },
    {
      "textParagraph": {
        "text": "Second text paragraph in the carousel."
      }
    }
  ]
}
chip_list

ChipList

Uma lista de ícones.

Por exemplo, o JSON a seguir cria dois ícones. O primeiro é um ícone de texto, e o segundo é um ícone que abre um link:

"chipList": {
  "chips": [
    {
      "text": "Edit",
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

HorizontalAlignment

Especifica se os widgets são alinhados à esquerda, à direita ou ao centro de uma coluna.

Disponível para apps do Google Chat e indisponível para complementos do Google Workspace.

Enums
HORIZONTAL_ALIGNMENT_UNSPECIFIED Não use. Não especificado.
START Valor padrão. Alinha os widgets à posição inicial da coluna. Para layouts da esquerda para a direita, alinha à esquerda. Para layouts da direita para a esquerda, alinha à direita.
CENTER Alinha os widgets ao centro da coluna.
END Alinha os widgets à posição final da coluna. Para layouts da esquerda para a direita, alinha os widgets à direita. Para layouts da direita para a esquerda, alinha os widgets à esquerda.

ImageType

A forma usada para cortar a imagem.

Disponível para apps do Google Chat e complementos do Google Workspace.

Enums
SQUARE Valor padrão. Aplica uma máscara quadrada à imagem. Por exemplo, uma imagem de 4x3 se torna 3x3.
CIRCLE Aplica uma máscara circular à imagem. Por exemplo, uma imagem 4x3 se torna um círculo com um diâmetro de 3.