ForgeFlow
sk

Flow

Správa FlowStreamov cez API Flow

Flow · flow@11.1 flowflowstreamapiimportexportnotify

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

schemadataČo robí
Streamsžiadnezoznam FlowStreamov s id, name, group, author, version, proxypath, size a živými stats bežiacich
Streams\savename, a voliteľne author, version, icon, color, group, url, reference, readme, memory, cloning, proxypath, proxytimeoutvytvorí tok, keď chýba id (kontroluje sa oprávnenie create), inak aktualizuje tok s týmto id a reštartuje ho
Streams\readidvlastnosti jedného toku
Streams\rawidcelý objekt toku s jeho dizajnom
Streams\exportidtok ako text JSON v value bez interných polí (unixsocket, env, import, worker, asfiles)
Streams\importdata (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\pauseid, is (true alebo false)pozastaví alebo obnoví bežiaci tok
Streams\restartidreštartuje tok
Streams\removeidodstráni tok a jeho priečinok (kontroluje sa oprávnenie remove)
Streams\statsžiadnesúčty inštalácie: verzie Node.js, Total.js a Flow, správy, čakajúce, pamäť a pripojenia
Variables\read / Variables\saveid (voliteľné), datapremenné jedného toku alebo globálne premenné, keď je id prázdne; uloženie ich odošle bežiacim tokom
Console\read / Console\clearžiadnekonzola aplikácie
CDN\clearžiadnevymaže vyrovnávaciu pamäť stiahnutých komponentov rozhrania
Settings\read / Settings\savenastavenia (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

TrasaPouž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.