자동화 센터 API

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 19분
  • Automation Center API는 로봇, 프로세스 및 실행 작업과 관련된 데이터를 생성하고 업데이트하는 엔드포인트를 제공합니다. 이 API를 활용하여 자동화 워크플로우의 세부 정보를 대시보드에 자동화 센터 통합하고 반영할 수 있습니다.

    API의 주요 개념:
    • 로봇: 봇 프로세스를 실행하는 소프트웨어 에이전트입니다. RPA 로봇은 유인 모드 또는 무인 모드로 작동할 수 있습니다.
    • 프로세스: 특정 로봇에서 실행되는 RPA 워크플로우의 인스턴스입니다. 프로세스를 고유하게 식별하려면 프로세스 ID와 로봇 ID를 모두 지정해야 합니다.
    • 실행: 한 자원에서 다른 자원으로 정보 전송(예: 이메일에서 스프레드시트로 데이터 복사)과 같이 프로세스 내에서 수행되는 개별 작업입니다.

    API 사용 방법:

    API를 사용하여 로봇, 프로세스 및 실행을 포함한 외부 공급업체 RPA 도구에서 로 데이터를 보낼 수 자동화 센터있습니다.

    권장 워크플로우:
    1. 로봇 데이터를 보냅니다.
    2. 전송한 로봇에 연동된 프로세스 데이터를 전송합니다.
    3. 해당 로봇 및 프로세스를 참조하는 실행 데이터를 보냅니다.
      주:
      연결된 로봇 및 프로세스가 이미 캡처 자동화 센터 되지 않은 실행 데이터는 대시보드에 표시되지 않습니다.
    추가 정보:
    • 이벤트 보존: 이 API를 사용하여 생성된 이벤트는 14일 후에 인스턴스에서 자동으로 제거됩니다(기본 설정).
    • 레코드 제한: 각 API 호출은 최대 2,000개의 레코드를 처리할 수 있습니다. 이 제한은 변경할 수 없습니다.
    • 이벤트 삭제: 이 API는 이벤트 삭제를 지원하지 않습니다.

    이 API를 사용하려면 플러그인이 자동화 센터 활성 상태여야 하며 사용자에게 sn_as.automation_technical_user 또는 sn_ac.automation_admin 역할이 있어야 합니다.

    자동화 센터 - POST/sn_ac/자동화/RPA

    로봇, 프로세스 및 실행 이벤트를 생성합니다.

    이러한 이벤트는 프로세스 자동화를 제공합니다. 개요 및 실행 자동화 센터 대시보드에 표시되어 여러 RPA 벤더의 출력을 측정하고 모니터링합니다.

    URL 형식

    버전이 지정된 URL: /api/sn_ac/{api_version}/automation/rpa

    기본 URL: /api/sn_ac/v1/automation/rpa

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

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

    데이터 유형: 문자열

    표 2. 쿼리 매개변수
    이름 설명
    없음
    표 3. 요청 본문 매개변수(XML 또는 JSON)
    이름 설명
    부서 이름 프로세스 및 로봇 이벤트 유형만 해당됩니다. 이벤트가 속한 부서의 이름입니다.
    이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
    • 프로세스: 기본 봇 프로세스 [cmdb_ci_base_rpa_process] 테이블의 부서 필드입니다.
    • 로봇: 기본 로봇 [cmdb_ci_base_rpa_robot] 테이블의 부서 필드입니다.

    데이터 유형: 문자열

    domainId 이벤트가 속한 도메인의 Sys_id입니다.
    이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
    • execution: 자동화 실행 [sn_ac_automation_execution] 테이블의 sys_domain 필드입니다.
    • 프로세스: 기본 봇 프로세스 [cmdb_ci_base_rpa_process] 테이블의 sys_domain 필드입니다.
    • 로봇: 기본 로봇 [cmdb_ci_base_rpa_robot] 테이블의 sys_domain 필드입니다.

    데이터 유형: 문자열

    endtime 실행 이벤트 유형만 해당됩니다. 실행의 종료 시간입니다. 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 end_time 필드에 저장됩니다.

    형식: YYYY-MM-DD HH:MM:SS

    데이터 유형: 문자열

    환경 실행 이벤트 유형만 해당됩니다. URL과 같은 실행 환경입니다. 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 환경 필드에 저장됩니다.
    주:
    이 값은 인스턴스에서 사용되지 ServiceNow 않으며 구현에 필요한 모든 값을 포함할 수 있습니다.

    데이터 유형: 문자열

    errorMessage 실행 이벤트 유형만 해당됩니다. 오류 메시지 로그의 이름입니다. 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 메시지 필드에 저장됩니다.

    데이터 유형: 문자열

    eventName 필수 이벤트 유형의 이름입니다. 이 값은 처리할 이벤트의 유형을 결정합니다.
    유효한 값(대/소문자 구분):
    • 실행
    • 프로세스
    • 로봇

    데이터 유형: 문자열

    ID 필수 연결된 이벤트의 고유 숫자 식별자입니다.
    이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
    • execution: 자동화 실행 [sn_ac_automation_execution] 테이블의 automation_execution_id 필드입니다.
    • 프로세스: 기본 봇 프로세스 [cmdb_ci_base_rpa_process] 테이블의 correlation_id 필드입니다.
    • robot: 기본 로봇 [cmdb_ci_base_rpa_robot] 테이블의 correlation_id 필드입니다.

    데이터 유형: 숫자(정수)

    이름 프로세스 및 로봇 이벤트 유형만 해당됩니다. 필수. 이벤트의 이름입니다.
    이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
    • 프로세스: 기본 봇 프로세스 [cmdb_ci_base_rpa_process] 테이블의 이름 필드입니다.
    • robot: 기본 로봇 [cmdb_ci_base_rpa_robot] 테이블의 이름 필드입니다.

    데이터 유형: 문자열

    우선순위 실행 이벤트 유형만 해당됩니다. 실행의 우선순위입니다.
    유효한 값(대/소문자 구분):
    • 중요
    • 높음
    • 보통
    • 낮음
    이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 우선순위 필드에 저장됩니다.

    데이터 유형: 문자열

    기본값: 없음 - 대시보드에 표시되지 않습니다.

    processId 실행 이벤트 유형만 해당됩니다. 필수. 실행을 실행할 프로세스의 고유 식별자입니다. 이 값은 기본 봇 프로세스 [cmdb_ci_base_rpa_process] 테이블에 있는 해당 프로세스 기록의 correlation_id 필드에 있습니다.

    이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 자동화 필드에 저장됩니다.

    데이터 유형: 문자열

    robotId 실행 이벤트 유형만 해당됩니다. 필수. 실행을 실행할 로봇의 고유 식별자입니다. 이 값은 기본 로봇 [cmdb_ci_base_rpa_robot] 테이블에 있는 해당 로봇 기록의 correlation_id 필드에 있습니다.

    이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 로봇 필드에 저장됩니다.

    데이터 유형: 문자열

    소스 필수 "servicenow_rpa"와 같이 이벤트가 속한 소스입니다. 이 값은 자동화 소스 [sn_ac_automation_source] 테이블의 internal_name 필드에 있습니다.
    이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
    • execution: 자동화 실행 [sn_ac_automation_execution] 테이블의 소스 필드입니다.
    • 프로세스: 기본 봇 프로세스 [cmdb_ci_base_rpa_process] 테이블의 소스 필드입니다.
    • 로봇: 기본 로봇 [cmdb_ci_base_rpa_robot] 테이블의 소스 필드입니다.

    데이터 유형: 문자열

    starttime 실행 이벤트 유형만 해당됩니다. 실행 시작 시간입니다. 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 start_time 필드에 저장됩니다.

    데이터 유형: 문자열

    형식: YYYY-MM-DD HH:MM:SS

    상태 로봇 및 실행 이벤트 유형만 해당됩니다. 관련 이벤트의 상태입니다.
    robot에 유효한 값(대/소문자 구분):
    • 취소됨
    • 완료
    • 오류
    • 큐에 대기 중
    • 실행 중
    기본값: 대기 중
    실행 가능한 값(대/소문자 구분):
    • 사용 가능
    • 통화 중
    • 연결이 끊김
    • 신규
    • 응답
    기본값: 신규
    이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
    • execution: 자동화 실행 [sn_ac_automation_execution] 테이블의 상태 필드입니다.
    • 로봇: 기본 로봇 [cmdb_ci_base_rpa_robot] 테이블의 robot_state 필드입니다.

    데이터 유형: 문자열

    상태 이벤트 유형만 처리합니다. 필수. 프로세스의 상태입니다.
    가능한 값(대/소문자 구분):
    • 빌드
    • 유지관리 중
    • 사용 중
    • 폐기됨
    이 값은 기본 봇 프로세스 [cmdb_ci_base_rpa_process] 테이블의 life_cycle_stage_status 필드에 저장됩니다.

    데이터 유형: 문자열

    triggeredBy 실행 이벤트 유형만 해당됩니다. 실행의 트리거 소스입니다. 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 trigger_by 필드에 저장됩니다.
    주:
    이 값은 인스턴스에서 사용되지 ServiceNow 않으며 구현에 필요한 모든 값을 포함할 수 있습니다.

    데이터 유형: 문자열

    유형 프로세스 및 로봇 이벤트 유형만 해당됩니다. 프로세스에 필요, 로봇에 대한 선택 사항입니다. 수행할 처리 유형입니다.
    유효한 값(대/소문자 구분):
    • 참석함
    • 무인
    이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
    • 프로세스: 기본 봇 프로세스 [cmdb_ci_base_rpa_process] 테이블의 process_type 필드입니다.
    • 로봇: 기본 로봇 [cmdb_ci_base_rpa_robot] 테이블의 robot_type 필드입니다.

    데이터 유형: 문자열

    기본값: 로봇의 경우 무인

    버전 로봇 이벤트 유형만 해당됩니다. 로봇의 버전입니다.

    이 값은 기본 로봇 [cmdb_ci_base_rpa_robot] 테이블의 버전 필드에 저장됩니다.

    데이터 유형: 문자열

    헤더

    다음 요청 및 응답 헤더는 이 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 성공입니다. 요청이 성공적으로 처리되었습니다.
    400 실패. 필수 필드가 누락되었거나 요청에 잘못된 값이 포함되어 있어 요청이 거부되었습니다. 관련 오류 메시지에서 실패 이유를 설명합니다.

    응답 본문 매개변수

    이름 설명
    결과 요청이 성공하면 비어 있습니다. 실패할 경우 추가 정보가 제공됩니다.

    데이터 유형: 객체

    "result": {
      "fields": {
        "<record_number>": [Array]
      }
      "reason": "String"
    }
    예를 들어 기록 1, 2, 3에 모두 필수 필드가 없는 경우 다음과 유사한 메시지가 반환됩니다.
    {
      "result": {
        "fields": {
          "1": [
            "id"
          ],
          "2": [
            "status"
          ],
          "3": [
            "name"
          ]
        },
        "reason": "We are not able to process the data as following records have insufficient data"
      }
    }

    cURL 요청

    다음 코드 예제에서는 세 개의 로봇 이벤트 유형 레코드를 게시하는 방법을 보여 줍니다.

    curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      records: [{
        id: 8001,
        name: "Quotes system Automation Robot",
        state: "Available",
        status: "In Use",
        version: 5.6,
        departmentName: "Customer Support",
        type: "Unattended",
        source: "servicenow_rpa",
        eventName: "robot"
      },
      {
        id: 8002,
        name: "Invoice Matching Robot",
        state: "Responsive",
        status: "In Maintenance",
        version: 3,
        departmentName: "HR",
        type: "Unattended",
        source: "servicenow_rpa",
        eventName: "robot"
      },
      {
        id: 8003,
        name: "Data Reconciliation Robot",
        state: "Busy",
        status: "Retired",
        version: 2,
        departmentName: "Finance",
        type: "Unattended",
        source: "servicenow_rpa",
        eventName: "robot"
      }]
    } "\
    --user "username":"password"

    이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.

    None

    cURL 요청

    다음 코드 예제에서는 세 개의 프로세스 이벤트 유형 레코드를 게시하는 방법을 보여 줍니다.

    curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      records: [{
        id: 9001,
        name: "RPA Execution Process",
        status: "In Maintenance",
        type: "Attended",
        departmentName: "Customer Support",
        source: "servicenow_rpa",
        eventName: "process"
      },
      {
        id: 9002,
        name: "Customer Onboarding",
        status: "In Use",
        type: "Attended",
        departmentName: "Finance",
        source: "servicenow_rpa",
        eventName: "process"
      },
      {
        id: 9003,
        name: "Data Reconciliation",
        status: "Retired",
        type: "Unattended",
        departmentName: "HR",
        source: "servicenow_rpa",
        eventName: "process"
      }]
    }" \
    --user "username":"password"

    이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.

    None

    cURL 요청

    다음 코드 예제에서는 세 개의 실행 이벤트 유형 레코드를 게시하는 방법을 보여 줍니다.

    curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      records: [{
        id: 7001,
        name: "Customer Onboarding",
        starttime: "2022-03-18 00:49:13",
        endtime: "2022-03-20 00:58:03",
        state: "Running",
        priority: "Critical",
        environment: "system",
        triggeredBy: "Schedule",
        processId: 9001,
        robotId: 8001,
        source: "servicenow_rpa",
        eventName: "execution"
      },
      {
        id: 7002,
        name: "Data Reconciliation",
        starttime: "2022-04-30 00:19:11",
        endtime: "2022-05-02 00:41:35",
        state: "Error",
        priority: "Low",
        environment: "system",
        triggeredBy: "API",
        processId: 9002,
        robotId: 8002,
        source: "servicenow_rpa",
        eventName: "execution"
      },
      {
        id: 7003,
        name: "Customer Onboarding",
        starttime: "2022-01-22 02:38:53",
        endtime: "2022-01-23 02:50:44",
        state: "Queued",
        priority: "Moderate",
        environment: "system",
        triggeredBy: "Schedule",
        processId: 9003,
        robotId: 8003,
        source: "servicenow_rpa",
        eventName: "execution"
      }]
    } "\
    --user "username":"password"

    이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.

    None

    cURL 요청

    다음 코드 예제에서는 프로세스를 만들거나 업데이트하는 방법을 보여 줍니다. "프로세스"로 설정된 프로세스와 함께 eventName 실행할 프로세스에 대한 모든 필수 매개변수를 전달하여 프로세스를 생성합니다. 프로세스를 id생성하는 데 필요한 필수 매개변수는 , type, status, namesource입니다.

    curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
    records: [{
    id: 9001,
    name: "RPA Execution Process",
    status: "In Maintenance",
    type: "Attended",
    departmentName: "Customer Support",
    source: "servicenow_rpa",
    eventName: "process"
    }]
    } "\
    --user "username":"password"

    이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.

    None

    cURL 요청

    다음 코드 예제에서는 프로세스를 게시하는 방법을 보여 줍니다. 매개변수 세트를 "게시됨"으로 전달 status 하여 프로세스를 게시할 수 있습니다.

    curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
    records: [{
    id: 9002,
    name: "RPA Execution Process",
    status: "Published",
    type: "Attended",
    departmentName: "Customer Support",
    source: "servicenow_rpa",
    eventName: "process"
    }]
    } "\
    --user "username":"password"

    이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.

    None

    cURL 요청

    다음 코드 예제는 로봇을 생성하거나 업데이트하는 방법을 보여줍니다. 로봇에 대한 eventName 모든 필수 매개변수를 "robot"으로 설정하고 전달하여 로봇을 생성합니다. 로봇 id을 만드는 데 필요한 필수 매개변수는 , status, namesource입니다.

    curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
    records: [{
    id: 8001,
    name: "Quotes system Automation Robot",
    state: "Available",
    status: "In Use",
    version: 5.6,
    departmentName: "Customer Support",
    type: "Unattended",
    source: "servicenow_rpa",
    eventName: "robot"
    } "\
    --user "username":"password"

    이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.

    None

    cURL 요청

    다음 코드 예제에서는 실행을 만들거나 업데이트하는 방법을 보여 줍니다. "execution"으로 설정된 설정과 함께 eventName 실행에 대한 모든 필수 매개변수를 전달하여 실행을 생성합니다. 실행을 id만드는 데 필요한 필수 매개 변수는 , processId, robotIdsource입니다.

    curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
    records: [{
    id: 7001,
    name: "Customer Onboarding",
    starttime: "2022-03-18 00:49:13",
    endtime: "2022-03-20 00:58:03",
    state: "Running",
    priority: "Critical",
    environment: "http://acqa.servicenow.com",
    triggeredBy: "Schedule",
    processId: 9001,
    robotId: 8001,
    source: "servicenow_rpa",
    eventName: "execution",
    errorMessage:"Error due to Inactivity"
    }]
    } "\
    --user "username":"password"

    이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.

    None