Auftragsrouter – Übersicht

Azure Communication Services Job Router ist ein robustes Tool zur Optimierung der Verwaltung von Kundeninteraktionen über verschiedene Kommunikationsanwendungen hinweg. Über eine Suite von SDKs und APIs zugänglich, leitet Job Router jede Kundeninteraktion oder "Auftrag" an den am besten geeigneten Agent oder automatisierten Dienst oder "Worker", basierend auf einer Mischung aus vordefinierten und Laufzeitregeln und Richtlinien. Dadurch wird eine zeitnahe und effektive Reaktion auf die Bedürfnisse jedes Kunden sichergestellt, was zu einer verbesserten Kundenzufriedenheit, einer erhöhten Produktivität und einem effizienteren Einsatz von Ressourcen führt.

Im Kern arbeitet Job Router an einer Reihe von Schlüsselkonzepten, die gemeinsam ein nahtloses und effizientes Kommunikationsmanagementsystem schaffen. Dazu gehören Job, Worker, Warteschlangen, Kanal, Angebot und Verteilungsrichtlinie. Ganz gleich, ob es um die Verwaltung hoher Kundeninteraktionen in einem Contact Center, das Weiterleiten von Kundenanfragen an die richtige Abteilung in einer großen Organisation oder eine effiziente Behandlung von Kundendienstanfragen in einem Einzelhandelsgeschäft geht, Job Router kann dies alles tun. Es stellt sicher, dass jede Kundeninteraktion von dem am besten geeigneten Agenten oder automatisierten Service verarbeitet wird, was zu einer Geschäftlichen Effizienz führt.

Diagram that shows the Job Router Architecture.

Job Router ist für jeden Azure Communication Services-Kanalgrundtyp agnostisch, der Entwicklern hilft, eine umfassende Omnichannel-Kommunikationslösung zu erstellen. Mit Job Router können Unternehmen sicherstellen, dass jede Kundeninteraktion effizient, zur richtigen Zeit und im richtigen Kanal verarbeitet wird.

Wichtige Konzepte

Auftrag

Ein Auftrag ist eine Arbeitseinheit (Nachfrage), die an einen verfügbaren Worker (Angebot) weitergeleitet werden muss. Eine tatsächliche Instanz wäre ein eingehender Anruf oder Chat im Kontext eines Callcenters, eines Kundenbindungs oder eines Kundensupports.

Auftragslebenszyklus

  1. Ihre Anwendung übermittelt einen Auftrag über das Job Router SDK.
  2. (Optional) Wenn Sie eine Klassifizierungsrichtlinie angegeben haben, wird der Auftrag klassifiziert und ein JobClassified-Ereignis über das Event Grid gesendet.
  3. Der Auftrag wird der Warteschlange hinzugefügt, die Sie angegeben haben oder die durch die Klassifizierungsrichtlinie bestimmt wurde, und ein JobQueued-Ereignis wird über das Event Grid gesendet.
  4. Der Auftragsrouter sucht in der Warteschlange auf der Grundlage der Bezeichnungsauswahlen und der Verteilungsrichtlinie nach passenden Workern.
  5. Wenn ein passender Worker gefunden wird, wird ein Angebot ausgestellt und ein OfferIssued-Ereignis gesendet.
  6. Ihre Anwendung kann das Angebot über das SDK akzeptieren. Dann wird der Auftrag aus der Warteschlange entfernt, und ein OfferAccepted-Ereignis wird gesendet, das eine assignmentId enthält.
  7. Nachdem der Worker den Auftrag abgeschlossen hat, kann das SDK verwendet werden, um ihn mithilfe der assignmentId seinerseits abzuschließen und zu schließen. Dadurch wird der Worker für den nächsten Auftrag freigegeben.

Diagram that shows the Job lifecycle.

Worker

