ResponseTemplate - 범위 지정, 전역

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기10분
  • ResponseTemplate API는 응답 템플릿을 관리하기 위한 메서드를 제공합니다.

    응답 템플릿은 에이전트가 케이스 또는 작업 양식에 복사할 수 있는 재사용 가능한 메시지입니다. 사용자에게 빠르고 일관된 메시지를 제공하고 에서 요청자에게 에이전트 채팅표준 채팅 응답 메시지를 표시합니다. 이 API에는 기본적으로 활성화되는 템플릿 기반 응답 플러그인(com.sn_templated_snip)이 필요합니다. 이 API는 sn_templated_snip 네임스페이스 내에서 제공됩니다.

    응답 템플릿에 대한 자세한 내용은 응답 템플릿을 참조하십시오.

    ResponseTemplate - ResponseTemplate()

    새 ResponseTemplate 개체를 인스턴스화합니다.

    표 1. 매개변수
    이름 유형 설명
    없음

    예제

    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)

    지정된 테이블에서 전달된 쿼리 기준과 일치하는 모든 응답 템플릿을 반환합니다.

    표 2. 매개변수
    이름 유형 설명
    tableName 문자열 해당 응답 템플릿을 찾기 위해 sn_templated_snip_note_template 테이블을 검색하는 데 사용할 테이블의 이름입니다. 예를 들어 인시던트 또는 sn_hr_core_case입니다.
    recordId 문자열 응답 템플릿에서 변수를 렌더링하는 데 사용할 기록의 시스템 ID입니다.
    searchTerm 문자열 옵션입니다. 일치하는 응답 템플릿 목록을 필터링하는 데 사용할 텍스트입니다.

    이 메서드는 이름 및 본문 필드에서 이 텍스트의 CONTAINS 검색을 수행하고 짧은 이름 필드에서 STARTS WITH 검색을 수행합니다. 예를 들어 검색어가 "crash"인 경우 메서드는 쿼리 조건과 일치하고 이름 또는 본문에 충돌이 있거나 짧은 이름이 crash로 시작하는 응답 템플릿을 반환합니다.

    짧은 이름과 정확히 일치하는 응답 템플릿이 반환 결과에 먼저 나타납니다. 반환된 다른 모든 응답 템플릿은 이름별로 정렬됩니다.

    기본값: 일치하는 모든 응답 템플릿을 반환합니다.

    제한 번호 옵션입니다. 반환할 응답 템플릿의 최대 수입니다.

    기본값: 50

    오프셋 번호 옵션입니다. 페이지 매김의 경우 검색을 시작할 인덱스입니다.

    기본값: 0

    includeEvaluated본문 부울 옵션입니다. 템플릿 변수를 렌더링할지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.

    • false: 템플릿 변수를 렌더링하지 않습니다. 응답에는 메시지 변수가 포함됩니다.
      예:
      케이스 ${number}이(가) ${assignment_group}(으)로 에스컬레이션되었습니다.
    • true: 템플릿 변수를 렌더링하고 반환 결과에 반환합니다 evaluated_response .
      예:
      귀하의 케이스 INC100001 시설로 에스컬레이션되었습니다.

    기본값: false

    오류 형식 문자열 옵션입니다. 오류에 사용할 HTML 형식입니다.

    예:

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

    기본값: &quot;${%s}</span>&quot;<span style='color:#ff0000'>

    Opts 객체 옵션입니다. sn_templated_snip.response_template 확장점에 전달할 매개변수입니다. 이러한 매개변수의 형식과 내용은 확장점의 구현에 따라 달라집니다. 확장점에 대한 추가 정보는 확장 점을 사용하여 애플리케이션 기능 확장의 내용을 참조하십시오.
    표 3. 반환
    유형 설명
    객체 지정된 검색 조건과 일치하는 모든 템플릿의 배열입니다. 짧은 이름과 정확히 일치하는 응답 템플릿이 반환 결과에 먼저 나타납니다. 반환된 다른 모든 응답 템플릿은 이름별로 정렬됩니다.

    Array의 각 노드에는 다음 매개 변수가 포함될 수 있습니다.

    • sys_id:문자열. 응답 템플릿의 고유 식별자입니다.
    • name:문자열. 응답 템플릿의 이름입니다.
    • short_name:문자열. 응답 템플릿의 짧은 이름입니다.
    • body:Html. 응답 템플릿의 본문입니다.
    • short_name_match:부울. 응답 템플릿의 짧은 이름에서 정확한 일치가 발생했는지 여부를 나타내는 플래그입니다.
    • evaluated_response:배열. 템플릿 평가 결과입니다.
      • success:부울. 모든 변수가 제대로 렌더링되었는지 여부를 나타내는 플래그입니다.
      • evaluated_body:Html. 렌더링 된 응답 템플릿 본문입니다.
      • error:배열. 발생한 각 평가 오류에 대한 항목입니다.
        • inAccessibleVariables:문자열. 응답 템플릿 본문에서 확인할 수 없는 변수입니다.
        • unEvaluatedVariables:문자열. 변수: 평가되지 않은 응답 템플릿 본문의 이름입니다.
        • message:문자열. 오류 메시지.

    이 예제는 인시던트 테이블과 연결된 응답 템플릿을 쿼리하는 방법을 보여줍니다.

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

    성공적인 응답:

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

    오류 응답이 있는 동일한 쿼리입니다.

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

    오류 응답:

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

    지정된 응답 템플릿의 HTML 본문을 렌더링합니다.

    렌더링하는 동안 모든 변수는 지정된 테이블과 기록의 정보를 사용하여 확인됩니다. 변수를 확인할 수 없거나 렌더링 중에 다른 문제가 발생하면 메서드는 결과에 오류 메시지를 반환합니다.

    표 4. 매개변수
    이름 유형 설명
    templateId 문자열 렌더링할 응답 템플릿의 시스템 ID입니다.
    tableName 문자열 응답 템플릿에서 변수를 렌더링할 때 사용할 테이블의 이름입니다.
    recordId 문자열 응답 템플릿에서 변수를 렌더링할 때 사용할 기록의 시스템 ID입니다. 이 기록은 로 지정된 tableName테이블에 있어야 합니다.
    오류 형식 문자열 옵션입니다. 오류에 사용할 HTML 형식입니다.

    예:

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

    기본값: &quot;${%s}</span>&quot;<span style='color:#ff0000'>

    Opts 객체 옵션입니다. sn_templated_snip.response_template 확장점에 전달할 매개변수입니다. 이러한 매개변수의 형식과 내용은 확장점의 구현에 따라 달라집니다. 확장점에 대한 추가 정보는 확장 점을 사용하여 애플리케이션 기능 확장의 내용을 참조하십시오.
    표 5. 반환
    유형 설명
    객체 렌더링의 결과입니다.
    • success: 렌더링이 성공적으로 수행 되었는지 여부를 나타내는 플래그입니다.
    • evaluated_body:문자열. 성공을 위해 렌더링 된 응답 템플릿 본문. 오류의 경우 렌더링 변수와 렌더링 불가능 변수를 모두 포함하는 응답 템플릿 본문입니다.
    • error:개체. 렌더링에 실패한 경우의 오류 메시지입니다.
      • unEvaluatedVariables: 렌더링할 수 없는 변수입니다.
      • message: 오류 메시지입니다.

    이 코드 예제에서는 인시던트 테이블에 대해 렌더링된 응답 템플릿을 요청하는 방법을 보여줍니다.

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

    성공적인 응답:

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

    렌더링 요청은 동일하지만 오류 응답을 반환합니다.

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

    오류 응답:

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