Giter VIP home page Giter VIP logo

Comments (9)

itsjafer avatar itsjafer commented on September 1, 2024

Hi David, there’s no active plans to implement any new features, though I’d be happy to review and approve pull requests from others!

from schwab-api.

alexandercommon avatar alexandercommon commented on September 1, 2024

I don't think this would be hard to do, but it would help us save time if you gave us a clue how you obtained those api urls.

I don't see them used anywhere else, that I can see. I haven't been able to find them in either the web source code or by capturing the mobile app traffic.

from schwab-api.

WinesProof avatar WinesProof commented on September 1, 2024

I am also very curious where these urls came from. It would help so much to be able to see some requests for different scenarios.

I figured out how to enter limit orders with some trial and error, but they fail if the limit is marketable (i.e. above ask for buy and below bid for sell). In the web interface, if the limit is marketable, it asks for a confirmation to be sure that's what you intended, so I presume the api also needs some verification key:value in the post to urls.order_confirmation(). I've tried a few things similar to the key:value that is passed in the browser trade interface ("OrderAffrmIn": True), but no luck.

Trades also fail if confirmation is needed for other reasons. For example, commodity related products (even basic ETFs like GLDM) require acknowledgement of the risks and therefore cannot be purchased with this package.

from schwab-api.

itsjafer avatar itsjafer commented on September 1, 2024

From what I recall, the APIs that I call in this library were publicly available through sniffing network requests on the website. If these requests are no longer visible, my guess is that Schwab stopped using these APIs on the client-side web app (even though the APIs remain functional).

I don't quite have as much time anymore to work on this, but I imagine there must be some API that's being called on the website, even if its a new URL.

from schwab-api.

WinesProof avatar WinesProof commented on September 1, 2024

Thanks for responding Jafer

The current web interface appears to be using ausgateway.schwab.com instead of client.schwab.com, and the requests look very different. I've tried replicating those requests, but haven't gotten anywhere (I'm remembering that everything was rejected by the server).

I was hoping you knew of some older url that was still accessible from a browser for entering orders with client.schwab.com, but thanks for clarifying that's not the case.

from schwab-api.

itsjafer avatar itsjafer commented on September 1, 2024

An update on this, I've managed to replicate the "new" requests and get past authorization errors. At a cursory glance, I believe adding this feature support would be straightforward and I'll do my best to document the API request/response so that you all can contribute features going forward!

from schwab-api.

WinesProof avatar WinesProof commented on September 1, 2024

Excellent! I look forward to seeing that, even if you only implement a few things. Assuming we just need to replicate what the web interface does, I should be able to add more to it.

from schwab-api.

itsjafer avatar itsjafer commented on September 1, 2024

Hi! I pushed version 0.3.0, which features a trade_v2() function. For now, I've hard coded it as a day only market order, but if you take a look, it is very simple to add limit orders and stop loss.

Please feel free to send me a PR to add the functionality if you're open to testing it!

from schwab-api.

itsjafer avatar itsjafer commented on September 1, 2024

Quick update, version 0.3.2 has Limit order and Stop loss order support, but will still require some investigation on your part to figure out the Schwab enum code mappings.

from schwab-api.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.