easyCoexistence
Iniciar sessãoIniciar teste gratuito
Meta Tech Provider

O webhook account_update e todos os motivos de desconexão

account_update é a forma como a Meta indica que uma ligação mudou de estado. O campo event indica o que aconteceu e, numa remoção, disconnection_info.reason indica o motivo. Esse motivo distingue um número que voltará de outro que foi perdido.

PARTNER_REMOVED

O evento enviado pela Meta quando a aplicação é desinstalada de uma conta.

6

Motivos de desconexão identificados que uma remoção pode incluir.

~14 days

A janela principal de inatividade do dispositivo, recebida como PRIMARY_INACTIVITY.

Que eventos transporta account_update?

PARTNER_REMOVED, quando a aplicação é desinstalada da WhatsApp Business Account. Este é o sinal oficial de desconexão e aquele em que vale a pena basear a implementação, em vez de inferir uma desconexão a partir de um campo que passa a falso.

ACCOUNT_OFFBOARDED, quando o número é totalmente retirado. ACCOUNT_RECONNECTED, quando uma ligação anteriormente removida regressa. E os eventos de aplicação de medidas: ACCOUNT_RESTRICTION e ACCOUNT_VIOLATION, juntamente com eventos cujo nome inclui DISABLED ou BAN.

Os resultados de verificação e aprovação também chegam aqui, com nomes de eventos que contêm VERIFIED ou APPROVED. Um handler deve usar o nome do evento e tratar tudo o que não reconheça como informação, em vez de falhar, porque a Meta adiciona eventos sem aviso.

Quais são os motivos de desconexão?

São seis, e significam coisas muito diferentes.

PRIMARY_INACTIVITY é a regra de aproximadamente catorze dias: a aplicação WhatsApp Business não foi aberta no dispositivo principal. É recuperável e, de longe, o caso mais comum.

COMPANION_INACTIVITY aplica a mesma ideia a um dispositivo complementar, num período mais longo de cerca de trinta dias.

BUSINESS_DOWNGRADE significa que o número voltou para a aplicação WhatsApp de consumidor, o que termina a Coexistência porque esta requer a aplicação Business.

CHANGE_NUMBER significa que o próprio número de telefone mudou. USER_RE_REGISTERED significa que foi registado novamente num dispositivo novo. E ACCOUNT_DISCONNECTED significa que o cliente o desligou deliberadamente ou que uma medida de aplicação o fez.

O motivo também chega com disconnection_info.initiated_by, que indica se foi uma pessoa ou o sistema a fazê-lo.

Porque é que o motivo importa mais do que o evento?

Porque PARTNER_REMOVED, por si só, não indica qual deve ser a ação.

Um número removido por PRIMARY_INACTIVITY vai voltar: a empresa abre a aplicação, liga-o novamente e tudo retoma. Tratar isso como a saída de um cliente gera um email de cancelamento para alguém que continua a ser cliente.

Um número removido por BUSINESS_DOWNGRADE ou ACCOUNT_DISCONNECTED é uma situação diferente. Tratá-la como temporária deixa uma ligação num estado indefinido para sempre.

Quando uma remoção chega sem motivo, initiated_by é a alternativa: uma remoção feita por uma pessoa parece deliberada, enquanto uma remoção inexplicada do sistema não. Vale a pena distinguir estes casos no código, em vez de o fazer mais tarde numa conversa com o apoio ao cliente.

Erros comuns

  • Tratar todos os PARTNER_REMOVED da mesma forma. O motivo distingue duas semanas de silêncio da saída de um cliente.
  • Inferir a desconexão a partir de um campo que passa a falso, em vez de usar este evento. É assim que surgem falsos alarmes.
  • Falhar perante um nome de evento não reconhecido. A Meta adiciona eventos e um handler deve ignorar o que não conhece.
Fazer isto com a EasyCoexistence

A EasyCoexistence trata cada caso pelo nome, regista o motivo na cronologia da ligação e separa uma remoção de inatividade recuperável de um número realmente perdido.

Perguntas frequentes

PARTNER_REMOVED é permanente?

Normalmente, não. A maioria chega com PRIMARY_INACTIVITY, o que significa que a aplicação não foi aberta e que voltar a ligar restaura tudo.

Voltar a ligar restaura o destino do meu webhook?

Não, e esta é a armadilha. O destino é uma substituição na subscrição da aplicação e é desinstalado com ela. É necessário voltar a aplicá-lo.

O que é COMPANION_INACTIVITY?

A mesma ideia de inatividade num dispositivo complementar, e não no principal, durante um período mais longo de cerca de trinta dias.

Posso receber este evento sem motivo?

Sim. Nesse caso, disconnection_info.initiated_by é o único sinal que indica se a remoção foi deliberada.

Continue a ler

Pronto para começar?

Configure a Coexistência do WhatsApp em minutos, não em meses. A aplicação continua a funcionar no telemóvel.

Começar período experimental gratuito

Verificado em

Webhook account_update