Job Router Operations - Upsert Job
Crea o aggiorna un processo router.
PATCH {endpoint}/routing/jobs/{jobId}?api-version=2023-11-01
Parametri dell'URI
Nome | In | Necessario | Tipo | Descrizione |
---|---|---|---|---|
endpoint
|
path | True |
string |
URI della risorsa di comunicazione |
job
|
path | True |
string |
ID di un processo. |
api-version
|
query | True |
string |
Versione dell'API da usare per questa operazione. |
Intestazione della richiesta
Media Types: "application/merge-patch+json"
Nome | Necessario | Tipo | Descrizione |
---|---|---|---|
If-Match |
string |
La richiesta deve continuare solo se un'entità corrisponde a questa stringa. |
|
If-Unmodified-Since |
string date-time-rfc7231 |
La richiesta deve continuare solo se l'entità non è stata modificata dopo questa volta. |
Corpo della richiesta
Media Types: "application/merge-patch+json"
Nome | Tipo | Descrizione |
---|---|---|
channelId |
string |
Identificatore del canale. Ad esempio. voce, chat, ecc. |
channelReference |
string |
Riferimento a un contesto padre esterno, ad esempio. ID chiamata. |
classificationPolicyId |
string |
ID di un criterio di classificazione usato per classificare questo processo. |
dispositionCode |
string |
Codice motivo per i processi annullati o chiusi. |
labels |
Set di coppie chiave/valore che identificano gli attributi usati dai motori delle regole per prendere decisioni. I valori devono essere valori primitivi: number, string, boolean. |
|
matchingMode | JobMatchingModeCreateOrUpdate: |
Se specificato, determinerà il modo in cui verrà eseguita la corrispondenza dei processi. Modalità predefinita: QueueAndMatchMode. |
notes |
Note associate a un processo, ordinate in base al timestamp. |
|
priority |
integer |
Priorità di questo processo. Il valore deve essere compreso tra -100 e 100. |
queueId |
string |
ID di una coda a cui è accodato il processo. |
requestedWorkerSelectors |
Raccolta di selettori di lavoro specificati manualmente, che un ruolo di lavoro deve soddisfare per elaborare il processo. |
|
tags |
Set di attributi non di identificazione associati a questo processo. I valori devono essere valori primitivi: number, string, boolean. |
Risposte
Nome | Tipo | Descrizione |
---|---|---|
200 OK |
La richiesta ha avuto esito positivo. Intestazioni
|
|
201 Created |
La richiesta ha avuto esito positivo e di conseguenza è stata creata una nuova risorsa. Intestazioni
|
|
Other Status Codes |
Risposta di errore imprevista. Intestazioni x-ms-error-code: string |
Esempio
Creates a new job |
Creates a new scheduled router job |
Updates a router job |
Creates a new job
Esempio di richiesta
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"
}
}
Risposta di esempio
{
"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
Esempio di richiesta
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"
}
}
Risposta di esempio
{
"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
Esempio di richiesta
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"
}
Risposta di esempio
{
"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"
}
Definizioni
Nome | Descrizione |
---|---|
Azure. |
Oggetto error. |
Azure. |
Risposta contenente i dettagli dell'errore. |
Azure. |
Oggetto contenente informazioni più specifiche sull'errore. In base alle linee guida dell'API Microsoft One - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
Job |
Discriminatori per i tipi di modalità di corrispondenza supportati. |
Label |
Descrive le operazioni supportate sui valori delle etichette. |
Queue |
Descrive una modalità di corrispondenza in cui il ruolo di lavoro corrispondente a un processo viene avviato automaticamente dopo che il processo è stato accodato correttamente. |
Queue |
Descrive una modalità di corrispondenza in cui il ruolo di lavoro corrispondente a un processo viene avviato automaticamente dopo che il processo è stato accodato correttamente. |
Router |
Unità di lavoro da instradare |
Router |
Dettagli dell'assegnazione di un processo a un lavoratore. |
Router |
Unità di lavoro da instradare |
Router |
Nota allegata a un processo. |
Router |
Descrive i vari stati di un processo. |
Router |
Descrive una condizione che deve essere soddisfatta rispetto a un set di etichette per la selezione del ruolo di lavoro. |
Router |
Descrive lo stato di un selettore di lavoro. |
Schedule |
Descrive una modalità di corrispondenza utilizzata per la pianificazione dei processi da accodare in un secondo momento. Al momento specificato, il ruolo di lavoro corrispondente a un processo non verrà avviato automaticamente. |
Schedule |
Descrive una modalità di corrispondenza utilizzata per la pianificazione dei processi da accodare in un secondo momento. Al momento specificato, il ruolo di lavoro corrispondente a un processo non verrà avviato automaticamente. |
Suspend |
Descrive una modalità di corrispondenza in cui il ruolo di lavoro corrispondente a un processo viene sospeso. |
Suspend |
Descrive una modalità di corrispondenza in cui il ruolo di lavoro corrispondente a un processo viene sospeso. |
Azure.Core.Foundations.Error
Oggetto error.
Nome | Tipo | Descrizione |
---|---|---|
code |
string |
Uno dei set definiti dal server di codici di errore. |
details |
Matrice di dettagli sugli errori specifici che hanno causato questo errore segnalato. |
|
innererror |
Oggetto contenente informazioni più specifiche dell'oggetto corrente sull'errore. |
|
message |
string |
Rappresentazione leggibile dell'errore. |
target |
string |
Destinazione dell'errore. |
Azure.Core.Foundations.ErrorResponse
Risposta contenente i dettagli dell'errore.
Nome | Tipo | Descrizione |
---|---|---|
error |
Oggetto error. |
Azure.Core.Foundations.InnerError
Oggetto contenente informazioni più specifiche sull'errore. In base alle linee guida dell'API Microsoft One - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Nome | Tipo | Descrizione |
---|---|---|
code |
string |
Uno dei set definiti dal server di codici di errore. |
innererror |
Errore interno. |
JobMatchingModeKind
Discriminatori per i tipi di modalità di corrispondenza supportati.
Nome | Tipo | Descrizione |
---|---|---|
queueAndMatch |
string |
Valore discriminatorio per QueueAndMatchMode. |
scheduleAndSuspend |
string |
Valore discriminatorio per ScheduleAndSuspendMode. |
suspend |
string |
Valore discriminatorio per SuspendMode. |
LabelOperator
Descrive le operazioni supportate sui valori delle etichette.
Nome | Tipo | Descrizione |
---|---|---|
equal |
string |
Uguale. |
greaterThan |
string |
Maggiore di. |
greaterThanOrEqual |
string |
Maggiore o uguale a. |
lessThan |
string |
Minore di. |
lessThanOrEqual |
string |
Minore o uguale a. |
notEqual |
string |
Diverso da. |
QueueAndMatchMode
Descrive una modalità di corrispondenza in cui il ruolo di lavoro corrispondente a un processo viene avviato automaticamente dopo che il processo è stato accodato correttamente.
Nome | Tipo | Descrizione |
---|---|---|
kind |
string:
queue |
Il discriminante del tipo che descrive un sottotipo di JobMatchingMode. |
QueueAndMatchModeCreateOrUpdate
Descrive una modalità di corrispondenza in cui il ruolo di lavoro corrispondente a un processo viene avviato automaticamente dopo che il processo è stato accodato correttamente.
Nome | Tipo | Descrizione |
---|---|---|
kind |
string:
queue |
Il discriminante del tipo che descrive un sottotipo di JobMatchingMode. |
RouterJob
Unità di lavoro da instradare
Nome | Tipo | Descrizione |
---|---|---|
assignments |
<string,
Router |
Raccolta delle assegnazioni del processo. La chiave è AssignmentId. |
attachedWorkerSelectors |
Raccolta di selettori di lavoro associati da un criterio di classificazione, che un lavoratore deve soddisfare per elaborare il processo. |
|
channelId |
string |
Identificatore del canale. Ad esempio. voce, chat, ecc. |
channelReference |
string |
Riferimento a un contesto padre esterno, ad esempio. ID chiamata. |
classificationPolicyId |
string |
ID di un criterio di classificazione usato per classificare questo processo. |
dispositionCode |
string |
Codice motivo per i processi annullati o chiusi. |
enqueuedAt |
string |
Timestamp in cui è stato accodato un processo in formato UTC. |
etag |
string |
Tag di entità per questa risorsa. |
id |
string |
ID di un processo. |
labels |
Set di coppie chiave/valore che identificano gli attributi usati dai motori delle regole per prendere decisioni. I valori devono essere valori primitivi: number, string, boolean. |
|
matchingMode | JobMatchingMode: |
Se specificato, determinerà il modo in cui verrà eseguita la corrispondenza dei processi. Modalità predefinita: QueueAndMatchMode. |
notes |
Note associate a un processo, ordinate in base al timestamp. |
|
priority |
integer |
Priorità di questo processo. Il valore deve essere compreso tra -100 e 100. |
queueId |
string |
ID di una coda a cui è accodato il processo. |
requestedWorkerSelectors |
Raccolta di selettori di lavoro specificati manualmente, che un ruolo di lavoro deve soddisfare per elaborare il processo. |
|
scheduledAt |
string |
Se impostato, il processo verrà accodato in un determinato momento. |
status |
Stato del processo. |
|
tags |
Set di attributi non di identificazione associati a questo processo. I valori devono essere valori primitivi: number, string, boolean. |
RouterJobAssignment
Dettagli dell'assegnazione di un processo a un lavoratore.
Nome | Tipo | Descrizione |
---|---|---|
assignedAt |
string |
Timestamp quando il processo è stato assegnato a un lavoratore in formato UTC. |
assignmentId |
string |
ID di un'assegnazione di processo. |
closedAt |
string |
Timestamp quando il processo è stato contrassegnato come chiuso dopo il completamento in formato UTC. |
completedAt |
string |
Timestamp quando il processo è stato contrassegnato come completato dopo l'assegnazione in formato UTC. |
workerId |
string |
ID del ruolo di lavoro assegnato al processo. |
RouterJobCreateOrUpdate
Unità di lavoro da instradare
Nome | Tipo | Descrizione |
---|---|---|
channelId |
string |
Identificatore del canale. Ad esempio. voce, chat, ecc. |
channelReference |
string |
Riferimento a un contesto padre esterno, ad esempio. ID chiamata. |
classificationPolicyId |
string |
ID di un criterio di classificazione usato per classificare questo processo. |
dispositionCode |
string |
Codice motivo per i processi annullati o chiusi. |
labels |
Set di coppie chiave/valore che identificano gli attributi usati dai motori delle regole per prendere decisioni. I valori devono essere valori primitivi: number, string, boolean. |
|
matchingMode | JobMatchingModeCreateOrUpdate: |
Se specificato, determinerà il modo in cui verrà eseguita la corrispondenza dei processi. Modalità predefinita: QueueAndMatchMode. |
notes |
Note associate a un processo, ordinate in base al timestamp. |
|
priority |
integer |
Priorità di questo processo. Il valore deve essere compreso tra -100 e 100. |
queueId |
string |
ID di una coda a cui è accodato il processo. |
requestedWorkerSelectors |
Raccolta di selettori di lavoro specificati manualmente, che un ruolo di lavoro deve soddisfare per elaborare il processo. |
|
tags |
Set di attributi non di identificazione associati a questo processo. I valori devono essere valori primitivi: number, string, boolean. |
RouterJobNote
Nota allegata a un processo.
Nome | Tipo | Descrizione |
---|---|---|
addedAt |
string |
Ora in cui la nota è stata aggiunta in formato UTC. Se non specificato, verrà predefinito l'ora corrente. |
message |
string |
Messaggio contenuto nella nota. |
RouterJobStatus
Descrive i vari stati di un processo.
Nome | Tipo | Descrizione |
---|---|---|
assigned |
string |
Il processo è stato assegnato a un ruolo di lavoro. |
cancelled |
string |
Il processo è stato annullato. |
classificationFailed |
string |
Processo di classificazione non riuscito per il processo. |
closed |
string |
Il processo è stato chiuso da un lavoratore. |
completed |
string |
Il processo è stato completato da un lavoratore. |
created |
string |
Processo creato. |
pendingClassification |
string |
Il processo è in attesa di essere classificato. |
pendingSchedule |
string |
Il processo è stato creato ma non è ancora stato pianificato. |
queued |
string |
Il processo è stato accodato. |
scheduleFailed |
string |
La pianificazione dei processi non è riuscita. |
scheduled |
string |
Il processo è stato pianificato correttamente. |
waitingForActivation |
string |
Il processo è in stato sospeso e in attesa di un aggiornamento. |
RouterWorkerSelector
Descrive una condizione che deve essere soddisfatta rispetto a un set di etichette per la selezione del ruolo di lavoro.
Nome | Tipo | Descrizione |
---|---|---|
expedite |
boolean |
Esegue il push di un processo all'inizio della coda purché questo selettore sia attivo. |
expiresAfterSeconds |
number |
Descrive per quanto tempo questo selettore di etichette è valido in secondi. |
expiresAt |
string |
Ora in cui il selettore di lavoro scade in formato UTC. |
key |
string |
Chiave dell'etichetta su cui eseguire query. |
labelOperator |
Viene descritto il modo in cui il valore dell'etichetta viene confrontato con il valore definito nel selettore di lavoro. |
|
status |
Stato del selettore del ruolo di lavoro. |
|
value |
Valore da confrontare con il valore di etichetta effettivo con l'operatore specificato. I valori devono essere valori primitivi: number, string, boolean. |
RouterWorkerSelectorStatus
Descrive lo stato di un selettore di lavoro.
Nome | Tipo | Descrizione |
---|---|---|
active |
string |
Selettore di lavoro valido. |
expired |
string |
Selettore di lavoro non valido. |
ScheduleAndSuspendMode
Descrive una modalità di corrispondenza utilizzata per la pianificazione dei processi da accodare in un secondo momento. Al momento specificato, il ruolo di lavoro corrispondente a un processo non verrà avviato automaticamente.
Nome | Tipo | Descrizione |
---|---|---|
kind |
string:
schedule |
Il discriminante del tipo che descrive un sottotipo di JobMatchingMode. |
scheduleAt |
string |
Ora di pianificazione richiesta. |
ScheduleAndSuspendModeCreateOrUpdate
Descrive una modalità di corrispondenza utilizzata per la pianificazione dei processi da accodare in un secondo momento. Al momento specificato, il ruolo di lavoro corrispondente a un processo non verrà avviato automaticamente.
Nome | Tipo | Descrizione |
---|---|---|
kind |
string:
schedule |
Il discriminante del tipo che descrive un sottotipo di JobMatchingMode. |
scheduleAt |
string |
Ora di pianificazione richiesta. |
SuspendMode
Descrive una modalità di corrispondenza in cui il ruolo di lavoro corrispondente a un processo viene sospeso.
Nome | Tipo | Descrizione |
---|---|---|
kind |
string:
suspend |
Il discriminante del tipo che descrive un sottotipo di JobMatchingMode. |
SuspendModeCreateOrUpdate
Descrive una modalità di corrispondenza in cui il ruolo di lavoro corrispondente a un processo viene sospeso.
Nome | Tipo | Descrizione |
---|---|---|
kind |
string:
suspend |
Il discriminante del tipo che descrive un sottotipo di JobMatchingMode. |