

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Anpassen der Chat-Ablauferlebnisse in Amazon Connect, indem Sie benutzerdefinierte Teilnehmer integrieren
<a name="chat-customize-flow"></a>

Sie können mit Amazon-Connect-Chat andere Lösungen, wie Bots, integrieren, um angepasste Chat-Flow-Erlebnisse zu schaffen.

Im Folgenden finden Sie eine Übersicht darüber, wie Sie Ihr Chat-Flow-Erlebnis anpassen können. Implementieren Sie diese Schritte für jedes Chat-Segment, nachdem die Chat-Konversation gestartet wurde. Wir empfehlen, einen [AWS Lambda Funktion](invoke-lambda-function-block.md) Block hinzuzufügen, um den APIs in Ihrem Chat-Flow anzurufen. 

**Wichtig**  
Füge einen [Play prompt (Telefonansage wiedergeben)](play.md)-Block vor einem [AWS Lambda Funktion](invoke-lambda-function-block.md)-Block hinzu. Dies ist nur erforderlich, wenn ein Block „** AWS Lambda aufrufen**“ der erste Block in Ihrem eingehenden Chat-Flow ist.

1.  [Aktivieren Sie das Echtzeit-Streaming von Chat-Nachrichten](chat-message-streaming.md). 

1. Rufen Sie die Amazon Connect [CreateParticipant](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateParticipant.html)Connect-API auf, um dem Chat-Kontakt einen benutzerdefinierten Teilnehmer (`ParticipantRole`=`CUSTOM_BOT`) hinzuzufügen.

   1. Informationen zum Erstellen des SDK-Clients für den Aufruf von Amazon Connect APIs finden Sie in den folgenden Themen:
      + [Klasse AmazonConnectClientBuilder](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/connect/AmazonConnectClientBuilder.html)
      + [Erstellen von Service-Clients](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/creating-clients.html)

   1. Behalten Sie `ParticipantToken` das, was Sie erhalten haben [CreateParticipant](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateParticipant.html), um anzurufen [CreateParticipantConnection](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html). `CreateParticipantConnection`gibt a zurück`ConnectionToken`, mit dem Sie andere Amazon Connect Connect-Teilnehmer anrufen können APIs. 

      Wenn Sie anrufen [CreateParticipantConnection](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html), um eine Verbindung für einen benutzerdefinierten Teilnehmer herzustellen:
      + Stellen Sie `ConnectParticipant` auf `True`, um den benutzerdefinierten Teilnehmer für das Nachrichtenstreaming als verbunden zu markieren.
      + Gehen `Type` Sie weiter`CONNECTION_CREDENTIALS`, um den nachfolgenden Amazon Connect Connect-Teilnehmerservice anzurufen APIs.
      + `CreateParticipantConnection` sollte innerhalb von 15 Sekunden nach dem Aufruf von `CreateParticipant` aufgerufen werden.

1. Nachdem der Teilnehmer dem Kontakt hinzugefügt wurde, kann er über den Amazon Connect Participant Service Nachrichten mit dem Kunden austauschen APIs.

1. Rufen Sie die [ DisconnectParticipant](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_DisconnectParticipant.html)API auf, um die Verbindung zum Teilnehmer zu trennen. 

**Anmerkung**  
Ein benutzerdefinierter Teilnehmer kann nicht zu einem Chat hinzugefügt werden, wenn ein Kundendienstmitarbeiter oder Amazon-Lex-Bot bereits in dem Kontakt anwesend ist. 
Ein benutzerdefinierter Teilnehmer wird getrennt, wenn ein Kundendienstmitarbeiter oder Amazon-Lex-Bot einem Kontakt beitritt.
Bei einem Kontakt kann nur ein benutzerdefinierter Teilnehmer anwesend sein.
Ein benutzerdefinierter Teilnehmer darf nicht auf Anhänge zugreifen, die ein Kunde hochladen kann.

Sie sollten einstellen, wie lange ein benutzerdefinierter Teilnehmer mit einem Kontakt chatten kann:
+ Stellen Sie die Eigenschaft **Timeout** auf dem [Wait](wait.md)-Block für `ParticipantRole` = `CUSTOM_BOT` ein.
+ Wird der benutzerdefinierte Bot-Teilnehmer nicht vor Flow des Timeouts getrennt, so wird der Kontakt über die Verzweigung **Time Expired** weitergeleitet. Auf diese Weise können Sie entscheiden, welcher Block als Nächstes ausgeführt werden soll, um die Anfrage des Kunden zu lösen.

**Anmerkung**  
Wird ein Kontakt über die Verzweigung **Time Expired** weitergeleitet, so wird er nicht vom Kontakt getrennt. Sie müssen die [ DisconnectParticipant](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_DisconnectParticipant.html)API aufrufen, um die Verbindung zum Teilnehmer zu trennen.

## Aktivieren von Timern für Kunden, die einem Chat mit einem benutzerdefinierten Teilnehmer beitreten
<a name="integrate-bot-extension-client"></a>

