Partager via


Job Router Operations - Upsert Job

Crée ou met à jour un travail de routeur.

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

Paramètres URI

Nom Dans Obligatoire Type Description
endpoint
path True

string

URI de votre ressource communication

jobId
path True

string

ID d’un travail.

api-version
query True

string

Version de l’API à utiliser pour cette opération.

En-tête de la demande

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

Nom Obligatoire Type Description
If-Match

string

La requête ne doit se poursuivre que si une entité correspond à cette chaîne.

If-Unmodified-Since

string

date-time-rfc7231

La demande ne doit se poursuivre que si l’entité n’a pas été modifiée après ce délai.

Corps de la demande

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

Nom Type Description
channelId

string

Identificateur de canal. Eg. voix, conversation, etc.

channelReference

string

Référence à un contexte parent externe, par exemple. ID d’appel.

classificationPolicyId

string

ID d’une stratégie de classification utilisée pour classifier ce travail.

dispositionCode

string

Code de raison des travaux annulés ou fermés.

labels

Ensemble de paires clé/valeur qui identifient les attributs utilisés par les moteurs de règles pour prendre des décisions. Les valeurs doivent être primitives : nombre, chaîne, booléen.

matchingMode JobMatchingModeCreateOrUpdate:

S’il est fourni, détermine la façon dont la correspondance de travail sera effectuée. Mode par défaut : QueueAndMatchMode.

notes

RouterJobNote[]

Notes jointes à un travail, triées par horodatage.

priority

integer

Priorité de ce travail. La valeur doit être comprise entre -100 et 100.

queueId

string

ID d’une file d’attente vers laquelle ce travail est mis en file d’attente.

requestedWorkerSelectors

RouterWorkerSelector[]

Collection de sélecteurs de travail spécifiés manuellement, qu’un worker doit satisfaire pour traiter ce travail.

tags

Ensemble d’attributs non identifiants attachés à ce travail. Les valeurs doivent être primitives : nombre, chaîne, booléen.

Réponses

Nom Type Description
200 OK

RouterJob

La demande a réussi.

En-têtes

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

RouterJob

La demande a réussi et une nouvelle ressource a été créée en conséquence.

En-têtes

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

Azure.Core.Foundations.ErrorResponse

Réponse d’erreur inattendue.

En-têtes

x-ms-error-code: string

Exemples

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

Creates a new job

Exemple de requête

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

Exemple de réponse

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

Exemple de requête

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

Exemple de réponse

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

Exemple de requête

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

Exemple de réponse

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

Définitions

Nom Description
Azure.Core.Foundations.Error

Objet error.

Azure.Core.Foundations.ErrorResponse

Réponse contenant les détails de l’erreur.

Azure.Core.Foundations.InnerError

Objet contenant des informations plus spécifiques sur l’erreur. Conformément aux instructions relatives à l’API Microsoft One - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

JobMatchingModeKind

Discriminateurs pour les types de mode de correspondance pris en charge.

LabelOperator

Décrit les opérations prises en charge sur les valeurs d’étiquette.

QueueAndMatchMode

Décrit un mode de correspondance dans lequel la mise en correspondance du worker à un travail est automatiquement démarrée une fois le travail mis en file d’attente.

QueueAndMatchModeCreateOrUpdate

Décrit un mode de correspondance dans lequel la mise en correspondance du worker à un travail est automatiquement démarrée après la mise en file d’attente du travail.

RouterJob

Unité de travail à acheminer

RouterJobAssignment

Détails de l’affectation d’un travail à un worker.

RouterJobCreateOrUpdate

Unité de travail à acheminer

RouterJobNote

Note jointe à un travail.

RouterJobStatus

Décrit les différentes status d’un travail.

RouterWorkerSelector

Décrit une condition qui doit être remplie par rapport à un ensemble d’étiquettes pour la sélection du worker.

RouterWorkerSelectorStatus

Décrit la status d’un sélecteur de travail.

ScheduleAndSuspendMode

Décrit un mode de correspondance utilisé pour planifier les travaux à mettre en file d’attente à un moment ultérieur. À l’heure spécifiée, la mise en correspondance du worker à un travail ne démarre pas automatiquement.

ScheduleAndSuspendModeCreateOrUpdate

Décrit un mode de correspondance utilisé pour planifier les travaux à mettre en file d’attente à un moment ultérieur. À l’heure spécifiée, la mise en correspondance du worker à un travail ne démarre pas automatiquement.

SuspendMode

Décrit un mode de correspondance dans lequel la correspondance du worker à un travail est suspendue.

SuspendModeCreateOrUpdate

Décrit un mode de correspondance dans lequel la correspondance du worker à un travail est suspendue.

Azure.Core.Foundations.Error

Objet error.

Nom Type Description
code

string

