Rest Api

Cette page d'aide s'applique à Desktop Studio. Ces informations sont aussi 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. Elle retourne à la fois le corps et les en-têtes de l'Appel api. Cela facilite le Test et le déboguer 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'action Snippet, il est fortement recommandé de les remplacer. Vous pouvez utiliser l'action REST API, Integration Hub, ou l'une des autres méthodes prises en charge. Effectuer des demandes d'API à partir de SNIPPET peut entraîner de graves problèmes de performance dans le système.

Dépendances

Il y a des limitations quant à l'utilisation de cette action, imposées au niveau de l'unité commercialeClosed 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'une n'ait pas d'incidence 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.
  • Nouvelles tentatives en cas d'Échec : Le gestionnaire de l'Action tentera automatiquement à deux reprises si un message d'échec est reçu avant de renvoyer la réponse.
  • Dépassement de délai : Vous précisez la valeur de dépassement de délai dans la demande. La valeur ne peut pas être plus que 90 secondes.
  • Taille maximum de la Réponse : La taille maximum de la réponse est de 32 Ko. Cela est conforme à la fonctionnalité existante de l'Extrait. Si 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:
    • Demandes simultanées maximum : Jusqu'à 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 les appels API effectués depuis une action Extrait. Si vous avez besoin de plus que 100 demandes simultanées, communiquez avec votre représentant de compte pour augmenter la limite de votre unité commerciale. Des approbations spéciales sont requises.
    • En File d'attente Count : Lorsque les demandes dépassent la limite, les demandes supplémentaires entrent dans une file d'attente de traitement. Une fois que les demandes descendent en dessous de 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 demandes, elle continuera à exécuter des demandes même si elles échouent.
    • Taux d'Échec : Lorsque le seuil de débit minimum est atteint, si au moins 50 % des demandes ont échoué pendant 30 secondes, le délai d'attente est déclenché. 30 secondes est une fenêtre déroulante.
    • Délai d'attente ou durée de la pause : Si le débit minimum et le taux d'échec sont atteints, aucune demande de l'action REST API ne sera exécutée pendant 30 secondes.

Les autres dépendances de cette action sont :

  • JSON est le seul format de réponse pris en charge. L'action exige que tout le JSON soit sur une seule ligne. Lorsque vous travaillez avec du JSON dans cette action, vous pouvez :

    • Effectuez une substitution de variable à partir d’une chaîne contenant du JSON.
    • Convertir un objet 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 que certaines manipulations sont nécessaires lorsque vous travaillez avec des valeurs booléennes ou numériques.
    • Passez é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 les utiliser de la même façon que les objets de données dynamiques dans votre script.
  • Les réponses contiennent des en-têtes et le corps de la réponse. Elles peuvent également contenir des codes d'état HTTP. Toutes les réponses n'incluent pas de 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 des codes d'état HTTP dans deux variables, __httpstatuscode et __httpstatusdescription. Ces variables se remplissent à partir des informations renvoyées par le serveur. Cependant, elles ne se remplissent pas s'il y a une erreur, un dépassement de délai, un débordement, un circuit interrompu, ou une autre situation où 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 faire référence aux mêmes objets.

Saisie Properties

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 de façon unique cette action dans le script. La légende apparaît sur le canevas du script sous l’icône de l’action. La valeur par défaut est le nom de l’action.

Verbe

Le verbe que vous voulez 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 forme d'objet JSON de paires clé-valeur. De nombreux types de JSON sont acceptables, tels que Jobject, Jarray ou Jtoken.

En-têtes

Vous permet d'ajouter des en-têtes personnalisées pour permettre l'authentification du client, comme des jetons du porteur. Vous pouvez utiliser JSON dans ce champ.

Important Si votre terminal URL personnalisé nécessite des en-têtes différentes, celles-ci doivent être spécifiées dans cette propriété. Pour conserver la parité des fonctionnalités avec l'Action Snippet existante, NiCE CXone ajoute les en-têtes suivantes par défaut :

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

Commande

Actuellement, la seule option est MakeRestRequest. Cette fonction agit de la même manière que la fonction MakeRestRequest() utilisée lors d'un appel API REST dans une action Snippet.

TimeOutInMilliSeconds

Permet de spécifier et de respecter un dépassement de délai pour l'appel REST. Doit être inférieur à 90 secondes (90 000 millisecondes). Si aucun dépassement de délai n'est spécifié, la valeur par défaut est de 10 secondes (10 000 millisecondes).

Adresse de service

L'URL de l'API REST que vous voulez que l'action appelle. Vous pouvez utiliser la substitution de variables 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é en cas d’absence de réponse pendant le nombre de secondes ou de millisecondes spécifié dans la propriété Dépassement de délai.

Propriétés de Sortie

Ces propriétés contiennent des variables qui conservent 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 qui contient toutes les informations retournées par l'API spécifiée dans Adresse de service. Vous pouvez transmettre le contenu de cette variable tel quel dans l'en-tête et les paramètres, au besoin. La réponse est retournée sous forme d'objet Jtoken, mais vous pouvez la déclarer comme objet dynamique et l'utiliser comme vous le feriez avec d'autres objets dynamiques dans votre script.

errorArgList(out)

Un objet de données dynamiques qui contient des informations sur toute erreur qui se produit. Lorsqu'une erreur se produit, l'objet contient le code d'état HTTP, la description du statut et un message. Lorsqu'il n'y a pas d'erreur, l'objet est vide.

Les codes d'état HTTP et les descriptions sont retournés uniquement dans l'erreur et peuvent être correctement analysés comme une réponse valide. Cela signifie que toutes les erreurs n'incluront pas un code de réponse HTTP.

Conditions de la branche de 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é lorsqu'un trop grand nombre de demandes sont exécutées en peu de temps. Voir les limitations ci-dessous pour plus de détails.

InvalidInput

Chemin pris si une entrée non valide est détectée ou si une erreur de dépassement de délai se produit. Chaque paramètre est validé lorsque le script est sauvegardé.

Failure

Chemin emprunté lorsqu'une erreur ou une exception se produit dans l'Application qui exécute la demande.

Error

Chemin emprunté lorsque le point de terminaison 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.

Success

Chemin emprunté si l’action se termine sans erreur et si les appels à l’API ou les retours de données ont été un succès (codes de réponse 2xx).