Udostępnij za pośrednictwem


Job Router Operations - Upsert Job

Tworzy lub aktualizuje zadanie routera.

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

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
endpoint
path True

string

Identyfikator URI zasobu komunikacji

jobId
path True

string

Identyfikator zadania.

api-version
query True

string

Wersja interfejsu API do użycia dla tej operacji.

Nagłówek żądania

Media Types: "application/merge-patch+json"

Nazwa Wymagane Typ Opis
If-Match

string

Żądanie powinno być kontynuowane tylko wtedy, gdy jednostka jest zgodna z tym ciągiem.

If-Unmodified-Since

string

date-time-rfc7231

Żądanie powinno być kontynuowane tylko wtedy, gdy jednostka nie została zmodyfikowana po tym czasie.

Treść żądania

Media Types: "application/merge-patch+json"

Nazwa Typ Opis
channelId

string

Identyfikator kanału. Np. głos, czat itp.

channelReference

string

Odwołanie do zewnętrznego kontekstu nadrzędnego, np. identyfikator wywołania.

classificationPolicyId

string

Identyfikator zasad klasyfikacji używanych do klasyfikowania tego zadania.

dispositionCode

string

Kod przyczyny anulowanych lub zamkniętych zadań.

labels

Zestaw par klucz/wartość identyfikujących atrybuty używane przez aparaty reguł do podejmowania decyzji. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna.

matchingMode JobMatchingModeCreateOrUpdate:

Jeśli zostanie podana, określi, w jaki sposób będzie przeprowadzane dopasowywanie zadań. Tryb domyślny: QueueAndMatchMode.

notes

RouterJobNote[]

Notatki dołączone do zadania posortowane według znacznika czasu.

priority

integer

Priorytet tego zadania. Wartość musi należeć do zakresu od -100 do 100.

queueId

string

Identyfikator kolejki, do którego jest kolejkowane to zadanie.

requestedWorkerSelectors

RouterWorkerSelector[]

Kolekcja ręcznie określonych selektorów procesów roboczych, które proces roboczy musi spełnić, aby przetworzyć to zadanie.

tags

Zestaw atrybutów niezwiązanych z identyfikacją dołączonych do tego zadania. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna.

Odpowiedzi

Nazwa Typ Opis
200 OK

RouterJob

Żądanie zakończyło się pomyślnie.

Headers

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

RouterJob

Żądanie zakończyło się pomyślnie i w rezultacie został utworzony nowy zasób.

Headers

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

Azure.Core.Foundations.ErrorResponse

Nieoczekiwana odpowiedź na błąd.

Headers

x-ms-error-code: string

Przykłady

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

Definicje

Nazwa Opis
Azure.Core.Foundations.Error

Obiekt error.

Azure.Core.Foundations.ErrorResponse

Odpowiedź zawierająca szczegóły błędu.

Azure.Core.Foundations.InnerError

Obiekt zawierający bardziej szczegółowe informacje o błędzie. Zgodnie z wytycznymi interfejsu MICROSOFT One API — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

JobMatchingModeKind

Dyskryminujące obsługiwane typy trybów dopasowywania.

LabelOperator

Opisuje obsługiwane operacje na wartościach etykiet.

QueueAndMatchMode

Opisuje tryb dopasowywania, w którym dopasowywanie procesu roboczego do zadania jest automatycznie uruchamiane po pomyślnym utworzeniu zadania w kolejce.

QueueAndMatchModeCreateOrUpdate

Opisuje tryb dopasowywania, w którym dopasowywanie procesu roboczego do zadania jest automatycznie uruchamiane po pomyślnym utworzeniu zadania w kolejce.

RouterJob

Jednostka pracy, która ma być kierowana

RouterJobAssignment

Szczegóły przypisania zadania do procesu roboczego.

RouterJobCreateOrUpdate

Jednostka pracy, która ma być kierowana

RouterJobNote

Notatka dołączona do zadania.

RouterJobStatus

Opisuje różne stany zadania.

RouterWorkerSelector

Opisuje warunek, który musi zostać spełniony względem zestawu etykiet do wyboru procesu roboczego.

RouterWorkerSelectorStatus

Opisuje stan selektora procesów roboczych.

ScheduleAndSuspendMode

Opisuje tryb dopasowywania używany do planowania zadań do kolejkowania w przyszłości. W określonym czasie dopasowanie procesu roboczego do zadania nie zostanie uruchomione automatycznie.

ScheduleAndSuspendModeCreateOrUpdate

Opisuje tryb dopasowywania używany do planowania zadań do kolejkowania w przyszłości. W określonym czasie dopasowanie procesu roboczego do zadania nie zostanie uruchomione automatycznie.

SuspendMode

Opisuje tryb dopasowywania, w którym jest zawieszony pasujący proces roboczy do zadania.

SuspendModeCreateOrUpdate

Opisuje tryb dopasowywania, w którym jest zawieszony pasujący proces roboczy do zadania.

Azure.Core.Foundations.Error

Obiekt error.

Nazwa Typ Opis
code

string

Jeden z zdefiniowanych przez serwer zestaw kodów błędów.

details

Azure.Core.Foundations.Error[]

