Panoramica del router di processo

Servizi di comunicazione di Azure Job Router è uno strumento affidabile progettato per ottimizzare la gestione delle interazioni dei clienti tra varie applicazioni di comunicazione. Accessibile tramite una suite di SDK e API, Job Router indirizza ogni interazione del cliente, o "processo", all'agente o al servizio automatizzato più adatto, o "worker", in base a una combinazione di regole e criteri di runtime predefiniti. In questo modo si garantisce una risposta tempestiva ed efficace alle esigenze di ogni cliente, con conseguente miglioramento della soddisfazione dei clienti, maggiore produttività e uso più efficiente delle risorse.

Al suo centro, Job Router opera su un set di concetti chiave che insieme creano un sistema di gestione delle comunicazioni facile ed efficiente. Tra cui Processi, Ruoli di lavoro, Coda, Canale, Offerta e Criteri di distribuzione. Sia che si tratti di gestire volumi elevati di interazioni con i clienti in un centro contatti, di instradare le query dei clienti al reparto corretto in un'organizzazione di grandi dimensioni o di gestire in modo efficiente le richieste di servizio clienti in un'azienda di vendita al dettaglio, Job Router può eseguire tutte le operazioni. Garantisce che ogni interazione con il cliente venga gestita dall'agente o dal servizio automatizzato più adatto, portando all'efficienza aziendale.

Diagram that shows the Job Router Architecture.

Job Router è indipendente da qualsiasi primitiva del canale Servizi di comunicazione di Azure che consente agli sviluppatori di creare una soluzione di comunicazione omnicanale completa. Con Job Router, le aziende possono garantire che ogni interazione con i clienti venga gestita in modo efficiente, nel momento giusto e nel canale corretto.

Concetti chiave

Posizione

Un processo è un'unità di lavoro (domanda), che deve essere instradata a un lavoratore disponibile (fornitura). Un'istanza effettiva è una chiamata in ingresso o una chat nel contesto di un call center, di un coinvolgimento dei clienti o di un supporto clienti.

Ciclo di vita dei processi

  1. L'applicazione invia un processo tramite Job Router SDK.
  2. (Facoltativo) Se è stato specificato un criterio di classificazione, il processo viene classificato e un evento JobClassified viene inviato tramite Griglia di eventi.
  3. Il processo viene aggiunto alla coda specificata o determinata dai criteri di classificazione e un evento JobQueued viene inviato tramite Griglia di eventi.
  4. Job Router cerca i ruoli di lavoro corrispondenti in base ai selettori etichetta e ai criteri di distribuzione, se la coda.
  5. Quando viene trovato un ruolo di lavoro corrispondente, viene emessa un'offerta e viene inviato un evento OfferIssued.
  6. L'applicazione può accettare l'offerta tramite l'SDK e il processo verrà rimosso dalla coda e verrà inviato un evento OfferAccepted che contiene un oggetto assignmentId.
  7. Dopo aver completato il processo, l'SDK può essere usato per completarlo e chiuderlo usando .assignmentId In questo modo il ruolo di lavoro verrà liberato per il successivo processo.

Diagram that shows the Job lifecycle.

Lavoro

Un ruolo di lavoro è l'offerta disponibile per gestire un processo. Quando si usa l'SDK per registrare un ruolo di lavoro per ricevere i processi, è possibile specificare:

  • Una o più code su cui restare in ascolto.
  • Numero di processi simultanei per canale che il ruolo di lavoro può gestire.
  • Set di etichette che possono essere usate per raggruppare e selezionare i ruoli di lavoro.

Un esempio concreto di un lavoratore è un agente umano in uno scenario di interazione con un cliente o un contact center.

Coda

Una coda è un elenco ordinato di processi in attesa di essere servito a un ruolo di lavoro. I ruoli di lavoro si registrano con una coda per riceverne il lavoro.

Per illustrare il concetto di coda, si userà uno scenario del centro contatti, si immagini una situazione in cui più chiamanti vengono messi in attesa fino a quando un rappresentante, con le competenze giuste, diventa disponibile per gestire le chiamate.

Canale

Un canale è un raggruppamento di processi per qualche tipo. Quando un ruolo di lavoro esegue la registrazione per ricevere il lavoro, deve specificare anche per i canali che possono gestire il lavoro e la quantità di ognuna delle quali può gestire simultaneamente. I canali sono solo un discriminare di stringhe e non vengono creati in modo esplicito. Un canale può essere voice calls o chats.

Assegnando processi a canali diversi, è possibile semplificare i flussi di lavoro e allocare le risorse in modo efficiente in base alle esigenze o ai requisiti specifici associati a ogni canale.

Offerta

