Diskuze: KOMUNIKACE S API VEŘEJNÉ BURZY
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 9 zpráv z 9.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


V prípade tohoto API od Poloniex nepotrebuješ robiť takú zhovadilosť ako polling so setInterval. API má podporu push notifikácií, čiže len nadviažeš obojsmerné spojenie s API a len čo sa udeje zmena v kurze, potlačia Ti ju na Tvoj server, prípadne stránku.
V princípe sa jedná na pozadí o Web Sockets - formu komunikácie medzi stránkami v reálnom čase. Nemusíš sa proste na svoje stránke pomocou intervalu neustále dotazovať ich API aký je aktuálny kurz. Ale tvoja stránka sa zaregistruje, že chce byť informovaná o zmene kurzu napríklad zlata. A potom už nerobí nič, iba čaká na novú správu od API, že sa zmenil kurz. To je pointa - stránka čaká a nie, že sa v intervale zbytočne dokola dopytuje na aktuálny kurz. Takto sa to proste teraz robieva, používajú sa (rôzne formy) push notifikácie takmer v reálnom čase zo servera na klienta, miesto takzvaného pollingu - pýtania si dát v slučke z klienta od serveru. A presne toto aj API od Poloniexu dokáže, Tvoja stránka môže byť o zmene kurzu informovaná okamžite API serverom, miesto toho, aby si aktuálny kurz dostal až pri najbližšej iterácii slučky na klientovi.
Přikládám zdrojový kód jednoduché stránky. Stačí si tohle uložit jako index.html a spustit. Do konzole Ti to bude vypisovat každou změnu, která se provede. Není k tomu potřeba žádný NodeJS server. Je potřeba k tomuto skriptu stáhnout knihovnu autobahn, která je dostupná v minifikované verzi na této adrese.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Test</title>
<script src="./autobahn.min.js"></script>
</head>
<body>
<script>
var wsuri = "wss://api.poloniex.com";
var connection = new autobahn.Connection({
url: wsuri,
realm: "realm1"
});
connection.onopen = function (session) {
function marketEvent (args,kwargs) {
console.log(args);
}
function tickerEvent (args,kwargs) {
console.log(args);
}
function trollboxEvent (args,kwargs) {
console.log(args);
}
session.subscribe('BTC_XMR', marketEvent);
session.subscribe('ticker', tickerEvent);
session.subscribe('trollbox', trollboxEvent);
console.log("Websocket is open");
}
connection.onclose = function () {
console.log("Websocket connection closed");
}
connection.open();
</script>
</body>
</html>
Doufám, že zbytek už zvládneš sám.
Btw. kód jsem okopíroval z jejich API přikladu právě pro NodeJS server.
Môžeš použiť ako príklad kód od Petra, alebo tu máš zjednodušený JSFIDDLE príklad
PS: A tu máš ešte pre istotu len o málo zložitejší príklad na sledovanie viacerých kurzov naraz.
Zobrazeno 9 zpráv z 9.