SNIPPET

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

Permet d'ajouter du code personnalisé à votre script.

Il est fortement déconseillé d'effectuer des Appels API REST depuis une action SNIPPET. Utilisez plutôt l'action REST API ou Integration Hub. Si votre API est SOAP ou renvoie du XML, consultez les recommandations sur la façon de minimiser l'impact sur votre système lors de l'exécution d'Appels API depuis SNIPPET.

Dépendances

  • Le code utilisé dans cette Action doit être écrit en Snippet, un langage de script interne développé pour NiCE CXone. Le guide de référence technique Studio fournit des informations détaillées sur l'écriture de scripts dans les Extraits.
  • Les attributs des objets ne peuvent pas être nommés __type (avec deux traits de soulignement). objets dynamiques.
  • Vous pouvez effectuer des Appels API à l'aide de l'action Snippet. Toutefois, il ne s'agit pas de la méthode recommandée pour effectuer des Appels API dans vos Scripts. Si vous les effectuez de cette manière, veillez à bien comprendre les risques et bonnes pratiques.
  • La taille maximum des tableaux dans Studio est de 63 millions d'éléments. Si cette taille de tableau est dépassée, cela entraîne l'erreur suivante dans la variable __err dans une trace de script: Index de tableau hors limites. L'index de Tableau actuel ([index]) dépasse l'index maximum autorisé (63000000). Lorsque la taille maximale du tableau est dépassée, le script suit la branche Error de l'action SNIPPET. Si la branche Error n'est pas connectée, le script continue de s'exécuter, mais sans les informations du tableau. Vous pouvez configurer les scripts pour qu'ils vous avertissent lorsque la taille maximale du tableau a été dépassée en ajoutant une action EMAIL à la branche Error de l'action SNIPPET. Enfin, vous pouvez ajouter une logique dans la branche Error pour poursuivre le script. Notez qu'il se poursuivra sans les informations du tableau.
  • The maximum response size in NiCE CXone is 32 KB. The limit is strictly enforced to prevent cluster instability and outages. Studio enforces this limit when saving the script, but Desktop Studio does not. If you can, use the REST API action or Integration Hub instead of the SNIPPET action to make API calls. They have the same limit, but can handle a heavier load. If you must use the SNIPPET action, follow these tips to reduce the size of the returned data: 

    • Filtrer les données dans la réponse API : Par exemple, si vous utilisez l'API Reporting NiCE pour obtenir des contacts, vous pouvez filtrer les résultats par startDate et endDate du contact. Cet Appel API vous permet également de renvoyer et de limiter un nombre haut d'éléments. Reportez-vous à la documentation de l'API fournie avec votre intégration de script pour déterminer les filtres que vous pouvez utiliser.

    • Mettez à jour la demande API pour renvoyer uniquement les données dont vous avez besoin : Par exemple, si vous utilisez l'API de création de rapports NiCE pour obtenir des contacts, vous pouvez utiliser les champs contactId ou agentId pour renvoyer uniquement les données pertinentes. Reportez-vous à la documentation de l’API associée à votre intégration de script pour déterminer les limites de données que vous pouvez utiliser.

    • Créer un middleware : Si vous ne pouvez effectuer aucune des deux options précédentes, créez un middleware qui effectue des filtres en fonction de critères personnalisés que vous définissez. Si vous procédez ainsi, assurez-vous que votre middleware n'ajoute pas de latence à l'appel.

  • ```

    Chaque boucle FOR, FOREACH ou REPEAT au sein d'un SNIPPET est protégée par une limite de temps de 500 ms. Si une boucle dépasse cette limite, l'action SNIPPET prend la branche d'erreur avec l'erreur Too much time has elapsed. Cela évite l'utilisation excessive des ressources système pour les boucles incontrôlées. La limite de temps de 500 ms s'applique uniquement au travail côté script, y compris les affectations, les opérations arithmétiques, les conditions, l'accès aux tableaux, etc. Elle ne s'applique pas à l'exécution de bout en bout du code de l'Extrait. Par exemple, le temps d'attente pour un système externe tel qu'un appel API REST ou une base de données ne compte pas dans cette limite.

    ```

Types de scripts pris en charge

The icon for a Generic script type - a rectangle with < and > symbols inside it.

L'icône du type de script E-mail - un grand symbole @ dans un losange.

L'icône du type de script Chat - une bulle de chat avec des points de suspension à l'intérieur (...), en forme de losange.

L'icône du type de script Téléphone - un combiné téléphonique de style ancien avec des lignes courbes indiquant que le son en sort.

L'icône du type de script de messagerie vocale - un symbole qui ressemble à une cassette - deux cercles assis sur une ligne horizontale.

L'icône pour le type de script d'élément de travail - un morceau de papier avec un coin replié et une liste à puces dessus.

L'icône du type de script SMS - un téléphone intelligent avec une bulle de discussion qui en sort.

``` L'icône du type de script Numérique - un moniteur d'ordinateur avec un smartphone à côté. ```

