Pular para o conteúdo principal
Este contrato beta aguarda lançamento. O acesso fica indisponível até o beta ser oferecido à sua equipe.
As sequências estão em beta. Sua equipe precisa ter acesso e participar do beta antes de criar uma sequência, lançá-la ou retomá-la, ou inscrever contatos. Solicitações sem acesso retornam 403 feature_unavailable. A retirada pausa as sequências em andamento antes do próximo envio. Os resultados continuam legíveis. Você pode fechar a inscrição contínua, pausar ou encerrar sem acesso ao beta. Uma sequência envia até 10 mensagens compostas a partir de números de dispositivo vinculado ou de teste. Cada etapa posterior usa o número que enviou a primeira. Modelos, variantes A/B, alternativas ponderadas e o followUp por confirmação não podem ser combinados com uma sequência. Uma sequência pode usar um segmento de público salvo. Selecionar ou lançar esse público exige uma chave de API da equipe ou uma sessão conectada no Dashboard, além de acesso aos dois betas de público e ao beta de sequências. O lançamento congela uma única vez os perfis correspondentes e as suas variáveis. As etapas posteriores usam esse retrato; editar o segmento não muda os destinatários de uma sequência ativa. As mesmas verificações de conteúdo da sequência e de número de envio continuam valendo.

Construa (build) uma sequência no Console

Depois que sua equipe entrar no beta, abra Campanhas, crie uma campanha e escolha Sequência. Na página Etapas:
  1. Escreva a mensagem de cada etapa. Adicione até 10 etapas e reordene-as com Subir e Descer.
  2. Defina a espera de cada etapa posterior em dias, horas e minutos, até 30 dias.
  3. Se quiser, ative Janela de envio da etapa para escolher os dias e os horários dessa etapa. A etapa mantém o fuso horário da campanha.
  4. Escolha a inscrição Público do lançamento ou Contínua e defina as regras de saída.
Uma sequência não pode usar um modelo de mensagem, variantes A/B nem um acompanhamento. Se um rascunho já tem um acompanhamento, o builder pede que você o remova antes do lançamento. A página da campanha mostra os totais de inscrição e os resultados de cada etapa, numeradas a partir de 1. Em uma sequência contínua em andamento ou pausada, Fechar inscrição interrompe novas inscrições e deixa os contatos atuais terminarem. A opção continua disponível depois que sua equipe sai do beta. Cada linha de destinatário mostra as etapas enviadas, o horário da próxima etapa ou o motivo pelo qual o contato saiu da sequência.

Crie e lance pela API

Use POST /platform/campaigns com uma chave de API da equipe e campaigns:manage. Tokens de projeto obtêm o projeto a partir da credencial; chaves da equipe informam projectId. Substitua os IDs do exemplo pelos IDs do seu projeto e do número de envio.
Lance com POST /platform/campaigns/{campaignId}/launch. As verificações normais de Campanhas para elegibilidade do remetente, aprovação, ritmo, opt-out e segurança continuam valendo. Uma sequência com um grupo de envio da Cloud API é recusada no lançamento ou pausada antes de enviar. delayAfterSec é a espera mínima depois que a etapa anterior foi aceita, de 0 a 2.592.000 segundos inteiros (30 dias). A primeira etapa não tem espera. delayUnit é uma informação opcional de exibição: minutes, hours ou days. Os segundos precisam ser um múltiplo inteiro dessa unidade. O ritmo, as pausas e as janelas de envio podem estender a espera. A primeira etapa usa a sendWindow da campanha. A janela de uma etapa posterior substitui os dias da semana e os horários, mantendo o fuso horário da campanha e as configurações de fuso horário do destinatário. Sem uma janela de campanha, as janelas das etapas usam o fuso horário da equipe salvo quando as configurações da sequência foram definidas. Cada janela de etapa aceita de um a quatro intervalos de horário sem sobreposição. Omita a janela de uma etapa para usar a janela da campanha.

Inscreva contatos

