Impostare come destinazione un ruolo di lavoro preferito
Nel contesto di un call center, ai clienti potrebbe essere assegnato un account manager o avere una relazione con un lavoratore specifico. Di conseguenza, è consigliabile instradare un processo specifico a un ruolo di lavoro specifico, se possibile.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una risorsa di Servizi di comunicazione distribuita. Creare una risorsa di Servizi di comunicazione.
- Facoltativo: Completare la guida introduttiva per iniziare a usare Il router di processo
Configurare i selettori di lavoro
Ogni ruolo di lavoro ha automaticamente un'etichetta Id
. È possibile applicare i selettori di lavoro al processo per specificare come destinazione un ruolo di lavoro specifico.
Nell'esempio seguente viene creato un processo destinato a un ruolo di lavoro specifico. Se tale ruolo di lavoro non accetta il processo entro la durata di scadenza dell'offerta di 1 minuto, la condizione per il ruolo di lavoro specifico non è più valida e il processo potrebbe passare a qualsiasi ruolo di lavoro.
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))));
Suggerimento
È anche possibile usare qualsiasi etichetta personalizzata univoca per ogni ruolo di lavoro.