Rest Api

Cette page d'aide concerne Desktop Studio. Ces informations sont également disponibles pour Studio.

``` Rest Api Action icon ```

Traite les appels d’API RESTful de manière synchrone. Cette action permet au système de gérer des charges plus élevées. Il renvoie à la fois le corps et les en-têtes de l'Appel API. Cela facilite le test et le débogage des scripts.

Cette action est l'une des méthodes prises en charge pour se connecter à des services Web dans un script Studio.

Si vous avez des demandes d'API RESTful actuellement effectuées dans l'Snippet action, il est fortement recommandé de les remplacer. Vous pouvez utiliser l'REST API action, Integration Hub, ou l'une des autres méthodes prises en charge. L'envoi de demandes API depuis SNIPPET peut entraîner de graves problèmes de performance dans le système.

Dépendances

L’utilisation de cette action est soumise à certaines limitations implosées au niveau de l’unité d’exploitationClosed Regroupement organisationnel de haut niveau utilisé pour gérer le soutien technique, la facturation et les paramètres globaux de votre système NiCE CXone..Cela est fait afin que l'un n'ait pas d'impact sur l'autre. Les limitations au sein de la plateforme sont les suivantes :

  • Format de réponse : seul le format de réponse JSON est pris en charge.
  • Réessais en cas d'Échec : le gestionnaire Action réessaie automatiquement deux fois si un message d'échec est reçu avant de renvoyer la réponse.
  • Dépassement DE délai : vous spécifiez la valeur de dépassement DE délai dans la requête. La valeur ne peut pas être supérieure à 90 secondes.
  • Taille maximale de la Réponse : Le taille de réponse maximale est de 32 Ko. Ceci est conforme à la fonctionnalité existante de Snippet . If vous atteignez cette limite, vous devez réduire la taille des données renvoyées.
  • Throttle Limit: The throttle limit is defined by two parameters:
    • Nombre maximal de Demandes simultanées : 100 demandes simultanées sont autorisées par défaut. Cette limite est la même pour tous les clients NiCE CXone. Cela signifie que 100 demandes simultanées entraînent un débit beaucoup plus élevé que l'exécution d'Appels API à partir d'une action Snippet. Si vous avez besoin de plus que 100 demandes simultanées, parlez à votre représentant de compte de l'augmentation de la limite pour votre unité commerciale. Des approbations spéciales sont requises.
    • En file d’attente Nombre : Lorsque le nombre de demandes dépasse la limite, les demandes supplémentaires sont placées dans une file d'attente de traitement. Lorsque le nombre de demandes passe sous la limite, les demandes en file d'attente sont traitées.
  • Circuit Breaker: If your specified URL is down or unreachable, you can get too many failures on your request. When this happens, NiCE CXone will reduce request execution of ALL URLs from the REST API action for a period of time. This allows your specified URL to recover from the failure. Limits are identified below:
    • Débit minimum : 100 demandes en 30 secondes. une fois ce seuil atteint, le taux d'échec est pris en compte. Si votre unité commerciale n'exécute pas le nombre minimum de requêtes, elle continuera à exécuter des requêtes même si elles échouent.
    • Taux d'échec : Lorsque le seuil minimal de débit est atteint, si au moins 50 % des demandes ont échoué pendant 30 secondes, le délai d'attente est déclenché. La durée de 30 secondes est une fenêtre de roulement.
    • Temps d'arrêt ou durée de la pause : si le débit minimum et le taux d'échec sont atteints, aucune demande provenant de l'action REST API ne sera exécutée pendant 30 secondes.

Autres dépendances de cette action :

  • JSON est le seul format de réponse pris en charge. L’action requiert que tout le code JSON soit sur une seule ligne. Lorsque vous utilisez des données JSON dans cette action, vous pouvez :

    • Effectuez une substitution de variables à partir d’une chaîne contenant du JSON.
    • Convertir un objet de données dynamiques en JSON est pris en charge à l'aide de la fonction asjson(). Notez que asjson() traite tout comme une chaîne de caractères, ce qui signifie qu'une certaine manipulation est requise lorsque vous travaillez avec des valeurs booléennes ou numériques.
    • Transmettez également la variable de sortie resultSet(out) d'une action API REST précédente à cette propriété.
  • Les réponses sont renvoyées sous forme d’objets jtoken. Vous pouvez travailler avec eux exactement comme vous le feriez avec objets de données dynamiques dans votre script.
  • Les réponses contiennent des en-têtes et le corps de la réponse. Ils peuvent également contenir des codes état HTTP. Toutes les réponses n'incluent pas nécessairement des codes d'état. S'il n'y a pas d'erreur, si l'action REST API ne parvient pas à générer une réponse valide, ou si l'erreur renvoyée ne peut pas être analysée comme une réponse valide, aucun état n'est inclus.
  • Les réponses contiennent des en-têtes et le corps de la réponse. Elles incluent également les codes de statut HTTP dans deux variables, __httpstatuscode et __httpstatusdescription. Ces variables sont remplies avec les informations renvoyées par le serveur.Toutefois, elles ne sont pas remplies en cas d'erreur, de dépassement DE délai, de trop-plein, de rupture de circuit ou de toute autre situation dans laquelle le serveur ne renvoie pas de réponse.
  • Vous pouvez utiliser plus qu'une action REST API dans un script, mais elles ne peuvent pas toutes les deux référencer les mêmes objets.

