Job Router Operations - Upsert Job
라우터 작업을 만들거나 업데이트합니다.
PATCH {endpoint}/routing/jobs/{jobId}?api-version=2023-11-01
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
endpoint
|
path | True |
string |
통신 리소스의 URI |
job
|
path | True |
string |
작업의 ID입니다. |
api-version
|
query | True |
string |
이 작업에 사용할 API 버전입니다. |
요청 헤더
Media Types: "application/merge-patch+json"
Name | 필수 | 형식 | Description |
---|---|---|---|
If-Match |
string |
엔터티가 이 문자열과 일치하는 경우에만 요청이 진행되어야 합니다. |
|
If-Unmodified-Since |
string date-time-rfc7231 |
이 시간 이후에 엔터티가 수정되지 않은 경우에만 요청이 진행되어야 합니다. |
요청 본문
Media Types: "application/merge-patch+json"
Name | 형식 | Description |
---|---|---|
channelId |
string |
채널 식별자입니다. 예. 음성, 채팅 등 |
channelReference |
string |
예를 들어 외부 부모 컨텍스트에 대한 참조입니다. 호출 ID입니다. |
classificationPolicyId |
string |
이 작업을 분류하는 데 사용되는 분류 정책의 ID입니다. |
dispositionCode |
string |
취소되거나 닫힌 작업에 대한 이유 코드입니다. |
labels |
규칙 엔진에서 의사 결정을 내리는 데 사용하는 특성을 식별하는 키/값 쌍 집합입니다. 값은 숫자, 문자열, 부울의 기본 값이어야 합니다. |
|
matchingMode | JobMatchingModeCreateOrUpdate: |
제공된 경우 는 작업 일치를 수행하는 방법을 결정합니다. 기본 모드: QueueAndMatchMode. |
notes |
타임스탬프별로 정렬된 작업에 첨부된 메모입니다. |
|
priority |
integer |
이 작업의 우선 순위입니다. 값은 -100에서 100 사이여야 합니다. |
queueId |
string |
이 작업이 큐에 대기 중인 큐의 ID입니다. |
requestedWorkerSelectors |
이 작업을 처리하기 위해 작업자가 충족해야 하는 수동으로 지정된 작업자 선택기의 컬렉션입니다. |
|
tags |
이 작업에 연결된 식별할 수 없는 특성 집합입니다. 값은 숫자, 문자열, 부울의 기본 값이어야 합니다. |
응답
Name | 형식 | Description |
---|---|---|
200 OK |
요청이 성공했습니다. 헤더
|
|
201 Created |
요청이 성공했고 결과적으로 새 리소스가 생성되었습니다. 헤더
|
|
Other Status Codes |
예기치 않은 오류 응답입니다. 헤더 x-ms-error-code: string |
예제
Creates a new job |
Creates a new scheduled router job |
Updates a router job |
Creates a new job
샘플 요청
PATCH https://contoso.westus.communications.azure.com/routing/jobs/JobId?api-version=2023-11-01
{
"channelId": "CustomChatChannel",
"channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af",
"queueId": "MainQueue",
"priority": 5,
"requestedWorkerSelectors": [
{
"key": "Sales",
"labelOperator": "equal",
"value": true
}
],
"labels": {},
"matchingMode": {
"kind": "queueAndMatch"
}
}
샘플 응답
{
"id": "JobId",
"channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af",
"status": "queued",
"enqueuedAt": "2021-09-30T23:59:04.5311999+00:00",
"channelId": "CustomChatChannel",
"classificationPolicyId": null,
"queueId": "MainQueue",
"priority": 5,
"dispositionCode": null,
"requestedWorkerSelectors": [
{
"key": "Sales",
"labelOperator": "equal",
"value": true,
"expiresAfterSeconds": null
}
],
"attachedWorkerSelectors": [],
"labels": {},
"assignments": {},
"notes": [],
"matchingMode": {
"kind": "queueAndMatch"
},
"etag": "etag"
}
{
"id": "JobId",
"channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af",
"status": "queued",
"enqueuedAt": "2021-09-30T23:59:04.5311999+00:00",
"channelId": "CustomChatChannel",
"classificationPolicyId": null,
"queueId": "MainQueue",
"priority": 5,
"dispositionCode": null,
"requestedWorkerSelectors": [
{
"key": "Sales",
"labelOperator": "equal",
"value": true,
"expiresAfterSeconds": null
}
],
"attachedWorkerSelectors": [],
"labels": {},
"assignments": {},
"notes": [],
"matchingMode": {
"kind": "queueAndMatch"
},
"etag": "etag"
}
Creates a new scheduled router job
샘플 요청
PATCH https://contoso.westus.communications.azure.com/routing/jobs/JobId?api-version=2023-11-01
{
"channelId": "CustomChatChannel",
"channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af",
"queueId": "MainQueue",
"priority": 5,
"requestedWorkerSelectors": [
{
"key": "Sales",
"labelOperator": "equal",
"value": true
}
],
"labels": {},
"matchingMode": {
"kind": "scheduleAndSuspend",
"scheduleAt": "2023-05-26T23:22:12.0774222+00:00"
}
}
샘플 응답
{
"id": "JobId",
"channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af",
"status": "queued",
"enqueuedAt": "2021-09-30T23:59:04.5311999+00:00",
"channelId": "CustomChatChannel",
"classificationPolicyId": null,
"queueId": "MainQueue",
"priority": 5,
"dispositionCode": null,
"requestedWorkerSelectors": [
{
"key": "Sales",
"labelOperator": "equal",
"value": true,
"expiresAfterSeconds": null
}
],
"attachedWorkerSelectors": [],
"labels": {},
"assignments": {},
"notes": [],
"matchingMode": {
"kind": "scheduleAndSuspend",
"scheduleAt": "2023-05-26T23:22:12.0774222+00:00"
},
"scheduledAt": null,
"etag": "etag"
}
{
"id": "JobId",
"channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af",
"status": "queued",
"enqueuedAt": "2021-09-30T23:59:04.5311999+00:00",
"channelId": "CustomChatChannel",
"classificationPolicyId": null,
"queueId": "MainQueue",
"priority": 5,
"dispositionCode": null,
"requestedWorkerSelectors": [
{
"key": "Sales",
"labelOperator": "equal",
"value": true,
"expiresAfterSeconds": null
}
],
"attachedWorkerSelectors": [],
"labels": {},
"assignments": {},
"notes": [],
"matchingMode": {
"kind": "scheduleAndSuspend",
"scheduleAt": "2023-05-26T23:22:12.0774222+00:00"
},
"scheduledAt": null,
"etag": "etag"
}
Updates a router job
샘플 요청
PATCH https://contoso.westus.communications.azure.com/routing/jobs/8780b28c-7079-4de1-9143-4d369289e958?api-version=2023-11-01
{
"channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af"
}
샘플 응답
{
"id": "383541b3-5637-4af6-8aac-3391da8a578a",
"channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af",
"status": "queued",
"enqueuedAt": "2021-09-30T23:59:04.5311999+00:00",
"channelId": "CustomVoiceChannel",
"classificationPolicyId": null,
"queueId": "MainQueue",
"priority": 5,
"dispositionCode": null,
"requestedWorkerSelectors": [
{
"key": "Sales",
"labelOperator": "equal",
"value": true,
"expiresAfterSeconds": null
}
],
"attachedWorkerSelectors": [],
"labels": {},
"assignments": {},
"notes": [],
"matchingMode": {
"kind": "queueAndMatch"
},
"etag": "etag"
}
{
"id": "383541b3-5637-4af6-8aac-3391da8a578a",
"channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af",
"status": "queued",
"enqueuedAt": "2021-09-30T23:59:04.5311999+00:00",
"channelId": "CustomVoiceChannel",
"classificationPolicyId": null,
"queueId": "MainQueue",
"priority": 5,
"dispositionCode": null,
"requestedWorkerSelectors": [
{
"key": "Sales",
"labelOperator": "equal",
"value": true,
"expiresAfterSeconds": null
}
],
"attachedWorkerSelectors": [],
"labels": {},
"assignments": {},
"notes": [],
"matchingMode": {
"kind": "queueAndMatch"
},
"etag": "etag"
}
정의
Name | Description |
---|---|
Azure. |
Error 개체. |
Azure. |
오류 세부 정보가 포함된 응답입니다. |
Azure. |
오류에 대한 보다 구체적인 정보를 포함하는 개체입니다. Microsoft One API 지침에 따라 - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
Job |
지원되는 일치 모드 유형에 대한 판별자입니다. |
Label |
레이블 값에 대해 지원되는 작업에 대해 설명합니다. |
Queue |
작업이 성공적으로 큐에 대기된 후 작업과 일치하는 작업자가 자동으로 시작되는 일치 모드에 대해 설명합니다. |
Queue |
작업이 성공적으로 큐에 대기된 후 작업과 일치하는 작업자가 자동으로 시작되는 일치 모드에 대해 설명합니다. |
Router |
라우팅할 작업 단위 |
Router |
작업자에게 작업의 세부 정보를 할당합니다. |
Router |
라우팅할 작업 단위 |
Router |
작업에 첨부된 메모입니다. |
Router |
작업의 다양한 상태 설명합니다. |
Router |
작업자 선택에 대한 레이블 집합에 대해 충족해야 하는 조건을 설명합니다. |
Router |
작업자 선택기의 상태 설명합니다. |
Schedule |
나중에 큐에 대기할 작업을 예약하는 데 사용되는 일치 모드에 대해 설명합니다. 지정된 시간에 작업과 작업자 일치가 자동으로 시작되지 않습니다. |
Schedule |
나중에 큐에 대기할 작업을 예약하는 데 사용되는 일치 모드에 대해 설명합니다. 지정된 시간에 작업과 작업자 일치가 자동으로 시작되지 않습니다. |
Suspend |
작업과 일치하는 작업자가 일시 중단되는 일치 모드에 대해 설명합니다. |
Suspend |
작업과 일치하는 작업자가 일시 중단되는 일치 모드에 대해 설명합니다. |
Azure.Core.Foundations.Error
Error 개체.
Name | 형식 | Description |
---|---|---|
code |
string |
서버 정의 오류 코드 집합 중 하나입니다. |
details |
이 보고된 오류로 이어진 특정 오류에 대한 세부 정보 배열입니다. |
|
innererror |
오류에 대한 현재 개체보다 더 구체적인 정보를 포함하는 개체입니다. |
|
message |
string |
사람이 읽을 수 있는 오류 표현입니다. |
target |
string |
오류의 대상입니다. |
Azure.Core.Foundations.ErrorResponse
오류 세부 정보가 포함된 응답입니다.
Name | 형식 | Description |
---|---|---|
error |
Error 개체. |
Azure.Core.Foundations.InnerError
오류에 대한 보다 구체적인 정보를 포함하는 개체입니다. Microsoft One API 지침에 따라 - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Name | 형식 | Description |
---|---|---|
code |
string |
서버 정의 오류 코드 집합 중 하나입니다. |
innererror |
내부 오류입니다. |
JobMatchingModeKind
지원되는 일치 모드 유형에 대한 판별자입니다.
Name | 형식 | Description |
---|---|---|
queueAndMatch |
string |
QueueAndMatchMode에 대한 판별자 값입니다. |
scheduleAndSuspend |
string |
ScheduleAndSuspendMode에 대한 판별자 값입니다. |
suspend |
string |
SuspendMode에 대한 판별자 값입니다. |
LabelOperator
레이블 값에 대해 지원되는 작업에 대해 설명합니다.
Name | 형식 | Description |
---|---|---|
equal |
string |
동등한. |
greaterThan |
string |
보다 큼 |
greaterThanOrEqual |
string |
크거나 같음. |
lessThan |
string |
보다 작음 |
lessThanOrEqual |
string |
작거나 같음. |
notEqual |
string |
같지 않습니다. |
QueueAndMatchMode
작업이 성공적으로 큐에 대기된 후 작업과 일치하는 작업자가 자동으로 시작되는 일치 모드에 대해 설명합니다.
Name | 형식 | Description |
---|---|---|
kind |
string:
queue |
JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다. |
QueueAndMatchModeCreateOrUpdate
작업이 성공적으로 큐에 대기된 후 작업과 일치하는 작업자가 자동으로 시작되는 일치 모드에 대해 설명합니다.
Name | 형식 | Description |
---|---|---|
kind |
string:
queue |
JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다. |
RouterJob
라우팅할 작업 단위
Name | 형식 | Description |
---|---|---|
assignments |
<string,
Router |
작업의 할당 컬렉션입니다. Key는 AssignmentId입니다. |
attachedWorkerSelectors |
이 작업을 처리하기 위해 작업자가 만족해야 하는 분류 정책에 의해 연결된 작업자 선택기의 컬렉션입니다. |
|
channelId |
string |
채널 식별자입니다. 예. 음성, 채팅 등 |
channelReference |
string |
예를 들어 외부 부모 컨텍스트에 대한 참조입니다. 호출 ID입니다. |
classificationPolicyId |
string |
이 작업을 분류하는 데 사용되는 분류 정책의 ID입니다. |
dispositionCode |
string |
취소되거나 닫힌 작업에 대한 이유 코드입니다. |
enqueuedAt |
string |
작업이 UTC로 큐에 대기된 타임스탬프입니다. |
etag |
string |
이 리소스에 대한 엔터티 태그입니다. |
id |
string |
작업의 ID입니다. |
labels |
규칙 엔진에서 의사 결정을 내리는 데 사용하는 특성을 식별하는 키/값 쌍 집합입니다. 값은 숫자, 문자열, 부울의 기본 값이어야 합니다. |
|
matchingMode | JobMatchingMode: |
제공된 경우 는 작업 일치를 수행하는 방법을 결정합니다. 기본 모드: QueueAndMatchMode. |
notes |
타임스탬프별로 정렬된 작업에 첨부된 메모입니다. |
|
priority |
integer |
이 작업의 우선 순위입니다. 값은 -100에서 100 사이여야 합니다. |
queueId |
string |
이 작업이 큐에 대기 중인 큐의 ID입니다. |
requestedWorkerSelectors |
이 작업을 처리하기 위해 작업자가 충족해야 하는 수동으로 지정된 작업자 선택기의 컬렉션입니다. |
|
scheduledAt |
string |
설정된 경우 지정된 시간에 작업이 큐에 추가되도록 예약됩니다. |
status |
작업의 상태. |
|
tags |
이 작업에 연결된 식별할 수 없는 특성 집합입니다. 값은 숫자, 문자열, 부울의 기본 값이어야 합니다. |
RouterJobAssignment
작업자에게 작업의 세부 정보를 할당합니다.
Name | 형식 | Description |
---|---|---|
assignedAt |
string |
작업이 UTC의 작업자에 할당된 타임스탬프입니다. |
assignmentId |
string |
작업 할당의 ID입니다. |
closedAt |
string |
UTC로 완료된 후 작업이 닫힌 것으로 표시된 타임스탬프입니다. |
completedAt |
string |
UTC로 할당된 후 작업이 완료된 것으로 표시된 타임스탬프입니다. |
workerId |
string |
작업에 할당된 작업자의 ID입니다. |
RouterJobCreateOrUpdate
라우팅할 작업 단위
Name | 형식 | Description |
---|---|---|
channelId |
string |
채널 식별자입니다. 예. 음성, 채팅 등 |
channelReference |
string |
예를 들어 외부 부모 컨텍스트에 대한 참조입니다. 호출 ID입니다. |
classificationPolicyId |
string |
이 작업을 분류하는 데 사용되는 분류 정책의 ID입니다. |
dispositionCode |
string |
취소되거나 닫힌 작업에 대한 이유 코드입니다. |
labels |
규칙 엔진에서 의사 결정을 내리는 데 사용하는 특성을 식별하는 키/값 쌍 집합입니다. 값은 숫자, 문자열, 부울의 기본 값이어야 합니다. |
|
matchingMode | JobMatchingModeCreateOrUpdate: |
제공된 경우 는 작업 일치를 수행하는 방법을 결정합니다. 기본 모드: QueueAndMatchMode. |
notes |
타임스탬프별로 정렬된 작업에 첨부된 메모입니다. |
|
priority |
integer |
이 작업의 우선 순위입니다. 값은 -100에서 100 사이여야 합니다. |
queueId |
string |
이 작업이 큐에 대기 중인 큐의 ID입니다. |
requestedWorkerSelectors |
이 작업을 처리하기 위해 작업자가 충족해야 하는 수동으로 지정된 작업자 선택기의 컬렉션입니다. |
|
tags |
이 작업에 연결된 식별할 수 없는 특성 집합입니다. 값은 숫자, 문자열, 부울의 기본 값이어야 합니다. |
RouterJobNote
작업에 첨부된 메모입니다.
Name | 형식 | Description |
---|---|---|
addedAt |
string |
메모가 UTC로 추가된 시간입니다. 제공되지 않으면 는 기본적으로 현재 시간으로 설정됩니다. |
message |
string |
메모에 포함된 메시지입니다. |
RouterJobStatus
작업의 다양한 상태 설명합니다.
Name | 형식 | Description |
---|---|---|
assigned |
string |
작업이 작업자에게 할당되었습니다. |
cancelled |
string |
작업이 취소되었습니다. |
classificationFailed |
string |
작업에 대한 분류 프로세스가 실패했습니다. |
closed |
string |
작업자가 작업을 종료했습니다. |
completed |
string |
작업자가 작업을 완료했습니다. |
created |
string |
작업이 만들어졌습니다. |
pendingClassification |
string |
작업이 분류되기를 기다리고 있습니다. |
pendingSchedule |
string |
작업이 만들어졌지만 아직 예약되지 않았습니다. |
queued |
string |
작업이 큐에 대기되었습니다. |
scheduleFailed |
string |
작업 예약에 실패했습니다. |
scheduled |
string |
작업이 성공적으로 예약되었습니다. |
waitingForActivation |
string |
작업이 일시 중단된 상태이며 업데이트를 기다리고 있습니다. |
RouterWorkerSelector
작업자 선택에 대한 레이블 집합에 대해 충족해야 하는 조건을 설명합니다.
Name | 형식 | Description |
---|---|---|
expedite |
boolean |
이 선택기가 활성화되어 있는 한 작업을 큐의 맨 앞으로 푸시합니다. |
expiresAfterSeconds |
number |
이 레이블 선택기가 유효한 기간(초)을 설명합니다. |
expiresAt |
string |
이 작업자 선택기가 UTC로 만료되는 시간입니다. |
key |
string |
쿼리할 레이블 키입니다. |
labelOperator |
레이블의 값을 작업자 선택기에서 정의된 값과 비교하는 방법을 설명합니다. |
|
status |
작업자 선택기의 상태입니다. |
|
value |
지정된 연산자를 사용하여 실제 레이블 값과 비교할 값입니다. 값은 숫자, 문자열, 부울의 기본 값이어야 합니다. |
RouterWorkerSelectorStatus
작업자 선택기의 상태 설명합니다.
Name | 형식 | Description |
---|---|---|
active |
string |
작업자 선택기가 유효합니다. |
expired |
string |
작업자 선택기가 잘못되었습니다. |
ScheduleAndSuspendMode
나중에 큐에 대기할 작업을 예약하는 데 사용되는 일치 모드에 대해 설명합니다. 지정된 시간에 작업과 작업자 일치가 자동으로 시작되지 않습니다.
Name | 형식 | Description |
---|---|---|
kind |
string:
schedule |
JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다. |
scheduleAt |
string |
요청된 일정 시간입니다. |
ScheduleAndSuspendModeCreateOrUpdate
나중에 큐에 대기할 작업을 예약하는 데 사용되는 일치 모드에 대해 설명합니다. 지정된 시간에 작업과 작업자 일치가 자동으로 시작되지 않습니다.
Name | 형식 | Description |
---|---|---|
kind |
string:
schedule |
JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다. |
scheduleAt |
string |
요청된 일정 시간입니다. |
SuspendMode
작업과 일치하는 작업자가 일시 중단되는 일치 모드에 대해 설명합니다.
Name | 형식 | Description |
---|---|---|
kind |
string:
suspend |
JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다. |
SuspendModeCreateOrUpdate
작업과 일치하는 작업자가 일시 중단되는 일치 모드에 대해 설명합니다.
Name | 형식 | Description |
---|---|---|
kind |
string:
suspend |
JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다. |