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 @admin last edited by

      @admin

      Yes some working example would be useful to have. I wanted to spend sometime on this.. but never managed..

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

        Hi @rajanprabu please go through below doc
        https://smartapi.angelbroking.com/docs/WebSocketOrderStatus

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

          @admin said in Websocket to obtain Order Status:

          https://smartapi.angelbroking.com/docs/WebSocketOrderStatus

          Im aware that documentation exist for a long time.. but what we are asking is a working example..

          S 1 Reply Last reply Reply Quote 0
          • 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