Integration Hub

Integration Hub fournit un endroit central pour gérer les intégrations avec des 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 normalisées, que vous pouvez utiliser dans plusieurs scripts Studio. Cela évite d’avoir à créer les mêmes demandes à répétition chaque fois que vous voulez communiquer avec l’externe par API. Vous pouvez plutôt 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 script.

Integration Hub rend également vos intégrations plus sécurisées. Il chiffre les identifiants API, de sorte qu’ils ne sont jamais exposés dans le script chaque fois que vous les utilisez. Les scripts Studio sont stockés en texte brut, vous ne pouvez donc pas stocker de manière sécurisée des identifiants importants comme des 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 subséquents. Vous pouvez également ajouter des certificats mTLS à une demande API.

Integration Hub fait partie de l’application Automatisation et AI dans NiCE CXone. Si vous disposez de l’Autorisation Lancer Automatisation et IA, 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 permettant l’intégration avec un service externe, comme les demandes API, les flux d’authentification et les variables. Par exemple, vous pourriez 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, ce qui vous permet de remplir des détails précis du modèle, ainsi que des détails plus précis comme les demandes API précises que vous voulez faire à 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 effectuées 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, le cas échéant. Actuellement, vous pouvez choisir OAuth 2.0 ou aucune authentification.
  • Les en-têtes personnalisés pour l’authentification, s’ils 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 prises avec le service Web connecté, comme 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 n’importe quelle 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 pas de limite au nombre de modèles dans la bibliothèque de connexions.

Tous les modèles ne peuvent pas être modifiés. Cependant, vos modèles personnalisés peuvent être supprimé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 fournis avec Integration Hub et ne peuvent pas être supprimés. Actuellement, Integration Hub comprend un modèle système :

  • NiCE CXone Portail des développeurs : S'intègre aux points de terminaison API documentés sur le NiCE CXone portail des développeurs . Ceci permet de réduire votre dépendance envers les Studio Framework actions. Il utilise l’authentification OAuth 2.0. Pour déterminer l’authentification, il utilise l’URL de découverte. Il ne prend pas en charge les certificats clients.

Demandes

Les demandes sont des Appels api. Pour chaque connexion dans 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 servent à se connecter à un service Web :

  • URL : L’emplacement de la ressource à laquelle vous vous connectez.
  • Méthode (Verbe) : L’action que vous voulez que la demande effectue, comme la récupération de données ou la création d’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, d’identifiants, etc.
  • paramètres de requête : Une façon de transmettre des informations avec une demande API dans l'url du terminal. Ils sont configurés comme des 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 contenir jusqu’à 50 demandes. Il n’y a aucune restriction quant au nombre de demandes qui peuvent être actives simultanément.

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

Demandes manuelles, Studio et hybrides

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

  • Manuelle : une demande manuelle est créée dans Integration Hub à l'aide des options de la page Add Request. Vous pouvez y utiliser des secrets. Les Demandes manuelles sont généralement utilisées lorsque les données ne changent pas. Elles peuvent être exécutées directement à partir de Integration Hub sans nécessiter de script Studio. Elles peuvent également être exécutées dans les scripts Studio.
  • Studio : Dans certains cas, les demandes d’API ne peuvent pas être construites 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 voudrez peut-être garder une trace de ces demandes dans vos connexions Integration Hub. L’option de demande Studio vous permet de le faire. Une demande Studio apparaît dans l’onglet Demandes d’une connexion avec toutes les demandes manuelles de la connexion.

  • Hybride : une demande hybride combine les capacités des types de demandes manuelle et Studio. Cela vous donne 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 à l'exécution. Les demandes hybrides sont idéales lorsque :

    • La majeure partie de la configuration de votre demande est constante d'une exécution à l'autre, mais une ou plusieurs valeurs doivent changer dynamiquement. 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 la commodité de configurer et d'afficher les valeurs par défaut dans Integration Hub, tout en conservant la possibilité de les remplacer par programmation.

    • Vous avez besoin d'une seule définition de demande qui peut servir de multiples cas d'utilisation sans dupliquer la configuration.

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

  Manuel Studio Hybride
Configuration

Tous les champs définis dans l'interface utilisateur

Tous les champs fournis à l'exécution

Champs définis dans l'interface utilisateur avec des remplacements facultatifs à l'exécution

Saisie à l'exécution

N'est pas pris en charge

Champs obligatoires

Facultatif

Validation du champ

L'URL et la méthode HTTP sont requises

N/A (validé à l'exécution)

Aucun champ requis; les valeurs peuvent être fournies à l'exécution

Bouton test

Disponible

Non Disponible

Non Disponible

Comportement de remplacement

s.o. (N/A)

s.o. (N/A)

Les valeurs dynamiques override les valeurs statiques

Variables

Integration Hub vous permet de stocker des paires de valeurs en tant que variables. Les variables ne sont pas chiffrées par défaut. Cependant, vous pouvez chiffrer une variable en la transformant en secret. Le fait de marquer une variable comme étant 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 les 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 la norme de Chiffrement avancé (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

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

Faits saillants concernant les actions Integration Hub Studio

  • Elles ont besoin de Integration Hub. Si Integration Hub n’est pas activé dans votre système NiCE CXone, les actions ne fonctionnent pas.
  • Vous pouvez inclure plus d’une instance de chaque action dans un script.
  • Vous pouvez utiliser la substitution de variables pour exécuter différentes demandes ou utiliser l’authentification de plus d’une connexion dans un seul script.
  • Comme pour les autres méthodes permettant d’effectuer des Appels 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. Il exécute la demande d’authentification telle qu’elle est définie dans la connexion dans Integration Hub.

Disjoncteur

Integration Hub dispose d’un disjoncteur intégré. Il s’agit d’un dispositif de sécurité préventif pour les Appels api ayant échoué. 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 la mise en pause) de l’appel donne au serveur le temps de redevenir opérationnel et de fonctionner correctement.

Voici les caractéristiques clés du disjoncteur :

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

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

  • Le disjoncteur s’active pendant 30 secondes.

  • Les raisons d’échec sont accessibles dans les journaux de trace de Studio, 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 enregistrés :

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

  • Modified By : qui a apporté la modification.

  • Profile Name : le 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.