> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Push throttling

> O push throttling controla a velocidade com que o OneSignal entrega notificações push, ajudando você a gerenciar a carga do servidor e evitar problemas de desempenho durante envios de alto volume.

## Visão geral

O push throttling controla a taxa na qual o OneSignal entrega notificações push. Use o throttling para distribuir a entrega ao longo do tempo — prevenindo sobrecarga do servidor, evitando degradação de desempenho durante envios em massa e mantendo uma experiência de usuário consistente entre dispositivos.

***

## Por que os envios push impactam seus servidores

Enviar uma notificação push para um público grande pode gerar um pico repentino de tráfego nos seus próprios servidores — mesmo que sua taxa de cliques seja baixa. Isso acontece porque a entrega em si (não apenas cliques) aciona múltiplos tipos de requisições de volta à sua infraestrutura. Entender essas fontes ajuda você a escolher a estratégia de mitigação correta.

### Imagens e mídia auto-hospedadas

Quando uma notificação push inclui uma imagem (como `big_picture` ou `chrome_web_image`), cada dispositivo que recebe a notificação baixa essa imagem imediatamente na entrega. Se a imagem estiver hospedada nos seus próprios servidores em vez de uma CDN, isso cria uma requisição HTTP por notificação entregue — potencialmente dezenas de milhares de requisições em segundos.

**Recomendações:**

