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

jobId
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

RouterJobNote[]

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

RouterWorkerSelector[]

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

RouterJob

La richiesta ha avuto esito positivo.

Intestazioni

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

RouterJob

La richiesta ha avuto esito positivo e di conseguenza è stata creata una nuova risorsa.

Intestazioni

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

Azure.Core.Foundations.ErrorResponse

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

Oggetto error.

Azure.Core.Foundations.ErrorResponse

Risposta contenente i dettagli dell'errore.

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.

JobMatchingModeKind

Discriminatori per i tipi di modalità di corrispondenza supportati.

LabelOperator

Descrive le operazioni supportate sui valori delle etichette.

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.

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.

RouterJob

Unità di lavoro da instradare

RouterJobAssignment

Dettagli dell'assegnazione di un processo a un lavoratore.

RouterJobCreateOrUpdate

Unità di lavoro da instradare

RouterJobNote

Nota allegata a un processo.

RouterJobStatus

Descrive i vari stati di un processo.

RouterWorkerSelector

Descrive una condizione che deve essere soddisfatta rispetto a un set di etichette per la selezione del ruolo di lavoro.

RouterWorkerSelectorStatus

Descrive lo stato di un selettore di lavoro.

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.

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.

SuspendMode

Descrive una modalità di corrispondenza in cui il ruolo di lavoro corrispondente a un processo viene sospeso.

SuspendModeCreateOrUpdate

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

Azure.Core.Foundations.Error[]

Matrice di dettagli sugli errori specifici che hanno causato questo errore segnalato.

innererror

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

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

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

queueAndMatch

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:

queueAndMatch

Il discriminante del tipo che descrive un sottotipo di JobMatchingMode.

RouterJob

Unità di lavoro da instradare

Nome Tipo Descrizione
assignments

<string,  RouterJobAssignment>

Raccolta delle assegnazioni del processo. La chiave è AssignmentId.

attachedWorkerSelectors

RouterWorkerSelector[]

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

RouterJobNote[]

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

RouterWorkerSelector[]

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

RouterJobStatus

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

RouterJobNote[]

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

RouterWorkerSelector[]

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

LabelOperator

Viene descritto il modo in cui il valore dell'etichetta viene confrontato con il valore definito nel selettore di lavoro.

status

RouterWorkerSelectorStatus

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:

scheduleAndSuspend

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:

scheduleAndSuspend

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.