S
ShopIA— Ajuda
Otimizar·Mês 2 em diante

Otto: fila de envio e o que cada status significa

4 min de leitura·Atualizado em maio/2026
Mensagens do Otto passam por uma fila de jobs antes de chegarem ao cliente. Conhecer os status ajuda a diagnosticar atrasos e entender o estado real do envio.

A fila por trás do Otto

Toda mensagem segue o caminho:

1. Otto cria job (gatilho ou agendamento)
2. Job entra na fila BullMQ
3. Worker processa: monta mensagem, valida sandbox, envia
4. Provider (WhatsApp Cloud, Evolution, SES) recebe
5. Mensagem chega ao cliente (ou falha)
6. Status atualiza no painel

Cada etapa tem status visível em Otto > Mensagens.

Status possíveis

StatusEstágioSignificado
queued1Job criado, aguardando worker
delayed1Job adiado (fora da janela ou retry)
sending2Worker pegou e está enviando
sent3Provider confirmou envio
delivered4Provider confirmou entrega ao cliente
read5Cliente leu (WhatsApp/Email com tracking)
failedFalhou após retries
bounceEmail bounced (hard ou soft)
complaintCliente marcou como spam
cancelledCancelado antes do envio
sandboxBloqueado por sandbox, registrado

Filtragem na lista

Em Otto > Mensagens, filtros disponíveis:

  • Por canal (WhatsApp, email)
  • Por status
  • Por data
  • Por automação ou campanha
  • Por cliente (busca)

Útil para investigar volume específico.

O que cada status indica

queued por mais de 5 minutos

  • Workers podem estar saturados (campanha grande)
  • Verifique se há outras campanhas concorrentes
  • Aguarde 10 minutos

delayed

  • Janela fechada (fora do horário permitido)
  • Espera retry de tentativa anterior
  • Vai sair quando a janela abrir

sending por mais de 2 minutos

  • Provider lento ou com falha temporária
  • Worker pode estar em retry

sent mas nunca delivered

  • Cliente não está com WhatsApp ativo (offline há dias)
  • Email bounced sem sinal (rare)
  • Cliente bloqueou

failed

Causa específica fica em detalhes do envio:

  • Token de plataforma expirado
  • Cota de email esgotada
  • Telefone inválido
  • Email inválido
  • Provider retornou erro 5xx

Detalhes em Otto: retry e reprocessar lote.

Fila por prioridade (BullMQ)

Internamente, Otto usa filas separadas por urgência:

FilaPrioridadeExemplo
criticalMáximaCarrinho abandonado, pós-venda
messagingAltaWhatsApp e email regulares
aiMédiaGeração de conteúdo
batchBaixaMétricas, relatórios

Crítico passa na frente. Newsletter grande pode ficar minutos atrás de pós-venda transacional — por design.

Rate limits

Otto respeita rate limits dos providers:

  • WhatsApp Cloud (Meta): variável por nível de qualidade da loja
  • Evolution API (WhatsApp não-oficial): 1 envio a cada 60s globalmente para o número Memo, mais relaxado para Otto
  • SES (email): depende da quota da conta AWS

Quando rate limit ativa, mensagens ficam queued mais tempo. Não há ação do lojista — espere.

Tentativas (retries)

Falhas transitórias entram em retry automático. Detalhes em Otto: retry e reenvio.

Histórico longo

Mensagens ficam visíveis em Otto > Mensagens:

  • 90 dias detalhado
  • Após 90 dias, agregado em métricas (não acessível individualmente)

Para auditoria de mensagem antiga, abra ticket informando data e cliente.

Velocidade típica

Em condições normais (sem rate limit, sem fila grande):

EtapaTempo
Job → worker pega<1s
Worker monta mensagem1-5s
Provider envia (WhatsApp)1-3s
Provider entrega (WhatsApp)1-30s (depende do cliente)
Provider envia (email SES)1-2s
Provider entrega (email caixa cliente)30s-5min

Total: usuário recebe em segundos a minutos depois do trigger.

Atrasos esperados

Algumas situações geram atraso intencional:

  • Quiet hours: mensagem agendada para noite vira manhã seguinte
  • Janela fechada: mensagem fora de janela é adiada
  • 24h do WhatsApp expirou: mensagem livre vira template (ou bloqueia)
  • Sequência ordenada: cart-recovery 1 espera 30min antes de cart-recovery 2

Onde ver gráficos de fila

Painel > Saúde > Filas mostra gráficos em tempo real:

  • Tamanho da fila por tipo
  • Throughput (jobs/min)
  • Latência média

Útil para entender saúde geral. Se algo está fora do padrão, alerta apareceria no sininho automaticamente.

Sandbox e fila

Com Sandbox Otto ativo:

  • Jobs entram normalmente
  • Worker processa mas não chama provider
  • Status final fica sandbox
  • Conteúdo da mensagem fica preservado para auditoria

Útil para volume de teste sem disparar.

Veja também

Este artigo foi útil?

Sua resposta ajuda a melhorar a Central de Ajuda.

Veja também