Este script envia mensagens personalizadas via API do zapr.link, lendo nomes e números de um arquivo db.csv
.
Crie um arquivo db.csv
com:
whatsapp,name
557474839465,XYZ
55713936373,Lucas
5521983656474,AnaZZZ
Olá {{NAME}}! Por favor, para completar a ativação de seu domínio, finalize o pagamento por aqui:
https://app.basicpay.io/payment/b992e712-36a3-42ab-9fb0-7f822f62e1ef
A variável {{NAME}}
será substituída automaticamente.
- Acesse https://zapr.link/app
- Crie a mensagem e copie o hash da URL da API:
https://api.zapr.link/message/SEU_HASH_AQUI
- No script
send_messages.py
, substitua:
API_URL = "https://api.zapr.link/message/ZAPR_LINK_HASH"
Por algo como:
API_URL = "https://api.zapr.link/message/a6a7e520-8293-4c2e-9102-346cf6337fea"
- Instale a lib necessária:
pip install requests
- Execute o script:
python send_messages.py
Mensagens serão enviadas com um intervalo aleatório entre 7 a 30 segundos.
import csv
import time
import random
import requests
CSV_FILE = 'db.csv'
API_URL = "https://api.zapr.link/message/ZAPR_LINK_HASH"
HEADERS = { "Content-Type": "application/json" }
MESSAGE_TEMPLATE = (
"Olá {{NAME}}! Por favor, para completar a ativação de seu domínio, finalize o pagamento por aqui:\n\n"
"https://app.basicpay.io/payment/SEU_ZAPR_LINKR_HASH"
)
def load_contacts(csv_path):
contacts = []
with open(csv_path, newline='', encoding='utf-8') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
contacts.append({
'whatsapp': row['whatsapp'].strip(),
'name': row['name'].strip()
})
return contacts
def send_message(whatsapp_number, message):
payload = { "numbers": whatsapp_number, "message": message }
response = requests.post(API_URL, json=payload, headers=HEADERS)
print(f"Enviado para {whatsapp_number}: {response.status_code} - {response.text}")
def main():
contacts = load_contacts(CSV_FILE)
for contact in contacts:
personalized = MESSAGE_TEMPLATE.replace("{{NAME}}", contact['name'])
send_message(contact['whatsapp'], personalized)
delay = random.randint(7, 30)
print(f"Aguardando {delay}s...")
time.sleep(delay)
if __name__ == "__main__":
main()