ResponseTemplate - com escopo, global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 6 min. de leitura
  • A API ResponseTemplate fornece métodos para gerenciar modelos de resposta.

    Modelos de resposta são mensagens reutilizáveis que os agentes podem copiar para formulários de caso ou de tarefa. Eles fornecem mensagens rápidas e consistentes para os usuários e exibem mensagens de resposta de bate-papo padrão para os solicitantes em Bate-papo do agente. Esta API requer o plug-in Templated Responses (com.sn_templated_snip), que é ativado por padrão. Esta API é fornecida no namespace sn_templated_snip.

    Para obter informações adicionais sobre modelos de resposta, consulte Modelosde resposta.

    ResponseTemplate - ResponseTemplate()

    Instancia um novo objeto ResponseTemplate.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum

    Exemplo

    new sn_templated_snip.ResponseTemplate().query("incident","ef4225a40a0a0b5700d0b8a790747812", "", 0, 0, true, ""); 

    ResponseTemplate - query(cadeia de caracteres tableName, cadeia de caracteres recordId, cadeia de caracteres searchTerm, limite de número, deslocamento de número, booliano includeEvaluatedBody, cadeia de caracteres errorFormat, opts de objeto)

    Retorna todos os modelos de resposta de uma tabela especificada que correspondem aos critérios de consulta passados.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    tableName Cadeia de caracteres Nome da tabela a ser usada para pesquisar a tabela sn_templated_snip_note_template para localizar os modelos de resposta correspondentes. Por exemplo, incidente ou sn_hr_core_case.
    recordId Cadeia de caracteres SYS ID do registro a ser usado para renderizar as variáveis no modelo de resposta.
    searchTerm Cadeia de caracteres Opcional. Texto a ser usado para filtrar a lista de modelos de resposta correspondentes.

    O método executa uma pesquisa "CONTÉM" deste texto nos campos de nome e corpo e uma pesquisa "INICIA COM" no campo de nome curto. Por exemplo, se o termo de pesquisa for "crash", o método retornará qualquer modelo de resposta que corresponda aos critérios de consulta e tenha falha no nome ou no corpo ou o nome curto que comece com falha.

    Modelos de resposta com correspondências exatas no nome curto aparecem primeiro nos resultados de retorno. Todos os outros modelos de resposta retornados são classificados por nome.

    Padrão: retorna todos os modelos de resposta correspondentes.

    limite Número Opcional. Número máximo de modelos de resposta a serem retornados.

    Padrão: 50

    deslocamento Número Opcional. Para paginação, o índice no qual a pesquisa será iniciada.

    Padrão: 0

    includeEvaluatedBody Booliano Opcional. Sinalizador que indica se as variáveis do modelo devem ser renderizadas.

    Valores válidos:

    • false: não renderiza as variáveis do modelo. A resposta contém as variáveis de mensagem.
      Por exemplo:
      Observe que seu caso ${number} foi escalado para ${assignment_group}.
    • verdadeiro: renderiza as variáveis do modelo e retorna evaluated_response nos resultados de retorno.
      Por exemplo:
      Observe que seu caso INC100001 foi escalado para Instalações.

    Padrão: falso

    errorFormat Cadeia de caracteres Opcional. Formatação HTML a ser usada para erros.

    Por exemplo:

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

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

    opções Objeto Opcional. Parâmetros a serem passados para o ponto de extensão sn_templated_snip.response_template. O formato e o conteúdo desses parâmetros dependem da implementação do ponto de extensão. Para obter informações adicionais sobre pontos de extensão, consulte Usando pontos de extensão para estender a funcionalidade do aplicativo.
    Tabela 3. Retorna
    Tipo Descrição
    Objeto Matriz de todos os modelos que correspondem aos critérios de pesquisa especificados. Modelos de resposta com correspondências exatas no nome curto aparecem primeiro nos resultados de retorno. Todos os outros modelos de resposta retornados são classificados por nome.

    Cada nó na matriz pode conter os seguintes parâmetros:

    • sys_id: Cadeia de caracteres. Identificador exclusivo do modelo de resposta.
    • name: Cadeia de caracteres. Nome do modelo de resposta.
    • short_name: Cadeia de caracteres. Nome curto do modelo de resposta.
    • body: HTML. Corpo do modelo de resposta.
    • short_name_match: booliano. Sinalizador que indica se uma correspondência exata ocorreu no nome curto do modelo de resposta.
    • evaluated_response: matriz. Resultados da avaliação do modelo.
      • success: booliano. Sinalizador que indica se todas as variáveis foram renderizadas corretamente.
      • evaluated_body: HTML. Corpo do modelo de resposta renderizado.
      • error: matriz. Entrada para cada erro de avaliação ocorrido.
        • inAccessibleVariables: Cadeia de caracteres. Variáveis no corpo do modelo de resposta que não puderam ser resolvidas.
        • unEvaluatedVariables: Cadeia de caracteres. Variáveisno corpo do modelo de resposta que não foram avaliadas.
        • message: Cadeia de caracteres. Mensagens de erro

    Este exemplo mostra como consultar modelos de resposta associados à tabela de incidentes.

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

    Resposta bem-sucedida:

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

    Mesma consulta com uma resposta de erro.

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

    Resposta do erro:

    [
      {
        "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(cadeia de caracteres templateId, cadeia de caracteres tableName, cadeia de caracteres recordId, cadeia de caracteres errorFormat, opts de objeto)

    Renderiza o corpo HTML de um modelo de resposta especificado.

    Durante a renderização, todas as variáveis são resolvidas usando as informações da tabela e do registro especificados. Se as variáveis não puderem ser resolvidas ou se ocorrer qualquer outro problema durante a renderização, o método retornará uma mensagem de erro nos resultados.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    templateId Cadeia de caracteres SYS ID do modelo de resposta a ser renderizado.
    tableName Cadeia de caracteres Nome da tabela a ser usada ao renderizar as variáveis no modelo de resposta.
    recordId Cadeia de caracteres SYS ID do registro a ser usado ao renderizar as variáveis no modelo de resposta. Este registro deve estar na tabela especificada por tableName.
    errorFormat Cadeia de caracteres Opcional. Formatação HTML a ser usada para erros.

    Por exemplo:

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

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

    opções Objeto Opcional. Parâmetros a serem passados para o ponto de extensão sn_templated_snip.response_template. O formato e o conteúdo desses parâmetros dependem da implementação do ponto de extensão. Para obter informações adicionais sobre pontos de extensão, consulte Usando pontos de extensão para estender a funcionalidade do aplicativo.
    Tabela 5. Retorna
    Tipo Descrição
    Objeto Resultados da renderização.
    • success: Sinalizador que indica se a renderização foi bem-sucedida.
    • evaluated_body: Cadeia de caracteres. Para obter sucesso, renderize o corpo do modelo de resposta. Para erro, corpo do modelo de resposta que inclui variáveis renderizadas e não renderizáveis.
    • error: objeto. Mensagem de erro se a renderização for malsucedida.
      • unEvaluatedVariables: Variáveis que não puderam ser renderizadas.
      • message: Mensagem de erro.

    Este exemplo de código mostra como solicitar um modelo de resposta renderizado para a tabela de incidentes.

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

    Resposta bem-sucedida:

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

    Mesma solicitação de renderização, mas retornando uma resposta de erro.

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

    Resposta do erro:

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