HTTP Request

action_http · action · HTTP & Webhook · Disponibile · v2.0.0

Descrizione

Esegue una richiesta HTTP a un'API esterna. Supporta auth (Basic/Bearer/API Key/Custom), body strutturato (JSON/Form/Multipart/Raw/Binary), query parameters dedicati, pagination automatica (page/offset/cursor/link-header), retry con backoff, response format selezionabile (auto/json/text/binary), follow redirects, e timeout.

⚙️ Parametri di configurazione

Campi mostrati nell’editor quando si configura il nodo. Generati direttamente dal NodeDefconfigFields.

CampoTipoRequiredDefaultDescrizione
method
Metodo HTTP
enum
GETPOSTPUTPATCHDELETEHEADOPTIONS
siGETGET=leggi · POST=crea · PUT/PATCH=aggiorna · DELETE=cancella · HEAD=solo headers · OPTIONS=preflight CORS.
url
URL
stringsi
https://api.example.com/v1/users/{{input.id}}
URL completo (http o https). Supporta {{espressioni}} per pezzi dinamici.
authMode
Autenticazione
enum
nonebasicbearerapikey-headercustom
nononenone = nessuna (o gestita via Headers). basic = HTTP Basic (user+password → Base64). bearer = "Authorization: Bearer <token>" (JWT, OAuth access tokens). apikey-header = header custom con il valore (X-API-Key, X-Auth-Token, ecc). custom = nome+valore header completamente liberi.
basicUser
Username (Basic)
stringno
basicPass
Password (Basic)
string (encrypted)no
bearerToken
Token Bearer
string (encrypted)noIl token segreto da mettere dopo "Bearer ".
apiKeyHeaderName
Nome header API Key
stringnoX-API-Key
X-API-Key oppure X-Auth-Token
apiKeyValue
Valore API Key
string (encrypted)no
customAuthHeaderName
Nome header custom
stringnoAuthorization
customAuthHeaderValue
Valore header custom
string (encrypted)no
queryParamsJson
Query Parameters
key-valuenoAggiunti all'URL come ?key=value&... Supportano {{espressioni}}.
headersJson
Headers HTTP extra
key-valuenoCoppie nome-valore extra (Authorization e Content-Type sono gestiti automaticamente).
bodyType
Tipo body
enum
nonejsonform-urlencodedmultipartraw-textraw-binary-base64
nojsonnone = nessun body (GET/HEAD/DELETE tipicamente). json = JSON (Content-Type application/json). form-urlencoded = form classico (key=value&...). multipart = form-data con file/binary support. raw-text = testo grezzo (per XML, YAML, custom). raw-binary-base64 = bytes binari (body in base64, viene decodificato).
body
Body (JSON o testo)
codeno
{ "key": "{{input.value}}" }
Per json: JSON. Per raw-text: testo libero. Per raw-binary-base64: stringa base64.
rawBinaryContentType
Content-Type del binario
enum
application/octet-streamapplication/pdfimage/pngimage/jpegapplication/zip
noapplication/octet-stream
formFields
Form fields (key-value)
key-valuenoCoppie nome-valore del form. Per multipart con file: il valore può essere base64.
paginationMode
Pagination
enum
nonepage-numberoffset-limitcursorlink-header
nononenone = singola chiamata. page-number = ?page=1&limit=N, ?page=2&limit=N, ... (stop quando items < limit). offset-limit = ?offset=0&limit=N, ?offset=N&limit=N, ... cursor = leggi next_cursor dalla risposta, passa come ?cursor=... link-header = segui Link: <url>; rel="next" (GitHub, Mastodon).
paginationMaxPages
Max pagine
numberno10Limite di sicurezza — interrompe il loop anche se ci sono altre pagine.
paginationPageSize
Items per pagina (limit)
numberno50
paginationItemsField
Campo array nella risposta
stringno
es. data, items, results
Se valorizzato, concatena response[campo]. Se vuoto, concatena l'intera response.
paginationPageParam
Nome parametro pagina
stringnopage
paginationStartPage
Pagina iniziale
numberno1
paginationLimitParam
Nome parametro limit
stringnolimit
paginationOffsetParam
Nome parametro offset
stringnooffset
paginationStartOffset
Offset iniziale
numberno0
paginationCursorParam
Nome parametro cursor
stringnocursor
paginationCursorField
Campo next cursor nella risposta
stringnonext_cursorEs. next_cursor, nextPage, paging.next.cursor
retryCount
Numero retry
numberno0Quante volte ritentare in caso di errore (5xx o codici configurati). 0 = no retry.
retryInitialDelayMs
Delay iniziale (ms)
numberno500Pausa prima del primo retry. Si moltiplica per il fattore ad ogni tentativo.
retryBackoffFactor
Fattore backoff esponenziale
numberno22 = raddoppia ogni retry (500ms, 1000ms, 2000ms, ...). 1 = delay costante.
retryOnStatus
Status da ritentare (csv)
stringno429,500,502,503,504
429,500,502,503,504
Codici HTTP che fanno scattare il retry. Errori di network/timeout sono sempre ritentati.
responseFormat
Formato risposta
enum
autojsontextbinary
noautoauto = sniff dal Content-Type (default). json = parse forzato (errore se non valido). text = stringa raw. binary = bytes → base64 stringa (per download PDF, immagini, file).
followRedirects
Segui redirect
booleannotrueSe on: segue 3xx automaticamente. Se off: restituisce status 3xx e header Location.
allowSelfSigned
Accetta certificati self-signed
booleannofalseSOLO per dev/test. NON usare in produzione.
statusCodeOnly
Solo status code (ignora body)
booleannofalseSe on: scarta il body, restituisce solo status+headers (più veloce per ping/healthcheck).
timeoutMs
Timeout (millisecondi)
numberno30000Default 30s. Aumenta per API lente (es. report generation).
throwOnError
Errore su status 4xx/5xx
booleannotrueSe on, lo step fallisce su errore HTTP non-recuperato dal retry.

💡 Esempio configurazione

Snippet JSON del nodo come compare nel workflow. I valori sono derivati daidefaultValue e dai parametri required.

{
  "id": "node-action_http-1",
  "defId": "action_http",
  "label": "HTTP Request",
  "config": {
    "method": "GET",
    "url": "https://api.example.com/v1/users/{{input.id}}",
    "authMode": "none",
    "apiKeyHeaderName": "X-API-Key",
    "customAuthHeaderName": "Authorization",
    "bodyType": "json",
    "rawBinaryContentType": "application/octet-stream",
    "paginationMode": "none",
    "paginationMaxPages": 10,
    "paginationPageSize": 50,
    "paginationPageParam": "page",
    "paginationStartPage": 1,
    "paginationLimitParam": "limit",
    "paginationOffsetParam": "offset",
    "paginationStartOffset": 0,
    "paginationCursorParam": "cursor",
    "paginationCursorField": "next_cursor",
    "retryCount": 0,
    "retryInitialDelayMs": 500,
    "retryBackoffFactor": 2,
    "retryOnStatus": "429,500,502,503,504",
    "responseFormat": "auto",
    "followRedirects": true,
    "allowSelfSigned": false,
    "statusCodeOnly": false,
    "timeoutMs": 30000,
    "throwOnError": true
  }
}

Pronto a usare HTTP Request?

Disponibile da subito in tutti i piani FlowForge. Provalo gratis senza carta di credito.

Inizia gratisSfoglia tutti i nodi