Condividi tramite


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

minLength: 1

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: numero, stringa, booleano.

matchingMode JobMatchingModeCreateOrUpdate:

Se specificato, determinerà come verrà eseguita la corrispondenza dei processi. Modalità predefinita: QueueAndMatchMode.

notes

RouterJobNote[]

Note associate a un processo, ordinate in base al timestamp.

priority

integer (int32)

Priorità del 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: numero, stringa, booleano.

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

Sicurezza

AadOauth2Auth

Flusso OAuth2 di Azure Active Directory

Tipo: oauth2
Flow: accessCode
URL di autorizzazione: https://login.microsoftonline.com/common/oauth2/authorize
URL token: https://login.microsoftonline.com/common/oauth2/token

Ambiti

Nome Descrizione
https://communication.azure.com/.default

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

Discriminanti per i tipi di modalità di corrispondenza supportati.

LabelOperator

Vengono descritte 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 ruolo di lavoro.

RouterJobCreateOrUpdate

Unità di lavoro da instradare

RouterJobNote

Nota associata a un processo.

RouterJobStatus

Descrive i vari stati di un processo.

RouterWorkerSelector

Descrive una condizione che deve essere soddisfatta in base 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 usata 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 usata 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 di un set definito dal server di codici di errore.

details

Azure.Core.Foundations.Error[]

Matrice di dettagli sugli errori specifici che hanno causato l'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 di un set definito dal server di codici di errore.

innererror

Azure.Core.Foundations.InnerError

Errore interno.

JobMatchingModeKind

Discriminanti per i tipi di modalità di corrispondenza supportati.

Valore Descrizione
queueAndMatch

Valore discriminatorio per QueueAndMatchMode.

scheduleAndSuspend

Valore discriminatorio per ScheduleAndSuspendMode.

suspend

Valore discriminatorio per SuspendMode.

LabelOperator

Vengono descritte le operazioni supportate sui valori delle etichette.

Valore Descrizione
equal

Uguale.

greaterThan

Maggiore.

greaterThanOrEqual

Maggiore o uguale a.

lessThan

Meno di.

lessThanOrEqual

Minore o uguale a.

notEqual

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

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: numero, stringa, booleano.

matchingMode JobMatchingMode:

Se specificato, determinerà come verrà eseguita la corrispondenza dei processi. Modalità predefinita: QueueAndMatchMode.

notes

RouterJobNote[]

Note associate a un processo, ordinate in base al timestamp.

priority

integer (int32)

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

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: numero, stringa, booleano.

RouterJobAssignment

Dettagli dell'assegnazione di un processo a un ruolo di lavoro.

Nome Tipo Descrizione
assignedAt

string (date-time)

Timestamp quando il processo è stato assegnato a un ruolo di lavoro in formato UTC.

assignmentId

string

ID di un'assegnazione di processo.

closedAt

string (date-time)

Timestamp quando il processo è stato contrassegnato come chiuso dopo il completamento in formato UTC.

completedAt

string (date-time)

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: numero, stringa, booleano.

matchingMode JobMatchingModeCreateOrUpdate:

Se specificato, determinerà come verrà eseguita la corrispondenza dei processi. Modalità predefinita: QueueAndMatchMode.

notes

RouterJobNote[]

Note associate a un processo, ordinate in base al timestamp.

priority

integer (int32)

Priorità del 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: numero, stringa, booleano.

RouterJobNote

Nota associata a un processo.

Nome Tipo Descrizione
addedAt

string (date-time)

Ora in cui la nota è stata aggiunta in formato UTC. Se non specificato, per impostazione predefinita verrà impostato l'ora corrente.

message

string

Messaggio contenuto nella nota.

RouterJobStatus

Descrive i vari stati di un processo.

Valore Descrizione
assigned

Il processo è stato assegnato a un ruolo di lavoro.

cancelled

Il processo è stato annullato.

classificationFailed

Processo di classificazione non riuscito per il processo.

closed

Il processo è stato chiuso da un lavoratore.

completed

Il processo è stato completato da un lavoratore.

created

Il processo è stato creato.

pendingClassification

Il processo è in attesa di essere classificato.

pendingSchedule

Il processo è stato creato ma non è ancora stato pianificato.

queued

Il processo è stato accodato.

scheduleFailed

La pianificazione del processo non è riuscita.

scheduled

Il processo è stato pianificato correttamente.

waitingForActivation

Il processo è in stato sospeso e in attesa di un aggiornamento.

RouterWorkerSelector

Descrive una condizione che deve essere soddisfatta in base 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 (double)

Descrive per quanto tempo questo selettore di etichetta è valido in secondi.

expiresAt

string (date-time)

Ora in cui il selettore del ruolo di lavoro scade in formato UTC.

key

string

Chiave dell'etichetta su cui eseguire una query.

labelOperator

LabelOperator

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

status

RouterWorkerSelectorStatus

Stato del selettore di lavoro.

value

Valore da confrontare con il valore effettivo dell'etichetta con l'operatore specificato. I valori devono essere valori primitivi: numero, stringa, booleano.

RouterWorkerSelectorStatus

Descrive lo stato di un selettore di lavoro.

Valore Descrizione
active

Il selettore di lavoro è valido.

expired

Selettore di lavoro non valido.

ScheduleAndSuspendMode

Descrive una modalità di corrispondenza usata 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 (date-time)

Orario di pianificazione richiesto.

ScheduleAndSuspendModeCreateOrUpdate

Descrive una modalità di corrispondenza usata 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 (date-time)

Orario di pianificazione richiesto.

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.