accounts/utils/clients/sms/mobin_sms/client.py
Sayyid Hamid Mahdavi 29e4b4054c sms policy
2026-03-16 16:02:22 +03:30

43 lines
1.2 KiB
Python

import urllib.parse
import requests
from django.conf import settings
import logging
from utils.clients.sms.sms import BaseSMSClient
logger = logging.getLogger(__name__)
class MobinSMSClient(BaseSMSClient):
access_token = settings.MOBIN_SMS_TOKEN
base_url = 'https://connect.mobinsms.com'
sender = '9890008050'
def send_sms(self, phone_number, message):
return self.send_sms_quick([phone_number], message)
def send_sms_quick(self, phone_number_list, message):
try:
path = '/v1/send/quick'
url = urllib.parse.urljoin(self.base_url, path)
body = {
"from": self.sender,
"to": phone_number_list,
"body": message,
"unique_id": "" # UDH (optional field)
}
headers = {
"X-API-Key": self.access_token,
'Content-Type': 'application/json',
'Accept': 'application/json',
}
response = requests.post(url, headers=headers, json=body, timeout=10)
logger.info(response.text)
return response.json()
except Exception as e:
logger.exception(f'error sending sms to {phone_number_list}: {e}')