Luo todennusmerkkijonot (REST API)

Viimeksi päivitetty: 7. lokakuuta 2026

Jotkin REST-päätepisteet mahdollistavat arkaluonteisia toimintoja, kuten toimeksiantojen asettamisen tai digitaalisen omaisuuserän nostojen pyytämisen. Näitä yksityisiä päätepisteitä voidaan kutsua vain salattujen pyyntöjen kautta, ja jokaiseen pyyntöön on sisällytettävä todennusmerkkijono (authent). authent lasketaan seuraavista syötteistä:

PostData

postData on "&"-merkkiä käyttävä ketjutus muodossa =, ja se on päätepiste­kohtainen.

Esimerkki

Käyttääksesi päätepistettä orderbook valitset argumentin symbol arvolla
fi_xbtusd_180615. postData on tällöin symbol=fi_xbtusd_180615.

Todennusvirran päivitys v3-päätepisteille: 20.2.2024 alkaen päivitämme /derivatives/*-päätepisteiden (v3) todennusvirran noudattaaksemme parhaita käytäntöjä ja parantaaksemme tietoturvatasoa. (lisätiedot alla)

PostData-generoinnin muutokset:


- Ennen julkaisua: Asiakkaiden oli tiivistettävä kyselymerkkijonon parametrit ennen URL-koodausta Authent-generointia varten, esim. `greeting=hello world`.


- Julkaisun jälkeen: Todennusprosessi edellyttää nyt täyden, URL-koodatun URI-komponentin tiivistämistä sellaisena kuin se esiintyy pyynnössä, esim. `greeting=hello%20world`. Tämä menetelmä parantaa tietoturvaa ja noudattaa parhaita käytäntöjä.
Päivitys koskee erityisesti v3-päätepisteen batchorder-toimintoa, joka hyväksyy JSON-rungon kyselyparametreissaan.


Yhteensopivuus aiempien versioiden kanssa ja tulevaisuuden suunnitelmat:


Toistaiseksi muutos on yhteensopiva aiempien versioiden kanssa. Alusta hyväksyy molemmat edellä kuvatut PostData-generointimenetelmät. Tavoitteenamme on kuitenkin poistaa vanha menetelmä (dekoodattujen kyselymerkkijonon parametrien tiivistäminen) käytöstä tulevaisuudessa korkeimpien tietoturvastandardien ylläpitämiseksi. Tiedotamme muutoksesta hyvissä ajoin ja kannustamme kaikkia asiakkaita siirtymään uuteen menetelmään mahdollisimman pian häiriöttömän palvelun varmistamiseksi.

Nonce

nonce on jatkuvasti kasvava kokonaislukuparametri. Hyvä nonce-arvo on järjestelmäsi aika
millisekunteina (merkkijonomuodossa). Järjestelmämme sietää lyhyen ajan epäjärjestyksessä olevia nonce-arvoja. Nonce ei ole pakollinen.

Esimerkki 1415957147987

Monet todennusongelmat johtuvat virheellisestä nonce-arvosta. Uusi API-avainpari nollaa nonce-arvon automaattisesti ja ratkaisee nämä ongelmat.

Päätepisteen polku

endpointPath on päätepisteen URL-laajennus.

Esimerkki /api/v3/orderbook

API-salaisuus

api_secret saadaan edellisessä osiossa kuvatulla tavalla.

Esimerkki

rttp4AzwRfYEdQ7R7X8Z/04Y4TZPa97pqCypi3xXxAqftygftnI6H9yGV+O
cUOOJeFtZkr8mVwbAndU3Kz4Q+eG

Näiden syötteiden perusteella authent lasketaan seuraavasti:

  1. 1

    Yhdistä

    postData

    +

    nonce

    +

    endpointPath

  2. 2

    Tiivistä vaiheen 1 tulos SHA-256-algoritmilla

  3. 3

    Base64-pura api_secret-arvosi

  4. 4

    Käytä vaiheen 3 tulosta tiivistämään vaiheen 2 tulos HMAC-SHA-512-algoritmilla

  5. 5

    Base64-koodaa vaiheen 4 tulos

Esimerkki

Alla on esimerkki authent-toteutuksesta Javalla. Täydelliset esimerkit eri ohjelmointikielillä löydät osiosta Lisäresurssit. public static String getAuthent(String postData, String nonce, String endpointPath, String secretKeyBase64)
{
Mac mac512;
MessageDigest sha256;
try {
SecretKey secretKey = new SecretKeySpec 
(Base64.decode(secretKeyBase64.getBytes()), HMAC_SHA_512);
mac512 = Mac.getInstance(HMAC_SHA_512);
mac512.init(secretKey);
sha256 = MessageDigest.getInstance("SHA-256");
} catch (IOException e) {
...
} catch (InvalidKeyException e) {
...
} catch (NoSuchAlgorithmException e) {
...
} sha256.update(postData.getBytes());
sha256.update(nonce.getBytes());
sha256.update(endpointPath.getBytes());
mac512.update(sha256.digest());
return Base64.encodeBytes(mac512.doFinal()).trim();
}