Un des ensembles de codes d’erreur définis par le serveur.

details

Azure.Core.Foundations.Error[]

Tableau de détails sur les erreurs spécifiques qui ont conduit à cette erreur signalée.

innererror

Azure.Core.Foundations.InnerError

Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur.

message

string

Représentation lisible de l’erreur.

target

string

Cible de l’erreur.

Azure.Core.Foundations.ErrorResponse

Réponse contenant les détails de l’erreur.

Nom Type Description
error

Azure.Core.Foundations.Error

Objet error.

Azure.Core.Foundations.InnerError

Objet contenant des informations plus spécifiques sur l’erreur. Conformément aux instructions relatives à l’API Microsoft One - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Nom Type Description
code

string

Un des codes d’erreur définis par le serveur.

innererror

Azure.Core.Foundations.InnerError

Erreur interne.

JobMatchingModeKind

Discriminateurs pour les types de mode de correspondance pris en charge.

Nom Type Description
queueAndMatch

string

Valeur du discriminateur pour QueueAndMatchMode.

scheduleAndSuspend

string

Valeur du discriminateur pour ScheduleAndSuspendMode.

suspend

string

Valeur du discriminateur pour SuspendMode.

LabelOperator

Décrit les opérations prises en charge sur les valeurs d’étiquette.

Nom Type Description
equal

string

Égal.

greaterThan

string

Supérieur à.

greaterThanOrEqual

string

Supérieur ou égal à.

lessThan

string

Inférieur à.

lessThanOrEqual

string

Inférieur ou égal à.

notEqual

string

Différent.

QueueAndMatchMode

Décrit un mode de correspondance dans lequel la mise en correspondance du worker à un travail est automatiquement démarrée une fois le travail mis en file d’attente.

Nom Type Description
kind string:

queueAndMatch

Discriminateur de type décrivant un sous-type de JobMatchingMode.

QueueAndMatchModeCreateOrUpdate

Décrit un mode de correspondance dans lequel la mise en correspondance du worker à un travail est automatiquement démarrée après la mise en file d’attente du travail.

Nom Type Description
kind string:

queueAndMatch

Discriminateur de type décrivant un sous-type de JobMatchingMode.

RouterJob

Unité de travail à acheminer

Nom Type Description
assignments

<string,  RouterJobAssignment>

Collection des affectations du travail. La clé est AssignmentId.

attachedWorkerSelectors

RouterWorkerSelector[]

Collection de sélecteurs de travail attachés par une stratégie de classification, qu’un worker doit satisfaire pour traiter ce travail.

channelId

string

Identificateur du canal. Eg. voix, conversation, etc.

channelReference

string

Référence à un contexte parent externe, par exemple ID d’appel.

classificationPolicyId

string

ID d’une stratégie de classification utilisée pour classifier ce travail.

dispositionCode

string

Code de motif pour les travaux annulés ou fermés.

enqueuedAt

string

Horodatage d’une tâche mise en file d’attente au format UTC.

etag

string

Balise d’entité pour cette ressource.

id

string

ID d’un travail.

labels

Ensemble de paires clé/valeur qui identifient les attributs utilisés par les moteurs de règles pour prendre des décisions. Les valeurs doivent être des valeurs primitives : nombre, chaîne, booléen.

matchingMode JobMatchingMode:

S’il est fourni, détermine la façon dont la correspondance de travail sera effectuée. Mode par défaut : QueueAndMatchMode.

notes

RouterJobNote[]

Notes jointes à un travail, triées par horodatage.

priority

integer

Priorité de ce travail. La valeur doit être comprise entre -100 et 100.

queueId

string

ID d’une file d’attente dans laquelle ce travail est mis en file d’attente.

requestedWorkerSelectors

RouterWorkerSelector[]

Collection de sélecteurs de travail spécifiés manuellement, qu’un worker doit satisfaire pour traiter ce travail.

scheduledAt

string

S’il est défini, le travail est planifié pour être mis en file d’attente à un moment donné.

status

RouterJobStatus

État du travail.

tags

Ensemble d’attributs non identifiants attachés à ce travail. Les valeurs doivent être des valeurs primitives : nombre, chaîne, booléen.

RouterJobAssignment

Détails de l’affectation d’un travail à un worker.

Nom Type Description
assignedAt

string

Horodatage de l’affectation du travail à un worker au format UTC.

assignmentId

string

ID d’une attribution de travail.

closedAt

string

Horodatage lorsque le travail a été marqué comme fermé après s’être terminé en UTC.

completedAt

string

Horodatage lorsque le travail a été marqué comme terminé après avoir été attribué au format UTC.

workerId

string

ID du worker affecté au travail.

RouterJobCreateOrUpdate

Unité de travail à acheminer

Nom Type Description
channelId

string

