Kalshin rajapintabotti yhdistää kaupankäyntisäännöstön todennettuun tapahtumasopimustiliin. Vaikeinta ei ole yhden onnistuneen pyynnön lähettäminen. Vaikeaa on säilyttää pyynnön merkitys, kun yksiköt eroavat, vastaus katoaa, toimeksianto toteutuu osittain tai rajapinnan esitysmuoto muuttuu.
Luotettava asiakasohjelma käsittelee jokaista tilitoimea taloudellisena aikomuksena, jolla on pysyvä identiteetti. Verkkoyritykset, allekirjoitukset ja vastaukset kuuluvat tähän aikomukseen. Niistä ei saa tulla erillisiä kauppoja vain siksi, että yhteys oli hidas tai prosessi käynnistyi uudelleen.
Tämä artikkeli keskittyy pyyntörajapintaan. Kun tarvitaan tietty yksityiskohta, siinä käytetään nykyisiä Predictions API -käytäntöjä, mutta esimerkit ovat havainnollistavia suunnitteluharjoituksia. Tuotantokäyttöoikeus, tilin luvat ja markkinan tarkka määritys on varmistettava kyseiselle tilille.
Määritä taloudellinen aikomus ennen pyyntöä
Strategian tulee ilmaista tavoitteensa käsitteillä, joiden merkitys säilyy HTTP-pyynnön sisällön ulkopuolella. Aikomus yksilöi sopimuksen, halutun suunnanmuutoksen, enimmäismäärän, hyväksyttävän hinnan ja määräajan. Se tallentaa myös toimen sallineen hyväksynnän sekä tilille varatun osuuden, jota toimi saa käyttää.
Tämä tietue eroaa pyyntöyrityksestä. Yrityksellä on aikaleima, kohde, allekirjoitus ja vastaus tai virhe. Yhteen aikomukseen voi liittyä useita yrityksiä, mutta asiakasohjelma ei saa sekoittaa yritysten lukumäärää valtuutettujen positioiden lukumäärään.
Tallenna aikomus pysyvästi ennen toimen suorittamista. Jos asiakasohjelma lähettää ensin ja tallentaa myöhemmin, näiden vaiheiden väliin osuva kaatuminen jättää tilivaikutuksen ilman paikallista selitystä. Tallentaminen ensin antaa uudelleen käynnistetyn prosessin löytää selvittämättömän aikomuksen ja tutkia sitä sen sijaan, että se olettaisi, ettei kauppaa tapahtunut.
Tietueen ei tarvitse olla suuri. Sen tulee sisältää riittävät tiedot ehdotetun taloudellisen toimen toistamiseksi ja erottamiseksi toisesta ehdotuksesta. Ennusteeseen perustuvan avauksen kaltainen syykoodi on hyödyllinen vain, jos se viittaa toimeksiannon valtuuttaneeseen tiettyyn ennusteeseen ja säännöstöversioon.
Ennustemarkkinabotin rajapintasuunnittelun opas käsittelee säännöstön erottamista tilin käyttöoikeudesta. Tällä rajalla keskeinen periaate on, että tiedonsiirron yksityiskohdat toteuttavat hyväksytyn aikomuksen eivätkä luo vahingossa valituilla oletuksilla uutta kaupankäyntisäännöstöä.
Kalshin rajapintabotin todennus
Kalshin rajapintabotin todennuksen tulee noudattaa täsmälleen nykyistä virallista menetelmää. Todennettujen pyyntöjen opas määrittää rajapinta-avaimen tunnisteen, millisekunteina annetun aikaleiman sekä base64-muotoisen RSA-PSS-allekirjoituksen, jossa käytetään SHA256:ta. Allekirjoitettava viesti yhdistää aikaleiman, HTTP-metodin ja koko pyyntöpolun ilman kyselyparametreja.
Useimmat toteutusvirheet ovat tässä esitysmuotovirheitä. Sekunteina annettu aikaleima ei ole millisekunteina annettu aikaleima. Polku, joka toistuu kahden apufunktion lisätessä kumpikin etuliitteen, ei ole tarkoitettu polku. Jos allekirjoitettu metodi eroaa lähetetystä, pyynnön valtuutusta koskeva näyttö ei kuvaa verkossa kulkevaa toimea.
Muodosta kohde ja allekirjoituspolku samasta validoidusta pyyntömäärittelystä. Tämä pienentää riskiä, että yksi apufunktio allekirjoittaa polun ja toinen lähettää eri kohteeseen. Testien tulee kattaa sekä kyselyparametreja sisältävä polku että polku ilman niitä.
Pidä allekirjoitus erillään tavallisesta diagnostiikkatulosteesta. Lokit voivat säilyttää metodin, turvallisen polkukuvauksen, aikomuksen tunnisteen ja vastauksen luokituksen tallentamatta yksityistä avainta. Tukivienti ei saa paljastaa aineistoa, joka valtuuttaa tulevia tilitoimia.
Käsittele todennusvirhettä syynä tarkastaa todentamistiedot, kellon käsittely ja pyynnön muodostaminen. Saman virheellisen pyynnön nopea toistaminen ei korjaa sitä. Strategian tulee pysyä kykenemättömänä luomaan uutta riskiä, kunnes asiakasohjelma voi osoittaa todennetun tilinäkymänsä kelvolliseksi.
Käytä nykyistä tapahtumatoimeksiantojen sanastoa
Nykyinen V2-toimeksiannon luontiviite käyttää tapahtumatoimeksiannon polkua, tarjouskirjan osto- tai myyntipuolta, merkkijonomuotoista sopimusmäärää ja kiinteän desimaalitarkkuuden dollarinhintaa. Hinta ilmaistaan YES-asteikolla: bid ostaa YES-osuuksia ja ask myy YES-osuuksia. Vanhaa pyyntösisältöä ei tule kopioida uuteen asiakasohjelmaan tarkastamatta nykyistä rajapintasopimusta.
Muunna strategian käsitteet tähän esitysmuotoon yhdessä paikassa. Strategia voi puhua NO-riskin hankkimisesta, vaikka pyyntö käyttää YES-asteikon hintaa. Muunnoksen tulee olla nimenomainen ja testattu, jottei myöhempi näyttötavan muutos käännä toimeksiantoa huomaamatta päinvastaiseksi.
Tarkasta muunnos kuvitteellisella esimerkillä. Jos taloudellinen raja on maksaa NO-osuudesta yksinkertaisessa binäärisopimuksessa enintään 32 senttiä, vastaava YES-asteikon komplementtihinta on 68 senttiä. Sovittimen on säilytettävä tarkoitettu suunta ja hintaraja yhdessä. Pelkän puolen vaihtaminen samalla kun käyttöön jää asiaan liittymätön hintakäytäntö voi tuottaa erilaisen kaupan.
Pidä pyyntö- ja vastausmallit erillisinä. Suppea luontivastaus voi kuitata toimeksiannon antamatta jokaista täydessä tilitoimeksiantonäkymässä käytettyä kenttää. Asiakasohjelma ei saa täyttää puuttuvia kenttiä optimistisilla oletuksilla, kuten täysin toteutunut tai ei jäljellä olevaa riskiä.
Tietorakenteen ristiriidan tulee pysäyttää kyseinen toimintapolku näkyvästi. Jos pakollinen kenttä puuttuu tai sen merkitys on vieras, sen hiljainen hyväksyminen voi turmella myöhemmän kirjanpidon. Rajattu epäonnistuminen on parempi kuin laajalti onnistunut pyyntö, jonka taloudellista tulkintaa ei tunneta.
Käsittele Kalshin rajapintabotin kiinteän tarkkuuden hinnat
Kalshin rajapintabotin kiinteän tarkkuuden hintojen tulee säilyä täsmällisinä validoinnissa, laskennassa ja sarjallistamisessa. Virallinen kiinteän tarkkuuden esitysmuodon opas kuvaa dollarimerkkijonot, murto-osaiset sopimusmäärät ja markkinakohtaiset hintavälit. Yleinen oletus siitä, että jokainen kelvollinen hinta on kokonainen sentti, ei enää riitä.
Käytä desimaalilaskentaa tai huolellisesti määriteltyä skaalattua kokonaislukuesitystä. Olennaista on, että kelvollinen syöte, kuten 0,1250, säilyttää tarkoitetun arvonsa. Binäärisen liukulukulaskennan pyöristys ei saa ratkaista, osuuko ehdotettu hinta markkinan hyväksyttyyn hintaporrastukseen.
Havainnollistavassa laskelmassa 12,50 sopimuksen ostomäärä hinnalla 0,2400 dollaria on täsmälleen 3 dollaria ennen maksuja. Jäsennin, joka pudottaa puolen sopimuksen murto-osan, kirjaa sen sijaan 2,88 dollaria ja jättää 12 sentin eron. Dollareita sentteinä tulkitseva jäsennin aiheuttaa paljon suuremman virheen.
Validoi hinnat markkinan nykyistä hintaporrastusta vasten ennen lähettämistä. Jos teoreettinen malli ehdottaa 0,237 dollaria mutta kyseisellä hintavyöhykkeellä sallitaan eri askel, asiakasohjelma tarvitsee ilmoitetun pyöristyssäännön. Pyöristäminen aggressiivisempaan hintaan voi rikkoa strategian enimmäiskustannusta, joten säännön on kunnioitettava taloudellista rajaa.
Säilytä alkuperäinen syöte ja normalisoitu arvo diagnostiikkanäytössä. Näin tarkastaja voi erottaa lähdevirheen muunnosvirheestä. Se myös helpottaa myöhempien esitysmuutosten testausta, koska samat tallennetut tapaukset voidaan käsitellä sekä vanhalla että uudella sovittimella.
Erota sopimusmäärä, hinta ja rahamäärä
Toimeksiantonäkymässä esiintyy usein lähekkäin kolme suuretta: sopimukset, dollarit sopimusta kohden ja kokonaisrahamäärä. Ne eivät ole keskenään vaihdettavia. Määrä-niminen kenttä on sisäiseen malliin liian epämääräinen, ellei sen yksikkö ole kiinteä ja selvästi dokumentoitu.
Käytä merkityksen ilmaisevia nimiä ja tyyppejä. Sopimusmäärä voi sisältää murto-osan. Rajahinta kuvaa rahamäärää sopimusta kohden. Arvioitu veloitus sisältää määrän ja hinnan tulon sekä varauksen soveltuviin kuluihin. Toteutunut rahaliike perustuu kirjattuun tilitulokseen ja voi erota arviosta.
Kuvitteellisella aikomuksella ostaa 25 sopimusta 44 sentin hinnalla on 11 dollarin ostomäärä. Se ei ole ohje käyttää 25 dollaria eikä 44 dollarin toimeksianto. Ero voi tuntua ilmeiseltä, mutta sen kadottaa helposti, kun useat päätepisteet käyttävät erilaisia kenttänimiä tai yksiköitä.
Rakenna yksikkötarkastukset pyyntörajapintaan. Sallitun sopimushintavälin ulkopuolinen hinta, negatiivinen ostomäärä tai raha-arvio, jota ei voi täsmäyttää määrään ja hintaan, tulee hylätä ennen allekirjoittamista. Tällaiset tarkastukset ovat hyödyllisempiä kuin virheen havaitseminen vasta kauppapaikan hylättyä pyynnön.
Ennustemarkkinoiden kaupankäyntirajapinnan yleiskatsaus asettaa esitysmuodot laajempaan integraatiokontekstiin. Vahva asiakasohjelma pitää yksiköt nimenomaisina lähdehavainnosta tiliraporttiin asti eikä luota siihen, että käyttöliittymä päättelee ne lopuksi.
Säilytä sama tunniste epävarmoissa yrityksissä
Luo paikallinen aikomustunniste ja asianmukainen asiakastoimeksiantotunniste ennen lähettämistä. Tallenna yhteys palvelimen toimeksiantotunnisteeseen sen tullessa tietoon. Näiden identiteettien avulla myöhempi tilitietue voidaan yhdistää sen aiheuttaneeseen toimeen.
Virallinen pikaopas kuvaa kaksoiskappaleiden tunnistuksen asiakastoimeksiantotunnisteen avulla. Ominaisuus on hyödyllinen, mutta asiakasohjelman tulee silti ylläpitää omaa aikomuspäiväkirjaansa ja tarkastaa nykyinen tilinäyttö. Älä muuta dokumentoitua kaksoiskappaletarkastusta perusteettomaksi väitteeksi siitä, että minkä tahansa pyynnön voi toistaa loputtomasti kaikissa oloissa.
Jos toimeksiannon odotus aikakatkaistaan lähetyksen jälkeen, tulos on tuntematon. Asiakasohjelman tulee säilyttää alkuperäinen taloudellinen aikomus ja sille varattu kapasiteetti. Sen jälkeen se voi tutkia toimeksiantoja ja toteumia tai tehdä dokumentoidun uusinnan, joka säilyttää asianmukaisen identiteetin. Uuden tunnisteen luominen oletusvastauksena epävarmuuteen voi aiheuttaa toisen itsenäisen sitoumuksen.
Kaksoiskappaleesta kertova vastaus voi itsessään olla hyödyllistä näyttöä. Se saattaa osoittaa alkuperäisen toimen saavuttaneen kauppapaikan, mutta ei yksin todista toteutunutta määrää. Seuraa identiteettiä tilitietueeseen ja selvitä jäljellä oleva riski.
Säilytä päiväkirja uudelleenkäynnistysten yli. Vain prosessin muistissa oleva tunniste katoaa juuri silloin, kun palautuminen saattaa tarvita sitä eniten. Pysyvyys ei ole tässä abstrakti tietokantamieltymys: se säilyttää yhteyden hyväksytyn päätöksen ja mahdollisesti jo olemassa olevien tilivaikutusten välillä.
Luokittele Kalshin rajapintabotin uusintakäytäntö
Kalshin rajapintabotin uusintakäytännön tulee erottaa virheellinen syöte, evätty lupa, kuormittava pyyntömäärä, tiedonsiirtovirhe ja epävarma taloudellinen tulos. Näitä luokkia ei ratkaista samalla vastauksella. Yksi yleinen uusintasilmukka voi muuttaa pienen yhteysongelman suuremmaksi tiliongelmaksi.
Virheellinen hintaporrastus tai väärin muodostettu määrä vaatii korjauksen. Käyttöoikeuden epääminen vaatii tilin luvan tai tilan ymmärtämistä. Pyyntömäärärajan paine vaatii tahdistusta ja priorisointia. Kirjoituksen jälkeen kadonnut vastaus vaatii täsmäytystä. Tilapäinen lukuvirhe voi sallia uuden havaintoyrityksen valtuuttamatta yhtään uutta positiota.
Jokaisen uusinnan tulee silti noudattaa aikomuksen määräaikaa. Hintaan perustuva avaus, joka oli järkevä ennen julkistusta, ei ehkä enää sovellu usean sekunnin viiveen jälkeen. Vanhentuneen kaupan onnistunut toimittaminen ei ole alkuperäisen säännöstön onnistunutta toteuttamista.
Käytä toistettavassa viestintätyössä rajattua, pitenevää uusintaväliä sekä yritysten että kuluneen ajan enimmäisrajoilla. Rajat tulee valita tehtävän arvon ja kiireellisyyden perusteella. Uusintakäytännön loppuun käyttämisen tulee tuottaa selkeä selvittämätön tila eikä näkymätöntä, loputtomasti jatkuvaa silmukkaa.
Kirjaa jokaisen yrityksen syy. Myöhemmän tarkastajan tulee nähdä, hankkiko asiakasohjelma tuoretta näyttöä, uusiko se dokumentoidusti kaksoiskappaleilta suojattua toimea vai tutkiko se epävarmuutta. Erottelu auttaa tunnistamaan, liittyykö todellinen ongelma kauppapaikan vastaukseen, paikalliseen pyynnön muodostamiseen vai strategian ajoitusoletuksiin.
Säilytä lukukapasiteettia palautumiseen
Asiakasohjelma voi menettää hyödyllisen hallinnan, jos rutiinikyselyt kuluttavat epävarman toimeksiannon tutkimiseen tarvittavan kapasiteetin. Pyyntöbudjetoinnin tulee siksi varata tilaa tilin palautumiselle ja riskin pienentämiselle sen sijaan, että jokaista pyyntöä pidetään yhtä arvokkaana.
Kalshin nykyiset rajat käyttävät tokenkustannuksia ja tilikohtaisia budjetteja. Pyyntömäärärajojen dokumentaatio erottaa luku- ja kirjoitusresurssit ja kuvaa nykyisen reitityksen yksityiskohtia. Asiakasohjelman tulee hankkia soveltuva määritys sen sijaan, että se olettaa kaikille tileille ja päätepisteille saman kiinteän sekuntikohtaisen pyyntömäärän.
Ajattele kuvitteellista ajastinta, jolla on rajallinen lukuvara. Satojen asiaan liittymättömien markkinoiden täysi läpikäynti voi olla vähemmän tärkeää kuin viimeaikaisen toimeksiannon toteutumisen tarkastaminen. Jos läpikäynti estää tarkastuksen, strategia voi pysyä pidempään epävarmana ja joko menettää perusteltuja toimia tai tehdä turvattomia toimia.
Eräkäsittely ja jatkuvat tietovirrat voivat vähentää osaa työstä, mutta eivät poista päätepisteiden merkityksen ymmärtämisen tarvetta. Erässä voi olla erilaisia tuloksia. Tietovirta voi katketa. Ajastimen tulee priorisoida tilin nykyisten velvoitteiden selvittämiseen tarvittavat tiedot.
Mittaa pyyntökustannuksia käyttötarkoituksen mukaan. Erota markkinoiden löytäminen, tavallinen havainnointi, toimeksiannon seuranta ja palautuminen. Näin taustatyötä voi vähentää paineen kasvaessa poistamatta vahingossa käytöstä tiliä suojaavia tarkastuksia.
Muodosta osittaiset toteumat laskematta kahdesti
Osittainen toteuma muuttaa sekä omistusta että jäljellä olevan toimeksiannon riskiä. Asiakasohjelman on säilytettävä molemmat tosiasiat. Pyydetty määrä 30, josta 12 on toteutunut ja 18 on yhä aktiivisena, eroaa suljetusta toimeksiannosta, josta toteutui vain 12.
Tiedä, onko kukin kenttä kumulatiivinen vai muutoksen ilmoittava. Jos vastaus näyttää toteutuneeksi kokonaismääräksi 12 ja myöhempi vastaus 20, lisätoteuma on kahdeksan. Molempien kokonaismäärien yhteenlasku luo virheellisen position 32. Yksittäisiä lisäyksiä ilmoittavat toteumatapahtumat vaativat eri käsittelyn, mukaan lukien kaksoiskappaleiden tunnistuksen.
Peruutus voi kilpailla toteuman kanssa. Lopullisen tietueen on sallittava jonkin määrän toteutuminen ennen jäljellä olevan toimeksiannon poistamista. Peruutuksen onnistuminen ei kumoa aiempia toteumia eikä todista alkuperäistä pyyntöä vaikutuksettomaksi.
Käytä tilin positioita ristiintarkastukseen mutta huomioi, että tilannekuvat voivat edustaa eri havaintohetkiä. Tavoite on selitetty täsmäytys, ei kaikkien päätepistevastausten pakottaminen samoiksi joka hetki. Säilytä aikaleimat ja eron selvittämiseen käytetty näyttöjärjestys.
Ennustemarkkinatilin synkronointiopas kehittää tätä päättelyä järjestelmätasolla. Rajapintarajalla olennainen tehtävä on säilyttää riittävät identiteetti- ja määrätiedot, jotta myöhempi täsmäytys voidaan tehdä tarkasti.
Testaa rajapintaa tarkoituksellisilla vioilla
Hyödylliset asiakasohjelman testit keskittyvät virheisiin, jotka voivat muuttaa taloudellista merkitystä. Testaa murto-osainen määrä, hintavyöhykkeen rajalla oleva hinta, vanhentunut aikomus ja tuntematon vastauskenttä. Jokaisella tapauksella tulee olla odotettu päätös, jota voidaan tarkastella tekemättä oikeaa kauppaa.
Testaa sitten viestinnän epävarmuutta. Simuloi vastauksen katoamista hyväksytyn pyynnön jälkeen. Käynnistä asiakasohjelma uudelleen aikomuksen ollessa yhä selvittämättä. Odotettu toiminta on olemassa olevan aikomuksen palauttaminen ja sen tilituloksen tutkiminen, ei uuden strategiapäätöksen aloittaminen tyhjästä tilasta.
Testaa myös virheellistä lähdedataa. Puuttuva hinta ei saa muuttua nollaksi. Merkkijono, jota ei voi jäsentää, ei saa muuttua oletusmääräksi. Käyttökelvottoman datan hylkääminen selityksineen on onnistunut testitulos.
Pidä salaiset todentamistiedot ja todelliset tilitoimet tavallisten automaattisten testiajojen ulkopuolella. Hallittu testiaineisto voi osoittaa muunnos- ja luokittelutoiminnan. Erillinen valtuutettu demoharjoitus voi sitten testata yhteyden pitämättä jäljiteltyä likviditeettiä näyttönä todellisen toteutuksen laadusta.
Säilytä lopuksi vikatapaukset rajapinnan kehittyessä. Regressiotapausten arvo on taloudellisten odotusten säilyttäminen pyynnön muodon muuttuessa. Päivitys on hyväksyttävä, kun se tuottaa edelleen tarkoitetun rajatun toiminnan, eikä vain silloin, kun se kääntyy tai palauttaa onnistuneen HTTP-tilan.
Tee rajapintamuutoksista tarkastettava muunnostehtävä
Rajapinnan muutoksen tulee käynnistää sovittimen oletusten tarkastus. Uudet kenttänimet voivat olla suoraviivaisia, mutta muuttunut hintakäytäntö, määrän merkitys tai vastauksen kattavuus voi muuttaa tilitoimintaa, vaikka koodi edelleen toimisi.
Pidä suppeaa yhteensopivuustietuetta, joka luettelee tarkastetun dokumentaation, tuetut pyyntömuodot ja niiden merkityksen osoittavat testitapaukset. Vältä asiakasohjelman kuvaamista pysyvästi yhteensopivaksi. Yhteensopivuus on näyttöä, joka liittyy versioon ja testattuun toimintojoukkoon.
Vertaa siirtymässä tallennetuista esimerkeistä normalisoituja tuloksia. Saman taloudellisen aikomuksen tulee tuottaa uudessa esitysmuodossa vastaavat rajat ja suunta. Saman toteumahistorian tulee tuottaa sama positio ja rahaliikkeen selitys. Erot tulee ymmärtää ennen uusien toimien sallimista.
Rajattu sovitin tekee työstä hallittavaa. Strategiatutkimus voi edelleen käyttää nimenomaisia sopimuksia, todennäköisyyksiä ja taloudellisia rajoja yhden tarkastetun rajapinnan käsitellessä kauppapaikan nykykäytäntöjä. Erottelu muuttaa rajapinnan ylläpidon konkreettiseksi muunnosongelmaksi ja antaa omistajalle selkeämmän perustan päättää, milloin asiakasohjelma on taas toimintavalmis.
Aiheeseen liittyvät oppaat ja laskuesimerkit
- Kalshin rajapintakaupankäynti: jäljitä jokainen päätös — Rakenna tarkastettava asiakasohjelma markkinoiden löytämisestä tilin täsmäytykseen.
- Kalshin kaupankäyntirajapinta: valitse oikea tietopinta — Valitse markkina- ja tilirajapinnat huomioiden pyyntöbudjetit ja datakäytännöt.