Compartir a través de


Job Router Operations - Upsert Job

Crea o actualiza un trabajo de enrutador.

PATCH {endpoint}/routing/jobs/{jobId}?api-version=2023-11-01

Parámetros de identificador URI

Nombre En Requerido Tipo Description
endpoint
path True

string

URI del recurso de comunicación

jobId
path True

string

Id. de un trabajo.

api-version
query True

string

Versión de API que se usará para la operación.

Encabezado de la solicitud

Media Types: "application/merge-patch+json"

Nombre Requerido Tipo Description
If-Match

string

La solicitud solo debe continuar si una entidad coincide con esta cadena.

If-Unmodified-Since

string

date-time-rfc7231

La solicitud solo debe continuar si la entidad no se modificó después de este tiempo.

Cuerpo de la solicitud

Media Types: "application/merge-patch+json"

Nombre Tipo Description
channelId

string

Identificador del canal. Eg. voz, chat, etc.

channelReference

string

Referencia a un contexto primario externo, por ejemplo, id. de llamada.

classificationPolicyId

string

Identificador de una directiva de clasificación que se usa para clasificar este trabajo.

dispositionCode

string

Código de motivo para trabajos cancelados o cerrados.

labels

Conjunto de pares clave-valor que identifican los atributos usados por los motores de reglas para tomar decisiones. Los valores deben ser valores primitivos: número, cadena y booleano.

matchingMode JobMatchingModeCreateOrUpdate:

Si se proporciona, determinará cómo se llevará a cabo la coincidencia de trabajos. Modo predeterminado: QueueAndMatchMode.

notes

RouterJobNote[]

Notas adjuntas a un trabajo, ordenadas por marca de tiempo.

priority

integer

Prioridad de este trabajo. El valor debe estar comprendido entre -100 y 100.

queueId

string

Identificador de una cola a la que se pone en cola este trabajo.

requestedWorkerSelectors

RouterWorkerSelector[]

Colección de selectores de trabajo especificados manualmente, que un trabajo debe satisfacer para procesar este trabajo.

tags

Un conjunto de atributos que no son de identificación asociados a este trabajo. Los valores deben ser valores primitivos: número, cadena y booleano.

Respuestas

Nombre Tipo Description
200 OK

RouterJob

La solicitud se ha realizado correctamente.

Encabezados

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

RouterJob

La solicitud se ha realizado correctamente y se ha creado un nuevo recurso como resultado.

Encabezados

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

Azure.Core.Foundations.ErrorResponse

Respuesta de error inesperada.

Encabezados

x-ms-error-code: string

Ejemplos

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

Creates a new job

Solicitud de ejemplo

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

Respuesta de muestra

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

Solicitud de ejemplo

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

Respuesta de muestra

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

Solicitud de ejemplo

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

Respuesta de muestra

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

Definiciones

Nombre Description
Azure.Core.Foundations.Error

Objeto de error.

Azure.Core.Foundations.ErrorResponse

Una respuesta que contiene los detalles del error.

Azure.Core.Foundations.InnerError

Objeto que contiene información más específica sobre el error. Según las directrices de la API de Microsoft One: https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

JobMatchingModeKind

Discriminadores para los tipos de modo coincidentes admitidos.

LabelOperator

Describe las operaciones admitidas en los valores de etiqueta.

QueueAndMatchMode

Describe un modo coincidente en el que el trabajo coincidente con un trabajo se inicia automáticamente después de que el trabajo se pone en cola correctamente.

QueueAndMatchModeCreateOrUpdate

Describe un modo coincidente en el que el trabajo coincidente con un trabajo se inicia automáticamente después de que el trabajo se pone en cola correctamente.

RouterJob

Una unidad de trabajo que se va a enrutar

RouterJobAssignment

Detalles de asignación de un trabajo a un trabajo.

RouterJobCreateOrUpdate

Una unidad de trabajo que se va a enrutar

RouterJobNote

Nota adjunta a un trabajo.

RouterJobStatus

Describe el estado de un trabajo.

RouterWorkerSelector

Describe una condición que se debe cumplir con un conjunto de etiquetas para la selección de trabajo.

RouterWorkerSelectorStatus

Describe el estado de un selector de trabajo.

ScheduleAndSuspendMode

Describe un modo coincidente que se usa para programar trabajos que se ponen en cola en un momento futuro. En el momento especificado, el trabajo coincidente con un trabajo no se iniciará automáticamente.

ScheduleAndSuspendModeCreateOrUpdate

Describe un modo coincidente que se usa para programar trabajos que se ponen en cola en un momento futuro. En el momento especificado, el trabajo coincidente con un trabajo no se iniciará automáticamente.

SuspendMode

Describe un modo coincidente en el que se suspende el trabajo coincidente con un trabajo.

SuspendModeCreateOrUpdate

Describe un modo coincidente en el que se suspende el trabajo coincidente con un trabajo.