Identificateur du canal. Eg. voix, conversation, etc.

channelReference

string

Référence à un contexte parent externe, par exemple ID d’appel.

classificationPolicyId

string

ID d’une stratégie de classification utilisée pour classifier ce travail.

dispositionCode

string

Code de motif pour les travaux annulés ou fermés.

labels

Ensemble de paires clé/valeur qui identifient les attributs utilisés par les moteurs de règles pour prendre des décisions. Les valeurs doivent être des valeurs primitives : nombre, chaîne, booléen.

matchingMode JobMatchingModeCreateOrUpdate:

S’il est fourni, détermine la façon dont la correspondance de travail sera effectuée. Mode par défaut : QueueAndMatchMode.

notes

RouterJobNote[]

Notes jointes à un travail, triées par horodatage.

priority

integer

Priorité de ce travail. La valeur doit être comprise entre -100 et 100.

queueId

string

ID d’une file d’attente dans laquelle ce travail est mis en file d’attente.

requestedWorkerSelectors

RouterWorkerSelector[]

Collection de sélecteurs de travail spécifiés manuellement, qu’un worker doit satisfaire pour traiter ce travail.

tags

Ensemble d’attributs non identifiants attachés à ce travail. Les valeurs doivent être des valeurs primitives : nombre, chaîne, booléen.

RouterJobNote

Note jointe à un travail.

Nom Type Description
addedAt

string

Heure à laquelle la note a été ajoutée au format UTC. S’il n’est pas fourni, est défini par défaut sur l’heure actuelle.

message

string

Message contenu dans la note.

RouterJobStatus

Décrit les différentes status d’un travail.

Nom Type Description
assigned

string

Le travail a été attribué à un worker.

cancelled

string

Le travail a été annulé.

classificationFailed

string

Échec du processus de classification pour le travail.

closed

string

Le travail a été fermé par un worker.

completed

string

Le travail a été effectué par un worker.

created

string

Le travail a été créé.

pendingClassification

string

Le travail attend d’être classifié.

pendingSchedule

string

Le travail a été créé mais n’a pas encore été planifié.

queued

string

Le travail a été mis en file d’attente.

scheduleFailed

string

Échec de la planification du travail.

scheduled

string

Le travail a été planifié avec succès.

waitingForActivation

string

Le travail est dans un état suspendu et en attente d’une mise à jour.

RouterWorkerSelector

Décrit une condition qui doit être remplie par rapport à un ensemble d’étiquettes pour la sélection du worker.

Nom Type Description
expedite

boolean

Envoie (push) un travail au début de la file d’attente tant que ce sélecteur est actif.

expiresAfterSeconds

number

Décrit la durée de validité de ce sélecteur d’étiquette en secondes.

expiresAt

string

Heure à laquelle ce sélecteur de travail expire au format UTC.

key

string

Clé d’étiquette à interroger.

labelOperator

LabelOperator

Décrit comment la valeur de l’étiquette est comparée à la valeur définie sur le sélecteur de travail.

status

RouterWorkerSelectorStatus

État du sélecteur de travail.

value

Valeur à comparer à la valeur d’étiquette réelle avec l’opérateur donné. Les valeurs doivent être des valeurs primitives : nombre, chaîne, booléen.

RouterWorkerSelectorStatus

Décrit la status d’un sélecteur de travail.

Nom Type Description
active

string

Le sélecteur de travail est valide.

expired

string

Le sélecteur de travail n’est pas valide.

ScheduleAndSuspendMode

Décrit un mode de correspondance utilisé pour planifier les travaux à mettre en file d’attente à un moment ultérieur. À l’heure spécifiée, la mise en correspondance du worker à un travail ne démarre pas automatiquement.

Nom Type Description
kind string:

scheduleAndSuspend

Discriminateur de type décrivant un sous-type de JobMatchingMode.

scheduleAt

string

Heure de planification demandée.

ScheduleAndSuspendModeCreateOrUpdate

Décrit un mode de correspondance utilisé pour planifier les travaux à mettre en file d’attente à un moment ultérieur. À l’heure spécifiée, la mise en correspondance du worker à un travail ne démarre pas automatiquement.

Nom Type Description
kind string:

scheduleAndSuspend

Discriminateur de type décrivant un sous-type de JobMatchingMode.

scheduleAt

string

Heure de planification demandée.

SuspendMode

Décrit un mode de correspondance dans lequel la correspondance du worker à un travail est suspendue.

Nom Type Description
kind string:

suspend

Discriminateur de type décrivant un sous-type de JobMatchingMode.

SuspendModeCreateOrUpdate

Décrit un mode de correspondance dans lequel la correspondance du worker à un travail est suspendue.

Nom Type Description
kind string:

suspend

Discriminateur de type décrivant un sous-type de JobMatchingMode.