43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
import requests
|
|
|
|
class DhiraaguAPI:
|
|
def __init__(
|
|
self,
|
|
phone: str = None,
|
|
otp: str = None,
|
|
token: str = None,
|
|
account: str = None,
|
|
) -> None:
|
|
self.phone = phone
|
|
self.otp = otp
|
|
self.token = token
|
|
self.account = account
|
|
self.headers = {
|
|
'Host': 'app-production.dhiraagu.com.mv',
|
|
'Content-Type': 'application/json',
|
|
'Connection': 'keep-alive',
|
|
'Accept': '*/*',
|
|
'User-Agent': 'MyDhiraagu/5.0 (mv.com.dhiraagu.app; build:1; iOS 17.5.0) Alamofire/5.6.1',
|
|
'Accept-Language': 'en-US;q=1.0, dv-MV;q=0.9, ar-MV;q=0.8',
|
|
# 'Content-Length': '33',
|
|
# 'Accept-Encoding': 'br;q=1.0, gzip;q=0.9, deflate;q=0.8',
|
|
}
|
|
if self.token:
|
|
self.headers['Authorization'] = f'Bearer {self.token}'
|
|
|
|
def login(self):
|
|
data = requests.post(
|
|
'https://app-production.dhiraagu.com.mv/auth',
|
|
json={
|
|
'number': self.phone,
|
|
'otp': self.otp
|
|
}
|
|
)
|
|
return data.json()
|
|
|
|
def bills(self):
|
|
return requests.get(
|
|
f'https://app-production.dhiraagu.com.mv/io/v1/info/subscribers/{self.account}/liberate/billinfo',
|
|
headers=self.headers
|
|
).json()
|