Sie können Timer für Kunden aktivieren, die einem Chat mit benutzerdefinierten Teilnehmern beitreten, z. B. benutzerdefinierten Bots. Auf diese Weise können Sie erkennen, wenn ein Kunde nicht mehr reagiert, sodass Sie die Bot-Konversation beenden und den nächsten Schritt im Ablauf ausführen können. Indem Sie inaktive Teilnehmer beenden, können Sie die Anzahl offener Chats reduzieren, bei denen ein Kunde, der nicht reagiert, einen benutzerdefinierten Teilnehmer in Anspruch nimmt.

Führen Sie die folgenden Schritte aus, um eine benutzerdefinierte Bot-Erweiterung für inaktive Teilnehmer zu integrieren und optional benutzerdefinierte Timer-Werte festzulegen. Bei diesen Schritten wird davon ausgegangen, dass Sie das benutzerdefinierte Teilnehmer-Feature bereits für den Chat verwenden. 

1. Rufen Sie die [UpdateParticipantRoleConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateParticipantRoleConfig.html)API für den Kunden auf, bevor der benutzerdefinierte Teilnehmer dem Chat beitritt.

   1. Timer werden nur für den Kunden aktiviert. Bei benutzerdefinierten Teilnehmern gibt es keine Timer für inaktive Teilnehmer oder automatische Trennungen der Verbindung. 

   1. Sie können die Methode zum Aufrufen der API auswählen. 

   1. In diesem Schritt konfigurierte Timer-Werte gelten für die Dauer des Chats. Wenn Sie unterschiedliche Timer-Werte für die **Interaktion zwischen Kunden und Kundendienstmitarbeiter** wünschen, finden Sie weitere Informationen unter Schritt 2. 

   1. Wenn Ihr Client bereits auf diese Weise eingerichtet ist, müssen Sie keine weiteren Maßnahmen ergreifen, um Ihren benutzerdefinierten Teilnehmer zu integrieren. 

1. (Optional) So konfigurieren Sie unterschiedliche Timer und Timer-Werte für die **Interaktion zwischen Kunde und Kundendienstmitarbeiter** und die **Interaktion zwischen Kunde und dem benutzerdefinierten Teilnehmer**:
   + Bevor der Agent dem Chat beitritt, rufen Sie die [UpdateParticipantRoleConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateParticipantRoleConfig.html)API erneut mit den gewünschten Konfigurationen auf.

Weitere Informationen zu Chat-Timern finden Sie unter [Chat-Timeouts für Chat-Teilnehmer einrichten](setup-chat-timeouts.md).

### Starten von Timern
<a name="starting-timers"></a>

Für den Kunden beginnt ein Timer, nachdem der benutzerdefinierte Teilnehmer über die [CreateParticipantConnection](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-participant_CreateParticipantConnection.html)API eine Verbindung zu ihm hergestellt hat.

### Was passiert, wenn nicht kompatible Teilnehmer einem Chat mit einem benutzerdefinierten Teilnehmer beitreten
<a name="non-compatible-participants"></a>

Folgendes passiert, wenn ein Kundendienstmitarbeiter oder Lex-Bot-Teilnehmer einem Chat mit einem benutzerdefinierten Teilnehmer beitritt und es sich dabei um nicht kompatible Teilnehmer handelt: 

1. Der benutzerdefinierte Teilnehmer wird automatisch vom Chat getrennt. 

1. Alle zuvor aktiven Timer werden beendet und es werden neue Timer für die verbundenen Teilnehmer erstellt (sofern Timer konfiguriert sind).

1. Jeder neue Timer wird ebenfalls mit der neuesten Konfiguration aktualisiert (falls erforderlich). Dadurch wird effektiv eine neue „Leerlaufsitzung“ für die neue Gruppe von aktiven Teilnehmern im Chat eingerichtet.

### Interaktion mit dem Timer des Blocks „Warten“
<a name="interaction-wait-block-timer"></a>

Der Leerlauf-Timer hat keinen Einfluss darauf, wie der Block [Wait](wait.md) funktioniert. 

Der Timer des Blocks **Warten**, der startet, wenn der Chat-Kontakt in einen Block **Warten** gelangt, funktioniert weiterhin. Wenn der Timer des Blocks **Warten** abläuft, setzt der Kontakt den Ablauf fort und wird in die Verzweigung **Zeit abgelaufen** weitergeleitet, unabhängig davon, ob die Timer inaktiver Teilnehmer aktiv sind.

## Tipps zur Problembehebung
<a name="ts-chat-custom-bot"></a>
+ `ResourceNotFoundException`: 

  Wenn Sie beim Aufrufen der API `CreateParticipantConnection` für den benutzerdefinierten Teilnehmer `ResourceNotFoundException` erhalten, überprüfen Sie, ob die `CreateParticipantConnection` API innerhalb von 15 Sekunden nach der `CreateParticipant` API aufgerufen wurde.
+ `AccessDeniedException`: 

  Wenn Sie eine Fehlermeldung `AccessDeniedException` erhalten und es sich bei der Teilnehmerrolle um einen CUSTOM\_BOT handelt, bedeutet dies, dass der Bot versucht, auf Anhänge zuzugreifen. Die Teilnehmerrolle CUSTOM\_BOT ist nicht berechtigt, auf Anhänge zuzugreifen, die Kunden hochladen.