Limites de uso

Como a API Google Chat é um serviço compartilhado, aplicamos cotas e limitações para garantir que ela seja usada de forma justa por todos os usuários e para proteger a performance geral do Google Workspace.

Se você exceder uma cota, vai receber uma resposta de código de status HTTP 429: Too many requests. Outras verificações de limite de taxa no back-end do Chat também podem gerar a mesma resposta de erro. Se esse erro acontecer, você deve usar um algoritmo de espera exponencial e tentar novamente mais tarde. Enquanto você permanecer dentro das cotas por minuto listadas nas tabelas a seguir, não haverá limite para o número de solicitações que você pode fazer por dia.

Vários tipos de cotas podem ser aplicados aos métodos da API Chat: cotas por projeto, por espaço e por usuário.

Cotas por projeto

As cotas por projeto limitam a taxa de consultas para um projeto na nuvem do Google Cloud e, portanto, se aplicam a um único app Chat que chama os métodos especificados da API Chat para cada cota.

A tabela a seguir detalha os limites de consulta por projeto. Você também pode encontrar esses limites na página Cotas.

Cota por projeto

Métodos da API Chat

Limite (por 60 segundos)

Gravações de mensagens por minuto

spaces.messages.create

spaces.messages.patch

spaces.messages.delete

3000

Leituras de mensagens por minuto

spaces.messages.get

spaces.messages.list

3000

Gravações de participação por minuto

spaces.members.create

spaces.members.delete

300

Leituras de participação por minuto

spaces.members.get

spaces.members.list

3000

Gravações de espaço por minuto

spaces.setup

spaces.create

spaces.patch

spaces.delete

60

Leituras de espaço por minuto

spaces.get

spaces.list

spaces.findDirectMessage

3000

Gravações de anexos por minuto

media.upload

600

Leituras de anexos por minuto

spaces.messages.attachments.get

media.download

3000

Gravações de reações por minuto

spaces.messages.reactions.create

spaces.messages.reactions.delete

600

Leituras de reações por minuto

spaces.messages.reactions.list

3000

Gravações de CustomEmoji por minuto

customEmojis.create

customEmojis.delete

600

Leituras de CustomEmoji por minuto

customEmojis.get

customEmojis.list

3000

Gravações de seção por minuto

users.sections.create

users.sections.delete

users.sections.patch

users.sections.position

users.sections.items.move

600

Leituras de seção por minuto

users.sections.list

users.sections.items.list

3000

Leituras de disponibilidade por minuto

users.availability.get

3000

Gravações de disponibilidade por minuto

users.availability.update

users.availability.markAsActive

users.availability.markAsAway

users.availability.markAsDoNotDisturb

3000

Cotas por espaço

As cotas por espaço limitam a taxa de consultas em um determinado espaço e são compartilhadas entre todos os apps Chat que atuam nesse espaço chamando os métodos listados da API Chat para cada cota.

A tabela a seguir detalha os limites de consulta por espaço:

Cota por espaço

Métodos da API Chat

Limite (por segundo)

Leituras por segundo

media.download

spaces.get

spaces.members.get

spaces.members.list

spaces.messages.get

spaces.messages.list

spaces.messages.attachments.get

spaces.messages.reactions.list

15

Gravações por segundo

media.upload

spaces.delete

spaces.patch

spaces.messages.create (outros limites se aplicam a webhooks de entrada)

spaces.messages.delete

spaces.messages.patch

spaces.messages.reactions.delete

1

Gravações de reações de criação por segundo

spaces.messages.reactions.create

5

Gravações de mensagens por segundo ao importar dados para o Google Chat

spaces.messages.create

10

Cotas por usuário

As cotas por usuário limitam a taxa de consultas para um usuário do Google Chat. As consultas pertencem a todos os apps Chat que chamam um método da API Chat em nome de um usuário (usando a autenticação do usuário).

A tabela a seguir detalha os limites de consulta por usuário:

Cota por usuário

Métodos da API Chat

Limite (por segundo)

Gravações de CustomEmoji por segundo

customEmojis.create

customEmojis.delete

1

Leituras de CustomEmoji por segundo

customEmojis.get

customEmojis.list

15

Gravações por segundo

users.sections.create

users.sections.delete

users.sections.patch

users.sections.position

users.sections.items.move

users.availability.update

users.availability.markAsActive

users.availability.markAsAway

users.availability.markAsDoNotDisturb

1

Leituras por segundo

users.sections.list

users.sections.items.list

users.availability.get

15

Outros limites de uso