Azure.Core.Foundations.Error

Objeto de error.

Nombre Tipo Description
code

string

Uno de los conjuntos de códigos de error definidos por el servidor.

details

Azure.Core.Foundations.Error[]

Matriz de detalles sobre errores específicos que llevaron a este error notificado.

innererror

Azure.Core.Foundations.InnerError

Objeto que contiene información más específica que el objeto actual sobre el error.

message

string

Representación legible del error.

target

string

Destino del error.

Azure.Core.Foundations.ErrorResponse

Una respuesta que contiene los detalles del error.

Nombre Tipo Description
error

Azure.Core.Foundations.Error

Objeto de error.

Azure.Core.Foundations.InnerError

Objeto que contiene información más específica sobre el error. Según las directrices de la API de Microsoft One: https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Nombre Tipo Description
code

string

Uno de los conjuntos de códigos de error definidos por el servidor.

innererror

Azure.Core.Foundations.InnerError

Error interno.

JobMatchingModeKind

Discriminadores para los tipos de modo coincidentes admitidos.

Nombre Tipo Description
queueAndMatch

string

Valor de discriminador para QueueAndMatchMode.

scheduleAndSuspend

string

Valor de discriminador para ScheduleAndSuspendMode.

suspend

string

Valor de discriminador para SuspendMode.

LabelOperator

Describe las operaciones admitidas en los valores de etiqueta.

Nombre Tipo Description
equal

string

Igual.

greaterThan

string

Mayor que.

greaterThanOrEqual

string

Mayor o igual que.

lessThan

string

Menor que.

lessThanOrEqual

string

Menor o igual que.

notEqual

string

No es igual.

QueueAndMatchMode

Describe un modo coincidente en el que el trabajo coincidente con un trabajo se inicia automáticamente después de que el trabajo se pone en cola correctamente.

Nombre Tipo Description
kind string:

queueAndMatch

El discriminador de tipos que describe un subtipo de JobMatchingMode.

QueueAndMatchModeCreateOrUpdate

Describe un modo coincidente en el que el trabajo coincidente con un trabajo se inicia automáticamente después de que el trabajo se pone en cola correctamente.

Nombre Tipo Description
kind string:

queueAndMatch

El discriminador de tipos que describe un subtipo de JobMatchingMode.

RouterJob

Una unidad de trabajo que se va a enrutar

Nombre Tipo Description
assignments

<string,  RouterJobAssignment>

Colección de las asignaciones del trabajo. La clave es AssignmentId.

attachedWorkerSelectors

RouterWorkerSelector[]

Colección de selectores de trabajo adjuntos por una directiva de clasificación, que un trabajo debe satisfacer para procesar este trabajo.

channelId

string

Identificador del canal. Eg. voz, chat, etc.

channelReference

string

Referencia a un contexto primario externo, por ejemplo, id. de llamada.

classificationPolicyId

string

Identificador de una directiva de clasificación que se usa para clasificar este trabajo.

dispositionCode

string

Código de motivo para trabajos cancelados o cerrados.

enqueuedAt

string

Marca de tiempo en la que se puso en cola un trabajo en utc.

etag

string

Etiqueta de entidad para este recurso.

id

string

Id. de un trabajo.

labels

Conjunto de pares clave-valor que identifican los atributos usados por los motores de reglas para tomar decisiones. Los valores deben ser valores primitivos: número, cadena y booleano.

matchingMode JobMatchingMode:

Si se proporciona, determinará cómo se llevará a cabo la coincidencia de trabajos. Modo predeterminado: QueueAndMatchMode.

notes

RouterJobNote[]

Notas adjuntas a un trabajo, ordenadas por marca de tiempo.

priority

integer

Prioridad de este trabajo. El valor debe estar comprendido entre -100 y 100.

queueId

string

Identificador de una cola a la que se pone en cola este trabajo.

requestedWorkerSelectors

RouterWorkerSelector[]

Colección de selectores de trabajo especificados manualmente, que un trabajo debe satisfacer para procesar este trabajo.

scheduledAt

string

Si se establece, se programará que el trabajo se poner en cola en un momento dado.

status

RouterJobStatus

El estado del trabajo.

tags

Un conjunto de atributos que no son de identificación asociados a este trabajo. Los valores deben ser valores primitivos: número, cadena y booleano.

RouterJobAssignment

Detalles de asignación de un trabajo a un trabajo.

Nombre Tipo Description
assignedAt

string

Marca de tiempo cuando el trabajo se asignó a un trabajador en UTC.

assignmentId

string

Identificador de una asignación de trabajo.

closedAt

string

Marca de tiempo cuando el trabajo se marcó como cerrado después de completarse en UTC.

completedAt

string

Marca de tiempo cuando el trabajo se marcó como completado después de asignarse en UTC.

workerId

string

Identificador del trabajo asignado al trabajo.

