ResponseTemplate - Champ d’application, global
L’API 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. Cette API nécessite le module d’extension Templated Responses (com.sn_templated_snip), qui est activé par défaut. Cette API est fournie dans l’espace de noms sn_templated_snip .
Pour plus d’informations sur les modèles de réponse, consultez Modèles de réponse.
ResponseTemplate : ResponseTemplate()
Instancie un nouvel objet ResponseTemplate.
| Nom | Type | Description |
|---|---|---|
| Néant |
Exemple
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.
| Nom | Type | Description |
|---|---|---|
| tableName | Chaîne | Nom de la table à utiliser pour rechercher les modèles de réponse correspondants dans la table de sn_templated_snip_note_template. 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éponses correspondants. La méthode effectue une recherche CONTAINS de ce texte dans les champs nom et corps et une recherche STARTS WITH dans le champ du 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 comporte un blocage, ou si le nom court commence par « crash ». Les modèles de réponses avec des correspondances exactes avec le nom court apparaissent en premier dans les résultats renvoyés. Tous les autres modèles de réponse renvoyés sont triés par nom. Par défaut : renvoie 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émarrer la recherche. Par défaut : 0 |
| includeEvaluatedBody | Booléen | Facultatif. Marqueur indiquant si les variables de modèle doivent être rendues. Valeurs valides :
Valeur par défaut : false |
| Format d’erreur | Chaîne | Facultatif. Formatage HTML à utiliser en cas d’erreur. Par exemple :
Valeur par défaut : |
| 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. |
| Type | Description |
|---|---|
| Objet | Tableau de tous les modèles qui correspondent aux critères de recherche spécifiés. Les modèles de réponses avec des correspondances exactes avec le nom court apparaissent en premier dans les résultats renvoyés. Tous les autres modèles de réponse renvoyés sont triés par nom. Chaque nœud du tableau peut contenir les paramètres suivants :
|
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 correcte :
[
{
"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 tout autre problème se produit pendant le rendu, la méthode renvoie un message d’erreur dans les résultats.
| Nom | Type | Description |
|---|---|---|
| ID de modèle | Chaîne | ID système du modèle de réponse à afficher. |
| tableName | Chaîne | Nom de la table à utiliser pour afficher les variables sur le modèle de réponse. |
| recordId | Chaîne | ID système de l’enregistrement à utiliser lors du rendu des variables sur le modèle de réponse. Cet enregistrement doit se trouver dans la table spécifiée par tableName. |
| Format d’erreur | Chaîne | Facultatif. Formatage HTML à utiliser en cas d’erreur. Par exemple :
Valeur par défaut : |
| 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. |
| Type | Description |
|---|---|
| Objet | Résultats du rendu.
|
Cet exemple de code montre comment demander un modèle de réponse rendu pour la table d’incident.
render("5fc1d65993003300a9bc1d1e867ffb9c","incident","ef4225a40a0a0b5700d0b8a790747812", "")
Réponse correcte :
{
"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>"
}