이 페이지에서

API 참조: 시뮬레이션

시뮬레이션을 사용하면 프로세스 모델에서 가정 시나리오를 실행할 수 있습니다. 처리 시간, 리소스 배정 및 도착률을 설정해 프로세스 동작을 예측합니다.

프로세스의 시뮬레이션 목록 조회

엔드포인트: GET /v1/tenant/{tenantId}/processes/{processId}/simulations

인증: 테넌트 범위 API 키 · read 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
processId string 경로 예 형식: uuid
limit integer 쿼리 아니요 반환할 항목의 최대 개수
offset integer 쿼리 아니요 건너뛸 항목 수

응답(200):

시뮬레이션 목록

[
	{
		"id": "00000000-0000-0000-0000-000000000000",
		"displayName": "string",
		"datasetName": "string",
		"startTime": "2024-03-15T16:30:00Z",
		"endTime": "2024-03-15T16:30:00Z",
		"useWarmUp": true
	}
]

오류:

  • 400 잘못된 요청: 필터 표현식이 유효하지 않거나, 모델이 없는 프로세스이거나, 지원하지 않는 파일 형식이거나, 필수 필드가 누락된 경우
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료된 경우
  • 404 리소스를 찾을 수 없음

시뮬레이션 생성(ID를 지정하면 멱등성 보장)

엔드포인트: POST /v1/tenant/{tenantId}/processes/{processId}/simulations

인증: 테넌트 범위 API 키 · write 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
processId string 경로 예 형식: uuid

요청 본문:

{
	"id": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"datasetName": "string",
	"startTime": "2024-03-15T16:30:00Z",
	"endTime": "2024-03-15T16:30:00Z",
	"useWarmUp": true
}
필드 유형 필수 설명
id string 아니요 멱등성 재시도에 사용할 선택 ID(UUID여야 함)
형식: uuid
displayName string 아니요 시뮬레이션 이름
기본값: New Simulation
datasetName string 아니요 시뮬레이션을 실행할 데이터 세트 이름
startTime string 아니요 시뮬레이션 시작 시간
형식: date-time
endTime string 아니요 시뮬레이션 종료 시간
형식: date-time
useWarmUp boolean 아니요 준비 기간을 제외할지 여부
기본값: false

응답(201):

시뮬레이션을 생성했습니다

{
	"simulation": {
		"id": "00000000-0000-0000-0000-000000000000",
		"displayName": "string"
	},
	"message": "string"
}
필드 유형 필수 설명
simulation object 예
message string 예

오류:

  • 400 잘못된 요청: 필터 표현식이 유효하지 않거나, 모델이 없는 프로세스이거나, 지원하지 않는 파일 형식이거나, 필수 필드가 누락된 경우
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료된 경우
  • 404 리소스를 찾을 수 없음
  • 409 현재 상태와 요청이 충돌하는 경우(예: 라이선스 제한 또는 ID 재사용)

요소 설정, 속성 및 리소스가 포함된 시뮬레이션 조회

엔드포인트: GET /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}

인증: 테넌트 범위 API 키 · read 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
processId string 경로 예 형식: uuid
simulationId string 경로 예 형식: uuid

응답(200):

시뮬레이션 세부 정보

{
	"simulation": {
		"id": "00000000-0000-0000-0000-000000000000",
		"displayName": "string",
		"datasetName": "string",
		"startTime": "2024-03-15T16:30:00Z",
		"endTime": "2024-03-15T16:30:00Z",
		"useWarmUp": true
	},
	"elementSettings": [
		{
			"simulationId": "00000000-0000-0000-0000-000000000000",
			"modelElementId": "00000000-0000-0000-0000-000000000000",
			"settings": {
				"processingTimeDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"processingTimeUnit": "seconds",
				"updateAttributeRules": [
					{
						"id": "string",
						"attributeId": "00000000-0000-0000-0000-000000000000",
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"newValue": "string",
						"isEnabled": true
					}
				],
				"requiredResources": [
					{
						"resourceId": "00000000-0000-0000-0000-000000000000",
						"amount": 0
					}
				],
				"caseStartsDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"caseStartsTimeUnit": "perTimeSlot",
				"capacityInterval": "perHour",
				"skipChanceDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"queueStrategy": "fifo",
				"chanceToTakeDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				]
			}
		}
	],
	"attributes": [
		{
			"id": "00000000-0000-0000-0000-000000000000",
			"simulationId": "00000000-0000-0000-0000-000000000000",
			"displayName": "string",
			"valueDistribution": {
				"type": "Number",
				"numberDistributions": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot",
						"id": "string",
						"isEnabled": true,
						"isDefault": true
					}
				],
				"textDistributions": [
					{
						"id": "string",
						"timeslot": {
							"periodicity": "Always"
						},
						"isEnabled": true,
						"isDefault": true,
						"mode": "list",
						"textValues": [
							{
								"id": "string",
								"value": "string",
								"chance": 0
							}
						]
					}
				]
			},
			"simulationAttributeType": "string"
		}
	],
	"resources": [
		{
			"id": "00000000-0000-0000-0000-000000000000",
			"simulationId": "00000000-0000-0000-0000-000000000000",
			"displayName": "string",
			"levelDistribution": [
				{
					"timeslot": {
						"periodicity": "Always"
					},
					"conditions": [
						{
							"type": "Values",
							"attribute": "string",
							"values": [
								"string"
							]
						}
					],
					"distribution": {
						"type": "Fixed",
						"value": 0
					},
					"timeUnit": "seconds",
					"rateUnit": "perTimeSlot"
				}
			],
			"attributeId": "00000000-0000-0000-0000-000000000000"
		}
	]
}
필드 유형 필수 설명
simulation object 예 시뮬레이션 기본 정보
elementSettings object[] 예 요소별 시뮬레이션 설정
attributes object[] 예 시뮬레이션 속성
resources object[] 예 리소스 풀

