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 |
job
|
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 |
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 |
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 |
Żądanie zakończyło się pomyślnie. Nagłówki
|
|
201 Created |
Żądanie zakończyło się pomyślnie i w rezultacie został utworzony nowy zasób. Nagłówki
|
|
Other Status Codes |
Nieoczekiwana odpowiedź na błąd. Nagłówki 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
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. |
Obiekt error. |
Azure. |
Odpowiedź zawierająca szczegóły błędu. |
Azure. |
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. |
Job |
Dyskryminujące obsługiwane typy trybów dopasowywania. |
Label |
Opisuje obsługiwane operacje na wartościach etykiet. |
Queue |
Opisuje tryb dopasowywania, w którym dopasowywanie procesu roboczego do zadania jest automatycznie uruchamiane po pomyślnym utworzeniu zadania w kolejce. |
Queue |
Opisuje tryb dopasowywania, w którym dopasowywanie procesu roboczego do zadania jest automatycznie uruchamiane po pomyślnym utworzeniu zadania w kolejce. |
Router |
Jednostka pracy, która ma być kierowana |
Router |
Szczegóły przypisania zadania do procesu roboczego. |
Router |
Jednostka pracy, która ma być kierowana |
Router |
Notatka dołączona do zadania. |
Router |
Opisuje różne stany zadania. |
Router |
Opisuje warunek, który musi zostać spełniony względem zestawu etykiet do wyboru procesu roboczego. |
Router |
Opisuje stan selektora procesów roboczych. |
Schedule |
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. |
Schedule |
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. |
Suspend |
Opisuje tryb dopasowywania, w którym jest zawieszony pasujący proces roboczy do zadania. |
Suspend |
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 |
Tablica szczegółów dotyczących określonych błędów, które doprowadziły do tego zgłoszonego błędu. |
|
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 |
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 |
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:
queue |
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:
queue |
Dyskryminator typów opisujący podtyp elementu JobMatchingMode. |
RouterJob
Jednostka pracy, która ma być kierowana
Nazwa | Typ | Opis |
---|---|---|
assignments |
<string,
Router |
Kolekcja przypisań zadania. Klucz to AssignmentId. |
attachedWorkerSelectors |
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 |
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 |
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 |
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 |
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 |
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 |
Opisuje sposób porównywania wartości etykiety z wartością zdefiniowaną w selektorze procesu roboczego. |
|
status |
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:
schedule |
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:
schedule |
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. |