Správa FlowStreamov cez API Flow
Všetko, čo robí editor, ide cez jediný endpoint JSON: POST /fapi/ s telom { "schema": "<name>", "data": { ... } } (trasy API Total.js, pozri trasy API). Adresa /fapi/ pochádza z riadka $api : /fapi/ v súbore config. Každé volanie okrem prihlásenia potrebuje cookie relácie; bez nej je odpoveď 401: Unauthorized.
Tieto volania sa pri písaní tejto stránky vyskúšali aj na lokálnom Flow 11.1 (Node.js 24 a total5@0.0.19).
Prihlásenie
Auth|login prijíma login a password a odpovedá {"success":true} spolu s cookie relácie. Nesprávna dvojica odpovie Invalid credentials.
curl -c cookie.txt -X POST http://localhost:8000/fapi/ \
-H 'content-type: application/json' \
-d '{"schema":"Auth|login","data":{"login":"<your login>","password":"<your password>"}}'Ďalšie volania používajú -b cookie.txt.
Volania
schema | data | Čo robí | ||
|---|---|---|---|---|
Streams | žiadne | zoznam FlowStreamov s id, name, group, author, version, proxypath, size a živými stats bežiacich | ||
Streams\ | save | name, a voliteľne author, version, icon, color, group, url, reference, readme, memory, cloning, proxypath, proxytimeout | vytvorí tok, keď chýba id (kontroluje sa oprávnenie create), inak aktualizuje tok s týmto id a reštartuje ho | |
Streams\ | read | id | vlastnosti jedného toku | |
Streams\ | raw | id | celý objekt toku s jeho dizajnom | |
Streams\ | export | id | tok ako text JSON v value bez interných polí (unixsocket, env, import, worker, asfiles) | |
Streams\ | import | data (text JSON) | vytvorí nový tok z exportu (do 10 MB) s novým id; opakovaný proxypath sa nahradí náhodným; odpovie {"success":true,"value":"<id>"} | |
Streams\ | pause | id, is (true alebo false) | pozastaví alebo obnoví bežiaci tok | |
Streams\ | restart | id | reštartuje tok | |
Streams\ | remove | id | odstráni tok a jeho priečinok (kontroluje sa oprávnenie remove) | |
Streams\ | stats | žiadne | súčty inštalácie: verzie Node.js, Total.js a Flow, správy, čakajúce, pamäť a pripojenia | |
Variables\ | read / Variables\ | save | id (voliteľné), data | premenné jedného toku alebo globálne premenné, keď je id prázdne; uloženie ich odošle bežiacim tokom |
Console\ | read / Console\ | clear | žiadne | konzola aplikácie |
CDN\ | clear | žiadne | vymaže vyrovnávaciu pamäť stiahnutých komponentov rozhrania | |
Settings\ | read / Settings\ | save | nastavenia (pozri nastavenia a súbory) | iba pre superadministrátora |
Vytvorenie toku a jeho spustenie
Vytvorte ho a potom importujte dizajn vytvorený v editore (exportovaný súbor JSON), aby sa spustil:
curl -b cookie.txt -X POST http://localhost:8000/fapi/ \
-H 'content-type: application/json' \
-d '{"schema":"Streams|save","data":{"name":"Demo","author":"Me"}}'Tok exportovaný z editora nesie svoj design (boxy a ich spojenia), svoje components (zdroj každého) a svoje variables.
Pravidlá proxypath
Tok môže publikovať trasy HTTP pod vlastnou cestou. Flow pridá lomky (demo sa stane /demo/), odmietne cesty, ktoré patria samotnému Flow (/, /cdn/, /fapi/, /private/, /flows/, /designer/, /parts/, /forms/, /css/, /js/, /fonts/, /panels/) s Proxy endpoint contains reserved path a odmietne cestu, ktorú už používa iný tok. proxytimeout je čas v sekundách, ktorý sa čaká na odpoveď toku (predvolene 120).
Volania zvonka
| Trasa | Použitie |
|---|---|
GET alebo POST /notify/{id}/ | pošle oznámenie toku s týmto id (telo POST je obmedzené na 1 MB); komponenty toku rozhodnú, čo s ním urobia. Odpovie {"success":true} |
+SOCKET /{id}/ | WebSocket editora pre tento tok (vyžaduje reláciu) |
GET /private/?token=<token> | vypíše súbory priečinka private/, keď token zodpovedá token v nastaveniach; desať nesprávnych tokenov zablokuje adresu na 15 minút |
+POST /update/ | aktualizuje aplikáciu zo súboru .bundle; iba pre zabalenú verziu |
Uchovajte token v tajnosti, tieto volania posielajte cez HTTPS a Flow dajte za reverzný proxy, keď je dostupný z internetu.