106 lines
4.0 KiB
Python
Executable File
106 lines
4.0 KiB
Python
Executable File
"""Génère drafts partenaires Gmail compose URLs"""
|
|
import json, urllib.parse, datetime
|
|
|
|
partners = [
|
|
{
|
|
"id": "vistex_olga",
|
|
"name": "Vistex — Olga Bornescu",
|
|
"to": "olga.bornescu@vistex.com",
|
|
"subject": "WEVAL x Vistex — Partenariat dealer incentives pharma MENA",
|
|
"body": """Bonjour Olga,
|
|
|
|
Suite à notre échange, je formalise une proposition Vistex x WEVAL.
|
|
|
|
CONTEXTE WEVAL (MENA pharma & B2B):
|
|
- Stack souverain Maroc: 3 serveurs CF+nginx+PG+Ollama+9 IA providers (Groq/Cerebras/SambaNova), 0€ AI
|
|
- Base HCPs pharma validée: 146 694 (DZ 107K / MA 20K / TN 18K), 110K emails, 141K téléphones
|
|
- DNS SPF+DKIM+DMARC opérationnel wevup.app (CF zone live)
|
|
- 37 836 companies B2B + 61 812 contacts (sources PwC+Kompass+SAP+Procurement)
|
|
- 60K contacts classifiés par industrie (Gov/Finance/Retail/Mfg/Pharma/Energy)
|
|
|
|
PROPOSITION VISTEX PARTNERSHIP:
|
|
1. Intégration Vistex CDP ↔ WEVAL base HCPs MENA pour dealer incentives programs pharma
|
|
2. White-label campagnes email/WhatsApp/SMS souveraines Maroc pour clients Vistex
|
|
3. Revenue share 30/70 ou forfait mensuel selon volume
|
|
|
|
Disponible 30min call cette semaine.
|
|
|
|
Bien cordialement,
|
|
Yacine Mahboub · CEO WEVAL Consulting
|
|
ymahboub@weval-consulting.com"""
|
|
},
|
|
{
|
|
"id": "huawei_ray",
|
|
"name": "Huawei Cloud — Ray Wu",
|
|
"to": "ray.wu@huawei.com",
|
|
"subject": "WEVAL MENA — Cloud souverain + AI platform for Huawei Cloud partners",
|
|
"body": """Bonjour Ray,
|
|
|
|
Suite à notre discussion Huawei Cloud MENA, voici WEVAL Consulting.
|
|
|
|
POSITIONNEMENT:
|
|
- Consulting ERP/SAP/Cloud/Cybersécurité basé Casablanca
|
|
- Stack AI souverain multi-providers (Groq/Cerebras/SambaNova/Ollama, 0€)
|
|
- Base B2B MENA: 146K HCPs pharma validés + 37K companies + 61K contacts
|
|
- 42 SaaS produits propriétaires incl. WEVIA (chat widget + command center)
|
|
|
|
PROPOSITION HUAWEI CLOUD:
|
|
1. Partenaire intégration: déployer WEVIA sur Huawei Cloud instances clients
|
|
2. Reseller Huawei Cloud services pour enterprise MENA (pharma, banque)
|
|
3. Co-développement offres AI sovereign Huawei x WEVAL secteurs régulés
|
|
|
|
Call 30min cette semaine ou visite Casablanca pour présentation stack?
|
|
|
|
Bien cordialement,
|
|
Yacine Mahboub · CEO WEVAL Consulting"""
|
|
},
|
|
{
|
|
"id": "kaouther_consent",
|
|
"name": "Kaouther — Processus consentement RGPD Ethica",
|
|
"to": "kaouther.najar@ethica.ma",
|
|
"subject": "Processus consentement RGPD + Loi 09-08 — Base HCPs Ethica",
|
|
"body": """Bonjour Kaouther,
|
|
|
|
Suite aux échanges sur la contre-proposition, voici le processus consentement pour conformité totale:
|
|
|
|
BASE ETHICA VALIDÉE:
|
|
- 146 694 HCPs (DZ/MA/TN) avec emails vérifiés
|
|
- Consentement existant: 17 opt-ins réels sur consent.wevup.app (SPF+DKIM+DMARC validés)
|
|
|
|
PROCESSUS PROPOSÉ:
|
|
1. Vague 1 soft launch: 10 000 HCPs MA, template conforme Loi 09-08 + RGPD
|
|
2. Landing consent.wevup.app avec options (email pharma, campagnes prescripteurs, enquêtes)
|
|
3. Dashboard temps réel opt-ins + export CSV pour ton équipe
|
|
4. Stockage DB signé + timestamp + IP pour traçabilité CNDP
|
|
|
|
Estimation opt-in rate: 8-15% selon qualité data + objet.
|
|
Je peux lancer la vague test dès validation template.
|
|
|
|
Cordialement,
|
|
Yacine"""
|
|
},
|
|
]
|
|
|
|
out = {"generated_at": datetime.datetime.now().isoformat(), "partners": []}
|
|
for p in partners:
|
|
url = "https://mail.google.com/mail/u/0/?view=cm&fs=1&tf=cm&to=" + urllib.parse.quote(p["to"])
|
|
url += "&su=" + urllib.parse.quote(p["subject"])
|
|
url += "&body=" + urllib.parse.quote(p["body"])
|
|
out["partners"].append({
|
|
"id": p["id"],
|
|
"name": p["name"],
|
|
"to": p["to"],
|
|
"subject": p["subject"],
|
|
"gmail_url": url,
|
|
"body_preview": p["body"][:300],
|
|
})
|
|
|
|
import os
|
|
os.makedirs("/var/www/html/api", exist_ok=True)
|
|
with open("/var/www/html/api/partners-emails-drafts.json", "w") as f:
|
|
json.dump(out, f, indent=2, ensure_ascii=False)
|
|
|
|
print(f"GENERATED {len(out['partners'])} partner drafts")
|
|
for p in out["partners"]:
|
|
print(f" {p['id']} → {p['to']} ({p['subject'][:50]})")
|