Este contrato beta aguarda lançamento. O acesso fica indisponível até o beta ser oferecido à sua equipe.
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:- Escreva a mensagem de cada etapa. Adicione até 10 etapas e reordene-as com Subir e Descer.
- Defina a espera de cada etapa posterior em dias, horas e minutos, até 30 dias.
- 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.
- Escolha a inscrição Público do lançamento ou Contínua e defina as regras de saída.
Crie e lance pela API
UsePOST /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.
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:
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 queexitOnReply 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,completedeexited.steps, ordenado pelostepa partir de zero, com as contagensentered,waiting,sent,delivered,read,replied,exitedefailed.
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.