Auswählen eines bevorzugten Workers
Im Kontext eines Callcenters wird Kunden möglicherweise ein Kontomanager zugewiesen, oder sie stehen in einer Beziehung zu einem bestimmten Worker. Daher sollten Sie einen bestimmten Auftrag nach Möglichkeit an einen bestimmten Worker routen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine bereitgestellte Communication Services-Ressource. Erstellen Sie eine Communication Services-Ressource.
- Optional: Absolvieren Sie die Schnellstartanleitung für die ersten Schritte mit dem Auftragsrouter.
Einrichten von Workerselektoren
Jeder Worker verfügt automatisch über eine Id
-Bezeichnung. Sie können Workerselektoren auf den Auftrag anwenden, um einen bestimmten Worker als Ziel festzulegen.
Im folgenden Beispiel wird ein Auftrag für einen bestimmten Worker erstellt. Wenn dieser Arbeitnehmer den Auftrag nicht innerhalb der Ablaufdauer des Angebots von 1 Minute akzeptiert, ist die Bedingung für den jeweiligen Arbeitnehmer nicht mehr gültig, und der Job kann an jeden Arbeitnehmer gehen.
await client.CreateJobAsync(
new CreateJobOptions(jobId: "job1", channelId: "Xbox_Chat_Channel", queueId: queue.Value.Id)
{
RequestedWorkerSelectors =
{
new RouterWorkerSelector(key: "Id", labelOperator: LabelOperator.Equal, value: new RouterValue("<preferred_worker_id>")) {
Expedite = true,
ExpiresAfter = TimeSpan.FromSeconds(45)
}
}
});
await client.path("/routing/jobs/{jobId}", "job1").patch({
body: {
channelId: "Xbox_Chat_Channel",
queueId: queue.body.id,
requestedWorkerSelectors: [
{
key: "Id",
labelOperator: "equal",
value: "<preferred worker id>",
expiresAfterSeconds: 45
}]
},
contentType: "application/merge-patch+json"
});
client.upsert_job(job_id = "job1",
channel_id = "Xbox_Chat_Channel",
queue_id = queue.id,
requested_worker_selectors = [
RouterWorkerSelector(
key = "Id",
label_operator = LabelOperator.EQUAL,
value = "<preferred worker id>",
expires_after_seconds = 45
)
]
)
client.createJob(new CreateJobOptions("job1", "Xbox_Chat_Channel", queue.getId())
.setRequestedWorkerSelectors(List.of(
new RouterWorkerSelector("Id", LabelOperator.EQUAL, new RouterValue("<preferred_worker_id>"))
.setExpiresAfter(Duration.ofSeconds(45.0))
.setExpedite(true))));
Tipp
Sie können auch eine beliebige benutzerdefinierte Bezeichnung verwenden, die für jeden Worker eindeutig ist.