Job Router Operations - Upsert Job

라우터 작업을 만들거나 업데이트합니다.

PATCH {endpoint}/routing/jobs/{jobId}?api-version=2023-11-01

URI 매개 변수

Name In(다음 안에) 필수 형식 Description
endpoint
path True

string

통신 리소스의 URI

jobId
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

RouterJobNote[]

타임스탬프별로 정렬된 작업에 첨부된 메모입니다.

priority

integer

이 작업의 우선 순위입니다. 값은 -100에서 100 사이여야 합니다.

queueId

string

이 작업이 큐에 대기 중인 큐의 ID입니다.

requestedWorkerSelectors

RouterWorkerSelector[]

이 작업을 처리하기 위해 작업자가 충족해야 하는 수동으로 지정된 작업자 선택기의 컬렉션입니다.

tags

이 작업에 연결된 식별할 수 없는 특성 집합입니다. 값은 숫자, 문자열, 부울의 기본 값이어야 합니다.

응답

Name 형식 Description
200 OK

RouterJob

요청이 성공했습니다.

Headers

  • ETag: string
  • Last-Modified: string
201 Created

RouterJob

요청이 성공했고 결과적으로 새 리소스가 생성되었습니다.

Headers

  • ETag: string
  • Last-Modified: string
Other Status Codes

Azure.Core.Foundations.ErrorResponse

예기치 않은 오류 응답입니다.

Headers

x-ms-error-code: string

예제

Creates a new job
Creates a new scheduled router job
Updates a router job

Creates a new job

Sample Request

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

Sample Response

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

Sample Request

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

Sample Response

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

Sample Request

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

Sample Response