오류:

  • 400 잘못된 요청: 필터 표현식이 유효하지 않거나, 모델이 없는 프로세스이거나, 지원하지 않는 파일 형식이거나, 필수 필드가 누락된 경우
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료된 경우
  • 404 리소스를 찾을 수 없음

시뮬레이션 업데이트(필드 및/또는 요소 설정)

엔드포인트: PUT /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}

인증: 테넌트 범위 API 키 · write 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
processId string 경로 예 형식: uuid
simulationId string 경로 예 형식: uuid

요청 본문:

{
	"displayName": "string",
	"datasetName": "string",
	"startTime": "2024-03-15T16:30:00Z",
	"endTime": "2024-03-15T16:30:00Z",
	"useWarmUp": true,
	"elementSettings": [
		{
			"modelElementId": "00000000-0000-0000-0000-000000000000",
			"settings": {
				"caseStartsDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"processingTimeDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				]
			}
		}
	]
}
필드 유형 필수 설명
displayName string 아니요 시뮬레이션 이름
datasetName string 아니요 시뮬레이션을 실행할 데이터 세트 이름
startTime string 아니요 시뮬레이션 시작 시간
형식: date-time
endTime string 아니요 시뮬레이션 종료 시간
형식: date-time
useWarmUp boolean 아니요 준비 기간을 제외할지 여부
elementSettings object[] 아니요 요소별 설정 재정의

응답 (200):

시뮬레이션을 업데이트했습니다

{
	"message": "string"
}
필드 유형 필수 설명
message string 예

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 404 리소스를 찾을 수 없습니다

시뮬레이션 영구 삭제

엔드포인트: DELETE /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}

인증: 테넌트 범위 API 키 · write 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
processId string 경로 예 형식: uuid
simulationId string 경로 예 형식: uuid

응답 (200):

시뮬레이션을 삭제했습니다

{
	"message": "string"
}
필드 유형 필수 설명
message string 예

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 404 리소스를 찾을 수 없습니다

이 엔드포인트는 AI를 사용해 프로세스 모델을 바탕으로 시뮬레이션 설정을 자동 생성합니다.

AI로 시뮬레이션 설정 생성 (비동기, 상태 엔드포인트에서 진행 상황 확인)

엔드포인트: POST /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/generate-settings

인증: 테넌트 범위 API 키 · write 범위 · 요청 제한 초당 2회 (최대 4회)

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
processId string 경로 예 형식: uuid
simulationId string 경로 예 형식: uuid

요청 본문:

{
	"processDescription": "string",
	"additionalContext": "string"
}
필드 유형 필수 설명
processDescription string 아니요
additionalContext string 아니요

응답 (200):

생성이 시작되었거나 결과가 반환되었습니다

{
	"message": "string"
}
필드 유형 필수 설명
message string 예

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 404 리소스를 찾을 수 없습니다

시뮬레이션 설정 생성 상태 확인

엔드포인트: GET /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/generate-settings/status

인증: 테넌트 범위 API 키 · write 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
processId string 경로 예 형식: uuid
simulationId string 경로 예 형식: uuid

응답 (200):

생성 상태

{
	"message": "string"
}
필드 유형 필수 설명
message string 예

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 404 리소스를 찾을 수 없습니다

시뮬레이션 실행 시작 (비동기, 결과는 프로세스 데이터 테이블에 저장)

엔드포인트: POST /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/run

인증: 테넌트 범위 API 키 · write 범위 · 요청 제한 초당 5회 (최대 10회)

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
processId string 경로 예 형식: uuid
simulationId string 경로 예 형식: uuid

응답 (200):

시뮬레이션을 시작했습니다

{
	"message": "string"
}
필드 유형 필수 설명
message string 예

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 404 리소스를 찾을 수 없습니다

마지막 시뮬레이션 실행 상태 확인 (출력 데이터 테이블에서 가져옴)

엔드포인트: GET /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/run/status

인증: 테넌트 범위 API 키 · read 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
processId string 경로 예 형식: uuid
simulationId string 경로 예 형식: uuid

응답 (200):

실행 상태

{
	"state": "notStarted",
	"startedAt": "2024-03-15T16:30:00Z",
	"completedAt": "2024-03-15T16:30:00Z",
	"step": "string",
	"casesSimulated": 0,
	"targetCases": 0,
	"eventsGenerated": 0,
	"errorMessage": "string",
	"simulationId": "00000000-0000-0000-0000-000000000000"
}
필드 유형 필수 설명
state notStarted | running | processing | ready | error 예 허용 값: notStarted, running, processing, ready, error
startedAt string 아니요 형식: date-time
completedAt string 아니요 형식: date-time
step string 아니요
casesSimulated number 아니요
targetCases number 아니요
eventsGenerated number 아니요
errorMessage string 아니요
simulationId string 예 형식: uuid

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 404 리소스를 찾을 수 없습니다

더 나은 프로세스를 설계하고, 연결된 아키텍처를 구축해 관리하세요.

신용카드 등록이나 대기 없이 바로 이용할 수 있습니다. 조직의 업무 방식을 명확하고 유기적으로 연결된 프로세스 설계로 바꿔 보세요.

프로세스 아키텍처를 구축하고, 소유권과 통제 기준을 정립하며, 모든 계층의 역할과 책임을 조율하세요.

무료 체험을 시작하고 프로세스를 관리·운영하고 지속적으로 개선할 수 있는 신뢰할 만한 기반을 마련하세요.