Posle isteka vremena odgovora za Binance nalog, proverite prvobitnu instrukciju pre ponovnog slanja iste količine. Timeout znači da očekivani odgovor nije stigao. Sam po sebi ne dokazuje odbijanje naloga. Zahtev koji nije stigao i izvršena transakcija čiji je odgovor izgubljen traže različite sledeće korake.
Nalog može biti izvršen pre nego što odgovor stigne
Slanje, obrada i povratak odgovora predstavljaju odvojene faze. Prekid veze može sakriti rezultat bilo koje od njih. Uzastopni klikovi ne vraćaju prvi odgovor, već mogu poslati dodatne instrukcije.
Binance u opštim informacijama za spot REST API opisuje timeout sa nepoznatim statusom izvršenja i upućuje na proveru statusa. API interval obrade nije garantovani period čekanja za sajt ili aplikaciju. Koristan princip za korisnika jeste utvrđivanje ishoda pre odluke o novom nalogu.
Potvrđeno odbijanje neispravnog parametra pripada drugoj vrsti provere. Sačuvajte tačan tekst poruke umesto da svaki crveni indikator tumačite kao istu grešku.
Sačuvajte tragove prvog pokušaja
Zapišite par, smer, tip, količinu, limit cenu ako postoji i približno vreme slanja sa vremenskom zonom. Sačuvajte ID naloga ako je vraćen. Početnu količinu odvojite od naknadnog cilja zamenskog naloga, kako provera ne bi izgubila polaznu tačku.
Snimak može zadržati poruku i bitna polja bez prikazivanja celog računa. Lozinke, jednokratni kodovi i tajni ključevi autentifikatora nisu dokaz o nalogu. Ako ste kliknuli više puta, zabeležite i to, umesto da sačuvate samo pokušaj koji ste želeli da uspe.
Pogledajte otvorene naloge i završene aktivnosti
U zvaničnom spot interfejsu proverite filtere, otvorene naloge, istoriju naloga i detalje izvršenja. Već potpuno izvršen nalog ne možete objasniti pregledom samo otvorenih naloga. Instrukcija koja čeka možda još nema nijednu transakciju.
Ako je original aktivan, upravljajte njime umesto ponavljanja cele količine. Ako je potpuno izvršen, proverite rezultat. Ako je završen posle delimičnog izvršenja, izvršeni deo ostaje u računici. Kada nema pouzdanog zapisa, ishod ostaje nejasan dok dodatna provera ili zvanična podrška ne pruži objašnjenje.
Prazan filtrirani spisak nije dokaz odbijanja. Ni neuspešan upit ne dokazuje da ranije slanje nije uspelo. Programeri treba da povežu zvanične identifikatore i koriste dokumentovanu proveru. Običnom korisniku nije potrebno pravljenje API ključa samo radi pregleda jednog naloga.
Ponovo računajte tek kada znate ishod
Pretpostavimo da je cilj bio četiri jedinice. Tokom prekida odgovora izvršeno je 1,5, a 2,5 je ostalo otvoreno. Nova kupovina četiri jedinice ne zamenjuje prvu instrukciju. Obe bi mogle nastaviti da se izvršavaju.
Ako kasnije potvrdite otkazivanje prvog ostatka i još želite prvobitni cilj, nedostaje 2,5. Nastavak nije obavezan: cena, budžet i namera mogli su se promeniti. Novi nalog zahteva novu proveru parametara i raspoloživog stanja.
Podršci pošaljite kratku vremensku liniju
Vremena ne moraju biti precizna do milisekunde ako ih interfejs nije prikazao. Navedite da je vreme približno i sačuvajte vremensku zonu. Tačna oznaka neizvesnosti korisnija je od izmišljenog preciznog trenutka koji može odvesti proveru na pogrešnu instrukciju.
Vremensku liniju pravite od opažanja, ne pretpostavki. U prvom trenutku kliknuli ste slanje četiri jedinice. U drugom se pojavila timeout poruka. U trećem je zvaničan upit pokazao otvorenu instrukciju sa određenim ID brojem. Tek treći događaj potvrđuje opaženo stanje naloga. Prva dva opisuju vašu radnju i dobijeni odgovor, a ne konačno izvršenje.
Razmotrite tri moguća ishoda provere istog početnog ekrana. U prvom je pronađeni nalog potpuno izvršen za četiri jedinice. U drugom je otvoren sa izvršenih 1,5. U trećem podrška potvrđuje da pokušaj nije stvorio nalog. Svi su počeli timeout porukom, ali novo slanje četiri jedinice ima drugačije posledice. Jedan vizuelni indikator zato ne određuje odgovarajuću zamensku količinu.
Posle više klikova proverite svaki pronađeni nalog
Ako je bilo više pokušaja, napravite poseban red za svaki poznati ID instrukcije. Slična količina i blisko vreme ne čine dva identifikatora zamenljivim. Ako kasniji upit pronađe dva naloga, nemojte jedan izbrisati iz beleške zato što ste nameravali samo jednu kupovinu. Namera određuje cilj, a evidencija pokazuje koje instrukcije stvarno postoje.
Ni promenjeni saldo nije dovoljan dokaz sam za sebe. Rezervisana količina može pripadati otvorenom nalogu, potrošena izvršenju, a druge aktivnosti takođe mogu menjati broj. Povežite opažanje stanja sa zapisima naloga pre zaključka. Na primer, niži raspoloživi saldo ne govori koliko je od četiri tražene jedinice kupljeno. To proverite u izvršenjima istog naloga.
U poruci podršci razdvojite pitanje koje želite da rešite. „Molim potvrdite ishod ovog slanja” nije isto što i „objasnite izvršenu količinu” ili „potvrdite otkazivanje”. Navedite relevantan ID, par i vreme. Izostavite lozinku i materijal za autentifikaciju. Podrška može zahtevati proveru kroz zvaničan proces, ali javna objava nije taj proces.
Pretpostavimo da je posle ponovljenih klikova nalog A izvršen za 1,5, a ostatak otkazan. Nalog B je izvršen za jedan, dok su još tri jedinice otvorene. Ukupno ste kupili 2,5, ali još tri mogu biti kupljene. Oduzimanje 2,5 od početnog cilja četiri zanemarilo bi otvoreni ostatak B. Proverite svaki nalog pre odluke o otkazivanju neželjenog ostatka ili novoj kupovini.
Osvežavanje stranice ne otkazuje nalog
Ponovno učitavanje pregledača može osvežiti prikaz, ali ne poništava nalog. Ni zatvaranje aplikacije ne otkazuje prihvaćenu instrukciju. Obrnuto, animacija čekanja nije dokaz da nalog i dalje čeka u sistemu za uparivanje. Ponovo otvorite pronađeni nalog i proverite njegov status i izvršenu količinu.
Ako podrška navede da provera još traje, označite stavku kao nerešenu. To nije isto što i odbijanje naloga. Sačuvajte referencu razgovora i poslednji potvrđeni podatak, bez izmišljanja vremenskog roka. Kada se pojavi novo zvanično stanje, uporedite ga sa prethodnim zapisom i proverite da li zaista pripada istom identifikatoru.
Navedite vreme slanja, poruku, rezultate kasnijih upita i identifikatore koji ostaju nejasni. Zahteve za otkazivanje upišite kao odvojene događaje. Nepotvrđeno otkazivanje ne predstavlja osiguranje od nepotvrđenog slanja.
Ovde nije obećano univerzalno vreme čekanja. Sačuvajte evidenciju koja može da se uskladi. Zatim koristite naloge i izvršenja ili potvrdu otkazivanja da povežete konačan status sa količinom koja je stvarno trgovana.