Integration Hub

Integration Hub fournit un emplacement central pour gérer les intégrations avec les systèmes et services externes. Il vous permet de créer des connexions APIClosed Interface de programmation d’applications. Vous permet d’automatiser certaines fonctionnalités en connectant votre système NiCE CXone à d’autres logiciels. REST standardisées, que vous pouvez utiliser dans plusieurs scripts Studio. Cela évite de devoir créer de manière répétée les mêmes demandes chaque fois que vous souhaitez communiquer de manière externe via API. Au lieu de cela, vous pouvez créer la demande une seule fois dans Integration Hub, puis la réutiliser partout où vous en avez besoin. Cela simplifie et accélère le processus de création de scripts.

Integration Hub rend également vos intégrations plus sécurisées. Il chiffre les identifiants API, de sorte que chaque fois que vous les utilisez, ils ne sont pas exposés dans le script. Les scripts Studio sont stockés en texte brut, par conséquent vous ne pouvez pas stocker en toute sécurité des identifiants importants en tant que variables directement dans le script, comme les jetons utilisés pour les demandes API. Integration Hub vous permet d'ajouter rapidement une demande d'authentification à un script, puis d'utiliser en toute sécurité les identifiants récupérés dans les Appels API suivants. Vous pouvez également ajouter des certificats mTLS à une demande API.

Integration Hub fait partie de l'application Automatisation & AI dans NiCE CXone. Si vous disposez de l'autorisation Lancer Automatisation & AI, vous pouvez ouvrir l'application à partir de NiCE CXone dans une nouvelle fenêtre et cliquer sur Integration Hub.

Connexions

Les connexions définissent les détails relatifs à l’intégration avec un service externe, comme les demandes API, les flux d’authentification et les variables. Par exemple, vous pouvez créer un modèle de connexion pour Salesforce. Cela définirait les détails de base nécessaires pour se connecter à Salesforce, comme le type d’authentification et les méthodes prises en charge. À partir de ce modèle, vous créeriez une connexion, qui vous permet de renseigner les détails spécifiques du modèle, ainsi que des détails plus précis comme les demandes API spécifiques que vous souhaitez effectuer vers Salesforce.

Modèles de connexion

Chaque connexion que vous ajoutez à Integration Hub est créée à partir d'un modèle de connexion. Les Modèles définissent les informations de base qui s'appliquent à toutes les connexions qui seront établies avec le Modèle. Cela inclut :

  • Le nom du service Web auquel vous vous connectez.
  • La méthode d’intégration. Actuellement, l’API REST est la seule méthode prise en charge.
  • Le type d’authentification, s’il est défini. Actuellement, vous pouvez choisir OAuth 2.0 ou pas d’authentification.
  • Les en-têtes personnalisés pour l’authentification, s’ils existent, sont nécessaires.
  • Les verbes disponibles pour les demandes effectuées sur la base du modèle. Les Verbes sont les actions qui peuvent être effectuées avec le service Web connecté, telles que la récupération de données (GET) ou la création d'enregistrements (POST).

Une connexion ne doit pas nécessairement inclure tous les types d’informations de connexion. Elle peut contenir une combinaison des types d’informations pris en charge.

Tous les modèles de connexion sont disponibles dans la bibliothèque de Connexions dans Integration Hub. Les Modèles que vous pouvez utiliser dans un script Studio sont répertoriés sous mes connexions dans Integration Hub. Vous pouvez créer un maximum de 50 Connexions (dans la liste mes connexions). Il n'y a aucune limite au nombre de modèles dans la bibliothèque de connexions.

Tous les modèles ne peuvent pas être modifiés. Cependant, vous pouvez supprimer vos modèles personnalisés. Si vous devez modifier ultérieurement un élément d'un modèle personnalisé, vous pouvez supprimer le modèle et en créer un nouveau. Les Connexions elles-mêmes peuvent être modifiées. La suppression d'un modèle personnalisé n'affecte pas les connexions créées avec ce modèle.

Modèles système