Ein Worker ist die verfügbare Bereitstellung für die Verarbeitung eines Auftrags. Wenn Sie das SDK verwenden, um einen Worker zu registrieren, damit er Aufträge empfangen kann, können Sie Folgendes angeben:

  • Mindestens eine Warteschlange, an der gelauscht wird.
  • Die Anzahl gleichzeitiger Aufträge pro Kanal, die der Worker behandeln kann.
  • Eine Gruppe von Bezeichnungen, die zum Gruppieren und Auswählen von Mitarbeitern verwendet werden können.

Ein konkretes Beispiel für einen Mitarbeiter wäre ein menschlicher Agent in einem Kundeninteraktions- oder Kontaktcenterszenario.

Warteschlange

Eine Warteschlange ist eine sortierte Liste von Aufträgen, die darauf warten, von einem Worker bedient zu werden. Worker registrieren sich bei einer Warteschlange, um Arbeit von ihr zu erhalten.

Um das Konzept einer Warteschleife zu veranschaulichen, stellen wir uns eine Situation vor, in der mehrere Anrufer gehalten werden, bis ein Vertreter mit den richtigen Fähigkeiten zur Behandlung ihrer Anrufe zur Verfügung steht.

Kanal

Ein Kanal ist eine Gruppierung von Aufträgen nach einem bestimmten Typ. Wenn sich ein Worker für den Empfang von Arbeit registriert, muss er auch angeben, für welche Kanäle er die Arbeit verarbeiten kann und wie viel von jedem gleichzeitig verarbeitet werden kann. Kanäle sind nur ein Zeichenfolgendiskriminator und werden nicht explizit erstellt. Ein Kanal könnte sein voice calls oder chats.

Durch das Zuweisen von Aufträgen zu verschiedenen Kanälen wird es möglich, Workflows zu optimieren und Ressourcen effizient basierend auf den spezifischen Anforderungen oder Anforderungen zuzuordnen, die den einzelnen Kanälen zugeordnet sind.

Angebot

Ein Angebot wird vom Auftragsrouter auf einen Worker erweitert, um einen bestimmten Auftrag zu verarbeiten, wenn eine Übereinstimmung ermittelt wird. Sie können das Angebot mit dem JobRouter SDK annehmen oder ablehnen. Wenn Sie das Angebot ignorieren, läuft es gemäß der Laufzeit ab, die in der Verteilungsrichtlinie konfiguriert ist.

Das Klingeln dient als konkretes Beispiel für ein Angebot, das auf einen Mitarbeiter ausgedehnt wurde, und es ist ein Indikator, dass eine Interaktion stattfinden wird, die dem Agenten signalisiert, den Anruf umgehend zu beantworten und sich mit dem Kunden zu befassen.

Angebotsannahmefluss

  1. Wenn der Auftragsrouter einen entsprechenden Worker für einen Auftrag findet, erstellt er ein Angebot und sendet ein OfferIssued-Ereignis über Event Grid.
  2. Das Angebot wird über die Auftragsrouter-API akzeptiert.
  3. Der Auftrag wird aus der Warteschlange entfernt und dem Worker zugewiesen.
  4. Auftragsrouter sendet ein OfferAccepted-Ereignis.
  5. Alle vorhandenen Angebote für diesen Auftrag an andere Worker werden widerrufen und ein OfferRevoked-Ereignis gesendet.

Angebotsablehnungsfluss

  1. Wenn der Auftragsrouter einen entsprechenden Worker für einen Auftrag findet, erstellt er ein Angebot und sendet ein OfferIssued-Ereignis über Event Grid.
  2. Das Angebot wird über die Auftragsrouter-API abgelehnt.
  3. Das Angebot wird aus dem Worker entfernt, was Kapazität für ein weiteres Angebot für einen anderen Auftrag freigibt.
  4. Der Auftragsrouter sendet ein OfferDeclined-Ereignis.
  5. Der Auftragsrouter gibt das abgelehnte Angebot nicht an den Worker zurück, es sei denn, seine Registrierung wird aufgehoben und es anschließend erneut registriert.

