Aperçu des connecteurs HTTP
  • 31 Oct 2023
  • 7 Minutes à lire
  • Contributeurs

Aperçu des connecteurs HTTP


Résumé de l’article

Ce guide vous aidera à comprendre toutes les capacités des connecteurs HTTP.

Si vous souhaitez connecter un système externe comme un MES ou un ERP à Tulip, vous aurez besoin d'utiliser un connecteur HTTP. Les connecteurs HTTP de Tulip peuvent s'interfacer avec la plupart des types d'API HTTP, y compris REST et SOAP.

Vous cherchez un guide pour construire des connecteurs HTTP ? Suivez le cours de l'Université des Connecteurs HTTP!

Comprendre les fonctions des connecteurs

Dans un connecteur HTTP, vous pouvez écrire une série de fonctions de connecteur qui exécuteront des types courants de requêtes HTTP à l'aide d'entrées prédéfinies. Les fonctions de connecteur sont les actions individuelles qui font des appels à l'API. Les fonctions de connecteur HTTP de Tulip supportent les méthodes suivantes :

  • GET
  • HEAD
  • POST
  • PUT
  • PATCH
  • DELETE

et les modifications des champs suivants :

  • Nom d'hôte, Port et Chemin d'accès
  • Authentification (aucune, Basic Auth, OAuth 2)
  • En-têtes de la requête
  • Paramètres de la requête
  • Corps de la requête (JSON, Form URL-Encoded, XML, ou Plain Text)

:::(Info) (NOTE) Cette sélection aura un impact sur l'en-tête Content-Type. Par exemple, si vous souhaitez envoyer du JSON en utilisant l'option Texte brut, vous devez coder manuellement en dur le Content-Type "application/json" dans vos en-têtes :: :

Les réponses peuvent ensuite être traitées et les informations extraites des en-têtes de réponse :

  • les en-têtes de la réponse
  • Corps de la réponse (JSON à l'aide de json-query ou XML à l'aide de xpath)

Les connecteurs HTTP prennent en charge les types de données suivants dans les sorties :

  • Texte
  • Entier
  • Flottant
  • Booléen
  • Datetime*
  • Objets avec tous les types de données ci-dessus
  • Tableaux avec tous les types de données ci-dessus

*L'analyse des données temporelles prend en charge

  • les horodatages OData en millisecondes depuis le 1er janvier 1970 UTC
  • les nombres interprétés comme des millisecondes depuis le 1er janvier 1970 UTC
  • Chaînes de date ISO 8601

Création d'un connecteur

Cliquez sur Add Connector en haut à droite de la page Connectors, nommez le connecteur et sélectionnez HTTP.

An Overview of HTTP Connectors_122139734.png

Vous verrez ensuite l'onglet Environment. Si vous souhaitez configurer plusieurs environnements, consultez ce guide séparé.

An Overview of HTTP Connectors_122140278.png

Ensuite, après avoir sélectionné votre connecteur, cliquez sur Ajouter des détails de connexion pour ajouter plus de détails sur le serveur que vous souhaitez interroger.

An Overview of HTTP Connectors_122140947.png

Il existe 5 options.

An Overview of HTTP Connectors_122141109.png

Reportez-vous à ce guide sur les hôtes des connecteurs.

Hôte : N'indiquez que le domaine que vous souhaitez interroger. N'incluez pas http:// ou https://. Par exemple, myaccount.restlet.api.netsuite.com.

Port : Il doit être spécifié par le service que vous interrogez. Les requêtes HTTP utilisent généralement le port 443.

TLS : Sélectionnez "Oui" si vous utilisez HTTPS, et "Non" si vous utilisez uniquement HTTP.

Cliquez sur Test pour voir si vous pouvez vous connecter avec succès au serveur, puis cliquez sur Enregistrer.

Pour dupliquer ou supprimer le connecteur, retournez à la page Connecteurs, puis cliquez sur les trois points à droite du connecteur en question.

An Overview of HTTP Connectors_122140669.png

Création d'une fonction de connecteur

Cliquez sur le bouton Ajouter une nouvelle fonction dans l'onglet Fonctions pour créer une nouvelle fonction.

An Overview of HTTP Connectors_122141271.png

Vous verrez ensuite une série d'options pour modifier votre fonction.

Tout d'abord, nommez la fonction en haut à gauche de la page.

Ensuite, cliquez sur Ajouter des entrées de fonction pour commencer à ajouter des entrées. Exemple :

Si vous souhaitez tester votre fonction de connecteur HTTP, ajoutez une "valeur de test" pour chaque entrée.

Ajoutez ensuite un point de terminaison à la fin de l'URL et choisissez le type de requête HTTP.

Sélectionnez Paramètres de requête pour commencer à ajouter des paires clé/valeur. Utilisez les entrées que vous avez définies dans le champ Valeur.

Ajoutez un $ avant et après le nom de l'entrée, par exemple, si le nom de l'entrée est "nom_ville", tapez$city_name$.

Traitement des réponses

Une fois que vous êtes satisfait de vos entrées et sorties, sélectionnez Test dans le coin supérieur droit pour créer un exemple de réponse.

Vous verrez une réponse JSON ou XML dans la section Résultats du test. Vous pouvez maintenant affecter des parties de cette réponse à des sorties et les utiliser dans des applications.

Les extracteurs JSON utilisent la syntaxe json-query. Pour tester la syntaxe, utilisez cet outil en ligne.

