Files
2026-09-10 11:34:19 +03:30

14 lines
1.0 KiB
Python

import requests
from django.conf import settings
from .base import SMSProvider,SMSResult
class HTTPSMSProvider(SMSProvider):
def send_message(self,mobile,message):
if not settings.SMS_API_URL: return SMSResult(False,error="SMS_API_URL تنظیم نشده است.")
headers={"Accept":"application/json","Content-Type":"application/json"}
if settings.SMS_API_TOKEN: headers["Authorization"]=f"Bearer {settings.SMS_API_TOKEN}"
try:
response=requests.post(settings.SMS_API_URL,json={"to":mobile,"message":message,"sender":settings.SMS_SENDER},headers=headers,timeout=settings.INTEGRATION_HTTP_TIMEOUT_SECONDS); response.raise_for_status(); data=response.json() if response.content else {}
if data.get("success") is False: return SMSResult(False,error=str(data.get("error","Provider rejected SMS")))
return SMSResult(True,str(data.get("id") or data.get("message_id") or "http"))
except requests.RequestException as exc: return SMSResult(False,error=str(exc))