Navigation

    SmartAPI Forum
    • Register
    • Login
    • Search
    • Categories
    • Popular
    • Groups
    • FAQs
    • API Docs

    Websocket to obtain Order Status

    Python SDK
    6
    23
    347
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Surya 1 @Surya 1 last edited by

      @techs @Ayush-Kumar @SmartAPI_Angel @admin @Ashok

      here is what I have quickly tried

      Try1: using asyncio

      import websockets 
      import asyncio 
      import json
      
      with open('/Users/prabu/Angel_Broking/ab.json') as f:
          data = json.load(f)
      client_code = data['client_code']
      api_key = data['api_key']
      
      with open('/Users/prabu/Angel_Broking/ab_tokens.json') as f:
          data = json.load(f)
      feed_token = str(data['feedToken'])
      access_token = data['jwtToken']
      refreshToken = data['refreshToken']
      
      ws_request = {
           "actiontype" : "subscribe",
           "feedtype" : "order_feed",
           "jwttoken" : access_token,
           "clientcode" : client_code,
           "apikey" : api_key
      }
      
      async def listen(jwttoken, client_id, api_key,ws_request ) :
          
          url = "wss://smartapisocket.angelbroking.com/websocket?jwttoken=" + jwttoken + "&&clientcode=" + client_id + "&&apikey=" + api_key
          async with websockets.connect(url) as ws:
              # await ws.send(ws_request)
              
              msg = await ws.recv()
              print (msg)
      
      asyncio.get_event_loop().run_until_complete(listen(access_token, client_code, api_key, ws_request))
      

      Try 2 : using websocket package

      import websocket 
      import json
      
      
      with open('/Users/prabu/Angel_Broking/ab.json') as f:
          data = json.load(f)
      client_code = data['client_code']
      api_key = data['api_key']
      
      with open('/Users/prabu/Angel_Broking/ab_tokens.json') as f:
          data = json.load(f)
      feed_token = str(data['feedToken'])
      access_token = data['jwtToken']
      refreshToken = data['refreshToken']
      
      ws_request = {
           "actiontype": "heartbeat",
           "feedtype": "order_feed",
           "jwttoken": access_token,
           "clientcode": client_code,
           "apikey": api_key
      }
      
      def on_msg(ws, msg):
          print(msg)
         
      def on_connect(ws, response,request=ws_request):
          print ( response)
          ws.send(request)
          
      def on_close(ws, code, reason):
          ws.stop()
      
      url = "wss://smartapisocket.angelbroking.com/websocket?jwttoken=" + access_token + "&&clientcode=" + client_code + "&&apikey=" + api_key
      # print (url)
      
      ws = websocket.WebSocketApp(url, on_open = on_connect, on_message= on_msg, on_close= on_close)
      ws.run_forever()
      

      But Im not getting any response.. Could you please talk to your team and modify this to be a working example @admin ?

      I know its not perfect and im missing something.. my aim is to provide some base for other users to try out and improve.

      S S 2 Replies Last reply Reply Quote 0
      • S
        Surya 1 @Surya 1 last edited by

        @admin

        why can't you provide order updates via the data websocket like other API providers do. that will make our life so simple..

        just add one more function like

        on_order(ws, msg)
           print ( msg) 
        

        this would be the easiest for anyone rather than fiddling with establishing another websocket connects and send heart beat every minute.. pretty inefficient..

        A 1 Reply Last reply Reply Quote 0
        • A
          admin @Surya 1 last edited by

          HI @rajanprabu ok we report this to the team and update you.

          S 1 Reply Last reply Reply Quote 0
          • T
            techs @admin last edited by

            Hi @admin and @SmartAPI_Angel ,
            Sample code should be correct and concise code that your readers can quickly understand and easily reuse with minimal side effects.
            The link you have shared is just a Websocket Order Status API documentation which doesn't have any working example code.

            Please share working python code which uses Websocket Order Status API

            A 1 Reply Last reply Reply Quote 0
            • A
              admin @techs last edited by

              HI @techs @rajanprabu we have passed the requirement to the team to add the working example we will soon make it available to you.

              S 1 Reply Last reply Reply Quote 0
              • S
                Surya 1 @admin last edited by

                @admin

                Thanks for the prompt response.. This would be of big help.

                1 Reply Last reply Reply Quote 0
                • S
                  Surya 1 @admin last edited by

                  @admin

                  Any update on this ? Any example code or ordering updates via data sockets ?

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    admin @Surya 1 last edited by

                    Hi @rajanprabu As coordinated with the team the example in doc seems to be explanatory to use it. We can connect with you to discuss on this.

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      Surya 1 @admin last edited by

                      @admin Thanks of the update..

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        admin @Surya 1 last edited by

                        HI @rajanprabu Let us know when can we connect with you so that we can brief you on the requirement.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Surya 1 @admin last edited by

                          @admin I fixed it myself. Thanks.

                          1 Reply Last reply Reply Quote 0
                          • W
                            webseos @admin last edited by

                            @admin Which Package to Install in python for WebSocket, the modulename please

                            e.g pip install ..... ?

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              admin @webseos last edited by

                              HI @webseos please find it below:
                              pip install smartapi-python
                              pip install websocket-client

                              1 Reply Last reply Reply Quote 0
                              • S
                                simran.munshi @Surya 1 last edited by

                                @rajanprabu Were you able to solve the issue and get the order update. can you please share the sample code if possible.

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post