Správa FlowStreamů přes API Flow
Vše, co dělá editor, jde přes jediný endpoint JSON: POST /fapi/ s tělem { "schema": "<name>", "data": { ... } } (trasy API Total.js, viz trasy API). Adresa /fapi/ pochází z řádku $api : /fapi/ v souboru config. Každé volání kromě přihlášení potřebuje cookie relace; bez ní je odpověď 401: Unauthorized.
Tato volání byla při psaní této stránky vyzkoušena i na lokálním Flow 11.1 (Node.js 24 a total5@0.0.19).
Přihlášení
Auth|login přijímá login a password a odpovídá {"success":true} spolu s cookie relace. Špatná dvojice odpoví 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>"}}'Další volání používají -b cookie.txt.
Volání
schema | data | Co dělá | ||
|---|---|---|---|---|
Streams | žádné | seznam FlowStreamů s id, name, group, author, version, proxypath, size a živými stats běžících | ||
Streams\ | save | name, a volitelně author, version, icon, color, group, url, reference, readme, memory, cloning, proxypath, proxytimeout | vytvoří tok, když chybí id (kontroluje se oprávnění create), jinak aktualizuje tok s tímto id a restartuje jej | |
Streams\ | read | id | vlastnosti jednoho toku | |
Streams\ | raw | id | celý objekt toku s jeho návrhem | |
Streams\ | export | id | tok jako text JSON v value bez interních polí (unixsocket, env, import, worker, asfiles) | |
Streams\ | import | data (text JSON) | vytvoří nový tok z exportu (do 10 MB) s novým id; opakovaný proxypath se nahradí náhodným; odpoví {"success":true,"value":"<id>"} | |
Streams\ | pause | id, is (true nebo false) | pozastaví nebo obnoví běžící tok | |
Streams\ | restart | id | restartuje tok | |
Streams\ | remove | id | odstraní tok a jeho složku (kontroluje se oprávnění remove) | |
Streams\ | stats | žádné | součty instalace: verze Node.js, Total.js a Flow, zprávy, čekající, paměť a připojení | |
Variables\ | read / Variables\ | save | id (volitelné), data | proměnné jednoho toku, nebo globální proměnné, když je id prázdné; uložení je odešle běžícím tokům |
Console\ | read / Console\ | clear | žádné | konzole aplikace |
CDN\ | clear | žádné | vymaže mezipaměť stažených komponent rozhraní | |
Settings\ | read / Settings\ | save | nastavení (viz nastavení a soubory) | pouze pro superadministrátora |
Vytvoření toku a jeho spuštění
Vytvořte jej a poté importujte návrh vytvořený v editoru (exportovaný soubor JSON), aby se 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 editoru nese svůj design (boxy a jejich spojení), své components (zdroj každé z nich) a své variables.
Pravidla proxypath
Tok může publikovat trasy HTTP pod vlastní cestou. Flow doplní lomítka (demo se stane /demo/), odmítne cesty, které patří samotnému Flow (/, /cdn/, /fapi/, /private/, /flows/, /designer/, /parts/, /forms/, /css/, /js/, /fonts/, /panels/) s Proxy endpoint contains reserved path a odmítne cestu, kterou už používá jiný tok. proxytimeout je čas v sekundách, po který se čeká na odpověď toku (výchozí 120).
Volání zvenčí
| Trasa | Použití |
|---|---|
GET nebo POST /notify/{id}/ | pošle oznámení toku s tímto id (tělo POST je omezeno na 1 MB); komponenty toku rozhodnou, co s ním udělají. Odpoví {"success":true} |
+SOCKET /{id}/ | WebSocket editoru pro tento tok (vyžaduje relaci) |
GET /private/?token=<token> | vypíše soubory složky private/, když token odpovídá token v nastavení; deset špatných tokenů zablokuje adresu na 15 minut |
+POST /update/ | aktualizuje aplikaci ze souboru .bundle; pouze pro zabalenou verzi |
Uchovejte token v tajnosti, tato volání posílejte přes HTTPS a Flow dejte za reverzní proxy, když je dostupný z internetu.