Un'offerta viene estesa dal router processo a un ruolo di lavoro per gestire un determinato processo quando determina una corrispondenza. È possibile accettare o rifiutare l'offerta con JobRouter SDK. Se si ignora l'offerta, l'offerta scade in base al tempo necessario per la configurazione dei criteri di distribuzione.

L'anello funge da esempio tangibile di un'offerta estesa a un lavoratore ed è un indicatore che un'interazione sta per avvenire, segnalando all'agente di rispondere prontamente alla chiamata e impegnarsi in una conversazione con il cliente.

Flusso di accettazione dell'offerta

  1. Quando job Router trova un ruolo di lavoro corrispondente per un processo, crea un'offerta e invia un evento OfferIssued tramite Griglia di eventi.
  2. L'offerta viene accettata tramite l'API Router processo.
  3. Il processo viene rimosso dalla coda e assegnato al ruolo di lavoro.
  4. Job Router invia un evento OfferAccepted.
  5. Tutte le offerte esistenti ad altri ruoli di lavoro per questo stesso processo verranno revocate e verrà inviato un evento OfferRevoked.

Flusso di rifiuto dell'offerta

  1. Quando job Router trova un ruolo di lavoro corrispondente per un processo, crea un'offerta e invia un evento OfferIssued tramite Griglia di eventi.
  2. L'offerta viene rifiutata tramite l'API Router processo.
  3. L'offerta viene rimossa dal ruolo di lavoro, aprendo la capacità per un'altra offerta per un processo diverso.
  4. Job Router invia un evento OfferDeclined.
  5. Il router del processo non reimmette l'offerta rifiutata al ruolo di lavoro, a meno che non deregiscriva e riesegua la registrazione.

Flusso di scadenza dell'offerta

  1. Quando job Router trova un ruolo di lavoro corrispondente per un processo, crea un'offerta e invia un evento OfferIssued tramite Griglia di eventi.
  2. L'offerta non viene accettata o rifiutata entro il periodo ExpiresAfter definito dai criteri di distribuzione.
  3. Il router di processo scadrà l'offerta e verrà inviato un evento OfferExpired.
  4. Il ruolo di lavoro viene considerato non disponibile e verrà automaticamente annullata la registrazione.
  5. Verrà inviato un evento WorkerDeregistered.

Criteri di distribuzione

Un criterio di distribuzione è un set di configurazione che controlla il modo in cui i processi in una coda vengono distribuiti ai ruoli di lavoro registrati con tale coda. Questa configurazione include:

  • Per quanto tempo un'offerta è valida prima della scadenza.
  • Modalità di distribuzione, che definisce l'ordine in cui vengono scelti i ruoli di lavoro quando sono disponibili più ruoli di lavoro.
  • Quante offerte simultanee possono esserci per un determinato processo.

Modalità di distribuzione

I tre tipi di modalità sono

  • Round Robin: i ruoli di lavoro vengono ordinati in base Id al ruolo di lavoro successivo dopo quello precedente in cui è stata selezionata un'offerta.
  • Tempo di inattività più lungo: il ruolo di lavoro che non sta lavorando a un processo per il tempo più lungo.
  • Miglior lavoratore: i ruoli di lavoro che sono in grado di gestire meglio il processo vengono scelti per primi. La logica per classificare i ruoli di lavoro può essere personalizzata, con un'espressione o una funzione di Azure per confrontare due ruoli di lavoro. Vedere l'esempio

Etichette

È possibile allegare etichette a ruoli di lavoro, processi e code. Le etichette sono coppie chiave-valore che possono essere di tipi di stringdati , numbero boolean .

Un esempio reale è il livello di competenza di un determinato lavoratore o del team o della posizione geografica.

Selettori di etichette

I selettori di etichetta possono essere collegati a un processo per definire come destinazione un subset di ruoli di lavoro nella coda.

Ad esempio, nel contesto di un canale di chat, si consideri uno scenario reale in cui un messaggio di chat in ingresso è soggetto a una condizione. Questa condizione specifica che l'agente assegnato deve avere un livello minimo di competenze o conoscenze relative a un determinato prodotto. In questo esempio viene evidenziato il modo in cui i selettori di etichetta, analogamente ai filtri, possono essere impiegati per definire come destinazione un subset di agenti all'interno del canale di chat che possiede la competenza necessaria nel prodotto designato.

Criteri di classificazione

I criteri di classificazione possono essere usati per selezionare una coda a livello di codice, determinare la priorità del processo o collegare i selettori di etichette di lavoro a un processo.

Criteri di eccezione

Un criterio di eccezione controlla il comportamento di un processo in base a un trigger ed esegue un'azione desiderata. Il criterio di eccezione è associato a una coda in modo che possa controllare il comportamento dei processi nella coda.

Passaggi successivi

Altre informazioni su questi concetti chiave relativi al router del processo

Consultare le nostre guide pratiche