Panoramica dei connettori HTTP
  • 31 Oct 2023
  • 7 Minuti da leggere
  • Contributori

Panoramica dei connettori HTTP


Sommario dell'articolo

Questa guida vi aiuterà a comprendere tutte le capacità dei connettori HTTP.

Se si desidera collegare a Tulip un sistema esterno come un MES o un ERP, è necessario utilizzare un connettore HTTP. I connettori HTTP di Tulip possono interfacciarsi con la maggior parte dei tipi di API HTTP, compresi REST e SOAP.

Cercate una guida alla costruzione dei connettori HTTP? Seguite il corso HTTP Connectors University!

Comprendere le funzioni del connettore

All'interno di un connettore HTTP, è possibile scrivere una serie di funzioni del connettore che eseguono tipi comuni di richieste HTTP utilizzando input predefiniti. Le funzioni del connettore sono le singole azioni che effettuano le chiamate all'API. Le funzioni del connettore HTTP di Tulip supportano i seguenti metodi:

  • GET
  • TESTA
  • POST
  • INVIO
  • PERCORSO
  • CANCELLARE

e le modifiche ai seguenti campi:

  • Nome host, Porta e Percorso
  • Autenticazione (nessuna, Basic Auth, OAuth 2)
  • Intestazioni della richiesta
  • Parametri della query
  • Corpo della richiesta (JSON, Form URL-Encoded, XML o testo normale)

:::(Info) (NOTA) Questa selezione avrà un impatto sull'intestazione Content-Type. Ad esempio, se si desidera inviare JSON utilizzando l'opzione Testo normale, è necessario codificare manualmente il Content-Type di "application/json" nelle intestazioni:

Le risposte possono quindi essere elaborate e le informazioni estratte dalle intestazioni:

  • Intestazioni della risposta
  • Corpo della risposta (JSON usando json-query o XML usando xpath)

I connettori HTTP supportano i seguenti tipi di dati in uscita:

  • Testo
  • Numero intero
  • Galleggiante
  • Booleano
  • Datetime*
  • Oggetti con tutti i tipi di dati sopra indicati
  • Array con tutti i tipi di dati di cui sopra

*Il parsing di Datetime supporta:

  • timestamp OData in millisecondi dal 1° gennaio 1970 UTC
  • numeri interpretati come millisecondi dal 1° gennaio 1970 UTC
  • stringhe di date ISO 8601

Creare un connettore

Fare clic su Aggiungi connettore in alto a destra nella pagina dei connettori, quindi assegnare un nome al connettore e selezionare HTTP.

An Overview of HTTP Connectors_122139734.png

A questo punto, si vedrà la scheda Environment. Se si desidera impostare più ambienti, consultare questa guida separata.

An Overview of HTTP Connectors_122140278.png

Quindi, dopo aver selezionato il connettore, scegliere Aggiungi dettagli connessione per aggiungere ulteriori dettagli sul server che si desidera interrogare.

An Overview of HTTP Connectors_122140947.png

Ci sono 5 opzioni.

An Overview of HTTP Connectors_122141109.png

Fare riferimento a questa guida sugli host del connettore.

Host: Includere solo il dominio che si desidera interrogare. Non includere http:// o https://, ad esempio myaccount.restlet.api.netsuite.com.

Porta: deve essere specificata dal servizio che si sta interrogando. Le richieste HTTP utilizzano in genere la porta 443.

TLS: selezionare "Sì" se si utilizza HTTPS e "No" se si utilizza solo HTTP.

Fare clic su Test per verificare se la connessione al server è riuscita, quindi fare clic su Salva.

Per duplicare o eliminare il connettore, tornare alla pagina Connettori e fare clic sui tre puntini a destra del connettore specifico.

An Overview of HTTP Connectors_122140669.png

Creazione di una funzione del connettore

Fare clic sul pulsante Aggiungi nuova funzione nella scheda Funzioni per creare una nuova funzione.

An Overview of HTTP Connectors_122141271.png

Verrà quindi visualizzata una serie di opzioni per modificare la funzione.

Innanzitutto, assegnare un nome alla funzione nella parte superiore sinistra della pagina.

Quindi, fare clic su Aggiungi ingressi funzione per iniziare ad aggiungere gli ingressi. Esempio:

Se si vuole testare la funzione connettore HTTP, aggiungere un "Valore di prova" per ogni ingresso.

Aggiungere quindi un endpoint alla fine dell'URL e scegliere il tipo di richiesta HTTP.

Selezionare Parametri della query per iniziare ad aggiungere coppie chiave/valore. Utilizzare gli input definiti nel campo Value.

Aggiungere un $ prima e dopo il nome dell'input, ad esempio, se il nome dell'input è "nome_città", digitare$nome_città$.

Gestione delle risposte

Una volta soddisfatti degli input e degli output, selezionare Test nell'angolo in alto a destra per creare una risposta di esempio.

Si vedrà una risposta JSON o XML nella sezione Risultati del test. Ora è possibile mappare parti di questa risposta in Output e quindi utilizzarle nelle applicazioni.

Gli estrattori JSON utilizzano la sintassi json-query. Per verificare la sintassi, utilizzare questo strumento online.

