Compartilhar via


Job Router Operations - Upsert Job

Cria ou atualiza um trabalho de roteador.

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

Parâmetros de URI

Nome Em Obrigatório Tipo Description
endpoint
path True

string

URI do recurso de Comunicação

jobId
path True

string

Id de um trabalho.

api-version
query True

string

A versão da API a ser usada para esta operação.

Cabeçalho da solicitação

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

Nome Obrigatório Tipo Description
If-Match

string

A solicitação só deverá continuar se uma entidade corresponder a essa cadeia de caracteres.

If-Unmodified-Since

string

date-time-rfc7231

A solicitação só deverá continuar se a entidade não tiver sido modificada após esse período.

Corpo da solicitação

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

Nome Tipo Description
channelId

string

O identificador de canal. Eg. voz, chat etc.

channelReference

string

Referência a um contexto pai externo, por exemplo. ID da chamada.

classificationPolicyId

string

ID de uma política de classificação usada para classificar esse trabalho.

dispositionCode

string

Código de motivo para trabalhos cancelados ou fechados.

labels

Um conjunto de pares chave/valor que estão identificando atributos usados pelos mecanismos de regras para tomar decisões. Os valores devem ser valores primitivos - número, cadeia de caracteres, booliano.

matchingMode JobMatchingModeCreateOrUpdate:

Se fornecido, determinará como a correspondência de trabalhos será realizada. Modo padrão: QueueAndMatchMode.

notes

RouterJobNote[]

Anotações anexadas a um trabalho, classificadas por carimbo de data/hora.

priority

integer

Prioridade deste trabalho. O valor deve estar entre -100 e 100.

queueId

string

ID de uma fila para a qual esse trabalho está enfileirado.

requestedWorkerSelectors

RouterWorkerSelector[]

Uma coleção de seletores de trabalho especificados manualmente, que um trabalho deve satisfazer para processar esse trabalho.

tags

Um conjunto de atributos que não identificam anexados a esse trabalho. Os valores devem ser valores primitivos - número, cadeia de caracteres, booliano.

Respostas

Nome Tipo Description
200 OK

RouterJob

A solicitação foi bem-sucedida.

Cabeçalhos

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

RouterJob

A solicitação foi bem-sucedida e um novo recurso foi criado como resultado.

Cabeçalhos

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

Azure.Core.Foundations.ErrorResponse

Uma resposta de erro inesperada.

Cabeçalhos

x-ms-error-code: string

Exemplos

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

Creates a new job

Solicitação de exemplo

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

Resposta de exemplo

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

Solicitação de exemplo

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

Resposta de exemplo

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

Solicitação de exemplo

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

Resposta de exemplo

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

Definições

Nome Description
Azure.Core.Foundations.Error

O objeto de erro.

Azure.Core.Foundations.ErrorResponse

Uma resposta que contém detalhes do erro.

Azure.Core.Foundations.InnerError

Um objeto que contém informações mais específicas sobre o erro. De acordo com as diretrizes da API do Microsoft One – https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

JobMatchingModeKind

Discriminadores para tipos de modo de correspondência com suporte.

LabelOperator

Descreve as operações com suporte em valores de rótulo.

QueueAndMatchMode

Descreve um modo de correspondência em que a correspondência de trabalho com um trabalho é iniciada automaticamente depois que o trabalho é enfileirado com êxito.

QueueAndMatchModeCreateOrUpdate

Descreve um modo de correspondência em que a correspondência de trabalho com um trabalho é iniciada automaticamente depois que o trabalho é enfileirado com êxito.

RouterJob

Uma unidade de trabalho a ser roteada

RouterJobAssignment

Detalhes da atribuição de um trabalho para um trabalho.

RouterJobCreateOrUpdate

Uma unidade de trabalho a ser roteada

RouterJobNote

Uma anotação anexada a um trabalho.

RouterJobStatus

Descreve as várias status de um trabalho.

RouterWorkerSelector

Descreve uma condição que deve ser atendida em relação a um conjunto de rótulos para seleção de trabalho.

RouterWorkerSelectorStatus

Descreve o status de um seletor de trabalho.

ScheduleAndSuspendMode

Descreve um modo de correspondência usado para agendar trabalhos a serem enfileirados em um momento futuro. No momento especificado, a correspondência do trabalho com um trabalho não será iniciada automaticamente.

ScheduleAndSuspendModeCreateOrUpdate

Descreve um modo de correspondência usado para agendar trabalhos a serem enfileirados em um momento futuro. No momento especificado, a correspondência do trabalho com um trabalho não será iniciada automaticamente.

SuspendMode

Descreve um modo de correspondência em que a correspondência de trabalho com um trabalho é suspensa.

SuspendModeCreateOrUpdate

Descreve um modo de correspondência em que a correspondência de trabalho com um trabalho é suspensa.

Azure.Core.Foundations.Error

O objeto de erro.

