Navigation

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

    "Order placement failed: 'NoneType' object is not subscriptable"

    Python SDK
    2
    26
    316
    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.
    • N
      N210013 last edited by

      i am getting error while order placement. my order parameter is as follows:

      {'variety': 'NORMAL', 'tradingsymbol': 'IDEA-EQ', 'symboltoken': '14366', 'transactiontype': 'SELL', 'exchange': 'NSE', 'ordertype': 'MARKET', 'producttype': 'DELIVERY', 'duration': 'DAY', 'price': 0.0, 'squareoff': 0.0, 'stoploss': 0.0, 'triggerprice': 0.0, 'trailingstoploss': 0.0, 'quantity': 1}

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

        HI @N210013

        We have noticed that you are experiencing issues with our SDK due to poor error handling. The error message you are seeing, "TypeError: 'NoneType' object is not subscriptable", is a result of the SDK not handling exceptions properly. This is causing the orderResponse variable to be None, which is leading to the error you are seeing.

        The correct error message from the RestAPI is "TPIN is not validated" with error code "AB4013". This error is likely being caused because you are trying to sell delivery holding without TPIN authorization. To read more about the same, please read this post on forums. (https://smartapi.angelbroking.com/topic/2376/only-pre-authoirsed-delivery-sell-orders-will-be-executed-through-smartapi-for-non-poa-clients)

        Please note that our SDKs are open source, so you are welcome to make contributions to improve the error handling and other aspects of the code. Additionally, if you encounter any errors in the future, you can make a call to the RestAPI directly to get the correct error message and information on how to resolve the issue.

        We apologize for any inconvenience this may have caused and thank you for your understanding.

        N 1 Reply Last reply Reply Quote 0
        • L
          laxm last edited by

          Hello @admin

          I'm receiving this error very frequently, sometimes it goes good. For example, yesterday it failed to place the order and today it was able to place the order successfully (no changes made).
          I'm following up on this error from many days through multiple threads. But I never got a solution. Can you please respond or make changes as to show the proper reason for the error.

          Hope I'll get some resolution this time...Thanks in advance.

          L 1 Reply Last reply Reply Quote 0
          • L
            laxm @laxm last edited by

            Hello @admin

            Please reply

            1 Reply Last reply Reply Quote 0
            • H
              hssandeep @hssandeep last edited by

              Can someone respond to this query? I am stuck here and unable to proceed
              Thanks a lot
              Sandeep

              1 Reply Last reply Reply Quote 0
              • N
                namit @admin last edited by

                Hello @admin
                so here is some more info which i get while placing the order.
                Basically this error is only coming while i'm trying to place order for options. For equity no error like this is coming.
                Also i m getting the following details while placing order which seems to be in your api code..

                File "C:\Python311\Lib\site-packages\smartapi\smartConnect.py", line 290, in placeOrder
                orderResponse= self._postRequest("api.order.place", params)['data']['orderid']
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
                TypeError: 'NoneType' object is not subscriptable

                So you may like to look at line no. 290 in your samrtConnect.py file for more info why this error is getting generated. Looking forward for your reply.
                Thanks

                1 Reply Last reply Reply Quote 0
                • N
                  namit @neeluru last edited by

                  @neeluru
                  is it working for options as well ? because i'm seeing this error only when i'm trying to place order for option {nifty, banknifty).

                  What i came to know that this is generating from the file smartConnect.py at line 290 which basically i don't understand. May be you can figure it out.
                  Let me know !!

                  1 Reply Last reply Reply Quote 0
                  • L
                    laxm last edited by

                    @admin

                    This is pending from several months, can you please reply? Many users facing the same issue.

                    1 Reply Last reply Reply Quote 0
                    • A
                      A920077 @laxm last edited by

                      @laxm
                      did you got the solution ,please share code for websocketv2

                      1 Reply Last reply Reply Quote 0
                      • K
                        ksquare last edited by

                        @admin @prasan , getting similar error while trying to place order for Option

                        orderparams = {
                        "variety": "NORMAL",
                        "tradingsymbol": "NIFTY03AUG2319800PE",
                        "symboltoken": "82889",
                        "transactiontype": "BUY",
                        "exchange": "NFO",
                        "ordertype": "MARKET",
                        "producttype": "CARRYFORWARD",
                        "duration": "DAY",
                        "price": 0,
                        "squareoff": "0",
                        "stoploss": "0",
                        "quantity": 1
                        }

                        L 1 Reply Last reply Reply Quote 0
                        • L
                          laxm @ksquare last edited by

                          @ksquare
                          in your case, I believe it's due to incorrect quantity. Please try using quantity as 50 instead of 1.

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