Tablica szczegółów dotyczących określonych błędów, które doprowadziły do tego zgłoszonego błędu.

innererror

Azure.Core.Foundations.InnerError

Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie.

message

string

Czytelna dla człowieka reprezentacja błędu.

target

string

Element docelowy błędu.

Azure.Core.Foundations.ErrorResponse

Odpowiedź zawierająca szczegóły błędu.

Nazwa Typ Opis
error

Azure.Core.Foundations.Error

Obiekt error.

Azure.Core.Foundations.InnerError

Obiekt zawierający bardziej szczegółowe informacje o błędzie. Zgodnie z wytycznymi interfejsu MICROSOFT One API — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Nazwa Typ Opis
code

string

Jeden z zdefiniowanych przez serwer zestaw kodów błędów.

innererror

Azure.Core.Foundations.InnerError

Błąd wewnętrzny.

JobMatchingModeKind

Dyskryminujące obsługiwane typy trybów dopasowywania.

Nazwa Typ Opis
queueAndMatch

string

Wartość dyskryminująca dla queueAndMatchMode.

scheduleAndSuspend

string

Wartość dyskryminująca dla elementu ScheduleAndSuspendMode.

suspend

string

Wartość dyskryminująca dla właściwości SuspendMode.

LabelOperator

Opisuje obsługiwane operacje na wartościach etykiet.

Nazwa Typ Opis
equal

string

Równe.

greaterThan

string

Większe niż.

greaterThanOrEqual

string

Większe niż lub równe.

lessThan

string

Mniej niż.

lessThanOrEqual

string

Mniejsze niż lub równe.

notEqual

string

Nie równa się.

QueueAndMatchMode

Opisuje tryb dopasowywania, w którym dopasowywanie procesu roboczego do zadania jest automatycznie uruchamiane po pomyślnym utworzeniu zadania w kolejce.

Nazwa Typ Opis
kind string:

queueAndMatch

Dyskryminator typów opisujący podtyp elementu JobMatchingMode.

QueueAndMatchModeCreateOrUpdate

Opisuje tryb dopasowywania, w którym dopasowywanie procesu roboczego do zadania jest automatycznie uruchamiane po pomyślnym utworzeniu zadania w kolejce.

Nazwa Typ Opis
kind string:

queueAndMatch

Dyskryminator typów opisujący podtyp elementu JobMatchingMode.

RouterJob

Jednostka pracy, która ma być kierowana

Nazwa Typ Opis
assignments

<string,  RouterJobAssignment>

Kolekcja przypisań zadania. Klucz to AssignmentId.

attachedWorkerSelectors

RouterWorkerSelector[]

Kolekcja selektorów procesów roboczych dołączonych przez zasady klasyfikacji, które proces roboczy musi spełnić, aby przetworzyć to zadanie.

channelId

string

Identyfikator kanału. Np. głos, czat itp.

channelReference

string

Odwołanie do zewnętrznego kontekstu nadrzędnego, np. identyfikator wywołania.

classificationPolicyId

string

Identyfikator zasad klasyfikacji używanych do klasyfikowania tego zadania.

dispositionCode

string

Kod przyczyny anulowanych lub zamkniętych zadań.

enqueuedAt

string

Sygnatura czasowa zadania została w kolejce w formacie UTC.

etag

string

Tag jednostki dla tego zasobu.

id

string

Identyfikator zadania.

labels

Zestaw par klucz/wartość identyfikujących atrybuty używane przez aparaty reguł do podejmowania decyzji. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna.

matchingMode JobMatchingMode:

Jeśli zostanie podana, określi, w jaki sposób będzie przeprowadzane dopasowywanie zadań. Tryb domyślny: QueueAndMatchMode.

notes

RouterJobNote[]

Notatki dołączone do zadania posortowane według znacznika czasu.

priority

integer

Priorytet tego zadania. Wartość musi należeć do zakresu od -100 do 100.

queueId

string

Identyfikator kolejki, do którego jest kolejkowane to zadanie.

requestedWorkerSelectors

RouterWorkerSelector[]

Kolekcja ręcznie określonych selektorów procesów roboczych, które proces roboczy musi spełnić, aby przetworzyć to zadanie.

scheduledAt

string

W przypadku ustawienia zadanie zostanie zaplanowane do kolejkowania w danym momencie.

status

RouterJobStatus

Stan zadania.

tags

Zestaw atrybutów niezwiązanych z identyfikacją dołączonych do tego zadania. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna.

RouterJobAssignment

Szczegóły przypisania zadania do procesu roboczego.

Nazwa Typ Opis
assignedAt

string

Sygnatura czasowa przypisania zadania do procesu roboczego w formacie UTC.

assignmentId

string

Identyfikator przypisania zadania.

closedAt

string

Sygnatura czasowa oznaczania zadania jako zamkniętego po zakończeniu w formacie UTC.

completedAt

string

Sygnatura czasowa, gdy zadanie zostało oznaczone jako ukończone po przypisaniu w formacie UTC.

workerId

string

Identyfikator procesu roboczego przypisanego do zadania.

RouterJobCreateOrUpdate

