Lägga order Python 3

Added by Oliver over 4 years ago

Hej, när jag försöker lägga en order får jag endast ett tomt svar. När jag sedan kollar på lagda ordrar har ingen lags till. Jag använder pythonpaketet requests, med vilket jag lyckats göra ett flertal andra interaktioner med API:t. Här är min kod:

headers = {"Accept": "application/json"}

r = requests.get('http://' + URL + '/next/' + API_VERSION + '/accounts', auth=auth, headers=headers)
data = json.loads(r.text)

acno = data[0]['accno']
market_id = 11
identifier = '101'
price = 80
volume = 10
currency = 'SEK'

form = dict(identifier=identifier, market_id=market_id, price=price, volume=volume, currency=currency, side='SELL',
            order_type='LIMIT', valid_until='2016-04-30')

r = requests.post('http://' + URL + '/next/' + API_VERSION + '/accounts/' + str(acno) + '/orders', data=form, auth=auth,
                  headers=headers)

print(r)

r = requests.get('http://' + URL + '/next/' + API_VERSION + '/accounts/' + str(acno) + '/orders', auth=auth,
                 headers=headers)
print(r)

Vilket ger svaret:

<Response [204]>
<Response [204]>

Alltså helt tomma svar. Är tacksam för all hjälp!

/Oliver


Replies (4)

RE: Lägga order Python 3 - Added by Lars over 4 years ago

Tre förslag:

1) Lägg in en print(r) även efter första requests.get så att du vet säkert att det första anropet fungerar och att accno får rätt värde.

2) Prova med https i stället för http i alla anropen.

3) Prova att explicit ange Content-Type för POST-anropet.

RE: Lägga order Python 3 - Added by Oliver about 4 years ago

Tack för tipsen!

Jag kollade med print och det första anropet fungerar bra. Jag testade även att explicit ange Content-Type, vilket gav samma resultat som tidigare.

När jag sedan ändrade till https fick jag svar. Jag får dock responsen:

{'order_state': 'DELETED', 'message': 'User does not have required agreements.', 'action_state': 'INS_FAIL', 'order_id': 1117310, 'result_code': 'ORDER_MISSING_AGREEMENT'}

Vad kan detta bero på?

Tack igen!

RE: Lägga order Python 3 - Added by Björn about 4 years ago

Det svaret får man om man försöker blanka utan att ha fyllt i rätt papper för det. I testsystemet behöver man bara be Nordnet att fixa det, här på forumet.

RE: Lägga order Python 3 - Added by Oliver about 4 years ago

Okej, tack! Då skriver jag till en av admin.

(1-4/4)