ResponseTemplate – Scoped, Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 5 Minuten Lesedauer
  • Die ResponseTemplate- API stellt Methoden zum Verwalten von Antwortvorlagen bereit.

    Antwortvorlagen sind wiederverwendbare Nachrichten, die Service Desk-Mitarbeiter in Fall- oder Aufgabenformulare kopieren können. Sie stellen Benutzern schnelle und konsistente Nachrichten bereit und zeigen anfordernden Personen Standard-Chatantwortnachrichten in Mitarbeiterchatan. Diese API erfordert das Plugin „Templated Responses“ (com.sn_templated_snip), das standardmäßig aktiviert ist. Diese API wird im Namespace sn_templated_snip bereitgestellt.

    Weitere Informationen zu Antwortvorlagen finden Sie unter Antwortvorlagen.

    ResponseTemplate – ResponseTemplate()

    Instanziiert ein neues ResponseTemplate-Objekt.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine

    Beispiel

    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)

    Gibt alle Antwortvorlagen aus einer angegebenen Tabelle zurück, die den übergebenen Abfragekriterien entsprechen.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Name der Tabelle, die zum Durchsuchen der Tabelle „sn_templated_snip_note_template“ nach entsprechenden Antwortvorlagen verwendet werden soll. Zum Beispiel Incident oder sn_hr_core_case.
    recordId Zeichenfolge Sys-ID des Datensatzes, der zum Rendern der Variablen in der Antwortvorlage verwendet werden soll.
    searchTerm Zeichenfolge Optional. Text, der zum Filtern der Liste der übereinstimmenden Antwortvorlagen verwendet werden soll.

    Die Methode führt eine ENTHÄLT-Suche dieses Texts in den Feldern „Name“ und „Text“ und eine STARTS-MIT-Suche im Feld „Kurzname“ durch. Beispiel: Wenn der Suchbegriff „crash“ lautet, gibt die Methode eine beliebige Antwortvorlage zurück, die den Abfragekriterien entspricht und im Namen oder Text Absturz enthält oder der Kurzname mit „crash“ beginnt.

    Antwortvorlagen mit genauen Übereinstimmungen mit dem Kurznamen werden in den Rückgabeergebnissen zuerst angezeigt. Alle anderen zurückgegebenen Antwortvorlagen werden nach Namen sortiert.

    Standard: Gibt alle übereinstimmenden Antwortvorlagen zurück.

    limit Nummer Optional. Maximale Anzahl der zurückzugebenden Antwortvorlagen.

    Standard: 50

    Offset Nummer Optional. Für die Paginierung der Index, bei dem die Suche beginnen soll.

    Standard: 0

    includeEvaluatedBody Boolean Optional. Kennzeichnung, die angibt, ob die Vorlagenvariablen gerendert werden sollen.

    Gültige Werte:

    • false: Vorlagenvariablen werden nicht gerendert. Die Antwort enthält die Nachrichtenvariablen.
      Beispiel:
      Bitte beachten Sie, dass Ihr Fall ${number} an ${assignment_group} eskaliert wurde.
    • true: Rendert die Vorlagenvariablen und gibt evaluated_response in den Rückgabeergebnissen zurück.
      Beispiel:
      Bitte beachten Sie, dass Ihr Fall INC100001 an Facilities eskaliert wurde.

    Standardwert: false

    errorFormat Zeichenfolge Optional. HTML-Formatierung, die für Fehler verwendet werden soll.

    Beispiel:

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

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

    Optimiert Objekt Optional. Parameter, die an den Erweiterungspunkt sn_templated_snip.response_template übergeben werden sollen. Format und Inhalt dieser Parameter hängen von der Implementierung des Erweiterungspunkts ab. Weitere Informationen zu Erweiterungspunkten finden Sie unter Erweiterungspunkte zur Erweiterung der Anwendungsfunktionalität verwenden.
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Objekt Array aller Vorlagen, die den angegebenen Suchkriterien entsprechen. Antwortvorlagen mit genauen Übereinstimmungen mit dem Kurznamen werden in den Rückgabeergebnissen zuerst angezeigt. Alle anderen zurückgegebenen Antwortvorlagen werden nach Namen sortiert.

    Jeder Knoten im Array kann die folgenden Parameter enthalten:

    • sys_id: Zeichenfolge. Eindeutiger Bezeichner der Antwortvorlage.
    • name: Zeichenfolge. Name der Antwortvorlage.
    • short_name: Zeichenfolge. Kurzname der Antwortvorlage.
    • body: HTML Text der Antwortvorlage.
    • short_name_match: Boolean. Kennzeichnung, die angibt, ob eine exakte Übereinstimmung mit dem Kurznamen der Antwortvorlage aufgetreten ist.
    • evaluated_response: Array. Ergebnisse der Vorlagenbewertung.
      • success: Boolean. Kennzeichnung, die angibt, ob alle Variablen ordnungsgemäß gerendert wurden.
      • evaluated_body: HTML Gerenderter Antwortvorlagentext.
      • error: Array. Eintrag für jeden aufgetretenen Auswertungsfehler.
        • inAccessibleVariables: Zeichenfolge. Variablen im Antwortvorlagentext, die nicht aufgelöst werden konnten.
        • unEvaluatedVariables: Zeichenfolge. Variablen im Antwortvorlagentext, die nicht ausgewertet wurden.
        • message: Zeichenfolge. Fehlermeldung.

    Dieses Beispiel zeigt, wie Antwortvorlagen abgefragt werden, die der Incident-Tabelle zugeordnet sind.

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

    Erfolgreiche Antwort:

    [
      {
        "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>"
      }
    ]
    

    Gleiche Abfrage mit einer Fehlerantwort.

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

    Fehlerantwort:

    [
      {
        "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)

    Rendert den HTML-Text einer angegebenen Antwortvorlage.

    Während des Renderns werden alle Variablen anhand der Informationen aus der angegebenen Tabelle und dem angegebenen Datensatz aufgelöst. Wenn Variablen nicht aufgelöst werden können oder während des Renderns ein anderes Problem auftritt, gibt die Methode eine Fehlermeldung in den Ergebnissen zurück.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    templateId Zeichenfolge Sys-ID der zu rendernden Antwortvorlage.
    tableName Zeichenfolge Name der Tabelle, die beim Rendern der Variablen in der Antwortvorlage verwendet werden soll.
    recordId Zeichenfolge Sys-ID des Datensatzes, der beim Rendern der Variablen in der Antwortvorlage verwendet werden soll. Dieser Datensatz muss sich in der durch tableNameangegebenen Tabelle befinden.
    errorFormat Zeichenfolge Optional. HTML-Formatierung, die für Fehler verwendet werden soll.

    Beispiel:

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

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

    Optimiert Objekt Optional. Parameter, die an den Erweiterungspunkt sn_templated_snip.response_template übergeben werden sollen. Format und Inhalt dieser Parameter hängen von der Implementierung des Erweiterungspunkts ab. Weitere Informationen zu Erweiterungspunkten finden Sie unter Erweiterungspunkte zur Erweiterung der Anwendungsfunktionalität verwenden.
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Objekt Ergebnisse des Renderings.
    • success: Kennzeichnung, die angibt, ob das Rendern erfolgreich war.
    • evaluated_body: Zeichenfolge. Bei Erfolg gerenderter Antwortvorlagentext. Bei Fehler Antwortvorlagentext, der sowohl gerenderte als auch nicht darstellbare Variablen enthält.
    • error: Objekt. Fehlermeldung, wenn das Rendern nicht erfolgreich war.
      • unEvaluatedVariables: Variablen, die nicht gerendert werden konnten.
      • message: Fehlermeldung.

    Dieses Codebeispiel zeigt, wie eine gerenderte Antwortvorlage für die Incident-Tabelle angefordert wird.

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

    Erfolgreiche Antwort:

    {
      "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>"
    }
    

    Gleiche Renderanforderung, aber Rückgabe einer Fehlerantwort.

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

    Fehlerantwort:

    {
      "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>"
    }