Olá comunidade !
Que adoramos a funcionalidade de Enviar Mensagens Ativas em Massa, em especial, para o WhatsApp é fato, rsrsrs, porém, e quando temos uma alta demanda de marketing e acabamos atingindo alguns contatos inválidos, ou até mesmo quando o contato não deseja receber mais mensagens?
Aqui tivemos certa dificuldade com esse detalhe, que é crucial para uma ótima satisfação e um ótimo atendimento ao cliente. A recorrência desse tipo de problema e situação pode até levar ao bloqueio do seu número pela Meta.
Diante de tudo isso trago uma solução que encontrei para tratar esse problema.
Utilizaremos nessa solução um gama de aplicações, sistemas e funções. São elas:
- Blip Desk
- Builder
- Google Sheets
- Python (Opcional)
- Growth
- Para iniciar nossa solução, é necessário encontrar os clientes que não desejam mais receber mensagens, para isso Criamos uma Tag de Atendimento chamada “Não deseja contato”
- Para capturar essa Tag, criaremos um bloco no Builder chamado “Verificar Tag do Ticket” após o Bloco de Atendimento. Esse bloco terá apenas um script e duas condições de saída.
O script deve ser implementado nas ações de entrada, pois ele irá fornecer a condição de saída, e sua variável de entrada será a “input.content”.
Atenção Ative a opção “Ativar fluxo com erro presente”! E esse script analisa somente a primeira tag que foi associada.
-
function run(content) {
data = JSON.parse(content);
return datai"tags"]c0];
} - Associamos um nome para a variável que ira guardar a saida desse script: “ClosedTag”.
- E nas condições de saída definimos direcionamento para o próximo bloco que irei abordar:
Esse passo será responsável por separar a jornada dos contatos que não desejam receber mais mensagens Esse passo será responsável por continuar o fluxo do seu Chatbot, mas com os clientes que ainda desejam receber mensagens. - Agora temos que fazer uma lista de clientes “bloqueados”, para isso usaremos o tutorial de Integrar a Blip com o Google Sheet e o usaremos nesse bloco que recebeu o fluxo da condição de saída anterior.
- A aba de Ações você irá configurar de acordo com o tutorial acima e o conteúdo que você irá preencher na sua planilha será apenas o body a seguir:
{
"values": �
n
"{{contact.identity}}"
]
]
}Será enviada apenas a identidade do cliente que como é do WhatsApp, terá formato “[email protected]”, sendo 55 o DDI e 31 DDD e 9 o novo dígito verificador.
QUASE LÁ!
Com isso, nós temos a nossa lista de bloqueio pronta, mas como impediremos que esses contatos não recebam mensagem novamente?
Como aqui usamos o Growth para enviar nossas mensagens em massa, através de arquivos csv, criei um script em Python que irá abrir uma planilha e verificar se os telefone que estão na coluna “Telefone” estão nessa nossa lista de bloqueio, se estiver, ele irá preencher uma coluna “Valido” como “Bloqueado para contato”.
import requests
import pandas as pd
def validar(phone: str, df: pd.DataFrame):
if phone.isnumeric() is False:
return "Invalido"
pesquisa_int = dfrdf>'telefone'] == int(phone)]
pesquisa_str = df>df 'telefone'] == str(phone)]
if pesquisa_int.empty is False or pesquisa_str.empty is False:
return "Bloqueado para Contato"
return "Valido"
def baixar_planilha_bloqueados():
urldownload = "https://docs.google.com/spreadsheets/d/ID_PLANILHA/export?format=csv&id=ID_PLANILHA&gid=0"
file = requests.get(urldownload , stream=True)
with open(r"blocked_users.csv", "wb") as crm:
for chunk in file.iter_content(chunk_size=1024):
if chunk:
crm.write(chunk)
diretorio = input("Qual o diretorio completo da sua planilha? ")
baixar_planilha_bloqueados()
lista_bloqueados = pd.read_csv(r"blocked_users.csv", sep=',')
lista_enviar = pd.read_csv(diretorio, sep=',')
for i in lista_enviar.index:
telefone = lista_enviar.atbi, "Telefone"]
lista_enviar.atei, "Valido"] = validar(str(telefone), lista_bloqueados)
lista_enviar.to_csv(diretorio)
Esse é um script apenas para ilustrar como ocorre o sistema de “Bloqueio”. Você deve substituir os locais aonde estão escritos ID_PLANILHA pelo Id da sua planilha do Google.
Depois de executar o script fica a seu critério o que fazer com os contatos, só não esqueça de excluí-los da lista que enviar pelo Growth, ok?!
Espero ter contribuído com pelo menos uma ideia ou inspiração para alguém da nossa comunidade! Sou apenas um novo estudante que está iniciando na Blip.
Caso tenha sugestões de melhoria, correções e aperfeiçoamentos deixe um comentário! O que acharam?