Pular para o conteúdo principal
Uma campanha pode enviar uma mensagem de acompanhamento para cada destinatário. A espera começa quando o WhatsApp informa que a primeira mensagem foi entregue ou lida, e o acompanhamento sai do número que enviou a primeira mensagem. Um destinatário que responde ou faz opt-out nunca o recebe.
Os acompanhamentos estão em beta. Quando o beta for oferecido à sua equipe, um proprietário ou administrador da equipe seleciona Participar na linha do beta de acompanhamentos de campanha por confirmação, na etapa de mensagem do builder de campanhas, revisa os termos e seleciona Aceitar e participar. Enquanto sua equipe não tiver entrado e o beta não estiver disponível para ela, solicitações que definem um acompanhamento, ou que lançam ou copiam uma campanha que tem um, respondem 403 feature_unavailable. Remover um acompanhamento de um rascunho sempre funciona.

Como funciona o tempo de espera

  • A entrega inicia a espera. O acompanhamento vence depois do seu intervalo, contado a partir da primeira vez que o WhatsApp informa que a primeira mensagem foi entregue.
  • A leitura tem prioridade. Se o WhatsApp informar que a primeira mensagem foi lida antes de o acompanhamento começar a ser enviado, a espera recomeça a partir dessa primeira leitura. Leituras posteriores não a alteram de novo.
  • Sem confirmação, sem acompanhamento. Um acompanhamento nunca é enviado apenas por tempo. Destinatários que desativaram as confirmações de leitura informam somente entregas, então a espera deles começa na entrega.
  • Um acompanhamento expirado nunca é enviado. A expiração conta a partir do envio da primeira mensagem. Um acompanhamento que não for enviado até lá é marcado como expired e nunca é enviado.
A janela de envio da campanha também vale: um acompanhamento que vence fora da janela espera a próxima abertura, desde que não tenha expirado.

O que cancela um acompanhamento

  • O destinatário responde ao número que enviou a primeira mensagem.
  • O número de telefone entra na sua lista de opt-outs, seja por uma palavra-chave STOP, pela API, por uma importação ou pelo console. Um START posterior não restaura um acompanhamento cancelado.
  • Você encerra a campanha.
  • O número de envio muda: é renomeado, conectado de novo como uma nova conexão ou troca de tipo de envio. Um acompanhamento só é enviado pelo número e pela conexão originais.
  • Sua equipe sai do beta, ou o beta é desativado.
Pausar uma campanha retém os acompanhamentos. As esperas continuam contando, então um acompanhamento cuja expiração passa enquanto a campanha está pausada expira sem ser enviado. Enquanto o número de envio estiver offline ou desativado, o acompanhamento espera até o número voltar ou até expirar. Um acompanhamento que já começou a ser enviado nunca é retirado nem enviado duas vezes. Se o resultado for desconhecido, por exemplo depois de uma queda de conexão, a Polymorfa o reconcilia a partir do envio original e informa outcome_unknown até conseguir comprovar o resultado.

Requisitos

  • A campanha envia uma única primeira mensagem: uma mensagem composta ou um modelo. Uma campanha com uma sequência de mensagens compostas não pode ser lançada com um acompanhamento.
  • O acompanhamento é um texto (de 1 a 16.384 caracteres, com os mesmos marcadores {{variable}} da campanha) ou um modelo de mensagem (templateId). O texto do acompanhamento não pode conter links rastreados ({{link:key}}).
  • Em um número da Cloud API, o acompanhamento segue a mesma regra da janela de 24 horas de qualquer mensagem composta: fora dela, um acompanhamento em texto falha. Use um modelo aprovado para alcançar destinatários fora dessa janela.
  • O acompanhamento preenche as variáveis da mesma forma que a primeira mensagem, incluindo o mapeamento de variáveis da campanha. Um destinatário sem valor para uma variável que não tem fallback inline não recebe o acompanhamento; ele termina como failed com o motivo missing_variable. O console aceita apenas variáveis que a primeira mensagem ou o seu mapeamento já usam.
  • Você só pode adicionar, alterar ou remover o acompanhamento enquanto a campanha for um rascunho não lançado. O lançamento o congela.
  • Testes A/B e variações ponderadas funcionam com acompanhamentos: a primeira mensagem de cada destinatário inicia a espera dele.
A espera, as confirmações e os cancelamentos são gratuitos. Cada acompanhamento enviado é uma mensagem de campanha, com as mesmas verificações de saldo, plano e segurança da primeira mensagem.

Adicione um acompanhamento

Use o console

Na etapa de mensagem do builder de campanhas, ative Enviar um acompanhamento, escreva a mensagem ou escolha um modelo de mensagem e defina quanto tempo esperar e quando parar de esperar. A etapa de revisão mostra o acompanhamento antes do lançamento.

Use a API

Envie followUp ao criar ou atualizar um rascunho:
Para enviar um modelo de mensagem, use "message": { "type": "template", "templateId": "<template UUID>" }. Envie "followUp": null para remover o acompanhamento. Na Platform API, envie o mesmo campo para POST /platform/campaigns ou PATCH /platform/campaigns/{campaignId}. Um acompanhamento que a API recusa responde 400 invalid_parameter com param: "followUp". Lançar uma campanha que combina um acompanhamento com uma sequência de mensagens responde 409 state_conflict.

Leia os resultados dos acompanhamentos

Os resultados dos acompanhamentos são contados separadamente da primeira mensagem. As contagens e os webhooks da primeira mensagem mantêm o seu significado.

Análises da campanha

GET /messaging/projects/{projectSlug}/campaigns/{id}/analytics e GET /platform/campaigns/{campaignId}/analytics retornam um objeto followUps: Todas as contagens são zero para uma campanha sem acompanhamento.

Destinatários

Cada destinatário de GET /messaging/projects/{projectSlug}/campaigns/{id}/recipients ou GET /platform/campaigns/{campaignId}/recipients tem um objeto followUp, ou null quando nenhum acompanhamento foi criado para esse destinatário. Ele inclui status, anchorKind (delivered ou read), firstDeliveredAt, firstReadAt, dueAt, expiresAt, sentAt, deliveredAt, readAt, repliedAt, reason e commandId. Os horários estão em milissegundos Unix. status é um destes valores: waiting_receipt, scheduled, sending, sent, cancelled, expired, failed ou outcome_unknown. reason explica um cancelamento, uma expiração, uma falha ou uma espera, por exemplo reply, opt_out, wait_expired, campaign_stop, sender_changed, feature_withdrawn, send_window, sender_unavailable ou missing_variable. A exportação CSV de destinatários adiciona as colunas followUpStatus, followUpAnchor, followUpDueAt, followUpExpiresAt, followUpSentAt, followUpReadAt, followUpRepliedAt, followUpReason e followUpCommandId.

Histórico da campanha

GET /platform/campaigns/{campaignId}/events registra cada mudança de estado de um acompanhamento como um evento followup.<status>, como followup.scheduled ou followup.cancelled, com o destinatário, o número de envio e o motivo. Ele nunca contém o texto da mensagem nem números de telefone. As mesmas mudanças de estado aparecem nos Logs do Console como linhas campaign.followup.<status>. Os acompanhamentos não adicionam eventos de webhook.

Saída do beta

Sair do beta, ou a desativação do beta, cancela os acompanhamentos que ainda não começaram a ser enviados. Envios já iniciados terminam e nunca são repetidos. Entrar de novo depois não restaura acompanhamentos cancelados. Os resultados continuam legíveis, e você ainda pode remover o acompanhamento de um rascunho.