Les extracteurs XML utilisent la syntaxe XPATH.

Il y a deux façons de procéder :

  1. Cliquer sur les propriétés dans le corps de la réponse pour les faire correspondre aux sorties.
  2. Spécifier manuellement le chemin à l'aide de json-query

Voici comment spécifier les extracteurs en utilisant le pointer-cliquer :

Si vous souhaitez utiliser json-query, ajoutez quelques sorties afin de pouvoir mapper le contenu de la réponse à Tulip.

Ensuite, vous devez spécifier "extractors" à côté de chaque sortie pour indiquer les données du corps de la réponse que vous souhaitez stocker.

Voici un exemple avec json-query : disons que vous écrivez une requête GET qui renvoie un tableau d'objets. Vous souhaitez renvoyer la valeur de la propriété name du premier objet du tableau.

Voici ce que vous écririez dans le champ path:

0.name

Vous pouvez également stocker des valeurs provenant de la section En-têtes et cookies de la réponse.

Comme dans la section précédente, vous devez spécifier une sortie spécifique dans la section Sortie. Ensuite, cliquez sur une partie d'un exemple de réponse ou utilisez json-query pour accéder à la propriété correcte à partir du JSON dans la réponse HTTP.

Voici un exemple où une sortie nommée "csrf_token" stocke la valeur appelée "x-csrf-token" à partir de la propriété dans l'en-tête.

Les sorties sont stockées en tant que propriétés d'un objet lorsqu'elles sont partagées avec une application. Vous devez alors stocker l'objet dans une variable de l'application. Pour plus de détails, consultez ce guide sur l'utilisation des sorties de connecteur avec les applications

Utilisation de RegEx pour modifier les sorties

Vous pouvez également utiliser RegEx pour affiner les valeurs textuelles de la réponse. Pour ce faire, ajoutez l'une des fonctions suivantes dans le champ Path afin de faire passer la valeur par une expression régulière :

:regexp()

Pour capturer plusieurs sous-chaînes dans la chaîne de caractères

:regexpGroup()

Exemples :

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

En utilisant RegEx group, vous pouvez vouloir capturer un seul groupe au sein d'une chaîne plus large. Pour ce faire, ajoutez une virgule à la fin de votre chaîne RegEx et ajoutez le numéro du groupe spécifique dans la chaîne.

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

Vous pouvez également l'utiliser pour sélectionner un élément spécifique d'un tableau qui correspond à une règle. Par exemple, le premier objet dont la valeur de l'adresse électronique commence par n.

.[email:regexp(^N)]

Nous recommandons RegExr pour tester vos RegEx. Tulip utilise le moteur RegEx JavaScript (ECMA).

Gestion des objets et des tableaux dans les sorties

Tulip supporte à la fois les objets et les tableaux dans les sorties JSON. Voici comment utiliser chacun d'entre eux :

Objets

Pour formater une sortie JSON en tant qu'objet, créez d'abord un objet dans la section Outputs et indiquez ensuite l'extracteur.

Dans l'exemple ci-dessus, l'objet est appelé "singleObj". La sortie JSON est un tableau d'objets, qui sélectionne donc l'objet à l'index 0.

Commencez ensuite à ajouter des sorties correspondant à chaque paire clé/valeur que vous souhaitez stocker. Vous pouvez ajouter des paires clé/valeur à l'aide du bouton +.

Dans l'exemple ci-dessus, l'objet singleObj comporte deux champs :

  1. userID, qui fait référence à la propriété userID et est un nombre entier
  2. id, qui fait référence à la propriété id et est un entier.

Dans ce cas, l'extracteur n'a pas besoin de commencer par "0" car il référence automatiquement l'objet à l'index 0.

Voici à quoi ressemble la sortie JSON, à titre de référence :

Tableaux d'objets

Pour renvoyer un tableau d'objets, sélectionnez Liste de valeurs dans la section Sortie et choisissez Objets.

Vous devrez probablement renvoyer l'ensemble du tableau au niveau de la racine dans la sortie JSON.

Pour ce faire, saisissez un "." pour l'extracteur :

Ensuite, comme pour l'extracteur d'objets ci-dessus, commencez à ajouter les propriétés individuelles que vous souhaitez envoyer à l'application.

Vous obtiendrez ainsi l'ID utilisateur et l'ID de chaque objet du tableau. Vous pouvez vérifier votre travail dans la section Outputs des résultats du test :

Tableaux d'un seul type de données

Imaginons que vous souhaitiez obtenir une valeur booléenne pour chaque objet d'un tableau de valeurs renvoyées.

Pour ce faire, créez une sortie pour un tableau de booléens. Indiquez ensuite la propriété utilisée pour stocker cette valeur booléenne dans chaque objet.

Dans l'exemple ci-dessus, la sortie est appelée "completed", et elle inclut la valeur de chaque propriété "completed" dans le tableau, comme indiqué par l'extracteur.

Voici à quoi ressemblerait la sortie :

Intégrations passées

Tulip peut s'intégrer à une grande variété de systèmes logiciels. Voici quelques exemples de systèmes qui ont été intégrés à Tulip dans le passé :

Plus d'informations


Avez-vous trouvé ce que vous cherchiez ?

Vous pouvez également vous rendre sur community.tulip.co pour poser votre question ou voir si d'autres personnes ont répondu à une question similaire !


Cet article vous a-t-il été utile ?