Jednostka pracy, która ma być kierowana

Nazwa Typ Opis
channelId

string

Identyfikator kanału. Np. głos, czat itp.

channelReference

string

Odwołanie do zewnętrznego kontekstu nadrzędnego, np. identyfikator wywołania.

classificationPolicyId

string

Identyfikator zasad klasyfikacji używanych do klasyfikowania tego zadania.

dispositionCode

string

Kod przyczyny anulowanych lub zamkniętych zadań.

labels

Zestaw par klucz/wartość identyfikujących atrybuty używane przez aparaty reguł do podejmowania decyzji. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna.

matchingMode JobMatchingModeCreateOrUpdate:

Jeśli zostanie podana, określi, w jaki sposób będzie przeprowadzane dopasowywanie zadań. Tryb domyślny: QueueAndMatchMode.

notes

RouterJobNote[]

Notatki dołączone do zadania posortowane według znacznika czasu.

priority

integer

Priorytet tego zadania. Wartość musi należeć do zakresu od -100 do 100.

queueId

string

Identyfikator kolejki, do którego jest kolejkowane to zadanie.

requestedWorkerSelectors

RouterWorkerSelector[]

Kolekcja ręcznie określonych selektorów procesów roboczych, które proces roboczy musi spełnić, aby przetworzyć to zadanie.

tags

Zestaw atrybutów niezwiązanych z identyfikacją dołączonych do tego zadania. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna.

RouterJobNote

Notatka dołączona do zadania.

Nazwa Typ Opis
addedAt

string

Godzina dodania notatki w formacie UTC. Jeśli nie zostanie podana, wartość domyślna to bieżąca godzina.

message

string

Komunikat zawarty w notatce.

RouterJobStatus

Opisuje różne stany zadania.

Nazwa Typ Opis
assigned

string

Zadanie zostało przypisane do procesu roboczego.

cancelled

string

Zadanie zostało anulowane.

classificationFailed

string

Proces klasyfikacji nie powiódł się dla zadania.

closed

string

Zadanie zostało zamknięte przez pracownika.

completed

string

Zadanie zostało ukończone przez proces roboczy.

created

string

Zadanie zostało utworzone.

pendingClassification

string

Zadanie czeka na sklasyfikowanie.

pendingSchedule

string

Zadanie zostało utworzone, ale nie zostało jeszcze zaplanowane.

queued

string

Zadanie zostało w kolejce.

scheduleFailed

string

Planowanie zadań nie powiodło się.

scheduled

string

Zadanie zostało zaplanowane pomyślnie.

waitingForActivation

string

Zadanie jest w stanie wstrzymania i oczekuje na aktualizację.

RouterWorkerSelector

Opisuje warunek, który musi zostać spełniony względem zestawu etykiet do wyboru procesu roboczego.

Nazwa Typ Opis
expedite

boolean

Wypycha zadanie do przodu kolejki, o ile ten selektor jest aktywny.

expiresAfterSeconds

number

Opisuje, jak długo ten selektor etykiet jest prawidłowy w sekundach.

expiresAt

string

Czas wygaśnięcia tego selektora procesów roboczych w formacie UTC.

key

string

Klucz etykiety do odpytowania.

labelOperator

LabelOperator

Opisuje sposób porównywania wartości etykiety z wartością zdefiniowaną w selektorze procesu roboczego.

status

RouterWorkerSelectorStatus

Stan selektora procesów roboczych.

value

Wartość do porównania z rzeczywistą wartością etykiety z danym operatorem. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna.

RouterWorkerSelectorStatus

Opisuje stan selektora procesów roboczych.

Nazwa Typ Opis
active

string

Selektor procesów roboczych jest prawidłowy.

expired

string

Selektor procesów roboczych jest nieprawidłowy.

ScheduleAndSuspendMode

Opisuje tryb dopasowywania używany do planowania zadań do kolejkowania w przyszłości. W określonym czasie dopasowanie procesu roboczego do zadania nie zostanie uruchomione automatycznie.

Nazwa Typ Opis
kind string:

scheduleAndSuspend

Dyskryminator typów opisujący podtyp elementu JobMatchingMode.

scheduleAt

string

Żądany czas harmonogramu.

ScheduleAndSuspendModeCreateOrUpdate

Opisuje tryb dopasowywania używany do planowania zadań do kolejkowania w przyszłości. W określonym czasie dopasowanie procesu roboczego do zadania nie zostanie uruchomione automatycznie.

Nazwa Typ Opis
kind string:

scheduleAndSuspend

Dyskryminator typów opisujący podtyp elementu JobMatchingMode.

scheduleAt

string

Żądany czas harmonogramu.

SuspendMode

Opisuje tryb dopasowywania, w którym jest zawieszony pasujący proces roboczy do zadania.

Nazwa Typ Opis
kind string:

suspend

Dyskryminator typów opisujący podtyp elementu JobMatchingMode.

SuspendModeCreateOrUpdate

Opisuje tryb dopasowywania, w którym jest zawieszony pasujący proces roboczy do zadania.

Nazwa Typ Opis
kind string:

suspend

Dyskryminator typów opisujący podtyp elementu JobMatchingMode.