enrollment: "audience" envia para os contatos presentes no lançamento. enrollment: "continuous" também aceita contatos enquanto a sequência está em andamento ou pausada:
O data da resposta contém campaignId, recipientId, o phone normalizado, created, status e enrolledAt (milissegundos Unix). Repetir um telefone retorna created: false sem alterar as variáveis nem reiniciar as etapas, mesmo que o contato já tenha concluído ou saído. Um telefone com opt-out fica salvo como skipped e não recebe nada. Uma sequência que não aceita novas inscrições retorna 409 state_conflict. A mesma inscrição está disponível por POST /messaging/projects/{projectSlug}/campaigns/{id}/enrollments. Sequências contínuas continuam abertas depois que todos os contatos inscritos terminam. Feche a inscrição com PATCH /platform/campaigns/{campaignId}, informando projectId e drip: { enrollment: "audience" }. As flags de saída omitidas mantêm os valores salvos. Quando todos os contatos terminam, a campanha é concluída. Não é possível reabrir a inscrição nem alterar o conteúdo das etapas depois do lançamento; duplique a campanha para uma nova série. O fechamento continua disponível depois da retirada do beta. Envie apenas drip e o seletor de projeto nesse PATCH. Omita as flags de saída para preservá-las, ou envie os mesmos valores. Edições combinadas ainda exigem acesso ao beta. Fechar impede novas inscrições; não retoma uma sequência pausada nem envia as etapas restantes enquanto o acesso ao beta estiver indisponível. As leituras da lista e do detalhe de campanhas retornam enrollmentOpen: true para inscrição contínua, false para inscrição pelo público do lançamento (incluindo uma sequência fechada) e null para uma campanha que não é sequência. Um rascunho contínuo também retorna true; inscrever ainda exige o status em andamento ou pausado e acesso ao beta. pauseReason contém o motivo de pausa salvo atualmente enquanto a campanha está pausada, ou null em uma pausa manual sem motivo, quando o motivo atual está indisponível e nos demais status. Um motivo de uma pausa anterior não é mantido depois de uma retomada.

Saídas e resultados

Opt-outs sempre interrompem as etapas restantes. Respostas ao número de envio também as interrompem, a menos que exitOnReply seja false. Com exitOnLinkClick: true, uma requisição GET para qualquer link rastreado da campanha também as interrompe quando registra uma abertura. Requisições HEAD, prévias de link conhecidas, crawlers, scanners de segurança e requisições marcadas como prefetch ainda são redirecionadas, mas não registram abertura nem interrompem as etapas restantes. A detecção é feita no melhor esforço: acessos automatizados desconhecidos ou disfarçados ainda podem contar e provocar uma saída. Uma abertura não comprova que uma pessoa clicou. Configure links rastreados pelo beta de rastreamento de links, que é separado. Uma mensagem já despachada pode terminar depois que uma saída é registrada. Uma resposta ou uma requisição a um link rastreado durante o primeiro envio ainda interrompe todas as etapas posteriores, mesmo quando o primeiro envio ainda não retornou o resultado. GET /platform/campaigns/{campaignId}/analytics?projectId=... retorna data.drip:
  • enrollment, enrolled, enrolledByApi, active, completed e exited.
  • steps, ordenado pelo step a partir de zero, com as contagens entered, waiting, sent, delivered, read, replied, exited e failed.
entered conta os contatos que chegaram à espera da etapa, incluindo todos os contatos inscritos na etapa 0. waiting inclui envios na fila e em andamento. As respostas são atribuídas à última etapa enviada dentro de sete dias, antes da próxima etapa. As contagens de confirmações dependem de o WhatsApp devolver as confirmações. As contagens de primeira mensagem da campanha mantêm o seu significado; os envios posteriores aparecem nos resultados das etapas e nos logs de destinatários com a posição da mensagem. Cada etapa é um envio separado e segue as mesmas regras de uso e cobrança das outras mensagens de campanha. Não há uma tarifa separada para sequências. Uma sequência contínua pausada continua verificando o progresso pelo menos uma vez por minuto. Fechar a inscrição permite que ela seja concluída quando todos os contatos estiverem resolvidos, mesmo pausada. Fechar nunca retoma o envio. Se ainda houver contatos com etapas aguardando, retome ou encerre a campanha explicitamente. Uma sequência precisa ter pelo menos uma mensagem composta que possa ser enviada antes do lançamento. Um rascunho vazio pode ser salvo, mas o lançamento retorna 400 invalid_parameter em messagesArray até o conteúdo estar pronto. Quando nenhum número de envio está selecionado, a sequência usa números de dispositivo vinculado ou de teste elegíveis do projeto; números da Cloud API não substituem um remetente de teste compatível. Seleções explícitas ainda precisam usar um tipo de envio compatível.