API transakcyjne
REST API umożliwia kontrolę własnego konta, poprzez zewnętrzne aplikacje, napisane przez użytkowników (np. boty transakcyjne).Informacje dla Developerów
API publiczne
Adres prywatnego APIGeneruj Klucz prywatnego API
|
Metody prywatnego API
Metody prywatnego API na zamówienie
|
Legenda
plns - ilość PLN
btcs - ilość BTC address - adres do zasileń Bitcoin, Litecoin orders - oferty, zawierają: oid, amount, price, type (1=ASK, 2=BID) oid - identyfikator oferty market - btcpln, ltcpln amount - ilość BTC LTC lub PLN (przy metodzie withdraw) price - cena PLN type - BTC LTC lub PLN (typ wypłaty) |
![]()
|
Przykładowy kod klienta PHP
Aby przykład działał prawidłowo należy uzupełnić kod poprawną składnią.
<?php
function ConnectApi(path, key = '', secret = '', array req = array()) {
//Czas do zapytania autoryzacji
mt = explode(' ', microtime());
req['nonce'] = mt[1].substr(mt[0], 2, 6);
//Dane POST
post_data = http_build_query(req, '', '&');
//Nagłówki
headers = array(
'Rest-Key: ' . key,
'Rest-Sign: ' . base64_encode(hash_hmac('sha512', post_data, base64_decode(secret), true)),
);
//init CURL
static ch = null;
if (is_null(ch)) {
ch = curl_init();
curl_setopt(ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt(ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; NevBit.com Client; ' . php_uname('s') . '; PHP/' . phpversion() . ')');
}
curl_setopt(ch, CURLOPT_URL, 'https://nevbit.com/api/' . path);
curl_setopt(ch, CURLOPT_POSTFIELDS, post_data);
curl_setopt(ch, CURLOPT_HTTPHEADER, headers);
//zapytanie
res = curl_exec(ch);
if (res === false) throw new Exception('Could not get reply: ' . curl_error(ch));
res = json_decode(res, true);
if (!res) {
throw new Exception('Invalid data received, please make sure connection is working and requested API exists');
}
return res;
}
//Saldo
ConnectApi('0/getFunds', 'kluczapi', 'sekretapi');
//Nowe zlecenie ASK
ConnectApi('0/sell', 'kluczapi', 'sekretapi', array('amount' => 2, 'price' => 17.15));
//Kasuj zlecenie 9 (ASK)
ConnectApi('0/cancelOrder', 'kluczapi', 'sekretapi', array('oid' => 9, 'type' => 1));
Przykładowy kod klienta Phyton
Aby przykład działał prawidłowo należy uzupełnić kod poprawną składnią.
from hmac import new from time import time from requests import post from requests.auth import AuthBase from hashlib import sha512 from base64 import b64decode, b64encode def base64_decode(in_str): return b64decode(pad4(in_str)) def pad4(in_str): len4 = len(in_str) % 4 if len4 == 1: raise ValueError('Input string would require === as a padding: %s' % in_str) return in_str + (4-len4)*'=' class Nevbit_auth(AuthBase): def __init__(self, key, secret): self.key = key self.secret = base64_decode(secret) def __call__(self, request): signature = b64encode(new(self.secret, request.body, sha512).digest()) request.headers.update(❴'Rest-Sign' : signature, 'Rest-Key' : self.key❵) return request r = post('https://nevbit.com/api/0/getFunds', auth=Nevbit_auth('key', 'secret'), data=❴'nonce' : str(int(time()*1e3))❵) print(r.json())