2025-11-30 16:25:51 -03:00
|
|
|
PARAM message AS STRING LIKE "Olá {name}, confira nossas novidades!" DESCRIPTION "Message to broadcast, supports {name} and {telefone} variables"
|
|
|
|
|
PARAM template_file AS FILE LIKE "header.jpg" DESCRIPTION "Header image file for the template"
|
|
|
|
|
PARAM list_file AS FILE LIKE "contacts.xlsx" DESCRIPTION "File with contacts (must have telefone column)"
|
|
|
|
|
PARAM filter AS STRING LIKE "Perfil=VIP" DESCRIPTION "Filter condition for contact list" OPTIONAL
|
2025-11-21 10:44:29 -03:00
|
|
|
|
2025-11-30 16:25:51 -03:00
|
|
|
DESCRIPTION "Send marketing broadcast message to a filtered contact list via WhatsApp template"
|
|
|
|
|
|
|
|
|
|
report = LLM "Esta mensagem será aprovada pelo WhatsApp META como Template? Responda OK se sim, ou explique o problema: " + message
|
2025-11-21 10:44:29 -03:00
|
|
|
|
|
|
|
|
IF report <> "OK" THEN
|
2025-11-30 16:25:51 -03:00
|
|
|
TALK "Atenção: " + report
|
2025-11-21 10:44:29 -03:00
|
|
|
END IF
|
|
|
|
|
|
2025-11-30 16:25:51 -03:00
|
|
|
IF filter THEN
|
|
|
|
|
list = FIND list_file, filter
|
|
|
|
|
ELSE
|
|
|
|
|
list = FIND list_file
|
|
|
|
|
END IF
|
2025-11-21 10:44:29 -03:00
|
|
|
|
2025-11-30 16:25:51 -03:00
|
|
|
IF UBOUND(list) = 0 THEN
|
|
|
|
|
TALK "Nenhum contato encontrado."
|
|
|
|
|
RETURN 0
|
|
|
|
|
END IF
|
2025-11-21 10:44:29 -03:00
|
|
|
|
|
|
|
|
PUBLISH
|
|
|
|
|
|
|
|
|
|
SET MAX LINES 2020
|
|
|
|
|
|
|
|
|
|
index = 1
|
2025-11-30 16:25:51 -03:00
|
|
|
sent = 0
|
2025-11-21 10:44:29 -03:00
|
|
|
|
|
|
|
|
DO WHILE index < UBOUND(list)
|
|
|
|
|
row = list[index]
|
|
|
|
|
|
2025-11-30 16:25:51 -03:00
|
|
|
SEND TEMPLATE TO row.telefone, template_file
|
2025-11-21 10:44:29 -03:00
|
|
|
|
|
|
|
|
WAIT 0.1
|
|
|
|
|
|
2025-11-30 16:25:51 -03:00
|
|
|
WITH logEntry
|
|
|
|
|
timestamp = NOW()
|
|
|
|
|
phone = row.telefone
|
|
|
|
|
name = row.name
|
|
|
|
|
status = "sent"
|
|
|
|
|
END WITH
|
|
|
|
|
|
|
|
|
|
SAVE "broadcast_log.csv", logEntry
|
2025-11-21 10:44:29 -03:00
|
|
|
|
2025-11-30 16:25:51 -03:00
|
|
|
sent = sent + 1
|
|
|
|
|
index = index + 1
|
2025-11-21 10:44:29 -03:00
|
|
|
LOOP
|
|
|
|
|
|
2025-11-30 16:25:51 -03:00
|
|
|
TALK "Broadcast enviado para " + sent + " contatos."
|
|
|
|
|
|
|
|
|
|
RETURN sent
|