Gli estrattori XML utilizzano la sintassi XPATH.

Ci sono due modi per farlo:

  1. Fare clic sulle proprietà nel corpo della risposta per mapparle sugli output.
  2. Specificare manualmente il percorso usando json-query

Ecco come specificare gli estrattori usando il punta e clicca:

Se si vuole usare json-query, aggiungere alcuni output in modo da poter mappare il contenuto della risposta in Tulip.

Quindi, occorre specificare "estrattori" accanto a ogni uscita, per indicare i dati del corpo della risposta che si desidera memorizzare.

Ecco un esempio con json-query: supponiamo di scrivere una richiesta GET che restituisce un array di oggetti. Si vuole restituire il valore della proprietà name del primo oggetto dell'array.

Questo è ciò che si scriverebbe nel campo path:

0.name

È anche possibile memorizzare i valori della sezione Headers e Cookies della risposta.

Come nella sezione precedente, è necessario specificare un output specifico nella sezione Output. Quindi, fare clic su una parte di una risposta di esempio o utilizzare json-query per accedere alla proprietà corretta dal JSON della risposta HTTP.

Ecco un esempio in cui un output chiamato "csrf_token" memorizza il valore chiamato "x-csrf-token" dalla proprietà nell'intestazione.

Gli output sono memorizzati come proprietà di un oggetto quando sono condivisi con un'applicazione. È quindi necessario memorizzare l'oggetto in una variabile in un'applicazione. Per maggiori dettagli, consultare questa guida all'uso degli output dei connettori con le applicazioni

Uso di RegEx per modificare gli output

È anche possibile usare RegEx per affinare i valori di testo della risposta. A tale scopo, aggiungere una di queste funzioni nel campo Path per passare il valore attraverso un'espressione regolare:

:regexp()

Per catturare più sottostringhe all'interno della stringa

:regexpGroup()

Esempi:

0.name:regexp(^N) 0.name:regexpGroup(^\w + (w+))

Utilizzando il gruppo RegEx, è possibile catturare un singolo gruppo all'interno di una stringa più grande. A tale scopo, aggiungere una virgola alla fine della stringa RegEx e aggiungere il numero del gruppo specifico all'interno della stringa.

parts[0].inputs:regexpGroup(^\w\w(\w\w)\s(\w\w)\s(\w\w),2)

Oppure, si può usare per selezionare un elemento specifico in un array che corrisponde a una regola. Ad esempio, il primo oggetto con un valore di email che inizia con n.

.[email:regexp(^N)]

Si consiglia RegExr per testare le RegEx. Tulip utilizza il motore RegEx di JavaScript (ECMA).

Gestione degli oggetti e degli array negli output

Tulip supporta sia gli oggetti che gli array nell'output JSON. Ecco come utilizzare ciascuno di essi:

Oggetti

Per formattare l'output JSON come oggetto, creare prima un oggetto nella sezione Output e poi indicare l'estrattore.

Nell'esempio precedente, l'oggetto si chiama "singleObj". L'output JSON è una matrice di oggetti, quindi seleziona l'oggetto all'indice 0.

Quindi, iniziare ad aggiungere gli output corrispondenti a ogni coppia chiave/valore che si desidera memorizzare. È possibile aggiungere coppie chiave/valore con il pulsante +.

Nell'esempio precedente, ci sono due campi nell'oggetto singleObj:

  1. userID, che fa riferimento alla proprietà userID ed è un numero intero
  2. id, che fa riferimento alla proprietà id ed è un numero intero.

In questo caso, l'estrattore non ha bisogno di iniziare con "0.", perché fa automaticamente riferimento all'oggetto all'indice 0.

Ecco come appare l'output JSON, come riferimento:

Array di oggetti

Per restituire un array di oggetti, selezionare Elenco di valori nella sezione Output e scegliere Oggetti.

Probabilmente sarà necessario restituire l'intero array a livello di radice nell'output JSON.

A tale scopo, inserire un "." per l'estrattore:

Quindi, come per l'estrattore di oggetti di cui sopra, iniziare ad aggiungere le singole proprietà che si desidera inviare all'applicazione.

Questo restituirà userId e id per ogni oggetto dell'array. È possibile verificare il lavoro svolto nella sezione Output dei risultati del test:

Array di un tipo di dati

Immaginiamo di voler ottenere un valore booleano da ogni oggetto di un array di valori restituiti.

Per farlo, creare un output per un array di booleani. Quindi, indicare la proprietà utilizzata per memorizzare il valore booleano in ogni oggetto.

Nell'esempio precedente, l'output si chiama "completato" e include il valore di ogni proprietà "completato" dell'array, come indicato dall'estrattore.

Ecco come apparirebbe l'output:

Integrazioni precedenti

Tulip può integrarsi con diversi sistemi software. Ecco alcuni esempi di sistemi che sono stati integrati in Tulip in passato:

Ulteriori letture


Avete trovato quello che cercavate?

Potete anche andare su community.tulip.co per porre la vostra domanda o vedere se altri hanno affrontato una domanda simile!


Questo articolo è stato utile?