Nome Tipo Description
code

string

Um de um conjunto definido pelo servidor de códigos de erro.

details

Azure.Core.Foundations.Error[]

Uma matriz de detalhes sobre erros específicos que levaram a esse erro relatado.

innererror

Azure.Core.Foundations.InnerError

Um objeto que contém informações mais específicas do que o objeto atual sobre o erro.

message

string

Uma representação legível do erro.

target

string

O destino do erro.

Azure.Core.Foundations.ErrorResponse

Uma resposta que contém detalhes do erro.

Nome Tipo Description
error

Azure.Core.Foundations.Error

O objeto de erro.

Azure.Core.Foundations.InnerError

Um objeto que contém informações mais específicas sobre o erro. De acordo com as diretrizes da API do Microsoft One – https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Nome Tipo Description
code

string

Um de um conjunto definido pelo servidor de códigos de erro.

innererror

Azure.Core.Foundations.InnerError

Erro interno.

JobMatchingModeKind

Discriminadores para tipos de modo de correspondência com suporte.

Nome Tipo Description
queueAndMatch

string

Valor discriminatório para QueueAndMatchMode.

scheduleAndSuspend

string

Valor discriminatório para ScheduleAndSuspendMode.

suspend

string

Valor discriminatório para SuspendMode.

LabelOperator

Descreve as operações com suporte em valores de rótulo.

Nome Tipo Description
equal

string

Igual.

greaterThan

string

Maior que.

greaterThanOrEqual

string

Maior que ou igual a.

lessThan

string

Menor que.

lessThanOrEqual

string

Menor que ou igual a.

notEqual

string

Não é igual.

QueueAndMatchMode

Descreve um modo de correspondência em que a correspondência de trabalho com um trabalho é iniciada automaticamente depois que o trabalho é enfileirado com êxito.

Nome Tipo Description
kind string:

queueAndMatch

O discriminador de tipo que descreve um subtipo de JobMatchingMode.

QueueAndMatchModeCreateOrUpdate

Descreve um modo de correspondência em que a correspondência de trabalho com um trabalho é iniciada automaticamente depois que o trabalho é enfileirado com êxito.

Nome Tipo Description
kind string:

queueAndMatch

O discriminador de tipo que descreve um subtipo de JobMatchingMode.

RouterJob

Uma unidade de trabalho a ser roteada

Nome Tipo Description
assignments

<string,  RouterJobAssignment>

Uma coleção das atribuições do trabalho. A chave é AssignmentId.

attachedWorkerSelectors

RouterWorkerSelector[]

Uma coleção de seletores de trabalho anexados por uma política de classificação, que um trabalhador deve atender para processar esse trabalho.

channelId

string

O identificador de canal. Eg. voz, chat etc.

channelReference

string

Referência a um contexto pai externo, por exemplo. ID da chamada.

classificationPolicyId

string

ID de uma política de classificação usada para classificar esse trabalho.

dispositionCode

string

Código de motivo para trabalhos cancelados ou fechados.

enqueuedAt

string

Carimbo de data/hora em que um trabalho foi enfileirado em UTC.

etag

string

A marca de entidade para esse recurso.

id

string

Id de um trabalho.

labels

Um conjunto de pares chave/valor que estão identificando atributos usados pelos mecanismos de regras para tomar decisões. Os valores devem ser valores primitivos - número, cadeia de caracteres, booliano.

matchingMode JobMatchingMode:

Se fornecido, determinará como a correspondência de trabalhos será realizada. Modo padrão: QueueAndMatchMode.

notes

RouterJobNote[]

Anotações anexadas a um trabalho, classificadas por carimbo de data/hora.

priority

integer

Prioridade deste trabalho. O valor deve estar entre -100 e 100.

queueId

string

ID de uma fila para a qual esse trabalho está enfileirado.

requestedWorkerSelectors

RouterWorkerSelector[]

Uma coleção de seletores de trabalho especificados manualmente, que um trabalho deve satisfazer para processar esse trabalho.

scheduledAt

string

Se definido, o trabalho será agendado para ser enfileirado em um determinado momento.

status

RouterJobStatus

O status do trabalho.

tags

Um conjunto de atributos que não identificam anexados a esse trabalho. Os valores devem ser valores primitivos - número, cadeia de caracteres, booliano.

RouterJobAssignment

Detalhes da atribuição de um trabalho para um trabalho.

Nome Tipo Description
assignedAt

string

Carimbo de data/hora quando o trabalho foi atribuído a um trabalho em UTC.

assignmentId

string

ID de uma tarefa de trabalho.

closedAt

string

Carimbo de data/hora em que o trabalho foi marcado como fechado após ser concluído em UTC.

completedAt

string

Carimbo de data/hora em que o trabalho foi marcado como concluído após ser atribuído em UTC.

workerId

string

ID do Trabalho atribuído ao trabalho.

RouterJobCreateOrUpdate