Générique

Email Conversation Téléphone Messagerie vocale Élément de travail SMS Digital

Propriétés de saisie

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.

Données

Contient le code personnalisé ajouté dans la fenêtre Snippet editor. Cela peut inclure plusieurs ASSIGN et DYNAMICcommandes, diverses instructions de contrôle de flux, ainsi que des fonctions intégrées et définies par l'utilisateur.

MaxStringSize

Définit la taille maximum des chaînes pour toutes les commandes de la propriété Data. Options : limite 2k, limite 4k, limite 8k, limite 16k, limite 32k. Cette limite s'applique aux réponses d'intégration avec les API REST et SOAP.

Conditions de 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

Par défaut

Path taken unless the script meets a condition that requires it to take one of the other branches. It is also taken if the action's other branches are not defined.

OnError

Path taken when the action fails to execute properly. For example, when there is an unexpected problem such as poor connectivity, syntax errors, and so on. The _ERR variable, with a single underscore character, should be populated with a condensed explanation of the problem.

Faites preuve de prudence lors des Appels API depuis Extrait

Il n'est pas recommandé d'effectuer des Appels API au sein d'un extrait. Cela peut entraîner de graves problèmes de performances qui ont une incidence sur la gestion des contacts et un impact négatif sur votre locataire. Pour une expérience plus sûre et plus fiable, utilisez l'une des méthodes privilégiées suivantes.

Il existe deux cas où l'émission d'appels à partir de SNIPPET est la méthode que vous devez utiliser : si vous vous connectez à un service Web SOAP ou si vos Appels API incluent du xml. Si vous devez utiliser SNIPPET pour les Appels API :

  • Limitez les délais d'expiration dans vos Appels API. Une recommandation générale est que les délais d'expiration ne dépassent pas deux secondes. Les délais d'expiration par défaut peuvent être plus longs, il convient donc de toujours vérifier les délais d'expiration pour s'assurer qu'ils ne dépassent pas ce maximum. Si vous constatez que des délais d'expiration plus longs sont nécessaires, ajustez votre service Web si possible afin d'améliorer ses temps de réponse.
  • Soyez extrêmement prudent avec la logique de boucle. La combinaison de boucles et de longs délais d'attente amplifie l'impact potentiel sur votre système.
  • The maximum response size in NiCE CXone is 32 KB. The limit is strictly enforced to prevent cluster instability and outages. Studio enforces this limit when saving the script, but Desktop Studio does not. If you can, use the REST API action or Integration Hub instead of the SNIPPET action to make API calls. They have the same limit, but can handle a heavier load. If you must use the SNIPPET action, follow these tips to reduce the size of the returned data: 

    • Filtrer les données dans la réponse API : Par exemple, si vous utilisez l'API Reporting NiCE pour obtenir des contacts, vous pouvez filtrer les résultats par startDate et endDate du contact. Cet Appel API vous permet également de renvoyer et de limiter un nombre haut d'éléments. Reportez-vous à la documentation de l'API fournie avec votre intégration de script pour déterminer les filtres que vous pouvez utiliser.

    • Mettez à jour la demande API pour renvoyer uniquement les données dont vous avez besoin : Par exemple, si vous utilisez l'API de création de rapports NiCE pour obtenir des contacts, vous pouvez utiliser les champs contactId ou agentId pour renvoyer uniquement les données pertinentes. Reportez-vous à la documentation de l’API associée à votre intégration de script pour déterminer les limites de données que vous pouvez utiliser.

    • Créer un middleware : Si vous ne pouvez effectuer aucune des deux options précédentes, créez un middleware qui effectue des filtres en fonction de critères personnalisés que vous définissez. Si vous procédez ainsi, assurez-vous que votre middleware n'ajoute pas de latence à l'appel.

Astuces et conseils

Snippet Editor Fenêtre

La fenêtre Snippet editor s'ouvre lorsque vous double-cliquez sur une action Snippet.

La fenêtre Snippet editor dans l'action Snippet comporte deux onglets. Les deux onglets vous permettent de créer les mêmes types de code. Vous pouvez passer d'un onglet à l'autre et modifier votre code dans l'un ou l'autre. Ces onglets sont les suivants :

  • L'onglet vue du texte. Il s'agit d'un champ de texte libre dans lequel vous pouvez saisir votre code manuellement.
  • Le onglet vue arborescente. Il s'agit d'une interface graphique que vous pouvez utiliser pour construire votre code. Cet onglet contient une liste à partir de laquelle vous pouvez sélectionner des mots-clés pour ajouter des instructions à l'extrait.

Exemple de script

Cet exemple montre comment cette action peut être utilisée dans les scripts. Il ne s'agit pas d'un script complet. Un script supplémentaire peut être nécessaire.

Dans cet exemple simple, le code dans leFragment est utilisé pour tester si un prospect peut être créé à l'aide d'informations provenant d'un système tiers.

``` A script with two SNIPPET actions. ```

Téléchargez ce script.