priv.api... och pub.api.test.nordnet.se

Added by Ulf over 5 years ago

Kan någon förklara när och hur priv.api.... och pub.api.test.nordnet.se skall användas.
Jag kan logga in med api.test.nordnet.se och får session_key ( r=requests.post(URL1 + '/login',data=params, headers=headers) )
Sen kan jag köra lite olika kommandon som accounts, lists, ...
Men hur skall jag använda pub. och priv.?
Skall jag logga in en gång till?? (Går inte)?
Programmerar i Python med tacksam för alla hjälp oavsett språk.


Replies (5)

RE: priv.api... och pub.api.test.nordnet.se - Added by Asbjørn over 5 years ago

Hello Ulf,

The feeds are your sources of real-time information, while the REST API is merely intended for information that is less time-sensitive. They are dual TCP sockets on which you can send information about what items you want to know about, and receive said information when they have changed. In the documentation it is described as 'submitting' to updates about items.

The public feed is used for information about stocks, their values and sales. The private feed is used for information about your own personal orders and trades.

Personally, I code in Perl, so I can't share any Python code with you. The documentation [1] is pretty thorough and detailed. You don't need to sign in again, you use the session key from the login to the REST API. It really boils down to sending a JSON frame with your session key, and then subscribing to information with some different JSON frames.

I hope that clears it up a bit.

- Asbjørn

[1] https://api.test.nordnet.se/next/2/api-docs/docs/feeds

RE: priv.api... och pub.api.test.nordnet.se - Added by Ulf over 5 years ago

Tack nu fungerar det. Vill bara kontrollera att jag förstått.
Jag öppnar socket till public feed och frågar tex. om pris på ERIC. Sedan lyssnar jag. Eftersom det är låg aktivitet in test systemet så får jag ett svar och sedan bara en massa heartbreaks. Kurserna i testsystemet är inte kopplade till riktiga kurser utan beror på att man lägger order i testsystemet? Priset för ERIK ändrades inte under den halvtimme som jag testade. Är detta riktigt?

Ulf

Utskrift från loopen nedan,

Public feed: pub.api.test.nordnet.se , port: 443
ERIC, i=100 m=11 last=107.5
heartbeat
heartbeat
heartbeat
...
...

print('Public feed:',hostPub,', port:',portPub)
  1. Ask price for ERIC ID=100
    cmd={"cmd":"subscribe", "args":{"t":"price", "i":"100", "m":11}}
    cmdj=str.encode(json.dumps(cmd) + "\n")
    ssl_socket.write(cmdj)
n=0
while n<100:
out=ssl_socket.read(1024)
outs=out.decode(encoding='UTF-8')
j = json.loads(outs)
d=j['data']
if d=={}:
print(j['type'])
else:
print('ERIC, i={} m={} last={}'.format(d['i'],d['m'],d['last']))
n+=1

RE: priv.api... och pub.api.test.nordnet.se - Added by Ulf over 5 years ago

hmm. koden blev lite konstig
Bifogar fil med koden

RE: priv.api... och pub.api.test.nordnet.se - Added by Ulf over 5 years ago

Nyt försök

@print('Public feed:',hostPub,', port:',portPub)
  1. Ask price for ERIC
    cmd={"cmd":"subscribe", "args":{"t":"price", "i":"100", "m":11}}
    cmdj=str.encode(json.dumps(cmd) + "\n")
    ssl_socket.write(cmdj)

n=0
while n<100:
out=ssl_socket.read(1024)
outs=out.decode(encoding='UTF-8')
j = json.loads(outs)
d=j['data']
if d=={}:
print(j['type'])
else:
print('ERIC, i={} m={} last={}'.format(d['i'],d['m'],d['last']))
n+=1

  1. Close socket
    del ssl_socket
    s.close()
    @

RE: priv.api... och pub.api.test.nordnet.se - Added by Ulf over 5 years ago

Sista försöket med fil igen

(1-5/5)