Uma unidade de trabalho a ser roteada

Nome Tipo Description
channelId

string

O identificador de canal. Eg. voz, chat etc.

channelReference

string

Referência a um contexto pai externo, por exemplo. ID da chamada.

classificationPolicyId

string

ID de uma política de classificação usada para classificar esse trabalho.

dispositionCode

string

Código de motivo para trabalhos cancelados ou fechados.

labels

Um conjunto de pares chave/valor que estão identificando atributos usados pelos mecanismos de regras para tomar decisões. Os valores devem ser valores primitivos - número, cadeia de caracteres, booliano.

matchingMode JobMatchingModeCreateOrUpdate:

Se fornecido, determinará como a correspondência de trabalhos será realizada. Modo padrão: QueueAndMatchMode.

notes

RouterJobNote[]

Anotações anexadas a um trabalho, classificadas por carimbo de data/hora.

priority

integer

Prioridade deste trabalho. O valor deve estar entre -100 e 100.

queueId

string

ID de uma fila para a qual esse trabalho está enfileirado.

requestedWorkerSelectors

RouterWorkerSelector[]

Uma coleção de seletores de trabalho especificados manualmente, que um trabalho deve satisfazer para processar esse trabalho.

tags

Um conjunto de atributos que não identificam anexados a esse trabalho. Os valores devem ser valores primitivos - número, cadeia de caracteres, booliano.

RouterJobNote

Uma anotação anexada a um trabalho.

Nome Tipo Description
addedAt

string

A hora em que a anotação foi adicionada em UTC. Se não for fornecido, o padrão será a hora atual.

message

string

A mensagem contida na anotação.

RouterJobStatus

Descreve as várias status de um trabalho.

Nome Tipo Description
assigned

string

O trabalho foi atribuído a um trabalhador.

cancelled

string

O trabalho foi cancelado.

classificationFailed

string

Falha no processo de classificação do trabalho.

closed

string

O trabalho foi fechado por um trabalhador.

completed

string

O trabalho foi concluído por um trabalhador.

created

string

O trabalho foi criado.

pendingClassification

string

O trabalho está aguardando para ser classificado.

pendingSchedule

string

O trabalho foi criado, mas ainda não foi agendado.

queued

string

O trabalho foi enfileirado.

scheduleFailed

string

Falha no agendamento do trabalho.

scheduled

string

O trabalho foi agendado com êxito.

waitingForActivation

string

O trabalho está em um estado suspenso e aguardando uma atualização.

RouterWorkerSelector

Descreve uma condição que deve ser atendida em relação a um conjunto de rótulos para seleção de trabalho.

Nome Tipo Description
expedite

boolean

Envia um trabalho por push para a frente da fila, desde que esse seletor esteja ativo.

expiresAfterSeconds

number

Descreve por quanto tempo esse seletor de rótulo é válido em segundos.

expiresAt

string

A hora em que esse seletor de trabalho expira em UTC.

key

string

A chave de rótulo com a qual consultar.

labelOperator

LabelOperator

Descreve como o valor do rótulo é comparado ao valor definido no seletor de trabalho.

status

RouterWorkerSelectorStatus

Status do seletor de trabalho.

value

O valor a ser comparado com o valor real do rótulo com o operador fornecido. Os valores devem ser valores primitivos - número, cadeia de caracteres, booliano.

RouterWorkerSelectorStatus

Descreve o status de um seletor de trabalho.

Nome Tipo Description
active

string

O seletor de trabalho é válido.

expired

string

O seletor de trabalho não é válido.

ScheduleAndSuspendMode

Descreve um modo de correspondência usado para agendar trabalhos a serem enfileirados em um momento futuro. No momento especificado, a correspondência do trabalho com um trabalho não será iniciada automaticamente.

Nome Tipo Description
kind string:

scheduleAndSuspend

O discriminador de tipo que descreve um subtipo de JobMatchingMode.

scheduleAt

string

Tempo de agendamento solicitado.

ScheduleAndSuspendModeCreateOrUpdate

Descreve um modo de correspondência usado para agendar trabalhos a serem enfileirados em um momento futuro. No momento especificado, a correspondência do trabalho com um trabalho não será iniciada automaticamente.

Nome Tipo Description
kind string:

scheduleAndSuspend

O discriminador de tipo que descreve um subtipo de JobMatchingMode.

scheduleAt

string

Tempo de agendamento solicitado.

SuspendMode

Descreve um modo de correspondência em que a correspondência de trabalho com um trabalho é suspensa.

Nome Tipo Description
kind string:

suspend

O discriminador de tipo que descreve um subtipo de JobMatchingMode.

SuspendModeCreateOrUpdate

Descreve um modo de correspondência em que a correspondência de trabalho com um trabalho é suspensa.

Nome Tipo Description
kind string:

suspend

O discriminador de tipo que descreve um subtipo de JobMatchingMode.