Integration Hub comporte deux types DE modèles : les modèles système appartenant à NiCE, et les modèles que vous créez vous-même. Les modèles Système sont livrés avec Integration Hub et il est impossible de les modifier. Actuellement, Integration Hub comprend un modèle système :

  • NiCE CXone Developer Portal: Integrates with API endpoints documented on the NiCE CXone developer portal . This is to reduce your dependency on Studio Framework actions. It uses OAuth 2.0 authentication. To determine authentication, it uses Discovery URL. It doesn't support client certificates.

Demandes

Les demandes sont des Appels API. Pour chaque connexion de la liste mes Connexions, vous pouvez ajouter des demandes que vous souhaitez utiliser avec le service externe spécifique. Ces demandes précisent les informations suivantes, qui sont utilisées pour se connecter à un service Web :

  • URL : emplacement de la ressource à laquelle vous vous connectez.
  • Méthode (Verbe) : action que vous souhaitez que la demande exécute, comme récupérer des données ou créer un nouvel enregistrement. Integration Hub prend en charge les verbes suivants : GET, PUT, POST, DELETE, TRACE, PATCH, HEAD, OPTIONS. Les verbes pouvant être utilisés dans une connexion sont définis dans le modèle utilisé pour créer la connexion.
  • En-têtes : Une partie de la demande qui contient des informations supplémentaires sur la demande. Il peut s’agir de la langue, des informations d’identification, etc.
  • Paramètres de requête: Un moyen de transmettre des informations avec une demande API dans l'URL du terminal. Ils sont configurés sous forme de paires clé-valeur. Ils peuvent être utilisés pour filtrer, trier, personnaliser ou contrôler les données renvoyées dans la réponse.
  • Body: The content of the request. The format depends on the requirements of the API you're connecting to. The media type of the body must match what the resource you're connecting to expects. It's also known as the MIME type or content type. These are the supported options and the associated content headers: 
    • ApplicationJson : application/json
    • ApplicationJsonPatch : application/json-patch+json
    • FormURLEncoded : application/x-www-form-urlencoded
    • TextHtml : text/html
    • TextPlain : text/plain
    • TextXml : text/xml
    • Sigv4 : application/ x-amz-json-1.1

Chaque connexion Integration Hub peut avoir jusqu'à 50 demandes. Aucune restriction n’est imposée quant au nombre de demandes pouvant être actives simultanément.

NiCE CXone dispose d'un limite de 32 Ko sur la taille des réponses. Utilisez des paramètres de requête pour filtrer les données renvoyées.Cela peut vous aider à rester en deçà de cette limite.

Demandes manuelles, Studio et hybrides

Integration Hub prend en charge trois Options pour les demandes dans les connexions :

  • Manuel : une demande manuelle est créée dans Integration Hub à l'aide des options de la page ajouter une Demande. Vous pouvez utiliser les secrets qu’elles contiennent. Les demandes manuelles sont généralement utilisées lorsque les données ne changent pas. Ils peuvent être exécutés directement depuis Integration Hub sans nécessiter de script Studio. Elles peuvent également être exécutées dans les scripts Studio.
  • Studio : dans certains cas, il est impossible d’intégrer les demandes API en tant que demandes manuelles dans Integration Hub. Par exemple, les demandes qui nécessitent des paramètres de chemin, une substitution de variable ou qui se connectent à des Services Web SOAP doivent être créées dans un script Studio. Toutefois, vous souhaiterez peut-être garder une trace de ces demandes dans vos connexions Integration Hub. Utilisez pour cela l’option de demande Studio. Une demande Studio est disponible sur l’onglet Demandes d’une connexion avec toutes les demandes manuelles de la connexion.

  • Hybride : une demande hybride combine les fonctionnalités des types de demande manuel et Studio. Cela vous offre la flexibilité de préconfigurer les détails de la demande dans Integration Hub tout en permettant à n'importe laquelle de ces valeurs d'être remplacée dynamiquement au moment de l'exécution. Les demandes hybrides sont idéales lorsque :

    • La majeure partie de la configuration de votre demande reste constante d'une exécution à l'autre, mais une ou plusieurs valeurs doivent changer de façon dynamique. Par exemple, un corps de demande qui varie selon le client ou un paramètre de requête qui change en fonction de la saisie provenant d'un script Studio.

    • Vous souhaitez bénéficier de la simplicité de configuration et d'affichage des valeurs par défaut dans Integration Hub, tout en conservant la possibilité de les remplacer de manière programmatique.

    • Vous avez besoin d'une définition de demande unique qui puisse servir plusieurs cas d'utilisation sans dupliquer la configuration.

