@dhavalp I'll let you know once the Autobahn Python client + JS clients are ready.
If you want real time ticks, there is no other way but to get co-location. The WebSocket API has a minimum latency of 700ms-1s. You will not get more than one tick f…
@dhavalp To add, we'll give you a dev version of the Python client this week that uses the Autobahn WebSocket library. If that works for you, we'll merge it into the main branch.
@dhavalp We have been unable to reproduce the latency issues at our end. We have tested the Python WebSocket client on multiple versions of Linux with variable number of instrument subscriptions. Moreover, as I've said before, websocket.kite.trade i…
@gully This is not a limitation in the first place. Postback URLs are registered to your api_key, not your Zerodha user_id. So, only orders originating from your api_key (irrespective of the user_id) can go as postbacks.
Right now, the documentatio…
@gully my apologies, the above answer is incorrect.
You will only get postbacks for orders that are *placed* through the API. You can modify an order using Kite web, as long as it was placed originally through the API.
Postbacks work based on your…
@madhav This is not possible currently. Like smallcase.com has done, you will have to maintain a parallel portfolio at your end and tally and figure our the discrepancies.
Hi Vivek,
Unfortunately this is not supported (due to the dynamics of holdings and positions in the system). You can maintain a map of orders you've placed at your end and tally it against the holdings and positions though.
@vivek_krishna Actually yes. Please refer to the `finished()` function here -- https://kite.trade/docs/connect/v1/#generating-dynamic-buttons-with-javascript
@gautam_s60 This'll be done for sure. Major changes will be communicated beforehand. Will check the docs.
@sameer If you're concerned about changes, you can always fetch the /params values every day (morning or multiple times), store it in a config…
@suraj I've reactivated your app. It should've been renewed automatically (we're looking into this). You can always login to your console account and activate the app.
@sameer It is extremely unlikely that these values will change. It's meant to be an easy way to check new additions, like a new order type (even that is going to be exceptionally rare).
We're trying to work out a solution. These issues are endlessly frustrating to us and the clients.
https://www.facebook.com/zerodha.social/photos/a.201404083204414.52453.152751141403042/1227197600625052/?type=3&theater
Hi @RJ0958 We don't have a mechanism to dump stock data right now, but this is something we may add.
Please trying spacing your requests apart to not hit the rate limits. Also, if you want minute data, you can stream live data using WebSockets and …
There's something wrong with the SHA-256 hash you are creating then.
Generate a request token, and PM me the request_token and the hash you are generating. I'll check if your hash matches the right one.
@gully We have new features on the roadmap. However, the bulk of the effort at the moment is in revamping the underlying Thomson Reuter's architecture to improve the stability of the APIs (after the recent issues we've faced).
Some major things we'…
You can always fetch the /instruments and filter out what you need.
We'll consider adding a call to get info about a single instrument (this request was raised in another thread as well).
That's correct. The net position shows you a combined value.
It's not possible to see the P&L of an order, but the /positions API gives you a set of "day" entries (https://kite.trade/docs/connect/v1/#positions) that give you statistics for the …
@gully This only applies to orders and trades. They are ephemeral and get cleared at the end of the trading day.
Positions, holdings, margins etc. obviously get carried forward across days.
@sameer This is not something we can roll out in the current version. We cannot arbitrarily change the structure of an existing mode. We may add a new mode, or figure out a different mechanism soon.
@sameer This was not done because of the technical complexities involved (keeping track of dozens of fields [per scrip? per connection?] for tens of thousands of concurrent users on top of instrument subscriptions).
Maybe we'll relook at this in th…
@RN0316 You can subscribe to the historical API (this costs extra) and fetch updates every minute.
Or, you can just connect to the WebSocket API, stream ticks every second, and form 1 minute points at your end.
HI @SAURABH as I write this, there are thousands of connections streaming 200 instruments concurrently. I'm unable to pinpoint where exactly this is going wrong.
Can you e-mail your test script that you're using for streaming to [email protected]…
@SAURABH I'm not sure where or how this is happening at your end. There's absolutely no restriction of 20 subscriptions in the system. @soumyadeep has a different issue where his script crashes, but he's streaming 60+ instruments.
@soumyadeep Can you please share your test script? Let me run it at our end and see.
The public_token bit, we're aware of this. We've left public_token auth open for a limited period.
I am afraid this is not possible immediately. It's 8:15 because we get several critical files from the exchange late and we have to update the systems with them.
However, this is an issue we're looking at resolving in the near future.
Looks like the root CA bundle on your instance is broken for some reason. The cert on websocket.kite.trade is fine -- https://www.sslshopper.com/ssl-checker.html#hostname=websocket.kite.trade
I've also tested this on multiple EC2 instances and it w…
If you are placing the order using the API, you get the order_id as the response right after the order is placed.
the /orders call gives you a list of all orders along with their IDs. https://kite.trade/docs/connect/v1/#orders
@vini.jegan You shared your api_secret in the above message. I've edited it out. Never share your API secret. I've also regenerated the secret, so please copy the new one from the developer console and try again. It should work this time.
I'm afraid I'm unable to talk on the phone.
I just tried connecting to websocket.kite.trade from an EC2 instance in Mumbai and it worked fine.
What do you get when you do curl https://websocket.kite.trade from your instance?
@soumyadeep It is ephemeral. We do not have a way to buffer and relay ticks per connection. If minute data will suffice, you could look at the historical data API.
I am not sure what's wrong here. If the sample code is working fine and your class based code isn't, there's an issue with the class implementation at your end.
Hm, are you sure there are no breaks in connections to websocket.kite.trade? You should not be getting a gateway timeout there. Please run `ping websocket.kite.trade` and see if you get any drops.
If you're getting timeouts on both WebSocket and th…
@balasoft80 We do not have an official Java client. However, it should be straight forward for you to send HTTP requests from your Java app to communicate with the API.
There's a 3rd party Java library for streaming data which you may be able to us…
@Shabeershah2002 Pushing postbacks via WebSockets is something we're working on. We should be able to make a release in the coming couple weeks.
@balasoft80 You can set the redirect_url to 127.0.0.1 (local IP) and have the redirect go there. Since …
This is manual because the exchange mandates a physical login.
For desktop apps, here are some pointers https://kite.trade/docs/connect/v1/#mobile-and-desktop-apps
@Shabeershah2002 We clear the login tokens at 8:15 AM. This is because the OMS team runs several processes (clearing of caches, uploading of new data for the day etc.) until then. These actually start at 6 AM and continue all the way until 8:15 AM. …
Connect APIs, as they are HTTP, are universal. You can use them on almost any platform without any dependencies. Also, the APIs are very simple to use and understand.
Pi Bridge is an addon that sits on top of Pi, the windows application. You need P…
@soumyadeep @sayanriju We've released an update to the Python client (3.1.6). You can run a pip update: pip install kiteconnect -U
You should pass the param disable_ssl_verification=True to the .connect() method. Please not that this is a workaroun…
@SAURABH Are you referring to the WebSocket API? I just verified, these instruments are ticking (you can check on kite.zerodha.com. It uses the same instrument_tokens)
Yes, any language with an http library that can make requests.
The easiest place to learn is the documentation itself https://kite.trade/docs/connect/v1/
There are simple HTTP curl requests, that can be run from a terminal, given as example for ev…
@dsk The APIs are REST-like HTTP endpoints. You don't need Python, you can make HTTP requests from any platform or programming language to interact with the APIs. We have official Python and PHP clients though.
In the developer console, you should …