{
  "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.Core.Foundations.Error

Error 개체.

Azure.Core.Foundations.ErrorResponse

오류 세부 정보가 포함된 응답입니다.

Azure.Core.Foundations.InnerError

오류에 대한 보다 구체적인 정보를 포함하는 개체입니다. Microsoft One API 지침에 따라 - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

JobMatchingModeKind

지원되는 일치 모드 유형에 대한 판별자입니다.

LabelOperator

레이블 값에 대해 지원되는 작업에 대해 설명합니다.

QueueAndMatchMode

작업이 성공적으로 큐에 대기된 후 작업과 일치하는 작업자가 자동으로 시작되는 일치 모드에 대해 설명합니다.

QueueAndMatchModeCreateOrUpdate

작업이 성공적으로 큐에 대기된 후 작업과 일치하는 작업자가 자동으로 시작되는 일치 모드에 대해 설명합니다.

RouterJob

라우팅할 작업 단위

RouterJobAssignment

작업자에게 작업의 세부 정보를 할당합니다.

RouterJobCreateOrUpdate

라우팅할 작업 단위

RouterJobNote

작업에 첨부된 메모입니다.

RouterJobStatus

작업의 다양한 상태 설명합니다.

RouterWorkerSelector

작업자 선택에 대한 레이블 집합에 대해 충족해야 하는 조건을 설명합니다.

RouterWorkerSelectorStatus

작업자 선택기의 상태 설명합니다.

ScheduleAndSuspendMode

나중에 큐에 대기할 작업을 예약하는 데 사용되는 일치 모드에 대해 설명합니다. 지정된 시간에 작업과 작업자 일치가 자동으로 시작되지 않습니다.

ScheduleAndSuspendModeCreateOrUpdate

나중에 큐에 대기할 작업을 예약하는 데 사용되는 일치 모드에 대해 설명합니다. 지정된 시간에 작업과 작업자 일치가 자동으로 시작되지 않습니다.

SuspendMode

작업과 일치하는 작업자가 일시 중단되는 일치 모드에 대해 설명합니다.

SuspendModeCreateOrUpdate

작업과 일치하는 작업자가 일시 중단되는 일치 모드에 대해 설명합니다.

Azure.Core.Foundations.Error

Error 개체.

Name 형식 Description
code

string

서버 정의 오류 코드 집합 중 하나입니다.

details

Azure.Core.Foundations.Error[]

이 보고된 오류로 이어진 특정 오류에 대한 세부 정보 배열입니다.

innererror

Azure.Core.Foundations.InnerError

오류에 대한 현재 개체보다 더 구체적인 정보를 포함하는 개체입니다.

message

string

사람이 읽을 수 있는 오류 표현입니다.

target

string

오류의 대상입니다.

Azure.Core.Foundations.ErrorResponse

오류 세부 정보가 포함된 응답입니다.

Name 형식 Description
error

Azure.Core.Foundations.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

Azure.Core.Foundations.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:

queueAndMatch

JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다.

QueueAndMatchModeCreateOrUpdate

작업이 성공적으로 큐에 대기된 후 작업과 일치하는 작업자가 자동으로 시작되는 일치 모드에 대해 설명합니다.

Name 형식 Description
kind string:

queueAndMatch

JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다.

RouterJob

라우팅할 작업 단위

Name 형식 Description
assignments

<string,  RouterJobAssignment>

작업의 할당 컬렉션입니다. Key는 AssignmentId입니다.

attachedWorkerSelectors

RouterWorkerSelector[]

이 작업을 처리하기 위해 작업자가 만족해야 하는 분류 정책에 의해 연결된 작업자 선택기의 컬렉션입니다.

channelId

string

채널 식별자입니다. 예. 음성, 채팅 등

channelReference

string

예를 들어 외부 부모 컨텍스트에 대한 참조입니다. 호출 ID입니다.

classificationPolicyId

string

이 작업을 분류하는 데 사용되는 분류 정책의 ID입니다.

dispositionCode

string

취소되거나 닫힌 작업에 대한 이유 코드입니다.

enqueuedAt

string

작업이 UTC로 큐에 대기된 타임스탬프입니다.

etag

string

이 리소스에 대한 엔터티 태그입니다.

id

string

작업의 ID입니다.

labels

규칙 엔진에서 의사 결정을 내리는 데 사용하는 특성을 식별하는 키/값 쌍 집합입니다. 값은 숫자, 문자열, 부울의 기본 값이어야 합니다.

matchingMode JobMatchingMode:

제공된 경우 는 작업 일치를 수행하는 방법을 결정합니다. 기본 모드: QueueAndMatchMode.

notes

RouterJobNote[]

타임스탬프별로 정렬된 작업에 첨부된 메모입니다.

priority

integer

이 작업의 우선 순위입니다. 값은 -100에서 100 사이여야 합니다.

queueId

string

이 작업이 큐에 대기 중인 큐의 ID입니다.

requestedWorkerSelectors

RouterWorkerSelector[]

이 작업을 처리하기 위해 작업자가 충족해야 하는 수동으로 지정된 작업자 선택기의 컬렉션입니다.

scheduledAt

string

설정된 경우 지정된 시간에 작업이 큐에 추가되도록 예약됩니다.

status

RouterJobStatus

작업의 상태.

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

RouterJobNote[]

타임스탬프별로 정렬된 작업에 첨부된 메모입니다.

priority

integer

이 작업의 우선 순위입니다. 값은 -100에서 100 사이여야 합니다.

queueId

string

이 작업이 큐에 대기 중인 큐의 ID입니다.

requestedWorkerSelectors

RouterWorkerSelector[]

이 작업을 처리하기 위해 작업자가 충족해야 하는 수동으로 지정된 작업자 선택기의 컬렉션입니다.

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

LabelOperator

레이블의 값을 작업자 선택기에서 정의된 값과 비교하는 방법을 설명합니다.

status

RouterWorkerSelectorStatus

작업자 선택기의 상태입니다.

value

지정된 연산자를 사용하여 실제 레이블 값과 비교할 값입니다. 값은 숫자, 문자열, 부울의 기본 값이어야 합니다.

RouterWorkerSelectorStatus

작업자 선택기의 상태 설명합니다.

Name 형식 Description
active

string

작업자 선택기가 유효합니다.

expired

string

작업자 선택기가 잘못되었습니다.

ScheduleAndSuspendMode

나중에 큐에 대기할 작업을 예약하는 데 사용되는 일치 모드에 대해 설명합니다. 지정된 시간에 작업과 작업자 일치가 자동으로 시작되지 않습니다.

Name 형식 Description
kind string:

scheduleAndSuspend

JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다.

scheduleAt

string

요청된 일정 시간입니다.

ScheduleAndSuspendModeCreateOrUpdate

나중에 큐에 대기할 작업을 예약하는 데 사용되는 일치 모드에 대해 설명합니다. 지정된 시간에 작업과 작업자 일치가 자동으로 시작되지 않습니다.

Name 형식 Description
kind string:

scheduleAndSuspend

JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다.

scheduleAt

string

요청된 일정 시간입니다.

SuspendMode

작업과 일치하는 작업자가 일시 중단되는 일치 모드에 대해 설명합니다.

Name 형식 Description
kind string:

suspend

JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다.

SuspendModeCreateOrUpdate

작업과 일치하는 작업자가 일시 중단되는 일치 모드에 대해 설명합니다.

Name 형식 Description
kind string:

suspend

JobMatchingMode의 하위 형식을 설명하는 형식 판별자입니다.