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 |
job
|
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 |
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 |
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 |
La demande a réussi. En-têtes
|
|
201 Created |
La demande a réussi et une nouvelle ressource a été créée en conséquence. En-têtes
|
|
Other Status Codes |
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. |
Objet error. |
Azure. |
Réponse contenant les détails de l’erreur. |
Azure. |
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. |
Job |
Discriminateurs pour les types de mode de correspondance pris en charge. |
Label |
Décrit les opérations prises en charge sur les valeurs d’étiquette. |
Queue |
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. |
Queue |
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. |
Router |
Unité de travail à acheminer |
Router |
Détails de l’affectation d’un travail à un worker. |
Router |
Unité de travail à acheminer |
Router |
Note jointe à un travail. |
Router |
Décrit les différentes status d’un travail. |
Router |
Décrit une condition qui doit être remplie par rapport à un ensemble d’étiquettes pour la sélection du worker. |
Router |
Décrit la status d’un sélecteur de travail. |
Schedule |
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. |
Schedule |
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. |
Suspend |
Décrit un mode de correspondance dans lequel la correspondance du worker à un travail est suspendue. |
Suspend |
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 |
Tableau de détails sur les erreurs spécifiques qui ont conduit à cette erreur signalée. |
|
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 |
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 |
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:
queue |
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:
queue |
Discriminateur de type décrivant un sous-type de JobMatchingMode. |
RouterJob
Unité de travail à acheminer
Nom | Type | Description |
---|---|---|
assignments |
<string,
Router |
Collection des affectations du travail. La clé est AssignmentId. |
attachedWorkerSelectors |
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 |
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 |
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 |
É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 |
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 |
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 |
Décrit comment la valeur de l’étiquette est comparée à la valeur définie sur le sélecteur de travail. |
|
status |
É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:
schedule |
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:
schedule |
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. |