Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 21 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,23 +43,34 @@ except Exception as e:
raise e

correlation_id = "abcde"
# Method 1: login api using password.
data = smartApi.generateSession(username, pwd, totp)

if data['status'] == False:
logger.error(data)
if data.get('status', False):
logger.info(f"Your login data: {data}")

else:
# login api call
# logger.info(f"You Credentials: {data}")
# To get authToken/jwtToken.
authToken = data['data']['jwtToken']
# To get refreshToken.
refreshToken = data['data']['refreshToken']
# fetch the feedtoken
# To get the feedtoken.
feedToken = smartApi.getfeedToken()
# fetch User Profile
res = smartApi.getProfile(refreshToken)

else:
# Error msg if can't able to login with password(pin).
logger.error(data)

# Method 2: To login or generate authToken/jwtToken using RefreshToken.
refreshToken = "Your refresh token from last login"
smartApi.generateToken(refreshToken)
res=res['data']['exchanges']

# fetch User Profile
res = smartApi.getProfile()

if not res.get('status'):
logger.error(f"Can't login check your credentials: {res}.")

else:
#place order
try:
orderparams = {
Expand Down Expand Up @@ -127,7 +138,7 @@ else:
logger.exception(f"Historic Api failed: {e}")
#logout
try:
logout=smartApi.terminateSession('Your Client Id')
logout=smartApi.terminateSession()
logger.info("Logout Successfull")
except Exception as e:
logger.exception(f"Logout failed: {e}")
Expand Down
14 changes: 7 additions & 7 deletions SmartApi/smartConnect.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,8 @@ def setSessionExpiryHook(self, method):
raise TypeError("Invalid input type. Only functions are accepted.")
self.session_expiry_hook = method

def getUserId():
return userId
def getUserId(self):
return self.userId

def setUserId(self,id):
self.userId=id
Expand Down Expand Up @@ -270,7 +270,7 @@ def generateSession(self,clientCode,password,totp):
params={"clientcode":clientCode,"password":password,"totp":totp}
loginResultObject=self._postRequest("api.login",params)

if loginResultObject['status']==True:
if loginResultObject.get('status')==True:
jwtToken=loginResultObject['data']['jwtToken']
self.setAccessToken(jwtToken)
refreshToken = loginResultObject['data']['refreshToken']
Expand All @@ -290,8 +290,8 @@ def generateSession(self,clientCode,password,totp):
else:
return loginResultObject

def terminateSession(self,clientCode):
logoutResponseObject=self._postRequest("api.logout",{"clientcode":clientCode})
def terminateSession(self):
logoutResponseObject=self._postRequest("api.logout",{"clientcode":self.userId})
return logoutResponseObject

def generateToken(self,refresh_token):
Expand Down Expand Up @@ -319,8 +319,8 @@ def renewAccessToken(self):

return tokenSet

def getProfile(self,refreshToken):
user=self._getRequest("api.user.profile",{"refreshToken":refreshToken})
def getProfile(self):
user=self._getRequest("api.user.profile")
return user

def placeOrder(self,orderparams):
Expand Down