Search code examples
pythonjsonapisession-variablesalgorithmic-trading

How to extract the session token from Login response in Python?


The code is:

samco=StocknoteAPIPythonBridge() 
login=samco.login(body={"userId":'XY1234','password':'XY@12345','yob':'1995'})
print("Login details",login)

It's output comes as:

Login details {
  "serverTime": "19/01/21 23:25:34",
  "msgId": "8272f7af-9aa8-4800-abe0-952696a3845",
  "status": "Success",
  "statusMessage": "Login session token generated successfully ",
  "sessionToken": "67426552e3bd0ab285c5d7f64a39aa8v",
  "accountID": "XY1234",
  "accountName": "SHIVAM TAWARI",
  "exchangeList": [
    "BSE"
  ],
  "orderTypeList": [
    "MKT",
    "L",
    "SL"
  ],
  "productList": [
    "MIS",
    "CNC",
    "NRML"
  ]
}

I just want to extract the session token and store it into a variable. How do I do it?


Solution

  • You can use json.loads(login)['sessionToken']

    Example

    import json
    
    login=''' {
      "serverTime": "19/01/21 23:25:34",
      "msgId": "8272f7af-9aa8-4800-abe0-952696a3845",
      "status": "Success",
      "statusMessage": "Login session token generated successfully ",
      "sessionToken": "67426552e3bd0ab285c5d7f64a39aa8v",
      "accountID": "XY1234",
      "accountName": "SHIVAM TAWARI",
      "exchangeList": [
        "BSE"
      ],
      "orderTypeList": [
        "MKT",
        "L",
        "SL"
      ],
      "productList": [
        "MIS",
        "CNC",
        "NRML"
      ]
    }'''
    
    token = json.loads(login)['sessionToken']
    
    print(token)