aurbano / robinhood-node

:chart_with_upwards_trend: NodeJS client for Robinhood Trading :fire:
https://aurbano.github.io/robinhood-node
MIT License
694 stars 185 forks source link

Account Isn't Sent - Fails #118

Open ZacharyHandshoe opened 3 years ago

ZacharyHandshoe commented 3 years ago

I am utilizing the JS framework to send a sell request. I initially authenticate with a token, which is tossed in correctly. When I run a request not needing an account, the request is fine and works. If the account is needed it fails as the framework does not fill in an account url for the request. The authorization token is filled in and used with the authentication.

Code being executed:

var Robinhood=require('robinhood')(credentials, function (){});
Robinhood.place_sell_order({
        account:accountString,
        type:'market',
        quantity:quantity,
        bid_price:212.02,
        instrument:{
            url:await get_stock_url(ticker),
            symbol:ticker
        }
    },
function (error, response, body){
            if(error){
                console.log(error);
            }else{
                console.log(body);
            }
        }
    );

Expected result

A sell request for 1 share of MSFT at $212.02 is executed.

Actual behaviour

image The above is a photo of the fields being presented in the POST request. As shown, the account field is missing and is the root cause of the problem.

aurbano commented 3 years ago

Good catch! Feel free to send a PR for this :)

ZacharyHandshoe commented 3 years ago

I have edited the source to manually take in a string and then use that for the account. This sends what would look like a correct request, but now I get the following error

{"account":["Invalid hyperlink - No URL match."]}

I know the account field which I give is correct as it has been copy-pasted from a successful order put through on the Robinhood website. Could this have something to do with the serialization?