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 seu recurso de comunicação

jobId
path True

string

Id de um trabalho.

api-version
query True

string

minLength: 1

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ó deve 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 momento.

Corpo da solicitação

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

Nome Tipo Description
channelId

string

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

channelReference

string

Referência a um contexto pai externo, por exemplo. ID de 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 (int32)

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

queueId

string

ID de uma fila para a qual este trabalho está na fila.

requestedWorkerSelectors

RouterWorkerSelector[]

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

tags

Um conjunto de atributos que não identificam anexados a este 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

Segurança

AadOauth2Auth

O fluxo OAuth2 do Azure Active Directory

Tipo: oauth2
Flow: accessCode
URL de Autorização: https://login.microsoftonline.com/common/oauth2/authorize
URL do Token: https://login.microsoftonline.com/common/oauth2/token

Escopos

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

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/azure/Guidelines.md#handling-errors.

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 do 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 do trabalho com um trabalho é iniciada automaticamente depois que o trabalho é enfileirado com êxito.

RouterJob

Uma unidade de trabalho a ser roteada

RouterJobAssignment

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

RouterJobCreateOrUpdate

Uma unidade de trabalho a ser roteada

RouterJobNote

Uma anotação anexada a um trabalho.

RouterJobStatus

Descreve os vários 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 do trabalho com um trabalho é suspensa.

SuspendModeCreateOrUpdate

Descreve um modo de correspondência em que a correspondência do 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 pelo ser humano 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/azure/Guidelines.md#handling-errors.

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.

Valor Description
queueAndMatch

Valor discriminatório para QueueAndMatchMode.

scheduleAndSuspend

Valor discriminatório para ScheduleAndSuspendMode.

suspend

Valor discriminatório para SuspendMode.

LabelOperator

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

Valor Description
equal

Igual.

greaterThan

Maior que.

greaterThanOrEqual

Maior ou igual.

lessThan

Menor que.

lessThanOrEqual

Menor ou igual.

notEqual

Não é igual.

QueueAndMatchMode

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

Nome Tipo Description
kind string:

queueAndMatch

O tipo discriminatório que descreve um subtipo de JobMatchingMode.

QueueAndMatchModeCreateOrUpdate

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

Nome Tipo Description
kind string:

queueAndMatch

O tipo discriminatório 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 satisfazer para processar esse trabalho.

channelId

string

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

channelReference

string

Referência a um contexto pai externo, por exemplo. ID de 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 (date-time)

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 (int32)

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

queueId

string

ID de uma fila para a qual este trabalho está na fila.

requestedWorkerSelectors

RouterWorkerSelector[]

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

scheduledAt

string (date-time)

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 este trabalho. Os valores devem ser valores primitivos - número, cadeia de caracteres, booliano.

RouterJobAssignment

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

Nome Tipo Description
assignedAt

string (date-time)

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

assignmentId

string

ID de uma atribuição de trabalho.

closedAt

string (date-time)

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

completedAt

string (date-time)

Carimbo de data/hora quando 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 do canal. Eg. voz, chat etc.

channelReference

string

Referência a um contexto pai externo, por exemplo. ID de 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 (int32)

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

queueId

string

ID de uma fila para a qual este trabalho está na fila.

requestedWorkerSelectors

RouterWorkerSelector[]

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

tags

Um conjunto de atributos que não identificam anexados a este 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 (date-time)

O momento 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 nota.

RouterJobStatus

Descreve os vários status de um trabalho.

Valor Description
assigned

O trabalho foi atribuído a um trabalhador.

cancelled

O trabalho foi cancelado.

classificationFailed

Falha no processo de classificação para o trabalho.

closed

O trabalho foi fechado por um trabalhador.

completed

O trabalho foi concluído por um trabalhador.

created

O trabalho foi criado.

pendingClassification

O trabalho está aguardando para ser classificado.

pendingSchedule

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

queued

O trabalho foi enfileirado.

scheduleFailed

Falha no agendamento do trabalho.

scheduled

O trabalho foi agendado com êxito.

waitingForActivation

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 para a frente da fila enquanto esse seletor estiver ativo.

expiresAfterSeconds

number (double)

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

expiresAt

string (date-time)

O momento 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.

Valor Description
active

O seletor de trabalho é válido.

expired

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 tipo discriminatório que descreve um subtipo de JobMatchingMode.

scheduleAt

string (date-time)

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 tipo discriminatório que descreve um subtipo de JobMatchingMode.

scheduleAt

string (date-time)

Tempo de agendamento solicitado.

SuspendMode

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

Nome Tipo Description
kind string:

suspend

O tipo discriminatório que descreve um subtipo de JobMatchingMode.

SuspendModeCreateOrUpdate

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

Nome Tipo Description
kind string:

suspend

O tipo discriminatório que descreve um subtipo de JobMatchingMode.