* Hospede imagens de notificação em uma CDN (por ex., CloudFront, Cloudflare, Fastly) em vez dos seus servidores de aplicação.
* Use o [push throttling](#configuration-options) para distribuir a entrega ao longo do tempo se você precisar auto-hospedar mídia.

### Aberturas simultâneas do app

A entrega push faz com que muitos usuários abram seu app ao mesmo tempo. Cada abertura de app normalmente gera múltiplas requisições ao seu backend: inicialização de sessão, buscas de conteúdo, chamadas de API e eventos de análise. Mesmo uma taxa de abertura modesta pode se traduzir em um pico de tráfego significativo se milhares de notificações forem entregues simultaneamente.

**Recomendações:**

* Use o [push throttling](#configuration-options) para escalonar a entrega e distribuir as aberturas do app em uma janela de tempo mais ampla.
* Garanta que seu backend possa lidar com tráfego de pico de envios de alto volume, ou use infraestrutura com auto-scaling.

### Event Streams

Se você tem [Event Streams](./event-streams) configurado com um destino webhook, o OneSignal envia uma requisição HTTP ao seu endpoint para cada evento (por ex., `message.sent`, `message.delivered`, `message.clicked`) em tempo real. Durante um envio push grande, isso pode produzir uma rajada de requisições webhook proporcional ao tamanho da sua audiência.

<Note>
  O OneSignal não limita a taxa do tráfego webhook de saída do Event Stream. Seu endpoint deve ser capaz de lidar com o volume de eventos gerado pelos seus envios de mensagens.
</Note>

**Recomendações:**

* Garanta que seu endpoint webhook possa lidar com o throughput proporcional ao tamanho da sua audiência.
* Use uma fila ou buffer intermediário (por ex., Amazon Kinesis, Google Pub/Sub) em vez de um webhook direto para absorber rajadas. O Event Streams suporta esses como destinos nativamente.
* Use o [push throttling](#configuration-options) para reduzir a taxa máxima de eventos atingindo seu endpoint.

### Journey webhooks

Os [Journey webhooks](./journeys-webhook) enviam requisições HTTP aos seus servidores quando os usuários chegam a etapas específicas em um Journey. Embora os Journeys naturalmente regulem a entrega com base no comportamento do usuário, Journeys de alto tráfego ainda podem gerar volume webhook significativo. Endpoints lentos ou sobrecarregados podem acionar a desabilitação automática do webhook.

**Recomendações:**

* Projete seu endpoint webhook para responder rapidamente (retornar `200 OK`) e adiar o processamento pesado para um job em background.
* Monitore respostas `429` do seu endpoint, que podem fazer o OneSignal desabilitar o webhook.
* Revise o [guia de performance](./journeys-webhook#performance-guidance) na documentação de Journey webhooks.

### Buscas do Service Worker (web push)

Para web push, os navegadores periodicamente buscam novamente o arquivo [OneSignal Service Worker](./onesignal-service-worker) do seu servidor (normalmente quando o cache expira, a cada 24 horas no máximo). Quando uma notificação push é entregue, o navegador pode verificar se há um arquivo Service Worker atualizado — gerando uma requisição por assinatura web push de volta ao seu servidor de hospedagem.

**Recomendações:**

* Sirva o arquivo `OneSignalSDKWorker.js` de uma CDN ou garanta que seu servidor de hospedagem possa lidar com o volume de requisições.
* Configure cabeçalhos de cache apropriados para reduzir a frequência de re-busca.
* Consulte a documentação do [OneSignal Service Worker](./onesignal-service-worker) para mais detalhes.

### Escolhendo a abordagem correta

| Fonte de tráfego             | Afetado pelo throttling?                               | Mitigação alternativa                                              |
| ---------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------ |
| Imagens auto-hospedadas      | Sim — entrega mais lenta = menos downloads simultâneos | Hospedar em uma CDN                                                |
| Aberturas simultâneas do app | Sim — entrega escalonada distribui sessões de usuário  | Infraestrutura com auto-scaling                                    |
| Event Streams (webhooks)     | Sim — entrega mais lenta = menor taxa de eventos       | Usar destino baseado em fila (Kinesis, Pub/Sub, etc.)              |
| Journey webhooks             | Não — Journeys não suportam throttling                 | Otimizar performance do endpoint; usar processamento em background |
| Buscas do Service Worker     | Sim — entrega mais lenta = menos buscas simultâneas    | Hospedagem CDN; cabeçalhos de cache                                |

***

## Opções de configuração

O throttling deve ser habilitado no nível de configurações globais para estar disponível para uso.

### Configurações globais de throttling

Habilite o throttling para todas as mensagens push em **Settings > Push & In-App > Throttling**. Uma vez habilitado, esta configuração se aplica a todas as notificações push por padrão, mas pode ser sobrescrita para mensagens individuais.

<Frame caption="Configurações de push throttling no painel do OneSignal">
  <img src="https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/8790df687f1783338ce3b61fe6be6c68dd878ff6998a4f5e2f2408adc8d57c68-Screenshot_2025-04-11_at_2.44.04_PM.png?fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=3f7368b4be0df94629d9664ac75e7503" alt="Push throttling settings in the OneSignal dashboard under Settings > Push & In-App > Throttling" data-og-width="2368" width="2368" data-og-height="1316" height="1316" data-path="images/docs/8790df687f1783338ce3b61fe6be6c68dd878ff6998a4f5e2f2408adc8d57c68-Screenshot_2025-04-11_at_2.44.04_PM.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/8790df687f1783338ce3b61fe6be6c68dd878ff6998a4f5e2f2408adc8d57c68-Screenshot_2025-04-11_at_2.44.04_PM.png?w=280&fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=86a9da3af3a378e2700c718aa76f8794 280w, https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/8790df687f1783338ce3b61fe6be6c68dd878ff6998a4f5e2f2408adc8d57c68-Screenshot_2025-04-11_at_2.44.04_PM.png?w=560&fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=02e7786ad24be62a67b9f2ef0d58e896 560w, https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/8790df687f1783338ce3b61fe6be6c68dd878ff6998a4f5e2f2408adc8d57c68-Screenshot_2025-04-11_at_2.44.04_PM.png?w=840&fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=6d159c733410fa30caff69b5dcd7259f 840w, https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/8790df687f1783338ce3b61fe6be6c68dd878ff6998a4f5e2f2408adc8d57c68-Screenshot_2025-04-11_at_2.44.04_PM.png?w=1100&fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=f9315c10e7eb039fefbec9593a3fa0de 1100w, https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/8790df687f1783338ce3b61fe6be6c68dd878ff6998a4f5e2f2408adc8d57c68-Screenshot_2025-04-11_at_2.44.04_PM.png?w=1650&fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=80d5485affcb0c783c7392fba252e18d 1650w, https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/8790df687f1783338ce3b61fe6be6c68dd878ff6998a4f5e2f2408adc8d57c68-Screenshot_2025-04-11_at_2.44.04_PM.png?w=2500&fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=33a7e97793e0ff1d424a41d63c4d6416 2500w" />
</Frame>

### Substituição de throttling por mensagem

Você pode sobrescrever configurações globais de throttling em mensagens individuais.

1. Durante a criação da notificação, marque a caixa "Override throttling setting"
2. Defina sua taxa desejada de mensagens por minuto
3. Para desabilitar throttling para uma mensagem específica, insira "0" no campo mensagens por minuto

Para notificações enviadas via API, use a propriedade [`throttle_rate_per_minute`](/reference/create-message).

***

## Como funciona o throttling

### Processo de conversão de taxa

O OneSignal converte sua configuração por minuto para uma taxa por segundo para otimizar a entrega:

1. O sistema divide sua taxa de throttle por 60 (segundos por minuto)
2. O resultado é arredondado para baixo para o número inteiro mais próximo (OneSignal não pode enviar mensagens parciais)
3. Esta taxa por segundo é então aplicada durante todo o processo de entrega

**Exemplo:** Você define uma taxa de throttle de 1.019 mensagens por minuto.

1. O OneSignal divide por 60: 1.019 ÷ 60 = 16,98 mensagens por segundo
2. Arredonda para baixo: 16 mensagens por segundo
3. Taxa de entrega real: 16 × 60 = **960 mensagens por minuto** (59 a menos que a taxa definida)

Esta conversão garante processamento mais eficiente eliminando atrasos entre lotes.

***

## Limitações e Considerações

### Janela de Entrega de 24 Horas

Todas as notificações com throttle devem completar a entrega dentro de 24 horas após serem enviadas. Se sua taxa de throttling faria com que a entrega excedesse 24 horas, o OneSignal ajusta automaticamente a taxa para garantir conclusão dentro deste prazo.

**Exemplo:** Você define uma taxa de throttle de 10 mensagens por minuto para 20.000 usuários — a entrega levaria aproximadamente 33 horas. O OneSignal ajusta automaticamente a taxa para cerca de 14 mensagens por minuto para completar a entrega dentro de 24 horas.

***

## Compatibilidade e Disponibilidade

O throttling está disponível apenas para notificações push enviadas via API [Create notification](/reference/create-message) ou pela interface do painel **Messages > New Push**. Não é suportado para Journeys ou Mensagens Automatizadas (veja a [tabela de resumo](#choosing-the-right-approach) acima).

### Fuso Horário e Intelligent Delivery

O throttling tem precedência sobre o Fuso Horário e o Intelligent Delivery. Quando o throttling está habilitado, o OneSignal ignora esses recursos para aquela notificação.

**Para usar Fuso Horário ou Intelligent Delivery:**

* Desabilite throttling para aquela notificação específica em Delivery Schedule
* Defina "Override throttling setting" como "0"
* Para notificações via API, defina `throttle_rate_per_minute: 0`

***

## Perguntas Frequentes

### O throttling funciona com o Intelligent Delivery ou a entrega por Fuso Horário?

Não. O throttling tem precedência sobre o Intelligent Delivery e a entrega por Fuso Horário. Quando o throttling está habilitado para uma notificação, o OneSignal ignora esses recursos de agendamento. Para usar o Intelligent Delivery ou a entrega por Fuso Horário, defina a substituição de throttle como `0` para aquela notificação.

### O que acontece se minha taxa de throttle levaria mais de 24 horas?

O OneSignal aumenta automaticamente a taxa de throttle para que a entrega seja concluída dentro de 24 horas. Por exemplo, enviar para 20.000 usuários a 10 mensagens por minuto levaria \~33 horas, então o OneSignal ajusta a taxa para \~14 mensagens por minuto.

### Posso fazer throttling em Journeys ou Mensagens Automatizadas?

Não. O throttling só se aplica a notificações push enviadas via painel (**Messages > New Push**) ou a API [Create notification](/reference/create-message). Journeys e Mensagens Automatizadas entregam dinamicamente conforme os usuários se qualificam, o que naturalmente distribui a entrega ao longo do tempo.

### Por que minha taxa de entrega real é menor do que defini?

O OneSignal converte sua taxa por minuto para uma taxa por segundo e arredonda para baixo. Por exemplo, 1.019 mensagens por minuto se torna 16 mensagens por segundo (1.019 ÷ 60 = 16,98, arredondado para baixo), resultando em uma taxa real de 960 mensagens por minuto.

***

## Páginas Relacionadas

<Columns cols={3}>
  <Card title="Visão geral do push" icon="bell" href="./push">
    Envie e gerencie notificações push móveis e web com OneSignal.
  </Card>

  <Card title="API de criação de notificação" icon="code" href="/reference/create-message">
    Referência de API para criar e enviar notificações, incluindo a propriedade `throttle_rate_per_minute`.
  </Card>

  <Card title="Event Streams" icon="satellite-dish" href="./event-streams">
    Transmita eventos de entrega e engajamento para webhooks, Kinesis ou Pub/Sub.
  </Card>

  <Card title="OneSignal Service Worker" icon="gear" href="./onesignal-service-worker">
    Configure o arquivo Service Worker para notificações push web.
  </Card>

  <Card title="Visão geral de Journeys" icon="route" href="./journeys-overview">
    Crie fluxos de trabalho de mensagens em múltiplas etapas que respondem às ações do usuário.
  </Card>
</Columns>
