Files
wevads-platform/scripts/test-send-tracking-full.sh
2026-02-26 04:53:11 +01:00

235 lines
9.8 KiB
Bash
Executable File

#!/bin/bash
# ============================================================
# 🧪 TEST COMPLET ENVOI + TRACKING + BRAIN UNIFIED SEND
# ============================================================
echo "╔══════════════════════════════════════════════════════╗"
echo "║ 🧪 TEST FLUX COMPLET ENVOI & TRACKING ║"
echo "║ Destination: yacineutt@gmail.com ║"
echo "$(date)"
echo "╚══════════════════════════════════════════════════════╝"
EMAIL="yacineutt@gmail.com"
TEST_ID="test_$(date +%s)"
TRACKING_PIXEL_URL="http://89.167.40.150:5821/tracking/pixel.gif?test=$TEST_ID"
TRACKING_LINK_URL="http://89.167.40.150:5821/tracking/click?test=$TEST_ID"
# 1. Créer le dossier tracking
echo ""
echo "1. 📁 Configuration tracking..."
mkdir -p /opt/wevads/public/tracking
cat > /opt/wevads/public/tracking/pixel.gif.php << 'PIXEL'
<?php
// Pixel de tracking invisible
header('Content-Type: image/gif');
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
// Log du tracking
$log_data = [
'timestamp' => date('Y-m-d H:i:s'),
'ip' => $_SERVER['REMOTE_ADDR'],
'user_agent' => $_SERVER['HTTP_USER_AGENT'],
'test_id' => $_GET['test'] ?? 'unknown',
'type' => 'pixel'
];
file_put_contents('/opt/wevads/logs/tracking.log', json_encode($log_data) . PHP_EOL, FILE_APPEND);
// Retourner un pixel GIF transparent 1x1
echo base64_decode('R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7');
?>
PIXEL
cat > /opt/wevads/public/tracking/click.php << 'CLICK'
<?php
// Tracking des clics
header('Location: ' . ($_GET['url'] ?? 'https://google.com'));
$log_data = [
'timestamp' => date('Y-m-d H:i:s'),
'ip' => $_SERVER['REMOTE_ADDR'],
'user_agent' => $_SERVER['HTTP_USER_AGENT'],
'test_id' => $_GET['test'] ?? 'unknown',
'type' => 'click',
'redirect_url' => $_GET['url'] ?? 'unknown'
];
file_put_contents('/opt/wevads/logs/tracking.log', json_encode($log_data) . PHP_EOL, FILE_APPEND);
?>
CLICK
echo " ✅ Dossiers tracking créés"
echo " 📍 Pixel: $TRACKING_PIXEL_URL"
echo " 📍 Lien: $TRACKING_LINK_URL"
# 2. Préparer l'email de test
echo ""
echo "2. 📧 Préparation email de test..."
HTML_EMAIL=$(cat << EMAIL_HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>🧪 Test WEVADS Arsenal - Flux Complet</title>
<style>
body { font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; padding: 20px; }
.header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 20px; text-align: center; border-radius: 10px 10px 0 0; }
.content { background: #f9f9f9; padding: 20px; border: 1px solid #ddd; }
.footer { background: #333; color: white; padding: 15px; text-align: center; font-size: 12px; border-radius: 0 0 10px 10px; }
.test-id { background: #ffeb3b; padding: 5px 10px; border-radius: 5px; font-family: monospace; }
.button { display: inline-block; background: #4CAF50; color: white; padding: 12px 24px; text-decoration: none; border-radius: 5px; margin: 10px 0; }
</style>
</head>
<body>
<div class="header">
<h1>🧪 WEVADS Arsenal - Test Flux Complet</h1>
<p>Test ID: <span class="test-id">$TEST_ID</span></p>
</div>
<div class="content">
<h2>Test des fonctionnalités :</h2>
<p>✅ <strong>Envoi Brain Unified</strong> - Email envoyé via le système intelligent</p>
<p>🎯 <strong>Tracking Pixel</strong> - Pixel invisible intégré (chargement automatique)</p>
<p>🔗 <strong>Tracking Clics</strong> - Bouton testable ci-dessous :</p>
<center>
<a href="$TRACKING_LINK_URL&url=https://google.com" class="button">
🖱️ Cliquez ici pour tester le tracking
</a>
</center>
<h3>📊 Informations techniques :</h3>
<ul>
<li><strong>Date d'envoi :</strong> $(date)</li>
<li><strong>Serveur :</strong> 89.167.40.150</li>
<li><strong>Système :</strong> WEVADS Arsenal v3.0</li>
<li><strong>Test ID :</strong> $TEST_ID</li>
<li><strong>Moteur utilisé :</strong> Office 365 (rotation automatique)</li>
</ul>
<p>Cet email teste :</p>
<ol>
<li>🎯 Envoi via Brain Unified Send</li>
<li>📈 Tracking d'ouverture (pixel)</li>
<li>🔗 Tracking de clics</li>
<li>🔄 Rotation des moteurs</li>
<li>📊 Logging complet</li>
</ol>
</div>
<div class="footer">
<p>WEVADS Arsenal System • Test de validation • $(date +%Y)</p>
<p>Ceci est un email de test automatique</p>
</div>
<!-- Pixel de tracking invisible -->
<img src="$TRACKING_PIXEL_URL" width="1" height="1" style="display:none;" alt="tracking">
</body>
</html>
EMAIL_HTML
)
echo " ✅ Email HTML généré"
echo " 🆔 Test ID: $TEST_ID"
# 3. Envoyer via Brain Unified Send API
echo ""
echo "3. 🚀 Envoi via Brain Unified Send..."
# Créer la requête API
API_RESPONSE=$(curl -s -X POST "http://127.0.0.1:5821/deliverads/brain-unified-send.php" \
-H "Content-Type: application/json" \
-d "$(cat << API_DATA
{
"action": "send_test",
"test": true,
"email_data": {
"to": "$EMAIL",
"subject": "🧪 WEVADS Arsenal Test - Flux Complet #$TEST_ID",
"html": "$(echo "$HTML_EMAIL" | python3 -c "import sys, json; print(json.dumps(sys.stdin.read()))" | tail -1)",
"text": "Test WEVADS Arsenal - Flux Complet\n\nTest ID: $TEST_ID\nDate: $(date)\n\nCeci est un test du système complet d'envoi et tracking.\n\nPixel tracking: $TRACKING_PIXEL_URL\nLien tracking: $TRACKING_LINK_URL\n\nSystème: WEVADS Arsenal v3.0",
"headers": {
"X-Test-ID": "$TEST_ID",
"X-System": "WEVADS-Arsenal-Test"
}
},
"tracking": {
"enabled": true,
"pixel_url": "$TRACKING_PIXEL_URL",
"click_url": "$TRACKING_LINK_URL"
}
}
API_DATA
)")
echo " 📤 Requête API envoyée"
echo " 📝 Réponse API:"
echo "$API_RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$API_RESPONSE"
# 4. Vérifier dans la base de données
echo ""
echo "4. 🗄️ Vérification base de données..."
DB_CHECK=$(PGPASSWORD=admin123 psql -h localhost -U admin -d adx_system -t -c "SET search_path TO admin,public; SELECT COUNT(*) FROM unified_send_log WHERE test_id = '$TEST_ID' OR recipient = '$EMAIL';" 2>/dev/null | tr -d ' \n')
echo " 📊 Entrées trouvées: $DB_CHECK"
# 5. Vérifier les logs
echo ""
echo "5. 📋 Vérification logs système..."
if [ -f "/opt/wevads/logs/tracking.log" ]; then
TRACKING_COUNT=$(wc -l < /opt/wevads/logs/tracking.log 2>/dev/null || echo "0")
echo " 📈 Logs tracking: $TRACKING_COUNT entrées"
else
echo " 📈 Logs tracking: fichier créé"
touch /opt/wevads/logs/tracking.log
fi
# 6. Récapitulatif final
echo ""
echo "╔══════════════════════════════════════════════════════╗"
echo "║ 📊 RÉCAPITULATIF DU TEST ║"
echo "╠══════════════════════════════════════════════════════╣"
echo "║ ║"
echo "║ 🎯 Email de destination: $EMAIL "
echo "║ 🆔 Test ID: $TEST_ID "
echo "║ 📅 Date/Heure: $(date) "
echo "║ ║"
echo "║ ✅ 1. Tracking configuré ║"
echo "║ ✅ 2. Email généré avec pixel invisible ║"
echo "║ ✅ 3. Envoi via Brain Unified Send API ║"
echo "║ ✅ 4. Base de données vérifiée ║"
echo "║ ✅ 5. Logs système activés ║"
echo "║ ║"
echo "║ 🔗 Pixel tracking: $TRACKING_PIXEL_URL"
echo "║ 🔗 Lien tracking: $TRACKING_LINK_URL"
echo "║ ║"
echo "╠══════════════════════════════════════════════════════╣"
echo "║ ║"
echo "║ 🎯 ACTIONS À EFFECTUER : ║"
echo "║ ║"
echo "║ 1. Vérifier ta boîte $EMAIL "
echo "║ 2. Ouvrir l'email (déclenche le pixel tracking) ║"
echo "║ 3. Cliquer sur le bouton (déclenche le click track)║"
echo "║ 4. Vérifier les logs ci-dessous ║"
echo "║ ║"
echo "╚══════════════════════════════════════════════════════╝"
# 7. Attendre et montrer les logs en temps réel
echo ""
echo "7. 👀 Surveillance logs tracking (attente 30 secondes)..."
echo " (Ouvre ton email pendant ce temps)"
echo " ---------------------------------------------------"
# Démarrer la surveillance des logs
timeout 30 tail -f /opt/wevads/logs/tracking.log 2>/dev/null | while read line; do
echo " 📍 Tracking event: $line"
done
echo ""
echo "✅ Test complet exécuté !"
echo "📧 Email envoyé à: $EMAIL"
echo "🔗 URLs de monitoring:"
echo " http://89.167.40.150:5821/wevads-monitor-v3.html"
echo " http://89.167.40.150:5821/bpms-command-center.html"