O tráfego alto da API direcionado ao mesmo espaço pode acionar outros limites internos que não estão visíveis na página Cotas.

Resolver erros de cota com base no tempo

Para todos os erros com base no tempo (máximo de N solicitações por X minutos), recomendamos que seu código detecte a exceção e use uma espera exponencial truncada para garantir que seus dispositivos não gerem carga excessiva.

A espera exponencial é uma estratégia padrão de tratamento de erros para aplicativos de rede. Um algoritmo de espera exponencial repete solicitações usando tempos de espera exponencialmente crescentes entre as solicitações, até um tempo máximo de espera. Se as solicitações ainda não forem bem-sucedidas, é importante que os atrasos entre as solicitações aumentem com o tempo até que a solicitação seja bem-sucedida.

Exemplo de algoritmo

Um algoritmo de espera exponencial repete solicitações exponencialmente, aumentando o tempo de espera entre novas tentativas até um tempo máximo de espera. Exemplo:

  1. Faça uma solicitação para a API Google Chat.
  2. Se a solicitação falhar, aguarde 1 + random_number_milliseconds e tente novamente a solicitação.
  3. Se a solicitação falhar, aguarde 2 + random_number_milliseconds e tente novamente a solicitação.
  4. Se a solicitação falhar, aguarde 4 + random_number_milliseconds e tente novamente a solicitação.
  5. E assim por diante, até um tempo maximum_backoff.
  6. Continue aguardando e tentando novamente até um número máximo de novas tentativas, sem aumentar o tempo de espera entre elas.

em que:

  • O tempo de espera é min(((2^n)+random_number_milliseconds), maximum_backoff), com n incrementado em 1 para cada iteração (solicitação).
  • random_number_milliseconds é um número aleatório de milissegundos menor ou igual a 1.000. Isso ajuda a evitar casos em que muitos clientes são sincronizados por alguma situação e todos tentam novamente ao mesmo tempo, enviando solicitações em ondas sincronizadas. O valor de random_number_milliseconds é recalculado após cada nova tentativa.
  • maximum_backoff costuma ser 32 ou 64 segundos. O valor adequado depende do caso de uso.

O cliente pode continuar tentando novamente depois de maximum_backoff. As novas tentativas após esse ponto não precisam continuar aumentando o tempo de espera. Por exemplo, se um cliente usar um tempo maximum_backoff de 64 segundos, depois de atingir este valor, o cliente poderá tentar novamente a cada 64 segundos. Em algum momento, os clientes precisam ser impedidos de tentar novamente indefinidamente.

O tempo de espera entre novas tentativas e o número de novas tentativas depende do seu caso de uso e das condições da rede.

Solicitar um aumento de cota por projeto

Dependendo do uso de recursos do seu projeto, talvez você queira solicitar um ajuste de cota. As chamadas de API por uma conta de serviço são consideradas como o uso de uma única conta. Solicitar uma cota ajustada não garante a aprovação. As solicitações de ajuste de cota que aumentariam significativamente o valor da cota podem levar mais tempo para serem aprovadas.

Nem todos os projetos têm as mesmas cotas. À medida que você usa o Google Cloud com o tempo, os valores de cota podem precisar aumentar. Caso espere um aumento de uso significativo, solicite o ajuste das cotas na página Cotas e limites do sistema no console do Google Cloud.

Para saber mais, consulte os seguintes recursos:

Cotas do servidor MCP do Chat

O servidor MCP do Chat usa uma métrica de alocação de custo de consulta. As tabelas a seguir detalham o custo da consulta para cada método do servidor MCP do Chat por seção:

Cotas do MCP do Chat

Dois tipos de cotas são aplicados:

  • Por minuto por projeto:esse é o custo da consulta para o projeto na nuvem do Google Cloud por um minuto.

  • Por minuto por usuário por projeto:esse é o custo da consulta para o projeto na nuvem do Google Cloud por um minuto que qualquer usuário específico pode usar. Esse limite tem como objetivo ajudar você a garantir uma distribuição justa do uso entre os usuários.

A tabela a seguir detalha essas cotas:

Tipo de limite de uso Custo da consulta
Por minuto por projeto 3.000
Por minuto por usuário por projeto 300

Conjuntos de ferramentas do MCP do Chat

A tabela a seguir detalha o custo da consulta para cada conjunto de ferramentas chatmcp.googleapis.com:

Endpoint

Ferramenta

Custo da consulta

/mcp/v1

list_messages

1

search_conversations

10

search_messages

10

send_message

10

Para mais informações, consulte a referência da API MCP do Chat.