Angebotsablauffluss

  1. Wenn der Auftragsrouter einen entsprechenden Worker für einen Auftrag findet, erstellt er ein Angebot und sendet ein OfferIssued-Ereignis über Event Grid.
  2. Das Angebot wird innerhalb des von der Verteilungsrichtlinie definierten Ablaufzeitraums nicht akzeptiert oder abgelehnt.
  3. Der Auftragsrouter lässt das Angebot ablaufen, und ein OfferExpired-Ereignis wird gesendet.
  4. Der Worker gilt als nicht verfügbar, und seine Registrierung wird automatisch aufgehoben.
  5. Ein WorkerDeregistered-Ereignis wird gesendet.

Verteilungsrichtlinie

Eine Verteilungsrichtlinie ist ein Konfigurationssatz, der steuert, wie Aufträge in einer Warteschlange an Worker verteilt werden, die bei dieser Warteschlange registriert sind. Diese Konfiguration umfasst Folgendes:

  • Gibt an, wie lange ein Angebot gültig ist, bevor es abläuft.
  • Der Verteilungsmodus, der die Reihenfolge definiert, in der Worker ausgewählt werden, wenn mehrere verfügbar sind.
  • Gibt an, wie viele gleichzeitige Angebote für einen bestimmten Auftrag vorhanden sein können.

Verteilungsmodi

Die drei Moditypen sind:

  • Roundrobin: Worker werden nach Id sortiert und der nächste Worker nach dem vorherigen Worker, der ein Angebot erhalten hat, wird ausgewählt.
  • Längster Leerlauf: Der Worker, der am längsten nicht an einem Auftrag gearbeitet hat.
  • Bester Worker: Die Worker, die den Auftrag am besten verarbeiten können, werden zuerst ausgewählt. Die Logik zum Bewerten von Workern kann mit einem Ausdruck oder einer Azure-Funktion angepasst werden, um zwei Worker zu vergleichen. Hier finden Sie ein Beispiel.

Beschriftungen

Sie können Bezeichnungen an Worker, Aufträge und Warteschlangen anfügen. Bezeichnungen sind Schlüsselwertpaare, die die Datentypen string, number oder boolean haben können.

Ein praktisches Beispiel ist die Qualifikationsstufe eines bestimmten Mitarbeiters, des Teams oder des geografischen Standorts.

Bezeichnungsauswahlen

Bezeichnungsauswahlen können an einen Auftrag angefügt werden, um eine Teilmenge von Workern in der Warteschlange als Ziel zu bestimmen.

Betrachten Sie beispielsweise im Kontext eines Chatkanals ein reales Szenario, in dem eine eingehende Chatnachricht einer Bedingung unterzogen wird. Diese Bedingung gibt an, dass der zugewiesene Agent über ein Mindestniveau an Fachwissen oder Kenntnissen in Bezug auf ein bestimmtes Produkt verfügen muss. In diesem Beispiel wird hervorgehoben, wie Bezeichnungsmarkierer, ähnlich wie Filter, verwendet werden können, um eine Teilmenge von Agents innerhalb des Chatkanals zu adressieren, die über die erforderlichen Kenntnisse im designierten Produkt verfügen.

Klassifizierungsrichtlinie

Eine Klassifizierungsrichtlinie kann verwendet werden, um programmgesteuert eine Warteschlange auszuwählen, die Auftragspriorität zu bestimmen oder Workerbezeichnungsselektoren an einen Auftrag anzufügen.

Ausnahmerichtlinie

Eine Ausnahmerichtlinie steuert das Verhalten eines Auftrags basierend auf einem Trigger und führt eine gewünschte Aktion aus. Die Ausnahmerichtlinie wird an eine Warteschlange angefügt, damit sie das Verhalten von Aufträgen in der Warteschlange steuern kann.

Nächste Schritte

Erfahren Sie mehr über diese wichtigsten Auftragsrouterkonzepte

Sehen Sie sich unsere Anleitungen an