50 lines
2.8 KiB
Python
50 lines
2.8 KiB
Python
# 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):
|
|
try:
|
|
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, timeout=10)
|
|
print(response_object.text)
|
|
except Exception as e:
|
|
print(e)
|
|
|
|
|
|
# send_sms("989106853582", "تست")
|