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

minLength: 1

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 pasuje do tego ciągu.

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ący 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 (int32)

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łniać w celu przetworzenia tego 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.

Odpowiedzi

Nazwa Typ Opis
200 OK

RouterJob

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

Nagłówki

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

RouterJob

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

Nagłówki

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

Azure.Core.Foundations.ErrorResponse

Nieoczekiwana odpowiedź na błąd.

Nagłówki

x-ms-error-code: string

Zabezpieczenia

AadOauth2Auth

Przepływ OAuth2 usługi Azure Active Directory

Typ: oauth2
Flow: accessCode
Adres URL autoryzacji: https://login.microsoftonline.com/common/oauth2/authorize
Adres URL tokenu: https://login.microsoftonline.com/common/oauth2/token

Zakresy

Nazwa Opis
https://communication.azure.com/.default

Przykłady

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

Creates a new job

Przykładowe żądanie

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

Przykładowa odpowiedź

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

Przykładowe żądanie

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

Przykładowa odpowiedź

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

Przykładowe żądanie

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

Przykładowa odpowiedź

{
  "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 błędu.

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 dotyczącymi interfejsu MICROSOFT One API — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

JobMatchingModeKind

Dyskryminujące typy obsługiwanych trybów dopasowania.

LabelOperator

Opisuje obsługiwane operacje na wartościach etykiet.

QueueAndMatchMode

Opisuje tryb dopasowania, w którym pasujący proces roboczy do zadania jest automatycznie uruchamiany po pomyślnym utworzeniu zadania w kolejce.

QueueAndMatchModeCreateOrUpdate

Opisuje tryb dopasowania, w którym pasujący proces roboczy do zadania jest automatycznie uruchamiany 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 dopasowania 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 dopasowania 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 dopasowania, w którym jest zawieszony pasujący proces roboczy do zadania.

SuspendModeCreateOrUpdate

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

Azure.Core.Foundations.Error

Obiekt błędu.

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 błędu.

Azure.Core.Foundations.InnerError

Obiekt zawierający bardziej szczegółowe informacje o błędzie. Zgodnie z wytycznymi dotyczącymi 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 typy obsługiwanych trybów dopasowania.

Wartość Opis
queueAndMatch

Wartość dyskryminująca dla queueAndMatchMode.

scheduleAndSuspend

Dyskryminująca wartość scheduleAndSuspendMode.

suspend

Wartość dyskryminująca dla suspendMode.

LabelOperator

Opisuje obsługiwane operacje na wartościach etykiet.

Wartość Opis
equal

Równy.

greaterThan

Większe niż.

greaterThanOrEqual

Większe niż lub równe.

lessThan

Mniej niż.

lessThanOrEqual

Mniejsze niż lub równe.

notEqual

Nie równa się.

QueueAndMatchMode

Opisuje tryb dopasowania, w którym pasujący proces roboczy do zadania jest automatycznie uruchamiany po pomyślnym utworzeniu zadania w kolejce.

Nazwa Typ Opis
kind string:

queueAndMatch

Dyskryminujący typ opisujący podtyp jobMatchingMode.

QueueAndMatchModeCreateOrUpdate

Opisuje tryb dopasowania, w którym pasujący proces roboczy do zadania jest automatycznie uruchamiany po pomyślnym utworzeniu zadania w kolejce.

Nazwa Typ Opis
kind string:

queueAndMatch

Dyskryminujący typ opisujący podtyp 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ć w celu przetworzenia tego zadania.

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 (date-time)

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ący 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 (int32)

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łniać w celu przetworzenia tego zadania.

scheduledAt

string (date-time)

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 (date-time)

Sygnatura czasowa przy przypisaniu zadania do procesu roboczego w formacie UTC.

assignmentId

string

Identyfikator przypisania zadania.

closedAt

string (date-time)

Sygnatura czasowa, gdy zadanie zostało oznaczone jako zamknięte po zakończeniu w formacie UTC.

completedAt

string (date-time)

Znacznik czasu, kiedy 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ący 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 (int32)

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łniać w celu przetworzenia tego 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.

RouterJobNote

Notatka dołączona do zadania.

Nazwa Typ Opis
addedAt

string (date-time)

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.

Wartość Opis
assigned

Zadanie zostało przypisane do procesu roboczego.

cancelled

Zadanie zostało anulowane.

classificationFailed

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

closed

Zadanie zostało zamknięte przez proces roboczy.

completed

Zadanie zostało ukończone przez proces roboczy.

created

Zadanie zostało utworzone.

pendingClassification

Zadanie czeka na sklasyfikowanie.

pendingSchedule

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

queued

Zadanie zostało w kolejce.

scheduleFailed

Planowanie zadań nie powiodło się.

scheduled

Zadanie zostało zaplanowane pomyślnie.

waitingForActivation

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 (double)

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

expiresAt

string (date-time)

Godzina wygaśnięcia tego selektora procesu roboczego w formacie UTC.

key

string

Klucz etykiety do odpytowania.

labelOperator

LabelOperator

Opisuje sposób porównywania wartości etykiety z wartością zdefiniowaną na 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.

Wartość Opis
active

Selektor procesów roboczych jest prawidłowy.

expired

Selektor procesów roboczych jest nieprawidłowy.

ScheduleAndSuspendMode

Opisuje tryb dopasowania 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

Dyskryminujący typ opisujący podtyp jobMatchingMode.

scheduleAt

string (date-time)

Żądany czas harmonogramu.

ScheduleAndSuspendModeCreateOrUpdate

Opisuje tryb dopasowania 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

Dyskryminujący typ opisujący podtyp jobMatchingMode.

scheduleAt

string (date-time)

Żądany czas harmonogramu.

SuspendMode

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

Nazwa Typ Opis
kind string:

suspend

Dyskryminujący typ opisujący podtyp jobMatchingMode.

SuspendModeCreateOrUpdate

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

Nazwa Typ Opis
kind string:

suspend

Dyskryminujący typ opisujący podtyp jobMatchingMode.