ResponseTemplate : champ d’application, global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 6 minutes de lecture
  • L’include de script ResponseTemplate fournit des méthodes de gestion des modèles de réponse.

    Les modèles de réponses sont des messages réutilisables que les agents peuvent copier dans les formulaires de ticket ou de tâche. Ils fournissent des messages rapides et cohérents aux utilisateurs et affichent des messages de réponse de messagerie instantanée standard aux demandeurs dans Messagerie instantanée d'agent. Cet include de script nécessite le module d’extension Templated Responses (com.sn_templated_snip), qui est activé par défaut, et qui s’exécute dans l’espace de noms sn_templated_snip .

    Pour plus d’informations sur les modèles de réponse, voir Modèles de réponse.

    ResponseTemplate : ResponseTemplate()

    Instancie un nouvel objet ResponseTemplate.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    new sn_templated_snip.ResponseTemplate().query("incident","ef4225a40a0a0b5700d0b8a790747812", "", 0, 0, true, ""); 

    ResponseTemplate : query(String tableName, String recordId, String searchTerm, Number limit, Number offset, Boolean includeEvaluatedBody, String errorFormat, Object opts)

    Renvoie tous les modèles de réponse d’une table spécifiée qui correspondent aux critères de requête transmis.

    Tableau 2. Paramètres
    Nom Type Description
    tableName Chaîne Nom de la table à utiliser pour rechercher dans la table sn_templated_snip_note_template afin de localiser les modèles de réponse correspondants. Par exemple, incident ou sn_hr_core_case.
    recordId Chaîne ID système de l’enregistrement à utiliser pour afficher les variables dans le modèle de réponse.
    searchTerm Chaîne Facultatif. Texte à utiliser pour filtrer la liste des modèles de réponse correspondants.

    La méthode effectue une recherche CONTAINS de ce texte dans les champs nom et corps et une recherche STARTS WITH sur le champ nom court. Par exemple, si le terme de recherche est « crash », la méthode renvoie n’importe quel modèle de réponse qui correspond aux critères de requête et dont le nom ou le corps contient un plantage, ou dont le nom court commence par crash.

    Les modèles de réponse avec des correspondances exactes sur le nom court apparaissent en premier dans les résultats de renvoi. Tous les autres modèles de réponses renvoyés sont triés par nom.

    Par défaut : renvoyer tous les modèles de réponse correspondants.

    limite Numéro Facultatif. Nombre maximal de modèles de réponses à renvoyer.

    Par défaut : 50

    décalage Numéro Facultatif. Pour la pagination, index auquel débuter la recherche.

    Par défaut : 0

    includeEvaluatedBody Booléen Facultatif. Marqueur indiquant s’il faut afficher les variables de modèle.

    Valeurs valides :

    • faux : n’affiche pas les variables de modèle. La réponse contient les variables de message.
      Par exemple :
      Veuillez noter que votre ticket ${number} a été escaladé à ${assignment_group}.
    • vrai : affiche les variables de modèle et renvoie les résultats renvoyés evaluated_response .
      Par exemple :
      Veuillez noter que votre INC100001 de ticket a été remonté aux installations.

    Valeur par défaut : false

    errorFormat (en anglais seulement) Chaîne Facultatif. Mise en forme HTML à utiliser pour les erreurs.

    Par exemple :

    "<span style='color:#ffff00'>${%s}</span>"

    Par défaut : « <span style='color:#ff0000'>${%s}</span> »

    Opte Objet Facultatif. Paramètres à transmettre au point d’extension sn_templated_snip.response_template. Le format et le contenu de ces paramètres dépendent de l’implémentation du point d’extension. Pour plus d’informations sur les points d’extension, consultez Utilisation de points d’extension pour étendre les fonctionnalités de l’application.
    Tableau 3. Renvoie
    Type Description
    Objet Tableau de tous les modèles qui correspondent aux critères de recherche spécifiés. Les modèles de réponse avec des correspondances exactes sur le nom court apparaissent en premier dans les résultats de renvoi. Tous les autres modèles de réponses renvoyés sont triés par nom.

    Chaque nœud du tableau peut contenir les paramètres suivants :

    • sys_id:Corde. Identificateur unique du modèle de réponse.
    • name:Corde. Nom du modèle de réponse.
    • short_name:Corde. Nom court du modèle de réponse.
    • body:HTML. Corps du modèle de réponse.
    • short_name_match:Booléen. Marqueur indiquant si une correspondance exacte s’est produite sur le nom court du modèle de réponse.
    • evaluated_response:Tableau. Résultats de l’évaluation du modèle.
      • success:Booléen. Marqueur indiquant si toutes les variables se sont affichées correctement.
      • evaluated_body:HTML. Corps du modèle de réponse restitué.
      • error:Tableau. Entrée pour chaque erreur d’évaluation survenue.
        • inAccessibleVariables:Corde. Variables dans le corps du modèle de réponse qui n’ont pas pu être résolues.
        • unEvaluatedVariables:Corde. Variablesdans le corps du modèle de réponse qui n’ont pas été évaluées.
        • message:Corde. Message d'erreur.

    Cet exemple montre comment interroger les modèles de réponse associés à la table d’incident.

    query("incident","ef4225a40a0a0b5700d0b8a790747812", "", 0, 0, false, "");

    Réponse réussie :

    [
      {
        "sys_id": "5fc1d65993003300a9bc1d1e867ffb9c",
        "name": "Incident escalation",
        "short_name": "escalation",
        "template_body": "<p>Dear ${caller_id.first_name},</p>\r\n<p>Please note that your incident ${number} has been escalated to ${assignment_group}. An agent will be assigned on your case and will keep you updated. If you have more questions please reach out to our team.</p>\r\n<p>Regards,</p>\r\n<p>${sys_updated_by}</p>"
      }
    ]
    

    Même requête avec une réponse d’erreur.

    query("incident","fe4225a40a0a0b5700d0b8a790747812", "", 0, 0, false, "");

    Réponse d'erreur :

    [
      {
        "sys_id": "5fc1d65993003300a9bc1d1e867ffb9c",
        "name": "Incident escalation",
        "short_name": "escalation",
        "template_body": "<p>Dear ${caller.first_name},</p>\r\n<p>Please note that your incident ${number} has been escalated to ${assignment_group}. An agent will be assigned on your case and will keep you updated. If you have more questions please reach out to our team.</p>\r\n<p>Regards,</p>\r\n<p>${sys_updated_by}</p>",
        "evaluated_response": {
          "success": false,
          "error": {
            "unEvaluatedVariables": "caller.first_name",
            "message": "Cannot evaluate following variables: caller.first_name"
          },
          "evaluated_body": "<p>Dear <span style='color:#ff0000'>${caller.first_name}</span>,</p>\r\n<p>Please note that your incident INC0000049 has been escalated to Hardware. An agent will be assigned on your case and will keep you updated. If you have more questions please reach out to our team.</p>\r\n<p>Regards,</p>\r\n<p>admin</p>"
        }
      }
    ]
    

    ResponseTemplate - render(String templateId, String tableName, String recordId, String errorFormat, Object opts)

    Affiche le corps HTML d’un modèle de réponse spécifié.

    Pendant le rendu, toutes les variables sont résolues à l’aide des informations de la table et de l’enregistrement spécifiés. Si les variables ne peuvent pas être résolues ou si un autre problème survient pendant le rendu, la méthode renvoie un message d’erreur dans les résultats.

    Tableau 4. Paramètres
    Nom Type Description
    ID de modèle Chaîne ID système du modèle de réponse à restituer.
    tableName Chaîne Nom de la table à utiliser lors de l’affichage des variables sur le modèle de réponse.
    recordId Chaîne ID système de l’enregistrement à utiliser lors de l’affichage des variables sur le modèle de réponse. Cet enregistrement doit se trouver dans la table spécifiée par tableName.
    errorFormat (en anglais seulement) Chaîne Facultatif. Mise en forme HTML à utiliser pour les erreurs.

    Par exemple :

    "<span style='color:#ffff00'>${%s}</span>"

    Par défaut : « <span style='color:#ff0000'>${%s}</span> »

    Opte Objet Facultatif. Paramètres à transmettre au point d’extension sn_templated_snip.response_template. Le format et le contenu de ces paramètres dépendent de l’implémentation du point d’extension. Pour plus d’informations sur les points d’extension, consultez Utilisation de points d’extension pour étendre les fonctionnalités de l’application.
    Tableau 5. Renvoie
    Type Description
    Objet Résultats du rendu.
    • success: Marqueur indiquant si le rendu a réussi.
    • evaluated_body:Corde. Pour réussir, le corps du modèle de réponse a été retourné. Pour l’erreur, le corps du modèle de réponse qui comprend à la fois des variables rendues et non rendues
    • error:Objet. Message d’erreur en cas d’échec du rendu.
      • unEvaluatedVariables: variables qui n’ont pas pu être rendues.
      • message:Message d'erreur.

    Cet exemple de code montre comment demander un modèle de réponse pour la table d’incident.

    render("5fc1d65993003300a9bc1d1e867ffb9c","incident","ef4225a40a0a0b5700d0b8a790747812", "")

    Réponse réussie :

    {
      "success": true,
      "evaluated_body": "<p>Dear Beth,</p>\r\n<p>Please note that your incident INC0000049 has been escalated to Hardware. An agent will be assigned on your case and will keep you updated. If you have more questions please reach out to our team.</p>\r\n<p>Regards,</p>\r\n<p>admin</p>"
    }
    

    Même demande de rendu, mais renvoyant une réponse d’erreur.

    render("5fc1d65993003300a9bc1d1e867ffb9c","incident","ef4225a40a0a0b5700d0b8a790747812", "")

    Réponse d'erreur :

    {
      "success": false,
      "error": {
        "unEvaluatedVariables": "caller.first_name",
        "message": "Cannot evaluate following variables: caller.first_name"
      },
      "evaluated_body": "<p>Dear <span style='color:#ff0000'>${caller.first_name}</span>,</p>\r\n<p>Please note that your incident INC0000049 has been escalated to Hardware. An agent will be assigned on your case and will keep you updated. If you have more questions please reach out to our team.</p>\r\n<p>Regards,</p>\r\n<p>admin</p>"
    }