payam sms
This commit is contained in:
parent
ddddbf8c24
commit
23544600c7
3 changed files with 56 additions and 0 deletions
|
|
@ -252,3 +252,9 @@ JALALI_DATE_DEFAULTS = {
|
|||
'datetime': '%H:%M:%S _ %Y/%m/%d',
|
||||
}
|
||||
}
|
||||
|
||||
PAYAM_SMS_SYSTEM_NAME = config('PAYAM_SMS_SYSTEM_NAME')
|
||||
PAYAM_SMS_USERNAME = config('PAYAM_SMS_USERNAME')
|
||||
PAYAM_SMS_PASSWORD = config('PAYAM_SMS_PASSWORD')
|
||||
PAYAM_SMS_CLIENT_ID = config('PAYAM_SMS_CLIENT_ID')
|
||||
PAYAM_SMS_CLIENT_SECRET = config('PAYAM_SMS_CLIENT_SECRET')
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ from django.utils import timezone
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
import uuid
|
||||
|
||||
from utils.clients.payam_sms import send_sms
|
||||
from .provinces_and_cities import state
|
||||
# from .tasks import send_notification
|
||||
|
||||
|
|
@ -214,6 +215,8 @@ class User(AbstractUser):
|
|||
self.notify(body=str(self.otp), title='OTP')
|
||||
|
||||
def notify(self, body, title=None, notification_type='sms'):
|
||||
message = "رمزیکبارمصرف: " + body
|
||||
send_sms(self.phone_number.strip('+'), message)
|
||||
return
|
||||
# TODO: enable celery
|
||||
send_notification(phone_number=self.phone_number,
|
||||
|
|
|
|||
47
utils/clients/payam_sms.py
Normal file
47
utils/clients/payam_sms.py
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
# TODO: this is time fourced code. refactor
|
||||
|
||||
import requests
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
def get_access_token():
|
||||
payam_sms_system_name = settings.PAYAM_SMS_SYSTEM_NAME
|
||||
payam_sms_username = settings.PAYAM_SMS_USERNAME
|
||||
payam_sms_password = settings.PAYAM_SMS_PASSWORD
|
||||
payam_sms_client_id = settings.PAYAM_SMS_CLIENT_ID
|
||||
payam_sms_client_secret = settings.PAYAM_SMS_CLIENT_SECRET
|
||||
auth = (payam_sms_client_id, payam_sms_client_secret)
|
||||
url = f"https://www.payamsms.com/auth/oauth/token?systemName={payam_sms_system_name}&username={payam_sms_username}&password={payam_sms_password}&scope=webservice&grant_type=password"
|
||||
|
||||
response_object = requests.post(url, auth=auth, json={})
|
||||
response = response_object.json()
|
||||
return response["access_token"]
|
||||
|
||||
|
||||
def send_sms(phone_number, message):
|
||||
url = "https://www.payamsms.com/panel/webservice/send"
|
||||
|
||||
# access_token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJzb2JhbiIsInNjb3BlIjpbIndlYnNlcnZpY2UiXSwiZXhwIjoxNzQ0MTAyMDU5LCJ1c2VyRGV0YWlscyI6eyJpZCI6MjU0MCwidXNlck5hbWUiOiJzb2JhbiIsInJvbGUiOiJVU0VSIiwiZW5hYmxlZCI6dHJ1ZSwic3lzdGVtSWQiOjcyMiwiYWNjZXNzIjp7InJvbGUiOlsiYWRkIiwiZWRpdCIsImdldCIsImRlbGV0ZSJdLCJwaG9uZUJvb2siOlsiYWRkIiwiZWRpdCIsImdldExvY2FsIiwiZ2V0R2xvYmFsIiwiZGVsZXRlIl0sInNtcyI6WyJzaW5nbGUiLCJnZXRMb2NhbCIsImdldEdsb2JhbCIsImJ1bGsiLCJkYiJdLCJyZXBvcnQiOlsiZ2V0TW9HbG9iYWwiLCJnZXREYWlseUxvY2FsIiwiZ2V0TW9Mb2NhbCIsImdldERhaWx5R2xvYmFsIl0sIndzIjpbIndzIl0sInVzZXIiOlsiYWRkIiwiZWRpdCIsImdldExvY2FsIiwiZ2V0IiwiZ2V0R2xvYmFsIiwiZGVsZXRlIl0sInRvb2xzIjpbInJhY2UiLCJwZXJpb2RpYyIsInBvbGxpbmciLCJzZWNyZXRvcnkiLCJhdXRvYW5zd2VyIl0sImZpbmFuY2UiOlsidGRyIiwiY2hhcmdlIl19LCJyb2xlSWQiOjQ0NDAsImNoaWxkcmVuSWRzIjpbXSwic3lzdGVtVHlwZSI6Ik5PUk1BTCIsInN5c3RlbVBheW1lbnRUeXBlIjoiREVCSVQiLCJzeXN0ZW1OYW1lIjoic29iYW4iLCJzZW5kV2l0aE91dFBlcm1pc3Npb25TeXN0ZW0iOmZhbHNlLCJtaXNDdXN0b21lciI6Itio2YbYr9in2LEg2LPZiNio2KfZhiDYs9in2YXYp9mG2YciLCJwYXJlbnRVc2VyTmFtZSI6bnVsbCwicGFyZW50SWQiOm51bGwsImFkbWluIjp0cnVlfSwiYXV0aG9yaXRpZXMiOlsiVVNFUiJdLCJqdGkiOiJNeU5vTml2RURmc3YxUDR3U20tbTR2Y2NHODgiLCJjbGllbnRfaWQiOiJzb2JhbiJ9.9mdneDduK4OVH2zsXvRqvXt2qwpLvs0vCuseLaB-LCo'
|
||||
access_token = get_access_token()
|
||||
|
||||
body = [
|
||||
{
|
||||
"sender": "98200000443295",
|
||||
"recipient": phone_number,
|
||||
"body": message,
|
||||
# "customerId": "1",
|
||||
# "sendDate": "2024-03-04 10:17:00"
|
||||
}
|
||||
]
|
||||
|
||||
headers = {
|
||||
'Authorization': f'Bearer {access_token}',
|
||||
'Content-Type': 'application/json',
|
||||
'Accept': 'application/json',
|
||||
}
|
||||
|
||||
response_object = requests.post(url, headers=headers, json=body)
|
||||
print(response_object.text)
|
||||
|
||||
|
||||
# send_sms("989106853582", "تست")
|
||||
Loading…
Add table
Reference in a new issue