Saisie Propriétés

Ces propriétés définissent les données que l'action utilise lors de son exécution.

Propriété

Description

Légende

Entrez une courte phrase qui identifie cette action dans le script de manière unique. La légende est affichée sur le canevas de script sous l’icône de l’action. La valeur par défaut est le nom de l’action.

Verbe

Le verbe que vous souhaitez que cette action utilise. Cette propriété prend en charge les actions REST de base telles que GET, PUT, POST, DELETE et PATCH.

Paramètres

Préciser les paramètres à inclure ou les données à publier sous la forme d'un objet JSON de paires clé-valeur. Plusieurs types de JSON sont acceptables, par exemple Jobject, Jarray ou Jtoken.

En-têtes

Permet d’ajouter des en-têtes personnalisés pour l’authentification du client; comme les jetons de support. Vous pouvez utiliser JSON dans ce champ.

Important Si votre point de terminaison d'URL personnalisé nécessite des en-têtes différents, il doit être spécifié dans cette propriété. Pour conserver la parité des fonctionnalités avec l'action Snippet existante, NiCE CXone ajoute les en-têtes suivants par défaut :

{"Accept":"application/json", "Content-Type" :"application/x-www-form-urlencoded"}

Commande

Actuellement, la seule option est MakeRestRequest. Cela fonctionne de la même manière que la fonction MakeRestRequest() utilisée pour effectuer un Appel API REST dans une action Snippet.

TimeOutInMilliSeconds

\n

Permet de spécifier et d'honorer un délai d'expiration de l'appel REST. Doit durer moins de 90 secondes (90000 millisecondes). Si aucun dépassement DE délai n'est défini, la valeur par défaut est 10 secondes (10 000 millisecondes).

\n
Adresse de service

L’URL de l’API REST que l’action doit appeler. Vous pouvez utiliser la substitution de variable avec cette propriété. Utilisez la propriété Paramètres pour préciser les paramètres de requête à inclure.

Dépassement DE délai

Le chemin emprunté s’il n’y a pas de réponse pendant le nombre de secondes ou millisecondes spécifié dans la propriété Timeout.

Propriétés de sortie

Ces propriétés contiennent des variables qui stockent les données renvoyées par l'exécution de l'action. Elles sont disponibles à des fins de référence et d’utilisation lorsque l'action est terminée.

Propriété

Description

resultSet(out)

Une variable contenant toute information renvoyée à partir de l’API spécifiée dans l’Adresse de service. Vous pouvez transmettre le contenu de cette variable tel quel à l’en-tête et aux paramètres si nécessaire. La réponse est renvoyée en tant qu'objet Jtoken, mais vous pouvez la déclarer comme objet dynamique et l'utiliser comme vous le feriez pour d'autres objets dynamiques dans votre script.

errorArgList (sortie)

Un objet de données contenant des informations sur les erreurs qui peuvent se produire. Lorsqu'une erreur se produit, l'objet contient le code de statut HTTP, la description du statut et un message. S’il n’y a pas d’erreur, l’objet est vide.

Les codes d'état HTTP et les descriptions ne sont renvoyés que dans l'erreur et peuvent être correctement analysés en tant que réponse valide. Par conséquent, toutes les erreurs ne contiennent pas un code de réponse HTTP.

Conditions de la branche résultat

Les conditions de branche de résultat vous permettent de créer des branches dans votre script afin de gérer différents résultats lors de l'exécution d'une action.

Condition

Description

Throttle

Chemin emprunté lorsque trop de demandes sont exécutées dans un court laps de temps. Voir les limitations ci-dessous pour plus de détails.

InvalidInput

Chemin emprunté si une entrée non valide est trouvée ou qu'une erreur de temporisation se produit. Chaque paramètre est validé lors de la sauvegarde du script.

Échec

Chemin suivi lorsqu'une erreur ou une exception se produit dans l'application NiCE CXone exécutant la demande.

Erreur

Chemin emprunté lorsque le point de terminaison du client distant renvoie un code d'erreur http.

Par défaut

Chemin emprunté lorsque la réponse n'est pas reçue dans les 90 secondes.

Réussite

Chemin emprunté si l’action se termine sans erreur et si tous les appels d’API ou retours de données ont abouti (codes de réponse 2xx).