RouterJobCreateOrUpdate

Una unidad de trabajo que se va a enrutar

Nombre Tipo Description
channelId

string

Identificador del canal. Eg. voz, chat, etc.

channelReference

string

Referencia a un contexto primario externo, por ejemplo, id. de llamada.

classificationPolicyId

string

Identificador de una directiva de clasificación que se usa para clasificar este trabajo.

dispositionCode

string

Código de motivo para trabajos cancelados o cerrados.

labels

Conjunto de pares clave-valor que identifican los atributos usados por los motores de reglas para tomar decisiones. Los valores deben ser valores primitivos: número, cadena y booleano.

matchingMode JobMatchingModeCreateOrUpdate:

Si se proporciona, determinará cómo se llevará a cabo la coincidencia de trabajos. Modo predeterminado: QueueAndMatchMode.

notes

RouterJobNote[]

Notas adjuntas a un trabajo, ordenadas por marca de tiempo.

priority

integer

Prioridad de este trabajo. El valor debe estar comprendido entre -100 y 100.

queueId

string

Identificador de una cola a la que se pone en cola este trabajo.

requestedWorkerSelectors

RouterWorkerSelector[]

Colección de selectores de trabajo especificados manualmente, que un trabajo debe satisfacer para procesar este trabajo.

tags

Un conjunto de atributos que no son de identificación asociados a este trabajo. Los valores deben ser valores primitivos: número, cadena y booleano.

RouterJobNote

Nota adjunta a un trabajo.

Nombre Tipo Description
addedAt

string

Hora a la que se agregó la nota en formato UTC. Si no se proporciona, el valor predeterminado será la hora actual.

message

string

Mensaje contenido en la nota.

RouterJobStatus

Describe el estado de un trabajo.

Nombre Tipo Description
assigned

string

El trabajo se ha asignado a un trabajador.

cancelled

string

Se ha cancelado el trabajo.

classificationFailed

string

Error en el proceso de clasificación del trabajo.

closed

string

Un trabajador ha cerrado el trabajo.

completed

string

Un trabajo lo ha completado un trabajador.

created

string

Se ha creado el trabajo.

pendingClassification

string

El trabajo está esperando que se clasifique.

pendingSchedule

string

El trabajo se ha creado pero aún no se ha programado.

queued

string

El trabajo se ha puesto en cola.

scheduleFailed

string

Error en la programación del trabajo.

scheduled

string

El trabajo se ha programado correctamente.

waitingForActivation

string

El trabajo está en estado suspendido y espera una actualización.

RouterWorkerSelector

Describe una condición que se debe cumplir con un conjunto de etiquetas para la selección de trabajo.

Nombre Tipo Description
expedite

boolean

Inserta un trabajo en la parte delantera de la cola siempre que este selector esté activo.

expiresAfterSeconds

number

Describe cuánto tiempo es válido este selector de etiquetas en segundos.

expiresAt

string

Hora a la que expira este selector de trabajo en UTC.

key

string

Clave de etiqueta con la que se va a consultar.

labelOperator

LabelOperator

Describe cómo se compara el valor de la etiqueta con el valor definido en el selector de trabajo.

status

RouterWorkerSelectorStatus

Estado del selector de trabajo.

value

Valor que se va a comparar con el valor de etiqueta real con el operador especificado. Los valores deben ser valores primitivos: número, cadena y booleano.

RouterWorkerSelectorStatus

Describe el estado de un selector de trabajo.

Nombre Tipo Description
active

string

El selector de trabajo es válido.

expired

string

El selector de trabajo no es válido.

ScheduleAndSuspendMode

Describe un modo coincidente que se usa para programar trabajos que se ponen en cola en un momento futuro. En el momento especificado, el trabajo coincidente con un trabajo no se iniciará automáticamente.

Nombre Tipo Description
kind string:

scheduleAndSuspend

El discriminador de tipos que describe un subtipo de JobMatchingMode.

scheduleAt

string

Hora de programación solicitada.

ScheduleAndSuspendModeCreateOrUpdate

Describe un modo coincidente que se usa para programar trabajos que se ponen en cola en un momento futuro. En el momento especificado, el trabajo coincidente con un trabajo no se iniciará automáticamente.

Nombre Tipo Description
kind string:

scheduleAndSuspend

El discriminador de tipos que describe un subtipo de JobMatchingMode.

scheduleAt

string

Hora de programación solicitada.

SuspendMode

Describe un modo coincidente en el que se suspende el trabajo coincidente con un trabajo.

Nombre Tipo Description
kind string:

suspend

El discriminador de tipos que describe un subtipo de JobMatchingMode.

SuspendModeCreateOrUpdate

Describe un modo coincidente en el que se suspende el trabajo coincidente con un trabajo.

Nombre Tipo Description
kind string:

suspend

El discriminador de tipos que describe un subtipo de JobMatchingMode.