Le tableau suivant résume la différence entre les trois types de demande :

  Manuel Studio Hybride
Configuration

Tous les champs définis dans l'UI

Tous les champs fournis au moment de l'exécution

Champs définis dans l'interface utilisateur avec des remplacements d'exécution en option

Saisie d'exécution

Non supporté

Requis

En option

Validation du champ

L'URL et la méthode HTTP sont requises

N/A (validé au moment de l'exécution)

Aucun champ requis ; les valeurs peuvent être fournies au moment de l'exécution

Bouton Test

Disponible

Non disponible

Non disponible

Annuler le comportement

S/O

S/O

Les valeurs dynamiques override les valeurs statiques

Variables

Integration Hub vous permet de stocker des paires de valeurs sous forme de variables. Les variables ne sont pas chiffrées par défaut. Vous pouvez néanmoins crypter une variable en la rendant secrète. Rendre une variable secrète renforce la sécurité des informations sensibles, telles que les mots DE passe ou les clés.

Les variables peuvent être utilisées dans la connexion où vous les créez. Si vous exécutez une demande de connexion ou d'authentification dans un script Studio, vous pouvez utiliser des variables de cette connexion dans le script.

Les secrets sont chiffrés au repos dans une base de données chiffrée. Integration Hub utilise l'Advanced Encryption Standard (AES) pour chiffrer les données. Les données ne sont déchiffrées qu'au moment de l'exécution.

Integration Hub Studio Actions

Si vous souhaitez utiliser l’authentification ou effectuer une demande dans un script Studio, utilisez les actions Studio suivantes :

Faits clés sur les actions Integration Hub Studio clé

  • Elles nécessitent Integration Hub. Si Integration Hub n’est pas activé dans votre système NiCE CXone, les actions ne fonctionnent pas.
  • Vous pouvez inclure plus qu'une instance de chaque Action dans un script.
  • Vous pouvez utiliser la substitution de variable pour exécuter différentes demandes ou utiliser l'authentification de plus qu'une connexion dans un seul script.
  • Comme avec d'autres méthodes d'appel d'API dans NiCE CXone, un script supplémentaire est nécessaire pour recevoir la réponse du service Web connecté et la traiter de manière appropriée.
  • CONNECTAUTH ne permet aucune personnalisation. Elle exécute la demande d’authentification telle qu’elle est définie dans la connexion dans Integration Hub.

Circuit Breaker

Integration Hub dispose d'un disjoncteur intégré. Il s'agit d'un dispositif de sécurité préventif pour les Appels API qui échouent. Si le disjoncteur détecte qu'un appel échoue de manière répétée, il s'active et limite l'Appel API. La raison la plus courante des échecs d'appels est une erreur de serveur temporaire (erreurs 500). La limitation (ou mise en pause) de l'appel laisse au serveur le temps de redémarrer et de fonctionner correctement.

Les fonctionnalités clés du disjoncteur sont les suivantes :

  • Le disjoncteur s'active si plus de 50 % des appels à une API échouent en moins de 30 secondes.

  • Pour déclencher le disjoncteur, Integration Hub doit avoir tenté plus de 100 appels vers une seule API au cours d'une fenêtre de 30 secondes.

  • Le disjoncteur s'active pendant 30 secondes.

  • Les raisons de l'échec sont accessibles dans les journaux de Studio trace, capturées dans la variable _err.

Historique de vérification

Chaque connexion dans Integration Hub dispose d'un journal des modifications. Chaque fois qu'une connexion est créée ou mise à jour, les détails suivants sont connectés :

  • Date : date à laquelle la modification a été effectuée.

  • Modified By : qui a effectué la modification.

  • Nom du profil : nom de la connexion.

  • Action : Ce qui s’est produit, par exemple si une connexion a été créée ou modifiée.

Les utilisateurs pourront accéder à ce journal à partir d'un nouveau bouton Audit dans les paramètres de la connexion.