34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
def send_sms(message: str, site: str) -> None:
|
|
phone_numbers = PHONE_NUMBERS_BY_SITE.get(site)
|
|
if not phone_numbers or phone_numbers == ['']:
|
|
print(f"[!] Aucun numéro défini pour le site {site}. SMS non envoyé.")
|
|
return
|
|
|
|
try:
|
|
client = ovh.Client(
|
|
endpoint=os.getenv("OVH_ENDPOINT"),
|
|
application_key=os.getenv("OVH_APP_KEY"),
|
|
application_secret=os.getenv("OVH_APP_SECRET"),
|
|
consumer_key=os.getenv("OVH_CONSUMER_KEY"),
|
|
)
|
|
|
|
sender = os.getenv("OVH_SMS_SENDER")
|
|
account = os.getenv("OVH_SMS_ACCOUNT")
|
|
|
|
result = client.post(f"/sms/{account}/jobs",
|
|
sender=sender,
|
|
message=message,
|
|
receivers=phone_numbers,
|
|
priority='high',
|
|
noStopClause=True,
|
|
charset='UTF-8',
|
|
class_='phoneDisplay',
|
|
coding='7bit',
|
|
senderForResponse=False,
|
|
validityPeriod=2880)
|
|
|
|
print(f"[✓] SMS envoyé à {phone_numbers} pour {site}")
|
|
# Optionnel : journaliser_sms(message, site, phone_numbers)
|
|
except Exception as e:
|
|
print(f"[!] Erreur envoi SMS OVH : {e}")
|