AWA 제안 작업 API

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기13분
  • AWA 제안 작업 API는 에이전트에게 작업 항목을 할당하거나 이전하기 위한 엔드포인트를 제공합니다.

    이 API는 외부 CCAAS 시스템에서 라우팅 및 할당 결정이 발생하는 CCAAS(Contact Center as a Service) 통합과 함께 사용하기 위한 것입니다. 이 API를 사용하면 받은 편지함 카드를 에이전트 ServiceNow 에이전트 작업 공간 에게 작업 항목을 수락하라는 알림으로 표시할 수 있습니다.

    이 API에는 (com.glide.awa) 플러그인이 고급 작업 할당 필요합니다. 이 API를 호출하려면 awa_manager 또는 awa_integration_user 역할이 있어야 합니다.

    에 대한 AWA자세한 내용은 고급 작업 할당을 참조하십시오.

    AWA 오퍼링 작업 - POST /now/awa/documents/{document_table}/{document_sys_id}/offer

    작업 항목을 에이전트에게 할당하거나 전송합니다.

    작업 항목은 에이전트가 처음부터 끝까지 처리하는 AWA 단일 작업입니다. 작업 항목은 상호작용 또는 작업과 같은 문서를 기반으로 만들어집니다.

    이 API를 사용하여 작업 항목을 수신하거나 전송하는 모든 에이전트에는 awa_agent 및 awa_external_user 역할이 있어야 합니다.

    URL 형식

    버전이 지정된 URL: /api/now/{api_version}/awa/documents/{document_table}/{document_sys_id}/offer

    기본 URL: /api/now/awa/documents/{document_table}/{document_sys_id}/offer

    지원되는 요청 매개변수

    표 1. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다.

    데이터 유형: 문자열

    document_table 상호작용 [interaction] 테이블 또는 작업 [task] 테이블과 같이 문서와 연결된 테이블의 이름입니다.

    데이터 유형: 문자열

    document_sys_id 에이전트 또는 큐로 라우팅할 문서의 Sys_id입니다.

    데이터 유형: 문자열

    표 2. 쿼리 매개변수
    이름 설명
    안 함
    표 3. 요청 본문 매개변수(XML 또는 JSON)
    이름 설명
    숙제 새 할당에 필요합니다. 할당에 대한 정보를 포함하는 객체입니다.

    데이터 유형: 객체

    { 
       "after_timeout_presence": "String",
       "agent_sys_id": "String", 
       "allowed_to_decline": Boolean,
       "display_option": "String", 
       "enable_auto_assign": Boolean, 
       "offered_on": "String",
       "timeout": Number 
    } 
    assignment.after_timeout_presence 매개변수가 만료될 경우 timeout 에이전트가 전환할 현재 상태의 Sys_id입니다.

    timeout 매개 변수가 전달되지 않으면 이 매개 변수가 무시됩니다.

    현재 상태에 대한 자세한 내용은 다음 문서를 참조하십시오 Configure agent presence states.

    데이터 유형: 문자열

    기본값: 빈 문자열(에이전트 현재 상태는 변경되지 않음).

    테이블: AWA 현재 상태[awa_presence_state]

    assignment.agent_sys_id 새 할당에 필요합니다. 작업 항목을 수신할 수 있는 에이전트의 Sys_id입니다. 에이전트에는 awa_agent 및 awa_external_user 역할이 있어야 합니다.

    에이전트를 사용할 수 있는지 확인하는 방법에 대한 자세한 내용은 에이전트 받은 편지함 컨트롤을 참조하십시오.

    데이터 유형: 문자열

    테이블: 사용자 [sys_user]

    assignment.allowed_to_decline 에이전트가 작업 항목을 거부할 수 있는지 여부를 나타내는 플래그입니다. 이 매개변수가 true이면 받은 편지함 카드에 수락거부 버튼이 모두 표시됩니다.
    유효한 값은 다음과 같습니다.
    • 예/예/1: 에이전트가 작업 항목을 거부할 수 있습니다.
    • false/no/0: 에이전트가 작업 항목을 거부할 수 없습니다.

    데이터 유형: 부울

    기본값: true

    assignment.display_option 작업 항목이 자동으로 할당될 때 카드 및 탭에 대한 표시 옵션입니다.

    이 매개변수는 경우에만 enable_auto_assign 유효합니다.

    유효한 값은 다음과 같습니다.
    • card_and_tab: 카드와 탭을 모두 표시합니다.
    • card_only: 카드만 표시합니다.

    데이터 유형: 문자열

    기본값: card_only

    assignment.enable_auto_assign 작업 항목을 자동으로 수락해야 하는지 또는 에이전트가 작업 항목을 수동으로 수락하거나 거부할 수 있도록 허용해야 하는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true/yes/1: 자동으로 수락합니다.
    • false/no/0: 에이전트가 수동으로 수락하거나 거부할 수 있도록 허용합니다.

    데이터 유형: 부울

    기본값: false

    assignment.offered_on 작업 항목 제공 시간입니다. 제공 시간은 에이전트가 받은 편지함의 작업 항목을 수락할 때까지 남은 남은 시간을 계산하는 데 사용됩니다. 이는 API 요청이 처리되는 시간과 타사 라우팅 시스템이 API 요청을 호출하는 시간 간의 불일치를 설명하는 데 도움이 됩니다. 이 매개 변수를 사용하면 이 엔드포인트를 호출하는 외부 시스템에서 작업 항목의 제공 시간을 구성하여 작업 항목에 대한 외부 시스템의 내부 추적과 동기화 상태를 유지할 수 있습니다.

    예를 들어 작업 항목이 11:30:30에 제공되고 시간 제한이 30초이고 현재 시간이 11:30:45인 경우 카운트다운 타이머는 00:15(남은 15초)를 표시합니다.

    이 값은 작업 항목의 offered_on 필드에 저장됩니다.

    매개 변수가 전달되지 않으면 이 매개 변수는 무시됩니다 timeout .

    데이터 유형: 문자열

    형식: UTC 타임스탬프(yyyy-MM-dd'T'HH:mm:ss. SSS)

    assignment.timeout 에이전트가 작업 할당을 수락할 때까지 작업 항목이 에이전트의 받은 편지함에 남아 있는 시간입니다.

    데이터 유형: 숫자

    단위: 초

    기본값: 빈 문자열(시간 제한 없음).

    external_segment_id 에이전트에게 제공된 호출 세그먼트에 대한 CCAAS 시스템의 외부 식별자입니다.

    데이터 유형: 문자열

    queue_id 새 할당에 필요합니다. 외부 시스템의 큐 기록 또는 큐 식별자의 Sys_id입니다.

    외부 시스템의 queue_id 사용하는 경우 awa_queue 기록의 제공자 큐 ID(external_id) 필드에 매핑해야 합니다.

    데이터 유형: 문자열

    테이블: 큐 [awa_queue]

    전송 이전 할당에 필요합니다. 전송에 대한 정보를 포함하는 객체입니다.

    이 매개변수에 값이 제공되면 할당이 이전 할당으로 간주됩니다.

    데이터 유형: 객체

    {
       "source_queue_id": "String",
       "target_id": "String",
       "target_type": "String",
       "transfer_type": "String"
    }
    transfer.source_queue_id 이전 할당에 필요합니다.

    전송이 시작되는 소스 큐입니다. 외부 시스템의 큐 기록 또는 큐 식별자의 Sys_id입니다.

    외부 시스템의 queue_id 사용하는 경우 awa_queue 기록의 제공자 큐 ID(external_id) 필드에 매핑해야 합니다.

    이 매개 변수는 활성 작업 항목을 찾을 수 없는 경우 전송을 시작하기 전에 작업 항목을 만드는 데 사용됩니다. 아웃바운드 호출과 같이 라우팅 없이 원래 상호작용이 생성된 경우 전송을 수행할 수 있습니다.

    데이터 유형: 문자열

    테이블: 큐 [awa_queue]

    transfer.target_id 이전 할당에 필요합니다. 할당을 이전할 에이전트 또는 큐 기록의 Sys_id입니다.
    • 에이전트target_id인 경우 target_type 은 사용자 [sys_user] 테이블에 있는 에이전트 사용자 기록의 sys_id입니다.
    • is queuetarget_id 경우 target_type 은 큐 [awa_queue] 테이블에 있는 큐 기록의 sys_id이거나 외부 시스템의 큐 식별자입니다.

    데이터 유형: 문자열

    transfer.target_type 이전 할당에 필요합니다. 할당을 이전할 기록의 유형입니다.
    유효한 값은 다음과 같습니다.
    • 에이전트

    데이터 유형: 문자열

    transfer.transfer_type 이전 할당에 필요합니다. 이전 유형입니다.
    유효한 값은 다음과 같습니다.
    • 눈 먼
    • 상담하다

    데이터 유형: 문자열

    머리글

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

    표 4. 요청 헤더
    헤더 설명
    수용 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    컨텐츠-형식 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    표 5. 응답 헤더
    헤더 설명
    없음

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

    표 6. 상태 코드
    상태 코드 설명
    200 성공입니다. 요청이 성공적으로 처리되었습니다.
    401 승인되지 않았습니다. 사용자 자격 증명이 잘못되었거나 전달되지 않았습니다.
    404 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다.
    409 상충됩니다. 제공된 문서의 작업 항목 또는 에이전트 sys_id 오류로 인해 요청을 처리할 수 없습니다.
    500 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다.

    응답 본문 매개변수(JSON 또는 XML)

    이름 설명
    메시지 할당 성공 또는 실패에 대한 정보가 포함된 응답 메시지입니다.
    가능한 값:
    • 수동 할당이 성공적으로 요청되었습니다 . 성공.
    • 호출자 <API_caller_sys_id> awa_manager 또는 awa_integration_user 역할이 없는 경우 – API 요청을 하는 인증된 사용자에게 awa_manager 또는 awa_integration_user 역할이 있어야 합니다.
    • 작업 항목을 수락하여 할당할 수 없음 - 에이전트가 작업 항목을 이미 수락했기 때문에 작업 항목을 할당할 수 없습니다. 자세한 내용은 Check work items and AWA events 문서를 참조하십시오.
    • <agent_sys_id> 올바른 에이전트가 아닙니다. 에이전트에 awa_agent 역할이 없습니다.
    • 이전 실패 - 에이전트에게 블라인드 이전할 수 없음 - 에이전트가 AWA에서 사용 가능한 상태가 아니기 때문에 할당이 이전되지 않았습니다.
    • 작업 항목이 이미 <agent_sys_id>에 할당됨 - 제공된 작업 항목이 다른 에이전트에 할당되어 있습니다.
    • 에이전트를 사용할 수 없음 - 에이전트가 AWA에서 사용 가능한 상태가 아닙니다. 자세한 내용은 에이전트 받은 편지함 컨트롤을 참조하십시오.
    • 시간 제한 값은 음수일 수 없음 - 제공된 시간 제한 값은 음수일 수 없습니다.
    • <presence_state_sys_id> 유효한 현재 상태가 아닙니다. 제공된 현재 상태 sys_id가 AWA 현재 상태 [awa_presence_state] 테이블에 없습니다.
    • 제공된 시간(<offered_on_timestamp>)은 yyyy-MM-dd'T'HH:mm:ss 형식이어야 합니다. SSS – 제공된 offered_on 타임스탬프는 지정된 형식을 사용해야 합니다.
    • 제공된 시간(<offered_on_timestamp>)은 현재 시간 이전이어야 하며, 그렇지 않으면 에이전트가 작업 항목을 수락할 시간이 더 많아집니다 . 제공된 타임스탬프offered_on 요청이 이루어진 시간 이전일 수 없습니다.
    • 시간 초과 후 타임스탬프(<offered_on_timestamp >)는 현재 시간 이후여야 하며, 그렇지 않으면 에이전트가 작업 항목을 수락할 시간이 없습니다. 제공된 offered_on 타임스탬프에 시간 제한 값을 추가한 후의 타임스탬프는 요청이 이루어진 시간 이후여야 합니다.
    • <display_option> 유효한 표시 옵션이 아닙니다. 제공된 display_option card_only 또는 card_and_tab 값 중 하나여야 합니다.
    • %s은(는) 올바른 부울 값이 아닙니다 . 제공된 부울 값은 예/아니요, 예/아니오, 1/0 형식 중 하나를 사용해야 합니다.
    • 사용자에게 "awa_external_user" 역할이 없습니다 . 할당을 받는 에이전트에는 awa_external_user 역할이 있어야 합니다.
    • 문서가 활성 상태가 아님 - 제공된 문서는 활성 상태여야 하며 종결 상태가 아니어야 합니다.
    성공 할당이 성공했는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 할당이 성공했습니다.
    • false: 할당에 실패했습니다.

    데이터 유형: 부울

    work_item 작성되거나 업데이트된 작업 항목에 대한 상세 정보입니다.

    데이터 유형: 객체

    { 
       "display_name": "String",
       "document_id": "String", 
       "document_table": "String", 
       "queue": "String", 
       "sys_id": "String" 
    }
    work_item.display_name 문서 기록의 표시 이름입니다.

    데이터 유형: 문자열

    work_item.문서 ID 문서 기록의 Sys_id입니다.

    데이터 유형: 문자열

    work_item.문서_테이블 문서와 연결된 테이블의 이름입니다.

    데이터 유형: 문자열

    work_item.queue 외부 시스템의 큐 기록 또는 큐 식별자의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 큐 [awa_queue]

    work_item.sys_id 작업 항목의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 작업 항목 [awa_work_item]

    cURL 요청

    이 예시에서는 에이전트에 작업 항목을 할당하는 방법을 보여줍니다.

    curl "https://instance.servicenow.com/api/now/awa/documents/interaction/59616aba87bd5210be070d48dabb35e6/offer" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data '{ 
        "external_segment_id": "segment_59616aba87bd5210be070d48dabb35e6", 
        "queue_id": "92f8942787851210be070d48dabb35fb", 
        "assignment": { 
            "agent_sys_id": "0d584509c323120095ccd02422d3ae5b", 
            "allowed_to_decline": "true", 
            "enable_auto_assign": "false", 
            "timeout": 30, 
            "offered_on":"2024-04-03T23:09:31.000" 
        } 
    }' 
    --user 'username':'password'

    응답은 작업 항목이 에이전트에 성공적으로 할당되었음을 보여줍니다. 작업 항목 [awa_work_item] 기록의 할당 대상 필드에서 결과를 확인할 수 있습니다.

    { 
       "result": { 
          "work_item": { 
             "display_name": "Interaction: IMS0000221", 
             "sys_id": "bfa3a27e87bd5210be070d48dabb3588", 
             "document_id": "59616aba87bd5210be070d48dabb35e6", 
             "document_table": "interaction", 
             "queue": "92f8942787851210be070d48dabb35fb" 
          }, 
          "success": true, 
          "message": "Manual assignment successfully requested." 
       } 
    }