ForgeFlow
sv

Flow

Hantera FlowStreams med Flows API

Flow · flow@11.1 flowflowstreamapiimportexportnotify

Allt som editorn gör går genom en enda JSON-slutpunkt: POST /fapi/ med kroppen { "schema": "<name>", "data": { ... } } (Total.js API-rutter, se API-rutter). Adressen /fapi/ kommer från raden $api : /fapi/ i filen config. Varje anrop utom inloggningen behöver sessionscookien; utan den blir svaret 401: Unauthorized.

De här anropen provades också mot ett lokalt Flow 11.1 (Node.js 24 och total5@0.0.19) medan den här sidan skrevs.

Logga in

Auth|login tar login och password och svarar {"success":true} med sessionscookien. Ett felaktigt par svarar 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>"}}'

De följande anropen använder -b cookie.txt.

Anropen

schemadataVad det gör
Streamsingenlistan över FlowStreams med id, name, group, author, version, proxypath, size och de levande stats för de körande
Streams\savename, och valfritt author, version, icon, color, group, url, reference, readme, memory, cloning, proxypath, proxytimeoutskapar ett flöde när id saknas (behörigheten create kontrolleras), annars uppdateras flödet med det id och startas om
Streams\readidegenskaperna för ett flöde
Streams\rawidhela flödesobjektet, med dess design
Streams\exportidflödet som JSON-text i value, utan de interna fälten (unixsocket, env, import, worker, asfiles)
Streams\importdata (JSON-texten)skapar ett nytt flöde från en export (upp till 10 MB), med ett nytt id; en upprepad proxypath ersätts med en slumpmässig; svarar {"success":true,"value":"<id>"}
Streams\pauseid, is (true eller false)pausar eller återupptar ett körande flöde
Streams\restartidstartar om flödet
Streams\removeidtar bort flödet och dess mapp (behörigheten remove kontrolleras)
Streams\statsingeninstallationens summor: versioner av Node.js, Total.js och Flow, meddelanden, väntande, minne och anslutningar
Variables\read / Variables\saveid (valfritt), datavariablerna för ett flöde, eller de globala variablerna när id är tomt; att spara skickar dem till de körande flödena
Console\read / Console\clearingenapplikationens konsol
CDN\clearingenrensar cachen för nedladdade gränssnittskomponenter
Settings\read / Settings\saveinställningarna (se inställningar och filer)endast för superadministratören

Skapa ett flöde och köra det

Skapa det och importera sedan en design som byggts i editorn (en exporterad JSON-fil) för att starta det:

curl -b cookie.txt -X POST http://localhost:8000/fapi/ \
  -H 'content-type: application/json' \
  -d '{"schema":"Streams|save","data":{"name":"Demo","author":"Me"}}'

Ett flöde som exporterats från editorn bär sin design (rutorna och deras anslutningar), sina components (källkoden för varje) och sina variables.

Regler för proxypath

Ett flöde kan publicera HTTP-rutter under en egen sökväg. Flow lägger till snedstrecken (demo blir /demo/), avvisar de sökvägar som tillhör Flow själv (/, /cdn/, /fapi/, /private/, /flows/, /designer/, /parts/, /forms/, /css/, /js/, /fonts/, /panels/) med Proxy endpoint contains reserved path och avvisar en sökväg som ett annat flöde redan använder. proxytimeout är tiden i sekunder att vänta på flödets svar (standard 120).

Anrop utifrån

RuttAnvändning
GET eller POST /notify/{id}/skickar en notifiering till flödet med det id:t (POST-kroppen är begränsad till 1 MB); flödets komponenter bestämmer vad de gör med den. Svarar {"success":true}
+SOCKET /{id}/editorns WebSocket för det flödet (kräver sessionen)
GET /private/?token=<token>listar filerna i mappen private/ när token är lika med token i inställningarna; tio felaktiga tokens blockerar en adress i 15 minuter
+POST /update/uppdaterar applikationen från en .bundle-fil; endast för den paketerade versionen

Håll token hemlig, skicka dessa anrop över HTTPS och lägg Flow bakom en omvänd proxy när det är nåbart från internet.