

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création de robots d’IA conversationnelle dans Amazon Connect
<a name="connect-conversational-ai-bots"></a>

Vous pouvez utiliser le site Web Amazon Connect d'administration pour créer, modifier et améliorer en permanence des robots d'intelligence artificielle conversationnels pour des expériences de réponse vocale interactive (IVR) et de chatbot en libre-service. Ces robots sont alimentés par Amazon Lex.

En utilisant le site Web Amazon Connect d'administration, vous pouvez proposer des expériences d'intelligence artificielle dynamiques et conversationnelles pour comprendre les intentions de vos clients, leur poser des questions complémentaires et automatiser la résolution de leurs problèmes. Les rubriques de cette section expliquent comment activer l'expérience de création de robots sur le site Web d' Amazon Connect administration et comment créer votre bot.

**Topics**
+ [Activation de robot et de l’analytique dans Amazon Connect](enable-bot-building.md)
+ [Créez un bot](work-bot-building-experience.md)
+ [Création d’un flux et ajout de votre robot d’IA conversationnelle](create-bot-flow.md)
+ [Configuration de fournisseurs vocaux tiers](configure-third-party-speech-providers.md)
+ [Création d'un objectif pour les agents Connect AI](create-qic-intent-connect.md)
+ [Création de versions et d’alias de robots](create-bot-version.md)
+ [Évaluation des performances de votre robot d’IA conversationnelle](lex-bot-analytics.md)
+ [Métriques et analytique relatives aux robots](bot-metrics.md)
+ [Configuration avancée des robots](bot-advanced-config.md)
+ [Ajouter un bot Amazon Lex](amazon-lex.md)

# Activation de la création et de l’analytique de robots dans Amazon Connect
<a name="enable-bot-building"></a>

Procédez comme suit pour permettre aux utilisateurs de créer des robots Amazon Lex sur le site Web Amazon Connect d'administration et de consulter les statistiques relatives aux performances des robots.

Les utilisateurs ne peuvent pas modifier les robots LEX V1 ni les robots interrégionaux à partir d’Amazon Connect.

1. Ouvrez la [console Amazon Connect](https://console.aws.amazon.com/connect/).

1. Sélectionnez l'instance Amazon Connect que vous souhaitez intégrer à votre bot Amazon Lex.  
![\[Page Instances du centre de contact virtuel Amazon Connect, alias d'instance.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/instance.png)

1. Dans le menu de navigation, choisissez **Flux**.

1. Choisissez **Activer la gestion des robots Lex dans Amazon Connect** et **Activer l’analytique et les transcriptions du robot dans Amazon Connect**, puis **Enregistrer**.  
![\[Page Robots Amazon Lex, options permettant d’activer la gestion et l’analytique des robots Lex dans Amazon Connect.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lex-bot-service-linked-role.png)

   
**Note**  
Si vous avez déjà mis en place des politiques de contrôle des services (SCP) qui bloquent l’accès à Lex, Amazon Connect respecte ces politiques et n’active pas la fonctionnalité de gestion et d’analytique des robots. Toutefois, si vous appliquez ces politiques SCP après avoir déjà activé cette fonctionnalité, elles ne seront pas respectées. Dans ce cas, vous devrez désactiver cette fonctionnalité.

   Amazon Connect affiche le rôle de service et le nom du rôle lié au service qu’il utilise. Il utilise les politiques basées sur les ressources Amazon Lex pour passer des appels à votre robot Amazon Lex. Lorsque vous associez un bot Amazon Lex à votre instance Amazon Connect, la politique basée sur les ressources du bot est mise à jour pour autoriser Amazon Connect à invoquer le bot. 

   Pour plus d’informations sur les politiques basées sur les ressources d’Amazon Lex, consultez [Politiques basées sur les ressources dans Amazon Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies) dans le *Guide du développeur Amazon Lex V2*.

1. Attribuez les autorisations de profil de sécurité suivantes aux utilisateurs qui ont besoin de créer et de gérer des robots et l’analytique des robots : 
   + Autorisations **Canaux et flux** - **Bots** - **Afficher**, **Modifier**, **Créer**
   + Autorisation **Analytique et optimisation** – **Historique des métriques** – **Accès**

# Créez un bot en utilisant le site Web Amazon Connect d'administration
<a name="work-bot-building-experience"></a>

Vous pouvez créer des robots Lex complets sur le site Web Amazon Connect d'administration sans jamais quitter l'interface Amazon Connect. La création et la modification de robots dans Amazon Connect sont gratuites. Toutefois, leur utilisation vous est facturée par Amazon Lex. Pour plus d’informations, consultez la [page de tarification Amazon Lex](https://aws.amazon.com/lex/pricing/).

**Pour créer un robot**

1. Connectez-vous au site Web d' Amazon Connect administration à l'adresse https ://*instance name*.my.connect.aws/. Utilisez un compte administrateur ou un compte dont le profil de sécurité inclut l’autorisation **Canaux et flux** - **Bots** - **Créer**.

1. Dans le menu de navigation de gauche, choisissez **Routage**, **Flux**.

1. Sur la page **Flux**, choisissez **Bots**, **Créer un bot**.   
![\[Page Flux, onglet Bots, bouton Créer un bot.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/flows-bots-tab.png)

1. Dans la boîte de dialogue **Détails**, fournissez les informations suivantes : 
   + **Nom du bot** : saisissez un nom unique pour le robot.
   + **Description du bot** (facultatif) : fournissez des informations supplémentaires sur la fonction du robot.
   + **COPPA** : indiquez si le robot est soumis la loi COPPA (Children’s Online Privacy Protection Act) de protection de la vie privée des enfants sur Internet.

   L’image suivante montre la boîte de dialogue **Détails** et ces options.  
![\[Page détaillée de création du bot avec nom, description et paramètres COPPA.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/bot-create.png)

1. Choisissez **Créer**. Une fois le robot créé avec succès, vous êtes dirigé vers sa page de configuration. L'image suivante montre un exemple de page pour un robot nouvellement créé nommé **HotelBookingBot**.  
![\[Exemple de page de configuration pour un robot non configuré.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/hotelbookingbot.png)

1. Sur la page de configuration du robot, choisissez **Ajouter une langue**. Choisissez la langue principale de votre robot et la méthode que vous préférez pour créer cette langue.   
![\[Exemple de page Définir votre bot, dans la liste déroulante Ajouter une langue.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/bot-language-create.png)

1. Après avoir choisi la langue, vous êtes dirigé vers la section **Définir votre bot**. Un exemple de cette section est illustré dans l’image suivante. C’est dans cette section que vous ajouterez des intentions.  
![\[Exemple de section Définir votre bot.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/define-bot-page.png)

## Ajout d’intentions à votre robot
<a name="define-bot"></a>

Dans la section **Définir votre bot**, ajoutez des intentions. Les intentions sont des objectifs que vos utilisateurs souhaitent atteindre, tels que la commande de fleurs ou la réservation d’un hôtel.

Votre robot doit avoir au moins une intention. Il existe deux types d’intentions :
+ Intentions personnalisées : créez des intentions qui représentent les actions ou les demandes que votre robot devra traiter. Cette rubrique explique la création d’intentions personnalisées. 
+ Intentions intégrées : par défaut, tous les robots contiennent une seule intention intégrée, l’intention de secours. Cette intention est utilisée lorsque le robot ne reconnaît aucune autre intention. Par exemple, si un utilisateur dit « Je souhaite commander des fleurs » à une intention de réservation d’hôtel, l’intention de secours est déclenchée. L’image suivante illustre un exemple d’intention intégrée.  
![\[Dans la boîte de dialogue Utiliser l'intention intégrée, une intention intégrée s'appelle AMAZON. HelpIntent.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/built-in-intent.png)

**Pour créer une intention personnalisée**

1. Choisissez **Ajouter une intention**, puis **Ajouter une intention vide**. 

1. Dans la boîte de dialogue **Ajouter une intention**, entrez un nom pour l’intention et une description qui a du sens pour vous. Choisissez **Ajouter**.

1. Entrez les informations suivantes pour configurer l’intention :
   + Ajouter des exemples d’**énoncés** : choisissez **Ajouter**, puis fournissez des expressions ou des questions que les utilisateurs pourraient utiliser pour exprimer cette intention. Choisissez **Enregistrer**. 
   + Configurer les **emplacements** : choisissez **Ajouter**, puis définissez les emplacements, ou paramètres, requis pour exécuter l’intention. Chaque emplacement possède un type qui définit les valeurs qui peuvent y être saisies. Choisissez **Ajouter** pour ajouter l’emplacement. Lorsque vous avez terminé d’ajouter des emplacements, choisissez **Enregistrer**.
   + Créer des **invites** : choisissez **Modifier** afin de pouvoir saisir des invites que le robot utilisera pour demander des informations ou clarifier les entrées de l’utilisateur. Lorsque vous avez terminé, choisissez **Enregistrer**.
     + **Message de réponse initial** : message initial envoyé à l’utilisateur une fois que l’intention a été invoquée. Vous pouvez fournir des réponses, initialiser des valeurs et définir l’étape suivante que le robot doit suivre pour répondre à l’utilisateur dès le début de l’intention.
     + **Invite de confirmation et réponses** : elles sont utilisées pour confirmer ou refuser l’exécution de l’intention. L’invite de confirmation demande à l’utilisateur de vérifier les valeurs des emplacements. Par exemple, « J’ai réservé une chambre d’hôtel pour vendredi. Est-ce bien correcte ? » La réponse de déclinaison est envoyée à l’utilisateur lorsqu’il refuse la confirmation. 
     + **Message de réponse final** : il s’agit de la réponse envoyée à l’utilisateur une fois que l’intention a été exécutée et que tous les autres messages ont été lus. Par exemple, « Merci d’avoir réservé une chambre d’hôtel ». 

Pour plus d'informations sur les intentions relatives aux robots Amazon Lex et les configurations avancées, consultez la section [Ajouter des intentions](https://docs.aws.amazon.com/lexv2/latest/dg/add-intents.html) dans le guide du développeur *Amazon Lex V2*.

# Création d’un flux et ajout de votre robot d’IA conversationnelle
<a name="create-bot-flow"></a>

Cette rubrique explique comment ajouter à un flux un robot d’IA conversationnelle déjà créé. 

1. Dans le menu de navigation d’Amazon Connect, choisissez **Routage**, **Flux**, **Créer un flux**, puis saisissez le nom du flux.

1. Sous **Interagir**, faites glisser un bloc [Obtenir les données client](get-customer-input.md) vers le concepteur et connectez-le au bloc **Point d’entrée**.

1. Choisissez le bloc [Obtenir les données client](get-customer-input.md) pour l’ouvrir.

1. Dans l’onglet Amazon Lex, utilisez les menus déroulants pour sélectionner le robot que vous avez créé précédemment et son alias, comme indiqué dans l’image suivante.  
![\[Page des propriétés du bloc Obtenir les données client, onglet Amazon Lex.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/get-customer-input-lextab.png)

1. Sous **Invite du client ou initialisation du bot**, choisissez **Text-to-speech ou chattez par SMS**.

1. Saisissez un message indiquant aux appelants ce qu'ils peuvent faire. Par exemple, utilisez un message correspondant aux intentions spécifiées dans le robot, tel que *Pour vérifier le solde de votre compte, appuyez sur 1 ou dites 1. Pour parler à un agent, appuyez ou dites 2*. L’image suivante montre ce message sur la page de propriétés du bloc [Obtenir les données client](get-customer-input.md).  
![\[Section Invite client ou initialisation du robot pour le bloc Obtenir les données client.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/customer-prompt-bot-initialization.png)

1. Sous **Intentions**, choisissez **Ajouter une intention**, puis entrez ou recherchez les intentions du client qui devraient déclencher le robot.   
![\[Section Intentions, bouton Ajouter une intention, bouton Rechercher.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/add-intent.png)

   Lorsque vous recherchez des intentions, vous pouvez les filtrer en fonction des paramètres régionaux. Les paramètres régionaux ne sont utilisés que pour le filtrage, ils ne sont pas liés aux paramètres régionaux impliqués lorsque le robot est déclenché. Par exemple, vous pouvez trouver l' BookHotel intention en utilisant les paramètres régionaux anglais (États-Unis), mais l'intention peut être renvoyée avec succès en anglais (États-Unis) et en anglais (GB).

   Pour plus d’informations sur la recherche d’intentions, consultez [Comment rechercher les intentions](#find-notlisted-intents). 

   L’image suivante illustre la boîte de dialogue permettant de filtrer les intentions par paramètres régionaux.  
![\[Option de recherche, boîte de dialogue Filtrer en utilisant les paramètres régionaux pour ajouter une intention.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/filter-intents.png)

1. Choisissez **Enregistrer**.

**Important**  
Si vous utilisez un bot Amazon Lex V2, votre attribut de langue dans Amazon Connect doit correspondre au modèle de langage utilisé pour créer votre bot Lex. Ceci est différent d'Amazon Lex (Classic). Utilisez un bloc [Définir la voix](set-voice.md#set-voice-lexv2bot) pour indiquer le modèle de langue Amazon Connect, ou utilisez un bloc [Définir des attributs de contact](set-contact-attributes.md).

## Comment rechercher les intentions des robots Amazon Lex V1, des robots interrégionaux ou des robots définis dynamiquement
<a name="find-notlisted-intents"></a>

La liste déroulante **Intentions** ne répertorie pas les intentions pour les robots Amazon Lex V1 ni pour les robots interrégionaux et ne détermine pas si l’ARN du robot est défini dynamiquement. Pour ces intentions, essayez les options suivantes pour les trouver.
+ Vérifiez si le **AmazonConnectEnabled**tag est défini sur true :

  1. Ouvrez la console Amazon Lex, choisissez **Bots**, sélectionnez le robot, puis choisissez **Balises**.

  1.  Si le **AmazonConnectEnabled**tag n'est pas présent, add **AmazonConnectEnabled = true**.

  1.  Retournez sur le site Web de l' Amazon Connect administrateur. Actualisez le concepteur de flux pour voir les sélections dans le bloc **Obtenir les données client**.
+ Vérifiez si la version est associée à l’alias : 

  1. Sur le site Web de l' Amazon Connect administrateur, choisissez **Routing**, **Flows**, le bot, **Aliases**. Vérifiez que l’option **Utiliser dans les flux et les modules de flux** est activée, comme illustré dans l’image suivante.  
![\[Onglet Alias, option Utiliser dans les flux et les modules de flux.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/bot-alias-enabled.png)

  1. Actualisez le concepteur de flux pour voir les sélections dans le bloc **Obtenir les données client**.

# Configuration de fournisseurs vocaux tiers dans Amazon Connect
<a name="configure-third-party-speech-providers"></a>

Vous pouvez configurer des fournisseurs tiers speech-to-text (STT) et text-to-speech (TTS) dans Amazon Connect pour étendre la couverture linguistique, améliorer la précision de la reconnaissance et fournir une synthèse vocale plus expressive. Cette section décrit comment configurer les fournisseurs de STT tiers pour les robots et les fournisseurs de TTS tiers pour une utilisation dans les flux de contacts.

**Topics**
+ [Configuration de fournisseurs tiers speech-to-text (STT)](configure-third-party-stt.md)
+ [Configuration de fournisseurs tiers text-to-speech (TTS)](configure-third-party-tts.md)
+ [Points de terminaison et régions pour les fournisseurs de STT tiers](endpoints-regions-third-party-stt.md)
+ [Gestion des secrets et des politiques en matière de ressources](managing-secrets-resource-policies.md)

# Configuration de fournisseurs tiers speech-to-text (STT)
<a name="configure-third-party-stt"></a>

Suivez les instructions ci-dessous pour configurer un fournisseur tiers speech-to-text (STT).

## Conditions préalables
<a name="stt-prerequisites"></a>
+ Un bot avec une localisation existante.
+ Une clé API d'un fournisseur STT tiers stockée dans AWS Secrets Manager. Pour plus d'informations sur le stockage des clés d'API sous forme de secrets dans Secrets Manager, consultez la section [Créer un AWS Secrets Manager secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).
+ Une politique de ressources de Secrets Manager permettant à Amazon Connect de récupérer le secret. Pour de plus amples informations, veuillez consulter [Gestion des secrets et des politiques en matière de ressources](managing-secrets-resource-policies.md).
+ AWS KMS key autorisations permettant le déchiffrement. Pour de plus amples informations, veuillez consulter [Gestion des secrets et des politiques en matière de ressources](managing-secrets-resource-policies.md).
+ Un identifiant de modèle de fournisseur et un ARN de Secrets Manager.

## Étape 1 : Ouvrez le panneau de configuration du modèle vocal
<a name="stt-step1"></a>

1. Connectez-vous au site Web d'administration Amazon Connect.

1. Choisissez **Bots**, puis choisissez le bot.

1. Choisissez les paramètres régionaux.

1. Dans la section **Modèle vocal**, choisissez **Modifier** pour ouvrir le mode de configuration.  
![\[La page de configuration de votre bot d'IA conversationnelle.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/Lex/01-airlinesbot.png)

## Étape 2 : Choisissez le type de modèle
<a name="stt-step2"></a>

Dans la liste déroulante **Type de modèle**, sélectionnez **Speech-to-Text** (STT). Cela garantit que les paramètres régionaux sont configurés pour la transcription plutôt que pour speech-to-speech.

![\[La boîte de dialogue du modèle vocal.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/Lex/02-speech-model.png)


## Étape 3 : Vérifiez les paramètres du modèle vocal par défaut
<a name="stt-step3"></a>

Par défaut, Amazon est sélectionné comme speech-to-text fournisseur. Vérifiez les paramètres actuels avant de passer à un fournisseur tiers.

![\[La boîte de dialogue du modèle vocal dans laquelle Amazon est sélectionné comme fournisseur de services vocaux.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/Lex/03-speech-model-amazon.png)


## Étape 4 : Choisissez un fournisseur de STT tiers
<a name="stt-step4"></a>

Ouvrez la liste déroulante des **fournisseurs de services vocaux** et choisissez un speech-to-text fournisseur tiers compatible.

![\[La boîte de dialogue du modèle vocal dans laquelle Deepgram est sélectionné comme fournisseur vocal.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/Lex/04-speech-model-deepgram.png)


## Étape 5 : Entrez l'ID du modèle et l'ARN du Secrets Manager
<a name="stt-step5"></a>

1. Dans **Model ID**, entrez le nom du modèle du fournisseur.
   + Certains fournisseurs exigent une longueur minimale ou maximale.
   +  IDs Les modèles distinguent les majuscules et minuscules et doivent correspondre à la documentation du fournisseur.

1. Dans **Secrets Manager ARN**, entrez l'ARN du secret qui contient la clé API du fournisseur.
   + Le secret doit se trouver dans la même région que votre instance Amazon Connect.
   + Les politiques relatives aux clés de Secrets Manager et KMS doivent autoriser Amazon Connect à accéder à la clé et à la déchiffrer. Pour de plus amples informations, veuillez consulter [Gestion des secrets et des politiques en matière de ressources](managing-secrets-resource-policies.md).

1. Choisissez **Continuer** pour enregistrer vos modifications.

## Créez et activez les paramètres régionaux
<a name="stt-build-activate"></a>

Si les paramètres régionaux indiquent des **modifications non définies**, choisissez **Build language**. Les nouveaux paramètres STT deviennent actifs après une compilation réussie.

## Comportement d'exécution (STT)
<a name="stt-runtime-behavior"></a>
+ Amazon Connect achemine le son vers le speech-to-text fournisseur tiers choisi.
+ Aucune modification des flux ou des fonctions Lambda n'est requise.
+ Des erreurs telles que des informations d'identification non valides ou un modèle non valide IDs apparaissent dans les journaux.
+ Les métriques et les analyses continuent de fonctionner normalement.

## Dépannage (STT)
<a name="stt-troubleshooting"></a>
+ **ID de modèle non valide** : confirmez la valeur avec la documentation du fournisseur.
+ **Accès refusé** : Vérifiez les autorisations du Gestionnaire des Secrets Manager et du KMS.
+ La **génération des paramètres régionaux échoue** : assurez-vous que les champs obligatoires sont valides.
+ **Latence élevée** : validez la configuration de la région du fournisseur.

# Configuration de fournisseurs tiers text-to-speech (TTS)
<a name="configure-third-party-tts"></a>

Suivez les instructions ci-dessous pour configurer un fournisseur tiers text-to-speech (TTS).

## Conditions préalables
<a name="tts-prerequisites"></a>
+ Un flux de contacts existe (ou vous êtes autorisé à en créer un).
+ Une clé API d'un fournisseur TTS tiers stockée dans AWS Secrets Manager. Pour plus d'informations sur le stockage des clés d'API sous forme de secrets dans Secrets Manager, consultez la section [Créer un AWS Secrets Manager secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).
+ Une politique de ressources de Secrets Manager permettant à Amazon Connect de récupérer la clé. Pour de plus amples informations, veuillez consulter [Gestion des secrets et des politiques en matière de ressources](managing-secrets-resource-policies.md).
+ AWS KMS key autorisations permettant le déchiffrement. Pour de plus amples informations, veuillez consulter [Gestion des secrets et des politiques en matière de ressources](managing-secrets-resource-policies.md).
+ Modèle et valeurs vocales spécifiques au fournisseur.

## Étape 1 : Ouvrez le flux de contacts
<a name="tts-step1"></a>

1. Connectez-vous au site Web d'administration Amazon Connect.

1. Choisissez **Flows**.

1. Choisissez un flux existant ou créez-en un nouveau.

## Étape 2 : Ajouter ou choisir un bloc vocal Set
<a name="tts-step2"></a>

1. Dans le concepteur de flux, recherchez **Set voice**.

1. Faites glisser le bloc sur le canevas ou choisissez-en un existant.

1. Choisissez le bloc pour ouvrir son panneau de configuration.

## Étape 3 : Choisissez un fournisseur TTS tiers
<a name="tts-step3"></a>

Dans le menu déroulant **Fournisseur de services vocaux**, choisissez le text-to-speech fournisseur tiers que vous souhaitez utiliser.

![\[Le volet de configuration « Définir la voix » affiche une liste déroulante des fournisseurs de services vocaux.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/Lex/08-set-voice-amazon.png)


## Étape 4 : Spécifier le modèle, la voix, l'ARN de Secrets Manager et la langue
<a name="tts-step4"></a>

1. Sous **Modèle**, choisissez **Définir manuellement** et entrez le modèle du fournisseur.

1. Sous **Voix**, choisissez **Définir manuellement** et saisissez la voix du fournisseur.

1. Sous **Secrets Manager ARN**, choisissez **Set manual** et entrez l'ARN du secret du fournisseur.
   + Le secret doit être le même Région AWS.
   + AWS Secrets Manager et les politiques KMS doivent permettre la récupération et le déchiffrement. Pour de plus amples informations, veuillez consulter [Gestion des secrets et des politiques en matière de ressources](managing-secrets-resource-policies.md).

1. Sous **Langue**, choisissez **Définir manuellement** et choisissez une langue prise en charge par le fournisseur de services vocaux.  
![\[Le volet de configuration « Fournisseur de voix » indiquant le fournisseur de services vocaux ElevenLabs tiers.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/Lex/09-voice-provider-elevenlabs.png)

## Étape 5 : enregistrer et publier le flux
<a name="tts-step5"></a>

1. Choisissez **Enregistrer** dans le concepteur de flux.

1. Choisissez **Publier** pour activer les paramètres de flux mis à jour.

## Comportement d'exécution (TTS)
<a name="tts-runtime-behavior"></a>
+ Amazon Connect envoie du texte au fournisseur TTS à des fins de synthèse.
+ Le son renvoyé est diffusé au client.
+ Les journaux d'exécution incluent les erreurs du fournisseur, telles que des informations d'identification ou des valeurs de modèle non valides.

## Résolution des problèmes (TTS)
<a name="tts-troubleshooting"></a>
+ **Aucune sortie audio** : validez le modèle et les valeurs vocales.
+ **Erreurs d'authentification** : vérifiez les autorisations du Gestionnaire de Secrets Manager et du KMS.
+ **Attributs dynamiques** : assurez-vous que les valeurs d'exécution correspondent aux paramètres du fournisseur valides.
+ **Latence élevée** : validez l'alignement des régions du fournisseur.

# Points de terminaison et régions pour les fournisseurs de STT tiers
<a name="endpoints-regions-third-party-stt"></a>

Par défaut, Amazon Connect communique avec les points de terminaison suivants :

**Deepgram** : [https://api.deepgram.com](https://api.deepgram.com)

**ElevenLabs**: [https://api.elevenlabs.io](https://api.elevenlabs.io)

Vous pouvez spécifier une région de fournisseur différente à côté de votre clé d'API dans le cadre de l'objet JSON :

```
{
  "apiToken": "XXXXX",
  "apiTokenRegion": "xx"
}
```

Les régions suivantes sont prises en charge :


| **Fournisseur** | **apiTokenRegion** | **Point de terminaison** | 
| --- | --- | --- | 
| Deepgram | ue | [https://api.eu.deepgram.com](https://api.eu.deepgram.com)(uniquement pris en charge pour speech-to-text) | 
| Deepgram | \$1SHORT\$1UID\$1. \$1RÉGION\$1SOUS-DOMAINE\$1 | https://\$1SHORT\$1UID\$1.\$1REGION\$1SUBDOMAIN\$1.api.deepgram.com(Points de terminaison dédiés à Deepgram) | 
| ElevenLabs | us | [https://api.us.elevenlabs.io](https://api.us.elevenlabs.io) | 
| ElevenLabs | ue | [https://api.eu.residency.elevenlabs.io](https://api.eu.residency.elevenlabs.io) | 
| ElevenLabs | in | [https://api.in.residency.elevenlabs.io](https://api.in.residency.elevenlabs.io) | 

# Gestion des secrets et des politiques en matière de ressources
<a name="managing-secrets-resource-policies"></a>

Lorsque vous [configurez un fournisseur de reconnaissance vocale tiers](configure-third-party-speech-providers.md), vous devez créer un secret dans Secrets Manager contenant la clé API du fournisseur de reconnaissance vocale. La création du secret se fait en deux étapes :
+ Créez le secret contenant la clé d'API. Pour obtenir des instructions, voir [Création d'un AWS Secrets Manager secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).
+ Configurez les autorisations nécessaires :
  + Associez une politique basée sur les ressources au secret.
  + Attachez une politique basée sur les ressources à la clé KMS (et non à la clé API) associée au secret. La clé KMS protège la clé d'API dans le secret.

  Ces politiques permettent à Amazon Connect d'accéder à la clé d'API contenue dans le secret. Notez que vous ne pouvez pas utiliser la clé `aws/secretsmanager` KMS par défaut ; vous devrez créer une nouvelle clé ou utiliser une clé existante gérée par le client. Pour plus d'informations sur la manière dont les clés KMS sécurisent les secrets, consultez la section [Chiffrement et déchiffrement des secrets dans Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html).

Assurez-vous que la politique basée sur les ressources pour le secret inclut les conditions d'adjoint `aws:SourceArn` confuses (voir [Le `aws:SourceAccount` problème de confusion des adjoints](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)) et que la politique basée sur les ressources pour la clé KMS inclut cette condition. `kms:EncryptionContext:SecretARN` Cela garantira qu'Amazon Connect ne pourra accéder à votre clé secrète d'API que dans le contexte d'une seule instance spécifique, et qu'il ne pourra accéder à votre clé KMS que dans le contexte de cette instance et du secret spécifique.

## Exemple de politique basée sur les ressources pour les secrets de Secrets Manager
<a name="example-resource-policy-secrets-manager"></a>

Voici un exemple de politique basée sur les ressources que vous pouvez associer à votre secret.

```
{
  "Version":"2012-10-17",		 	 	                    
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "connect.amazonaws.com"
        ]
      },
      "Action": "secretsmanager:GetSecretValue",
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "aws:sourceArn": "///the ARN of your Amazon Connect instance///"
        },
        "StringEquals": {
          "aws:sourceAccount": "///Your account ID///"
        }
      }
    }
  ]
}
```

## Exemple de politique basée sur les ressources pour s AWS KMS key
<a name="example-resource-policy-kms-keys"></a>

Voici un exemple de politique basée sur les ressources que vous pouvez associer à votre clé KMS.

```
{
  "Version":"2012-10-17",		 	 	                    
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "connect.amazonaws.com"
        ]
      },
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "aws:sourceArn": "///the ARN of your Amazon Connect instance///"
        },
        "StringEquals": {
          "aws:sourceAccount": "///Your account ID///",
          "kms:EncryptionContext:SecretARN": "///the ARN of your secrets manager secret///"
        }
      }
    }
  ]
}
```

## Associer une politique basée sur les ressources à votre secret Secrets Manager
<a name="attaching-resource-policy-secrets-manager"></a>

[Pour associer une politique basée sur les ressources à votre secret, accédez à la console Secrets Manager située dans le AWS Management Console, naviguez jusqu'à votre secret, choisissez **Modifier les autorisations** ou **Autorisations relatives aux ressources**, puis ajoutez ou modifiez la politique de ressources directement sur la page afin qu'elle ressemble à l'exemple.](#example-resource-policy-secrets-manager) Vous pouvez également joindre la politique de ressources par le biais AWS CLI de la `put-resource-policy` commande's ou par programmation à l'aide de l'opération d'[PutResourcePolicy](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html)API.

## Associer une politique basée sur les ressources à votre clé KMS
<a name="attaching-resource-policy-kms-key"></a>

[Pour associer une politique basée sur les ressources à votre clé KMS, accédez à la AWS Key Management Service console située dans le AWS Management Console, accédez à votre clé KMS et modifiez votre politique clé pour qu'elle ressemble à l'exemple.](#example-resource-policy-kms-keys) Vous pouvez également mettre à jour la clé via la `put-key-policy` commande AWS CLI's ou par programmation à l'aide de l'opération [PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html)API.

## Rotation des clés d'API
<a name="rotating-api-keys"></a>

Nous recommandons de faire alterner les clés d'API au moins tous les 90 jours afin de minimiser le risque de compromission et de maintenir un processus de rotation des clés bien rodé en cas d'urgence.

Pour faire pivoter une clé d'API, vous devez faire pivoter le secret dans lequel elle est contenue. Consultez [Rotate Secrets Manager secrets secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) dans le *guide de l'utilisateur de Secrets Manager* pour plus d'informations sur la rotation des secrets. Lorsque vous faites pivoter une clé d'API, il est recommandé d'attendre que l'utilisation de la clé précédente soit réduite à zéro avant de révoquer l'ancienne clé d'API afin de garantir que les demandes en cours ne soient pas affectées.

# Créez une intention d'agent Connect AI à partir d'une instance Amazon Connect
<a name="create-qic-intent-connect"></a>

Vous pouvez utiliser les fonctionnalités d'IA générative fournies par les agents Connect AI pour votre bot en activant [AMAZON. QinConnectIntent](https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-qinconnect.html)dans votre bot. Cette intention est intégrée à Amazon Lex. 

Procédez comme suit pour activer les agents Connect AI.

1. Ouvrez le bot pour lequel vous souhaitez ajouter l'**AMAZON. QinConnectIntent**intention.

1. Accédez à l’onglet **Configuration** dans l’interface du générateur de robots.

1. Activez l'**AMAZON. QinConnectIntent**intention en activant le bouton. L’image suivante montre l’emplacement de ce bouton.  
![\[Exemple de page de configuration pour un robot non configuré.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/enable-qic-bot.png)

   Le bouton d'**intention des agents Connect AI** n'est pris en charge que pour les robots créés directement sur le site Web Amazon Connect d'administration. Pour ajouter des fonctionnalités Amazon Q aux intentions relatives aux robots créés en dehors du site Web d' Amazon Connect administration, utilisez la console Amazon Lex pour mettre à jour la configuration.

1. Dans la boîte de dialogue d'**intention des agents Enable Connect AI**, utilisez le menu déroulant pour choisir le nom de ressource Amazon (ARN) de l'intention des agents Connect AI.  
![\[Une boîte de dialogue d'intention des agents Enable Connect AI.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/qic-intent-dropdownbox.png)

1. Choisissez **Confirmer** pour ajouter **AMAZON. QinConnectIntent**soutien intentionnel.
**Important**  
Vous ne pouvez pas utiliser **AMAZON. **QInConnectIntent**ainsi que des intentions sans énoncés spécifiques tels que Amazon.QN, **AMAZON AIntent**. BedrockAgentIntent**dans le même environnement de bot. Pour plus d'informations, consultez [AMAZON. QinConnectIntent](https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-qinconnect.html)dans le *guide du développeur Amazon Lex V2*. 

# Création de versions et d’alias de robots dans Amazon Connect
<a name="create-bot-version"></a>

Pour contrôler l’implémentation de robot utilisée par votre client, vous devez créer des versions et des alias. 
+ Une version est semblable à un instantané numéroté de votre travail.
+ Vous pouvez faire pointer un alias vers la version de robot que vous souhaitez mettre à la disposition de vos clients.

Entre la création de deux versions, vous pouvez continuer à mettre à jour la version préliminaire du robot sans affecter l’expérience de vos clients. Ce processus est crucial pour le déploiement des robots dans un environnement de production. 

## Création d’une version
<a name="create-bot-version1"></a>

La création d’une autre version préserve l’état actuel de la configuration du robot. Procédez comme suit pour créer une autre version de votre robot Amazon Lex dans Amazon Connect.

1. Ouvrez le robot pour lequel vous voulez créer une version.

1. Choisissez l’onglet **Versions**, puis sélectionnez **Créer une version**.  
![\[Onglet Versions, bouton Créer une version.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/bot-versionstab.png)

1. Dans la boîte de dialogue **Créer une version** :

   1. Entrez une description de cette version (cela est facultatif, mais recommandé pour le suivi des modifications)

   1. Choisissez **Créer**. L’image suivante montre un exemple de boîte de dialogue **Créer une version**.  
![\[Boîte de dialogue Créer une version.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/create-version-bot.png)

Une fois la version créée, vous pouvez l’associer à des alias ou l’utiliser pour revenir à un état antérieur du robot.

## Création d’un alias
<a name="create-bot-alias-association"></a>

Un alias est un pointeur vers une version spécifique d'un bot. Avec un alias, vous pouvez facilement mettre à jour la version que vos applications clientes utilisent. Par exemple, vous pouvez faire pointer un alias vers la version 1 du robot. Lorsque vous êtes prêt à mettre à jour le robot, créez la version 2 et modifiez l’alias pour qu’il pointe vers cette nouvelle version. Comme vos applications utilisent l'alias au lieu d'une version spécifique, tous vos clients obtiennent les nouvelles fonctionnalités sans avoir besoin d'être mis à jour. Cela permet des déploiements contrôlés et une gestion simplifiée des versions. 

**Important**  
Si vous souhaitez utiliser le robot dans un flux, veillez à sélectionner **Activer pour une utilisation dans les flux et les modules de flux** lorsque vous créez un alias.

Procédez comme suit pour créer un alias pour votre robot Amazon Lex.

1. Ouvrez le robot pour lequel vous souhaitez ajouter l’alias.

1. Choisissez l’onglet **Alias**, puis sélectionnez **Créer des pseudonymes**.  
![\[Onglet Alias, bouton Créer des pseudonymes.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/bot-aliases-button.png)

1. Dans la boîte de dialogue **Créer un alias** :

   1. Entrez un nom unique pour l’alias.

   1. Fournissez une description de l’alias (facultatif, mais recommandé).

   1. Sélectionnez la version du robot que vous souhaitez associer à cet alias.

   1. (Recommandé) Choisissez **Activer pour une utilisation dans les flux et les modules de flux**. Cette option est obligatoire si vous souhaitez utiliser le robot dans un flux.

   1. Choisissez **Créer**. L’image suivante montre un exemple de boîte de dialogue **Créer un alias**.  
![\[Boîte de dialogue Créer un alias.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/bot-create-alias.png)

Pour plus d’informations sur la gestion des versions et sur les alias dans Amazon Lex V2, consultez [Gestion des versions et alias avec votre robot Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/versions-aliases.html) dans le *Guide du développeur Amazon Lex V2*. 

# Évaluation des performances de votre robot d’IA conversationnelle dans Amazon Connect
<a name="lex-bot-analytics"></a>

Vous pouvez utiliser les outils d’analyse complets d’Amazon Connect pour évaluer et optimiser les performances de vos robots d’IA conversationnelle. Ces informations vous permettront d’identifier les interactions fructueuses, d’identifier les points de défaillance et de visualiser les modèles de conversation afin d’améliorer en permanence l’expérience client.

Le tableau de bord d’analytique inclut des métriques clés telles que le taux de reconnaissance des énoncés et les performances des conversations. Ces métriques vous aident à comprendre les taux de réussite et d’échec des interactions du robot avec les clients.

**Note**  
La page Analytique des robots affiche les données des conversations déclenchées uniquement à partir de flux. Vous pouvez déclencher des bots en externe à l'aide de Lex APIs ou d'intégrations personnalisées, mais les données relatives à ces conversations ne sont pas reflétées sur cette page.

**Pour afficher l’analytique relative à votre robot**

1. Connectez-vous au site Web d' Amazon Connect administration à l'adresse https ://*instance name*.my.connect.aws/. Utilisez un compte administrateur ou un compte disposant des autorisations suivantes dans son profil de sécurité :
   + **Canaux et flux** - **Bots** - **Afficher**
   + **Canaux et flux** - **Bots** - **Modifier**
   + **Analytique et optimisation** – **Historique des métriques** – **Accès**

1. Dans le menu de navigation de gauche, choisissez **Routage**, **Flux**.

1. Sur la page **Flux**, cliquez sur **Bots**, choisissez le bot dont vous souhaitez évaluer les performances, puis sélectionnez **Analytique**.  
![\[Page Flux, onglet Analytique.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/bot-analytics1.png)

 L’image suivante présente un exemple de données d’analytique.

![\[Onglet Analytique avec exemples de données d’analytique pour un robot.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/bot-analytics.png)


Utilisez cette analytique pour identifier les améliorations possibles, affiner les réponses de votre robot et améliorer l’expérience client globale.

Pour vous familiariser avec des métriques supplémentaires et des techniques d’analytique avancées spécifiques à Amazon Lex, consultez [Surveillance des performances des robots dans Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/monitoring-bot-performance.html).

# Métriques et analytique relatives aux robots Amazon Connect
<a name="bot-metrics"></a>

Les métriques pilotées par le flux suivantes sont disponibles sur le [Tableau de bord des flux et des performances des bots conversationnels](flows-performance-dashboard.md) et le [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html).

## Durée moyenne d’une conversation avec un bot
<a name="average-bot-conversation-time-metric"></a>

Cette métrique mesure la durée moyenne des conversations terminées pendant lesquelles la ressource invocatrice (flux ou module de flux) a débuté entre l’heure de début et de fin spécifiée. 

**Type de métrique** : chaîne (*hh:mm:ss*)

**Catégorie de métrique** : métrique basée sur les flux

**Accès à l’aide de l’API Amazon Connect** : 
+ GetMetricDataIdentifiant métrique de l'API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) : `AVG_BOT_CONVERSATION_TIME`

   Vous pouvez le filtrer en fonction de résultats de conversation spécifiques à l’aide d’un filtre `BOT_CONVERSATION_OUTCOME_TYPE` au niveau de la métrique.

**Logique de calcul** :
+ Somme (Heure de début de conversation - Heure de fin de toutes les conversations filtrées) / (Nombre total de conversations filtrées)

**Remarques** :
+ Les données de cette métrique sont disponibles depuis le 2 décembre 2024 à 00 h 00 GMT.

## Nombre moyen de tours de conversation avec un robot
<a name="average-bot-conversation-turns-metric"></a>

Cette métrique fournit le nombre moyen de tours pour les conversations terminées pendant lesquelles la ressource invocatrice (flux ou module de flux) a débuté entre l’heure de début et l’heure de fin spécifiées. 

Un seul tour correspond à une demande de l’application cliente et à une réponse du robot.

**Type de métrique** : double

**Catégorie de métrique** : métrique basée sur les flux

**Accès à l’aide de l’API Amazon Connect** : 
+ GetMetricDataIdentifiant métrique de l'API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) : `AVG_BOT_CONVERSATION_TURNS`

   Vous pouvez le filtrer en fonction de résultats de conversation spécifiques à l’aide d’un filtre `BOT_CONVERSATION_OUTCOME_TYPE` au niveau de la métrique.

**Logique de calcul** :
+ Somme (Tour de toutes les conversations filtrées) / (Nombre total de conversations filtrées)

**Remarques** :
+ Les données de cette métrique sont disponibles depuis le 2 décembre 2024 à 00 h 00 GMT.

## Conversations du bot terminées
<a name="bot-conversations-completed-metric"></a>

Cette métrique indique le nombre de conversations terminées pour lesquelles la ressource invocatrice (flux ou module de flux) a débuté entre l’heure de début et de fin spécifiée. L’heure de fin de la conversation peut être ultérieure à l’heure de fin spécifiée. 

Par exemple, si vous demandez cette métrique avec l’heure de début 9 h et l’heure de fin 10 h, le résultat inclura les conversations dans lesquelles la ressource invocatrice (flux ou module de flux) :
+ a commencé à 9 h 15 et s’est terminé à 9 h 40
+ a commencé à 9 h 50 et s’est terminé à 10 h 10

mais exclura les conversations pour lesquelles la ressource invocatrice (flux ou module de flux) :
+ a commencé à 8 h 50 et s’est terminé à 9 h 10

**Type de métrique** : entier

**Catégorie de métrique** : métrique basée sur les flux

**Accès à l’aide de l’API Amazon Connect** : 
+ GetMetricDataIdentifiant métrique de l'API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) : `BOT_CONVERSATIONS_COMPLETED`

  Vous pouvez filtrer cette valeur en fonction des résultats de conversation suivants à l’aide d’un filtre `BOT_CONVERSATION_OUTCOME_TYPE` au niveau de la métrique.
  + SUCCÈS : l’intention finale de la conversation est considérée comme un *succès*.
  + ÉCHEC : l’intention finale de la conversation a échoué. La conversation échoue également si Amazon Lex V2 utilise par défaut `AMAZON.FallbackIntent`.
  + ABANDONNÉ : le client ne répond pas avant que la conversation ne soit considérée comme un *succès* ou un *échec*.

**Logique de calcul** :
+ Nombre total de conversations.

**Remarques** :
+ Les données de cette métrique sont disponibles depuis le 2 décembre 2024 à 00 h 00 GMT.

## Les intentions du bot sont terminées
<a name="bot-intents-completed-metric"></a>

Cette métrique indique le nombre d’intentions terminées. Elle inclut les intentions relatives aux conversations terminées où la ressource invocatrice (flux ou module de flux) a débuté entre l’heure de début et de fin spécifiée.

**Type de métrique** : entier

**Catégorie de métrique** : métrique basée sur les flux

**Accès à l’aide de l’API Amazon Connect** : 
+ GetMetricDataIdentifiant métrique de l'API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) : `BOT_INTENTS_COMPLETED`

  Vous pouvez filtrer cette valeur en fonction des résultats de conversation suivants à l’aide d’un filtre `BOT_CONVERSATION_OUTCOME_TYPE` au niveau de la métrique.

  Le filtrage peut avoir lieu en fonction des résultats de l’intention suivante à l’aide d’un filtre `BOT_INTENTS_OUTCOME_TYPE` au niveau de la métrique.
  + SUCCÈS : le bot a bien exécuté l’intention. L’une des situations suivantes est vraie :
    + *L'*état* d'intention est *ReadyForFulfillment*et le type de *DialogAction* est Close.*
    + L’intention `state` est `Fulfilled` et le type de `dialogAction` est `Close`.
  + ÉCHEC : le robot n’a pas exécuté l’intention. État de l’intention. L’une des situations suivantes est vraie :
    + L’intention `state` est `Failed` et le `type` de `dialogAction` est toujours `Close` (par exemple, l’utilisateur a refusé l’invite de confirmation).
    + Le robot passe en mode `AMAZON.FallbackIntent` avant que l’intention ne soit satisfaite.
  + ÉCHANGÉ : le robot reconnaît une intention différente et passe à cette intention à la place, avant que l’intention initiale ne soit considérée comme un *succès* ou un *échec*.
  + ABANDONNÉ : le client ne répond pas avant que l’intention ne soit considérée comme un *succès* ou un *échec*.

**Logique de calcul** :
+ Nombre total d’intentions.

**Remarques** :
+ Les données de cette métrique sont disponibles depuis le 2 décembre 2024 à 00 h 00 GMT.

## Pourcentage de conversations du robot générées
<a name="percent-bot-conversations-outcome-metric"></a>

Cette métrique fournit le pourcentage du total des conversations qui se sont terminées par le type de résultat spécifique spécifié dans le filtre au niveau de la métrique (`BOT_CONVERSATION_OUTCOME_TYPE`). Elle inclut uniquement les conversations terminées pour lesquelles la ressource invocatrice (flux ou module de flux) a débuté entre l’heure de début et de fin spécifiée. 

**Type de métrique** : pourcentage

**Catégorie de métrique** : métrique basée sur les flux

**Accès à l’aide de l’API Amazon Connect** : 
+ GetMetricDataIdentifiant métrique de l'API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) : `PERCENT_BOT_CONVERSATIONS_OUTCOME`

**Comment y accéder via le site Web de l' Amazon Connect administrateur** : 

**Logique de calcul** :
+ (Nombre de conversations avec BOT\$1CONVERSATION\$1OUTCOME\$1TYPE) / (Nombre total de conversations) \$1 100

**Remarques** :
+ Les données de cette métrique sont disponibles depuis le 2 décembre 2024 à 00 h 00 GMT.

## Pourcentage d’intentions du robot satisfaites
<a name="percent-bot-intents-outcome-metric"></a>

Cette métrique fournit le pourcentage d’intentions qui ont abouti au type de résultat spécifique spécifié dans le filtre au niveau de la métrique (`BOT_INTENT_OUTCOME_TYPE`). Elle inclut les intentions dans les conversations terminées où la ressource invocatrice (flux ou module de flux) a débuté entre l’heure de début et de fin spécifiée.

**Type de métrique** : pourcentage

**Catégorie de métrique** : métrique basée sur les flux

**Accès à l’aide de l’API Amazon Connect** : 
+ GetMetricDataIdentifiant métrique de l'API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) : `PERCENT_BOT_INTENTS_OUTCOME`

**Comment y accéder via le site Web de l' Amazon Connect administrateur** : 

**Logique de calcul** :
+ (Nombre d’intentions avec BOT\$1INTENT\$1OUTCOME\$1TYPE) / (Nombre total d’intentions) \$1 100

# Prise en charge de la configuration avancée des robots par Amazon Connect
<a name="bot-advanced-config"></a>

La fonctionnalité de configuration avancée vous permet d’apporter des personnalisations détaillées à votre robot sans passer par la console Amazon Lex.

1. Sur le site Web de l' Amazon Connect administrateur, dans le menu de navigation de gauche, sélectionnez **Flows**. Choisissez l’onglet **Bots**, puis sélectionnez le robot que vous souhaitez utiliser.

1. Cliquez sur le bouton **Configurations avancées**, comme illustré dans l’image suivante.  
![\[Bouton Configurations avancées sur la page de détails d’un robot.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/bot-advanced-config.png)

   Cette action affiche une interface plus détaillée où vous pouvez accéder à davantage de fonctionnalités pour personnaliser votre robot. 

1. Pour revenir à l’interface utilisateur simple du robot, choisissez **Résumé de la configuration**, comme illustré dans l’image suivante.  
![\[Page de configuration avancée, bouton Résumé de la configuration.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/bot-adv-config2.png)

# Ajouter un bot Amazon Lex à Amazon Connect
<a name="amazon-lex"></a>

**Important**  
**Avis de fin de support** : le 15 septembre 2025, le support pour Amazon Lex V1 AWS sera interrompu. Après le 15 septembre 2025, vous ne pourrez plus accéder à la console Amazon Lex V1 ni aux ressources Amazon Lex V1. Pour en savoir plus sur la migration vers Amazon Lex V2, consultez [Migration d’un robot](https://docs.aws.amazon.com/lex/latest/dg/migrate.html).

Dans cet article, nous vous expliquons la procédure à suivre pour ajouter un bot Amazon Lex à Amazon Connect. 

Avec Amazon Lex, vous pouvez créer des interactions conversationnelles (bots) qui semblent naturelles pour vos clients. Les bots Amazon Connect avec Amazon Lex peuvent également capturer les données saisies par les clients sous forme de chiffres que les clients entrent sur leur clavier numérique lorsqu'ils sont utilisés dans un flux Amazon Connect. De cette façon, les clients peuvent choisir leur façon de saisir des informations sensibles, par exemple des numéros de compte. 

Pour suivre cette procédure pas à pas, vous avez besoin des éléments suivants : 
+ Un AWS compte actif. 
+ Une instance Amazon Connect. 

**Astuce**  
Vous pouvez également utiliser Amazon Lex pour alimenter les messages interactifs pour la conversation instantanée Amazon Connect. Les messages interactifs sont des messages enrichis qui présentent une invite et des options d'affichage préconfigurées parmi lesquelles le client peut choisir. Ces messages reposent sur Amazon Lex et sont configurés via Amazon Lex à l'aide d'une fonction Lambda. Pour plus d’informations, consultez [Ajout de messages interactifs Amazon Lex pour les clients dans une session de chat](interactive-messages.md).

## Créer un bot Amazon Lex
<a name="lex-bot-create"></a>

Au cours de cette étape, vous allez créer un robot personnalisé qui démontre l'intégration « Press or Say - Appuyer ou Parler » avec Amazon Connect. Le robot invite les appelants à appuyer ou à énoncer un numéro qui correspond à l'option de menu déclenchant la tâche à effectuer. Dans le cas présent, le solde du compte est vérifié.

------
#### [ Amazon Lex ]

1. Ouvrez la [console Amazon Lex](https://console.aws.amazon.com/lexv2/home).

1. Choisissez **Créer un bot**.

1. Sur la page **Configurer les paramètres du bot**, choisissez **Créer - Créer un bot vierge** et fournissez les informations suivantes :
   + **Nom du bot** : pour cette procédure pas à pas, nommez le bot **AccountBalance**.
   + **Autorisations IAM** : sélectionnez un rôle si vous en avez créé un. Sinon, sélectionnez **Créer un rôle avec les autorisations de base Amazon Lex**.
   + **COPPA** : indiquez si le robot est soumis la loi COPPA (Children's Online Privacy Protection Act) de protection de la vie privée des enfants sur Internet.
   + **Délai d'expiration de session** : indiquez pendant combien de temps le robot doit attendre d'obtenir les informations d'un appelant avant de terminer la session.

1. Choisissez **Suivant**.

1. Fournissez des informations spécifiques à la langue et à la voix :
   + **Langue** : sélectionnez la langue et les paramètres régionaux dans la liste des [langues et paramètres régionaux pris en charge par Amazon Lex](https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html). 
   + **Interaction vocale** : sélectionnez la voix utilisée par le bot pour s'adresser aux appelants. La voix par défaut d'Amazon Connect est Joanna.

1. Sélectionnez **Exécuté**. Le AccountBalance bot est créé et la page **Intention** s'affiche.

------
#### [ Amazon Lex (Classic) ]

1. Ouvrez la [console Amazon Lex](https://console.aws.amazon.com/lex/).

1. Si vous créez votre premier bot, choisissez **Mise en route**. Sinon, choisissez **Bots, Create (Robots - Créer)**.

1. Sur la page **Create your bot (Créer votre robot)**, choisissez **Custom bot (Robot personnalisé)** et saisissez les informations suivantes :
   + **Nom du bot** : pour cette procédure pas à pas, nommez le bot **AccountBalance**.
   + **Voix de sortie** : sélectionnez la voix utilisée par le robot pour s'adresse aux appelants. La voix par défaut d'Amazon Connect est Joanna.
   + **Délai d'expiration de session** : indiquez pendant combien de temps le robot doit attendre d'obtenir les informations d'un appelant avant de terminer la session.
   + **COPPA** : indiquez si le robot est soumis la loi COPPA (Children's Online Privacy Protection Act) de protection de la vie privée des enfants sur Internet.

1. Choisissez **Créer**.

------

## Configuration du bot Amazon Lex
<a name="lex-bot-configure"></a>

Au cours de cette étape, vous allez déterminer le mode de réponse du robot aux clients en fournissant des intentions, des exemples d'énoncé, des options pour la saisie et la gestion des erreurs.

Pour cet exemple, vous allez configurer le robot avec deux intentions : une pour rechercher des informations de compte et une autre pour discuter avec un agent.

### Créez une AccountLookup intention
<a name="lex-bot-create-account-lookup-intent"></a>

------
#### [ Amazon Lex ]

1. Après avoir créé le bot, vous êtes sur la page **Intentions** de la console Amazon Lex. Si vous n'y êtes pas, vous pouvez y accéder en choisissant **Bots **AccountBalance****, **Bot versions**, **Brouillon**, **Intents.** Choisissez **Ajouter une intention**, puis **Ajouter une intention vide**.

1. Dans le champ **Nom de l'intention**, entrez **AccountLookup**.

1. Faites défiler la page jusqu'à **Exemples d'énoncés**. Au cours de cette étape, vous entrez des énoncés qui permettent au client de susciter son intention. AccountLookup Entrez les énoncés suivants, puis choisissez **Ajouter un énoncé** après chacun d'eux. 
   + **Vérifier le solde de mon compte**
   + **Un** : Cela attribue l'énoncé de « un » ou la pression d'une touche sur « 1 » à l'intention. **AccountLookup**

   L'image suivante montre où ajouter l'énoncé dans la section **Exemples d'énoncés**.  
![\[La section des exemples d'énoncés de la page Intentions.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lexv2-enter-utterances.png)

1. Accédez à la section **Emplacements**, puis choisissez **Ajouter un emplacement**. Remplissez le champ de la manière suivante :

   1. **Obligatoire pour cette intention** = sélectionné.

   1. **Nom** = **AccountNumber**. 

   1. **Type d'emplacement** = **AMAZON.Number**. 

   1. **Invites** = le texte à prononcer lorsque l'appel est pris. Par exemple, demandez aux appelants de saisir leur numéro de compte à l'aide de leur clavier : **À l'aide de votre clavier, veuillez saisir votre numéro de compte**. Choisissez **Ajouter**.

   L'image suivante montre une section **Ajouter un emplacement** terminée.  
![\[La section Ajouter un emplacement de la page Intentions.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lexv2-add-slots.png)

1. Faites défiler la page jusqu'à la section **Réponses finales**. Ajoutez le message que le bot délivrera aux clients. Par exemple, **le solde de votre compte est de 1 234,56 \$1**. (Pour cette procédure pas à pas, nous n'allons pas réellement obtenir les données, ce que vous feriez en réalité.)

   L'image suivante illustre une section **Réponses finales** terminée.  
![\[La section des réponses finales de la page Intentions.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lexv2-response1.png)

1. Choisissez **Save intent (Enregistrer l'intention)**.

------
#### [ Amazon Lex (Classic) ]

1. Dans la console Amazon Lex, choisissez l'icône **\$1** à côté de **Intentions**, puis choisissez **Créer une intention**.

1. Donnez un nom à l'intention **AccountLookup**.

1. Ajoutez un exemple d'énoncé tel que que *Vérifier mon solde de compte*, et choisissez l'icône **\$1**.

1. Ajoutez un second énoncé, par exemple *Un* et choisissez l'icône **\$1**. Cela assigne l'expression « un » ou l'appui sur une touche de « 1 » à l'intention. **AccountLookup**
**Astuce**  
Vous devez ajouter un énoncé de « Un » dans le bot, et non le chiffre « 1 ». Cela est dû au fait qu'Amazon Lex ne prend pas en charge directement les entrées numériques. Pour contourner ce problème, plus loin dans cette procédure pas à pas, vous utiliserez l'entrée numérique pour interagir avec un bot Lex appelé à partir d'un flux. 

1. Sous **Slots**, ajoutez un slot nommé **AccountNumber**.

   L'image suivante montre l'emplacement de la section **Emplacements** sur la page.  
![\[La section emplacement de la page Intentions.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lex-slots.png)

1. Pour **Type d'option**, utilisez le menu déroulant pour choisir **AMAZON.NUMBER**.

1. Pour **Invite**, ajoutez le texte à prononcer lorsque l'appel est pris. Par exemple, demandez aux appelants de saisir leur numéro de compte à l'aide de leur clavier : *À l'aide de votre clavier, veuillez saisir votre numéro de compte*.

1. Choisissez l’icône \$1.

1. Assurez-vous que la case **Obligatoire** est cochée.

1. Dans la section **Réponse**, ajoutez le message que le robot délivrera aux clients. Par exemple, **le solde de votre compte est de 1 234,56 \$1**. 

1. Choisissez **Enregistrer l'intention**.

------

### Créez une SpeakToAgent intention
<a name="lex-bot-create-speaktoagent-intent"></a>

------
#### [ Amazon Lex ]

1. Accédez à la page **Intentions** : choisissez **Retour à la liste des intentions.** 

1. Choisissez **Ajouter une intention**, puis **Ajouter une intention vide**. 

1. Dans le champ **Nom de l'intention **SpeakToAgent****, entrez, puis choisissez **Ajouter**. 

1. Faites défiler vers le bas jusqu'à la section **Exemple d'énoncés**. Entrez les énoncés suivants, qui permettent au client de déterminer son intention : SpeakToAgent 
   + **Parler à un agent**
   + **Deux**

1. Faites défiler la page vers le bas jusqu'à la section **Réponses finales**. Ajoutez le message que le bot délivrera aux clients. Par exemple, **Okay, un agent va vous répondre rapidement**.

1. Choisissez **Save intent (Enregistrer l'intention)**.

------
#### [ Amazon Lex (Classic) ]

1. Dans la console Amazon Lex, choisissez l'icône **\$1** à côté de **Intentions**, puis choisissez **Créer une intention**.

1. Donnez un nom à l'intention **SpeakToAgent**.

1. Sélectionnez **SpeakToAgent**.

1. Ajoutez un exemple d'énoncé, par exemple *Parler à un agent*, et choisissez **\$1**.

1. Ajoutez un second énoncé, par exemple *Deux*, puis choisissez **\$1**.

1. Ajoutez le message permettant aux appelants de savoir que leur appel est connecté à un agent. Par exemple, « Okay, un agent va vous répondre rapidement. »

1. Choisissez **Enregistrer l'intention**.

------

## Générer et tester le bot Amazon Lex
<a name="lex-bot-build"></a>

Une fois que vous avez créé le bot, assurez-vous qu'il fonctionne comme prévu.

------
#### [ Amazon Lex ]

1. Dans le bas de la page, sélectionnez **Créer**. L'opération peut durer une ou deux minutes. L'image suivante montre où se trouve le bouton **Créer**.  
![\[Emplacement du bouton Créer sur la page.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lexv2-build-test-intent.png)

1. Une fois la génération terminée, choisissez **Test**.

1. Testons l'**AccountLookup**intention : dans le volet **Test Draft version**, dans la zone de message **Tapez un message**, tapez **1** et appuyez sur Entrée. Tapez ensuite un numéro de compte fictif et appuyez sur Entrée. L'image suivante montre l'endroit où vous entrez l'intention.  
![\[La zone dans laquelle vous saisissez l'intention de tester.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lexv2-test1.png)

   1. Videz le champ de test.

   1. Entrez les intentions que vous voulez tester.

1. Pour confirmer que l'**SpeakToAgent**intention fonctionne, décochez la case de test, puis tapez **2** et appuyez sur Entrée. L'image suivante montre à quoi ressemble le test une fois que vous l'avez effacé puis que vous avez saisi 2.  
![\[Le champ de test.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lexv2-test2.png)

1. Fermez le volet **Tester la version brouillon**.

------
#### [ Amazon Lex (Classic) ]

1. Sélectionnez **Créer**. L'opération peut durer une ou deux minutes.

1. Une fois la création terminée, choisissez **Tester le Chatbot**, comme indiqué dans l'image ci-dessous.  
![\[Le bouton de test du chatbot, sur le côté droit de la page.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lex-test-chatbot.png)

1. **Testons l'**AccountLookup**intention : dans le volet **Tester le chatbot**, dans la zone **Discuter avec votre bot**, tapez 1.** Tapez ensuite un numéro de compte fictif. Dans l'image suivante, la flèche pointe vers le champ dans lequel vous tapez 1.  
![\[Le bot de test, le champ de saisie de votre message.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lex-test-run.png)

1. Choisissez **Clear history chat (Effacer l'historique de conversation**. 

1. Pour confirmer que l'**SpeakToAgent**intention fonctionne, tapez **2**.

------

## Création d'une version de bot (facultatif)
<a name="lex-bot-create-bot-version"></a>

Au cours de cette étape, vous créez une nouvelle version du bot à utiliser dans un alias. C'est ainsi que vous créez un alias utilisable dans un environnement de production. Les alias de test sont soumis à des limites inférieures. Bien qu'il s'agisse d'une procédure de test, la création d'une version constitue une bonne pratique.

------
#### [ Amazon Lex ]

1. Si vous êtes sur la page **Intentions**, choisissez **Retour à la liste des intentions.**

1. Dans le menu de gauche, choisissez **Versions de bot**.

1. Choisissez **Créer une version**.

1. Passez en revue les détails du **AccountBalance**bot, puis choisissez **Create**.

   Cela crée une version de votre bot (version 1). Vous pouvez changer de version sur un alias non testé sans avoir à suivre quelle version est publiée.  
![\[La page des versions contenant la version 1 est répertoriée.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lexv2-version1.png)

------

## Créer un alias pour le bot
<a name="lex-bot-create-alias"></a>

------
#### [ Amazon Lex ]

1. Dans le menu de gauche, choisissez **Alias**.

1. Dans l'onglet **Alias**, choisissez **Créer un alias**.

1. Dans le champ **Nom de l'alias**, entrez un nom, tel que **Test**. Plus loin dans cette procédure pas à pas, vous utiliserez cet alias pour spécifier cette version du bot dans votre flux. 
**Important**  
Dans un environnement de production, utilisez toujours un alias différent de celui **TestBotAlias**d'Amazon Lex et de **\$1LATEST** pour Amazon Lex classic. **TestBotAlias**et **\$1LATEST** prennent en charge un nombre limité d'appels simultanés vers un bot Amazon Lex. Pour plus d'informations, consultez [Quotas d'exécution](https://docs.aws.amazon.com/lexv2/latest/dg/quotas.html#quotas-service).

1. Pour **Version associée**, choisissez la version que vous venez de créer, telle que **Version 1**. 

1. Choisissez **Créer**.

------
#### [ Amazon Lex (Classic) ]

1. Choisissez **Publier**.

1. Fournissez un alias pour le robot. Utilisez l'alias pour spécifier cette version du bot dans le flux, par exemple, **Test**.
**Important**  
Dans un environnement de production, utilisez toujours un alias différent de celui **TestBotAlias**d'Amazon Lex et de **\$1LATEST** pour Amazon Lex classic. **TestBotAlias**et **\$1LATEST** prennent en charge un nombre limité d'appels simultanés vers un bot Amazon Lex. Pour plus d'informations, consultez [Quotas de service d'exécution](https://docs.aws.amazon.com/lex/latest/dg/gl-limits.html#gl-limits-runtime).

1. Choisissez **Publier**.

------

## Ajouter un bot Amazon Lex à votre instance Amazon Connect
<a name="lex-bot-add-to-connect"></a>

------
#### [ Amazon Lex ]

1. Ouvrez la [console Amazon Connect](https://console.aws.amazon.com/connect/).

1. Sélectionnez l'instance Amazon Connect que vous souhaitez intégrer à votre bot Amazon Lex.  
![\[Page Instances du centre de contact virtuel Amazon Connect, alias d'instance.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/instance.png)

1. Dans le menu de navigation, choisissez **Flux**.

1. Sous **Amazon Lex**, utilisez le menu déroulant pour sélectionner la région de votre bot Amazon Lex, puis sélectionnez votre bot Amazon Lex, **AccountBalance**. 

1. Sélectionnez le nom d'alias du bot Amazon Lex dans la liste déroulante (**Test**), puis choisissez **\$1 Ajouter un bot Lex**. L'image suivante montre la section Amazon Lex une fois qu'elle a été configurée.  
![\[Page Flux, section Amazon Lex.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lexv2-region-bot.png)

**Note**  
Amazon Connect utilise les politiques basées sur les ressources Amazon Lex pour passer des appels à votre bot Amazon Lex. Lorsque vous associez un bot Amazon Lex à votre instance Amazon Connect, la politique basée sur les ressources du bot est mise à jour pour autoriser Amazon Connect à invoquer le bot. Pour plus d'informations sur les politiques basées sur les ressources d'Amazon Lex, consultez [Comment Amazon Lex fonctionne avec IAM](https://docs.aws.amazon.com/lexv2/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies).

------
#### [ Amazon Lex (Classic) ]

1. Ouvrez la [console Amazon Connect](https://console.aws.amazon.com/connect/).

1. Sélectionnez l'instance Amazon Connect que vous souhaitez intégrer à votre bot Amazon Lex.

1. Dans le menu de navigation, sélectionnez **Flux de contacts**.

1. Sous **Amazon Lex**, sélectionnez la région de votre bot Amazon Lex Classic dans le menu déroulant, puis sélectionnez votre bot Amazon Lex Classic. Son nom aura le suffixe « (Classic) ». Choisissez ensuite **Ajouter le bot Lex**.

------

## Créer un flux et ajouter votre bot Amazon Lex
<a name="lex-bot-create-flow-add-bot"></a>

**Important**  
Si vous utilisez un bot Amazon Lex V2, votre attribut de langue dans Amazon Connect doit correspondre au modèle de langage utilisé pour créer votre bot Lex. Ceci est différent d'Amazon Lex (Classic). Utilisez un bloc [Définir la voix](set-voice.md#set-voice-lexv2bot) pour indiquer le modèle de langue Amazon Connect, ou utilisez un bloc [Définir des attributs de contact](set-contact-attributes.md).

Ensuite, créez un nouveau flux de contact qui utilise votre bot Amazon Lex. Lorsque vous créez le flux, vous configurez le message délivré aux appelants.

1. Connectez-vous à votre instance Amazon Connect avec un compte qui dispose des autorisations pour les flux de contact et les bots Amazon Lex.

1. Dans le menu de navigation, choisissez **Routage, Flux, Créer un flux**, puis saisissez le nom du flux.

1. Sous **Interagir**, faites glisser un bloc [Obtenir les données client](get-customer-input.md) vers le concepteur et connectez-le au **bloc Point d’entrée**.

1. Cliquez sur le bloc **Obtenir l'entrée client** pour l'ouvrir. Choisissez **Synthèse vocale ou texte de discussion instantanée, Entrer du texte**.

1. Saisissez un message indiquant aux appelants ce qu'ils peuvent faire. Par exemple, utilisez un message correspondant aux intentions spécifiées dans le robot, tel que « Pour vérifier le solde de votre compte, appuyez sur 1 ou dites 1. Pour parler à un agent, appuyez sur 2 ou dites 2. » L'image suivante montre ce message sur la page Propriétés du bloc **Obtenir l'entrée utilisateur**.  
![\[Page Propriétés du bloc Obtenir les données client.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lex-get-customer-input.png)

1. Sélectionnez l'onglet **Amazon Lex**, comme indiqué dans l'image ci-dessous.  
![\[Onglet Amazon Lex sur la page Propriétés du bloc Obtenir les données client.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lexv2-get-customer-input2.png)

1. Dans le menu déroulant **Nom**, sélectionnez le **AccountBalance**bot que vous avez créé précédemment. 

   1. Si vous avez sélectionné un bot Amazon Lex, sous **Alias**, utilisez le menu déroulant pour sélectionner l'alias du bot, **Tester**. 

   1. Le suffixe « (Classic) » est ajouté aux noms des bots Amazon Lex Classic. Si vous avez sélectionné un bot classique, entrez l'alias que vous souhaitez utiliser dans le champ **Alias**.

   1. Pour les bots Amazon Lex V2, vous avez également la possibilité de définir manuellement un alias ARN de bot. Choisissez **Définir manuellement**, puis saisissez l'ARN de l'alias de bot que vous souhaitez utiliser ou définissez l'ARN à l'aide d'un attribut dynamique.

1. Sous **Intentions**, choisissez **Ajouter une intention**.

1. Tapez **AccountLookup**et choisissez **Ajouter une autre intention**. L'image suivante montre la section **Intentions** configurée avec ces informations.  
![\[La section Intentions de l'onglet Amazon Lex.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lex-get-customer-input3.png)

1. Tapez **SpeakToAgent**et choisissez **Enregistrer**.

### Terminez le flux
<a name="lex-bot-finish-flow"></a>

Au cours de cette étape, vous finissez d'ajouter des parties au flux qui s'exécute une fois que l'appelant interagit avec le bot :

1. Si l'appelant appuie sur 1 pour obtenir son solde de compte, utilisez un bloc **Invite** pour lire un message et déconnectez l'appel.

1. Si l'appelant appuie sur 2 pour parler à un agent, utilisez un bloc **Définir une file d'attente** pour définir la file d'attente et y transférer l'appelant, ce qui met fin au flux.

Voici les étapes à suivre pour créer le flux :

1. Sous **Interact**, faites glisser un **bloc d'invite Play** vers le concepteur et **AccountLookup****connectez-y le nœud du bloc de saisie** Get customer. Une fois que le client obtient son solde de compte auprès du bot Amazon Lex, le message du bloc **Lire l'invite** s'exécute.

1. Sous **Terminer/Transférer**, faites glisser un bloc **Déconnecter** sur le concepteur et connectez-y le bloc **Lire l'invite**. Une fois lu le message d'invite, l'appel est déconnecté.

Pour compléter l'**SpeakToAgent**intention, procédez comme suit :

1. Ajoutez un bloc **Set working queue** et connectez-le au **SpeakToAgent**nœud du bloc de **saisie Get** customer.

1. Ajoutez un bloc **Transférer vers la file l'attente**. 

1. Reliez le nœud Réussite du bloc **Définir un flux de file d'attente client** au bloc **Transférer vers la file l'attente**.

1. Choisissez **Enregistrer**, puis **Publier**.

Votre flux terminé ressemblera à l'image suivante. Le flux commence par le bloc **Obtenir l'entrée utilisateur**. Cela bloque les branches **Lire l'invite** ou **Définir une file d'attente client**.

![\[Le flux fini dans le concepteur de flux.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/lex-contactflow-designer.png)


**Astuce**  
Si votre entreprise utilise plusieurs paramètres régionaux dans un seul bot, ajoutez un bloc [Définir des attributs de contact](set-contact-attributes.md) au début de votre flux. Configurez ce bloc pour utiliser le [\$1. LanguageCode](connect-attrib-list.md#attribs-system-table)attribut système. 

## Attribution du flux à un numéro de téléphone
<a name="lex-bot-assign-number"></a>

Lorsque les clients appellent votre centre de contact, le flux vers lequel ils sont envoyés est celui auquel est attribué le numéro de téléphone qu'ils ont appelé. Pour rendre le nouveau flux actif, attribuez-le à un numéro de téléphone de votre instance.

1. Ouvrez la console Amazon Connect.

1. Choisissez **Routage, Numéros de téléphone**.

1. Sur la page **Gérer les numéros de téléphone**, sélectionnez le numéro de téléphone à attribuer au flux.

1. Ajoutez une description.

1. Dans le menu **Flux/IVR**, choisissez le flux que vous venez de créer.

1. Choisissez **Enregistrer**.

## À vous d'essayer \$1
<a name="lex-bot-try-it"></a>

Pour tester le bot et le flux, appelez le numéro que vous avez attribué au flux. Suivez les invites. 

# Bonnes pratiques relatives à l’utilisation du canal de chat et d’Amazon Lex
<a name="bp-lex-bot-chat"></a>

Voici quelques bonnes pratiques recommandées pour l’utilisation conjointe du canal de chat et d’Amazon Lex.
+ Vous pouvez utiliser le même bot pour le canal vocal et le canal de conversation instantanée. Toutefois, vous pouvez faire en sorte que le bot réponde différemment en fonction du canal. Par exemple, vous voulez renvoyer des données SSML pour une conversation vocale afin qu'un numéro soit lu comme un numéro de téléphone, mais vous voulez renvoyer du texte normal pour une conversation instantanée. Pour cela, transmettez l'attribut **Channel**. Pour obtenir des instructions, consultez [Comment utiliser le même robot Amazon Lex pour une conversation vocale et le chat](one-bot-voice-chat.md). 
+ Pour la voix, il est préférable d'orthographier phonétiquement certains mots pour garantir une prononciation correcte, comme avec les noms de famille. Si tel est le cas dans le cadre de votre scénario, incluez cela dans la conception de votre bot. Vous pouvez aussi maintenir la séparation entre les bots vocaux et les chatbots. 
+ Informez les agents au sujet du bot. Lorsqu'un contact est connecté à l'agent, l'agent voit la transcription complète dans sa fenêtre. La transcription inclut le texte du client et du bot.

# Ajout de messages interactifs Amazon Lex pour les clients dans une session de chat
<a name="interactive-messages"></a>

Les messages interactifs sont des messages enrichis qui présentent une invite et des options d’affichage préconfigurées que le client peut choisir. Ces messages sont alimentés par Amazon Lex et configurés via Amazon Lex à l'aide d'une AWS Lambda fonction. 

**Astuce**  
Si vous avez intégré Apple Messages for Business, consultez [Types de messages interactifs](https://register.apple.com/resources/messages/msp-rest-api/type-interactive) sur le site Web d’Apple.

## Limites de validation
<a name="validation-limits"></a>

Les limites des champs de chaîne (par exemple, titre, sous-titre, etc.) devraient être appliquées par le client (c’est-à-dire une interface personnalisée ou le widget de communication hébergé). L'[SendMessage](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_SendMessage.html)API vérifie uniquement que la taille totale de la chaîne est inférieure à 20 Ko.
+ Lorsque vous utilisez le widget de communication hébergé sans le personnaliser, si la chaîne dépasse les limites de champs, elle est tronquée sur l’interface utilisateur et des points de suspension (…) sont ajoutés. Vous pouvez déterminer comment appliquer les limites de champ en personnalisant le widget. 
+ Si vous effectuez une intégration avec d’autres plateformes (comme Apple Messages for Business), consultez les limites indiquées dans cette rubrique pour Amazon Connect, ainsi que celles de la documentation relative à l’autre plateforme. Par exemple, les réponses rapides ne sont pas prises en charge sur les anciennes versions d’iOS. 

Toutes les autres limites de champs doivent être respectées pour que le message soit correctement envoyé.

## Modèles d’affichage de messages
<a name="message-display-templates"></a>

Amazon Connect fournit les modèles d’affichage de messages suivants. Utilisez-les pour présenter des informations aux clients dans une session de chat :
+  [Sélecteur de liste](#list-picker)
+ [Sélecteur de temps](#time-picker)
+ [Panneau](#panel)
+ [Réponse rapide](#quick-reply-template)
+ [Carrousel](#carousel-template)
+ [Modèle de formulaire Apple](#apple-form-template)
+ [Modèle Apple Pay](#apple-pay-template)
+ [Modèle d’application iMessage](#imessage-app-template)
+ [WhatsApp liste](#whatsapp-list)
+ [WhatsApp bouton de réponse](#whatsapp-reply-button)
+ [Formatage riche en titres et sous-titres](#rich-link-formatting)

Ces modèles définissent le mode de rendu des informations et les informations qui apparaissent dans l’interface de chat. Lorsque des messages interactifs sont envoyés par chat, les flux vérifient que le format du message suit l’un de ces modèles.

## Modèle de sélecteur de liste
<a name="list-picker"></a>

Utilisez le modèle de sélecteur de liste pour présenter au client une liste de six choix maximum. Chaque choix peut comporter sa propre image. 

Les images suivantes montrent deux exemples de la manière dont le modèle de sélecteur de liste affiche les informations dans un chat. 
+ Une image montre trois boutons, chacun portant le nom d’un fruit dans le texte : pomme, orange, banane.
+ La seconde image montre la photo d’un magasin, ainsi que trois boutons, au-dessous, comportant chacun le nom, l’image et le prix du fruit.

![\[Modèle de sélecteur de liste affichant des informations dans un chat\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/interactive-messages-listpicker-images2.png)


Le code suivant est le modèle de sélecteur de liste que vous pouvez utiliser dans votre fonction Lambda. Notez ce qui suit :
+ Le **texte en gras** indique un paramètre obligatoire.
+ Dans certains cas, si l’élément parent n’est pas obligatoire, mais que les champs qu’il contient le sont, ces champs sont obligatoires. Par exemple, examinez la structure `data.replyMessage` dans le modèle suivant. Si cette structure existe, `title` est obligatoire. Sinon, l’élément `replyMessage` complet est facultatif. 

```
{
   "templateType":"ListPicker",                       
   "version":"1.0",                                   
   "data":{                                           
      "replyMessage":{                             
         "title":"Thanks for selecting!",             
         "subtitle":"Produce selected",
         "imageType":"URL",                                
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",                          
         "imageDescription":"Select a produce to buy"
      },
      "content":{                                       
         "title":"What produce would you like to buy?",
         "subtitle":"Tap to select option",
         "imageType":"URL",                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",                  
         "imageDescription":"Select a produce to buy",
         "elements":[                                   
            {
               "title":"Apple",                          
               "subtitle":"$1.00",
               "imageType":"URL",
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg"
            },
            {
               "title":"Orange",                         
               "subtitle":"$1.50",
               "imageType":"URL",                  
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/orange_17.7kb.jpg",           
            },
             {
               "title":"Banana",                         
               "subtitle":"$10.00",
               "imageType":"URL",                  
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/banana_7.9kb.jpg",            
               "imageDescription":"Banana"
            }
         ]
      }
```

### Limites du sélecteur de liste
<a name="list-picker-limits"></a>

Le tableau suivant répertorie les limites pour chacun des éléments du sélecteur de liste, si vous choisissez de créer votre propre fonction Lambda à partir de zéro. Les paramètres obligatoires sont affichés en gras.

Pour envoyer un nombre illimité d’options, implémentez des boutons d’action dans votre application. Pour plus d’informations, consultez [Implementation of action buttons in interactive message list picker/panel](https://github.com/amazon-connect/amazon-connect-chat-interface/blob/master/.github/docs/InteractiveMessageActionButtonImplementation.md). 


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/interactive-messages.html)

**Note**  
Si vous utilisez le champ `targetForLinks` et le widget de communication Amazon Connect, pour ouvrir des liens dans le même onglet de navigateur, vous devez ajouter l’attribut suivant à l’extrait de code du widget afin de permettre à l’iframe actuel d’ouvrir et de parcourir les liens dans le même onglet :  

```
amazon_connect('updateSandboxAttributes', 'allow-scripts allow-same-origin allow-popups allow-downloads allow-top-navigation-by-user-activation')                                       
```

## Modèle de sélecteur de temps
<a name="time-picker"></a>

Le modèle de sélecteur d’heure est utile pour permettre aux clients de planifier des rendez-vous. Vous pouvez fournir jusqu’à 40 créneaux horaires au client dans un chat. 

Les images suivantes montrent deux exemples de la manière dont le modèle de sélecteur de temps affiche les informations dans un chat.
+ Une image montre une date et, en dessous, un créneau horaire.
+ La seconde image montre une date et, en dessous, deux créneaux horaires.

![\[Modèle de sélecteur de temps affichant des informations dans un chat\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/interactive-messages-timepicker.png)


L’image suivante montre le sélecteur de temps avec une image

**Note**  
Si vous utilisez ce modèle de message avec le canal [Apple Messages for Business](apple-messages-for-business.md) et que vous n’ajoutez pas d’image, Amazon Connect ajoutera une image par défaut à la fois dans la réponse et dans le message de réponse.

![\[Sélecteur de temps avec une image.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/interactive-messages-timepicker-with-image.png)


Le code suivant est le modèle de sélecteur de temps que vous pouvez utiliser dans votre fonction Lambda. Notez ce qui suit :
+ Le **texte en gras** indique un paramètre obligatoire.
+ Dans certains cas, si l’élément parent n’est pas obligatoire, mais que les champs qu’il contient le sont, ces champs sont obligatoires. Par exemple, examinez la structure `data.replyMessage` dans le modèle suivant. Si cette structure existe, `title` est obligatoire. Sinon, l’élément `replyMessage` complet est facultatif. 

```
{
   "templateType":"TimePicker",                                 
   "version":"1.0",                                             
   "data":{                                                    
      "replyMessage":{
         "title":"Thanks for selecting",                        
         "subtitle":"Appointment selected",
         "imageType":"URL",                                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/booked.jpg",
         "imageDescription":"Appointment booked"
      },
      "content":{                                               
         "title":"Schedule appointment",                       
         "subtitle":"Tap to select option",
         "imageType":"URL",                                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/calendar.jpg",
         "imageDescription":"Appointment booked",
         "timeZoneOffset":-450,
         "location":{
            "latitude":47.616299,                               
            "longitude":-122.4311,                              
            "title":"Oscar",                                    
            "radius":1,
         },
         "timeslots":[                                          
               {
                  "date" : "2020-10-31T17:00+00:00",             
                  "duration": 60,                               
               },
               {
                  "date" : "2020-11-15T13:00+00:00",            
                  "duration": 60,                              
               },
               {
                  "date" : "2020-11-15T16:00+00:00",            
                  "duration": 60,                              
               }
            ],           
         }
      }
   }
}
```

### Limites du sélecteur de temps
<a name="time-picker-limits"></a>

Le tableau suivant répertorie les limites de tous les éléments d’un sélecteur de temps. Utilisez ces informations si vous choisissez de créer votre propre fonction Lambda à partir de zéro. Les paramètres obligatoires sont affichés en gras.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/interactive-messages.html)

## Modèle de panneau
<a name="panel"></a>

En utilisant le modèle de panneau, vous pouvez présenter au client jusqu’à 10 choix pour une question. Toutefois, vous pouvez inclure une seule image, au lieu d’une image pour chaque choix. 

L’image suivante montre un exemple de la façon dont le modèle de panneau affiche les informations dans un chat. Il montre une image en haut du message et, sous l’image, une invite qui demande *Comment puis-je vous aider ? Appuyez pour sélectionner une option*. Sous cette invite, trois options sont affichées pour le client : **Vérifier les options de libre-service**, **Parler à un agent**, **Mettre fin à la conversation**. 

![\[Modèle de panneau affichant des informations dans un chat.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/interactive-messages-panel1.png)


Le code suivant est le modèle de panneau que vous pouvez utiliser dans votre fonction Lambda. Notez ce qui suit :
+ Le **texte en gras** indique un paramètre obligatoire.
+ Dans certains cas, si l’élément parent n’est pas obligatoire, mais que les champs qu’il contient le sont, ces champs sont obligatoires. Par exemple, examinez la structure `data.replyMessage` dans le modèle suivant. Si cette structure existe, un attribut `title` est obligatoire. Sinon, l’élément `replyMessage` complet est facultatif.

```
{
   "templateType":"Panel",                            
   "version":"1.0",                                   
   "data":{                                          
      "replyMessage":{                             
         "title":"Thanks for selecting!",             
         "subtitle":"Option selected",
      },
      "content":{                                      
         "title":"How can I help you?",                
         "subtitle":"Tap to select option",
         "imageType":"URL",                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/company.jpg",                  
         "imageDescription":"Select an option",
         "elements":[                                 
            {
               "title":"Check self-service options",   
            },
            {
               "title":"Talk to an agent",                     
            },
            {
               "title":"End chat",                    
            }
         ]
      }
   }
}
```

### Limites du panneau
<a name="panel-limits"></a>

Le tableau suivant répertorie les limites pour chacun des éléments du panneau, si vous choisissez de créer votre propre fonction Lambda à partir de zéro. Les paramètres obligatoires sont affichés en gras.

Pour envoyer un nombre illimité d’options, implémentez des boutons d’action dans votre application. Pour plus d’informations, consultez [Implementation of action buttons in interactive message list picker/panel](https://github.com/amazon-connect/amazon-connect-chat-interface/blob/master/.github/docs/InteractiveMessageActionButtonImplementation.md). 


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/interactive-messages.html)

## Modèle de réponse rapide
<a name="quick-reply-template"></a>

Utilisez des messages de réponse rapide pour obtenir des réponses simples de la part des clients, puis pour les soumettre aux clients dans une liste intégrée. Les images ne sont pas prises en charge pour les réponses rapides.

L’image suivante montre un exemple de la façon dont le modèle de réponse rapide affiche des informations dans un chat.

![\[Modèle de panneau affichant des informations dans un chat.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/quick-reply-template.png)


Le code suivant est le modèle de réponse rapide que vous pouvez utiliser dans votre fonction Lambda.

```
{
    "templateType": "QuickReply",
    "version": "1.0",
    "data": {
        "replyMessage": {
            "title": "Thanks for selecting!"
        },
        "content": {
            "title": "Which department would you like?",
            "elements": [{
                    "title": "Billing"
                },
                {
                    "title": "Cancellation"
                },
                {
                    "title": "New Service"
                }
            ]
        }
    }
}
```

### Limites de réponse rapide
<a name="quickreply-limits"></a>

Le tableau suivant répertorie les limites pour tous les éléments de réponse rapide. Utilisez ces informations si vous choisissez de créer votre propre fonction Lambda à partir de zéro. Les paramètres obligatoires sont affichés en gras.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/interactive-messages.html)

## Modèle de carrousel
<a name="carousel-template"></a>

Utilisez des carrousels pour présenter jusqu’à 5 sélecteurs de listes ou panneaux aux clients dans un même message. À l’instar du sélecteur de liste et du sélecteur de temps, vous pouvez ajouter d’autres options au carrousel à l’aide de la fonctionnalité SHOW\$1MORE.

Le GIF suivant montre un exemple de la façon dont le modèle de carrousel affiche des informations dans un chat. Les clients font défiler le carrousel d’images à l’aide des flèches gauche et droite. 

![\[Carrousel dans l’expérience de chat d’un client.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/carousel-interactive.gif)


L’image suivante montre deux liens hypertexte **En savoir plus**, qui sont des exemples d’éléments de liens hypertexte du sélecteur de carrousel.

![\[Sélecteur de carrousel avec des liens hypertexte\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/carousel-interactive1.png)


Le code suivant est le modèle de carrousel que vous pouvez utiliser dans votre fonction Lambda. 

```
{
  "templateType": "Carousel",            
  "version": "1.0",                      
  "data": {                              
      "content": {                           
        "title": "View our popular destinations",   
        "elements": [                               
        {
          "templateIdentifier": "template0",        
          "templateType": "Panel",
          "version": "1.0",
          "data": {
            "content": {
              "title": "California",
              "subtitle": "Tap to select option",
              "elements": [
                {
                  "title": "Book flights"
                },
                {
                  "title": "Book hotels"
                },
                {
                  "title": "Talk to agent"
                }
              ]
            }
          }
        },
        {
          "templateIdentifier": "template1",   
          "templateType": "Panel",
          "version": "1.0",
          "data": {
            "content": {
              "title": "New York",
              "subtitle": "Tap to select option",
              "elements": [
                {
                  "title": "Book flights"
                },
                {
                  "title": "Book hotels"
                },
                {
                  "title": "Talk to agent"
                }
              ]
            }
          }
        }
      ]
    }
  }
}
```

Pour les utilisateurs du widget de communication hébergé :
+ Les sélections du modèle de carrousel donnent lieu à une réponse sous forme de chaîne JSON structurée comme dans l’exemple suivant, à renvoyer à Lambda (les autres types de messages interactifs renvoient une réponse sous forme de chaîne normale avec uniquement une valeur `selectionText`) :

  ```
  {
      templateIdentifier: "template0",
      listTitle: "California",
      selectionText: "Book hotels"
  }
  ```
+ Dans les carrousels, vous pouvez fournir des hyperliens dans les éléments de la liste. picker/panel Pour créer un lien hypertexte à la place d’un bouton, incluez les champs supplémentaires suivants pour l’élément qui doit être un lien hypertexte :

  ```
  {
      title: "Book flights",
      ...
      type: "hyperlink",
      url: "https://www.example.com/Flights"
  }
  ```

### Limites de carrousel
<a name="carousel-limits"></a>

Le tableau suivant répertorie les limites de tous les éléments de carrousel. Utilisez ces informations si vous choisissez de créer votre propre fonction Lambda à partir de zéro. Les paramètres obligatoires sont affichés en gras.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/interactive-messages.html)

## Modèle de formulaire Apple
<a name="apple-form-template"></a>

**Note**  
 Ce modèle s’applique uniquement aux flux de contacts d’Apple Messages for Business. 

Une entreprise peut envoyer un message interactif sous forme de formulaire à ses clients finaux par le biais d’un seul message contenant plusieurs pages d’informations à remplir. Lorsque ce message est reçu sur l’appareil Apple du client final, ce dernier peut ouvrir le formulaire et parcourir les pages, en fournissant une réponse pour chaque page, avant de soumettre toutes les réponses à la fin du formulaire.

Par exemple, les entreprises peuvent utiliser les formulaires Apple à diverses fins, notamment pour le tri des flux, les enquêtes clients et la création de comptes.

**Avertissement**  
Le contenu des messages interactifs et les réponses des clients finaux sont stockés dans la transcription des enregistrements de contacts et peuvent être consultés par les autres participants au chat ainsi que les analystes de contacts ayant accès aux transcriptions. Pour éviter que des informations personnelles n'apparaissent dans la transcription de votre enregistrement de **contact une fois le contact terminé**, vous devez utiliser le [bloc Définir le comportement d'enregistrement et d'analyse](set-recording-behavior.md) dans votre flux de step-by-step guideContact Lens, [activer](sensitive-data-redaction.md) et activer la rédaction des données sensibles. Pour des détails complets sur la façon d’activer l’expurgation des données d’identification personnelle, consultez [Activation de l’expurgation de données sensibles](enable-analytics.md#enable-redaction).

 Les types de pages prises en charge sont les suivantes :
+ **ListPicker**: une liste d'options parmi lesquelles l'utilisateur doit sélectionner avec prise en charge des images.
+ **WheelPicker**: similaire ListPicker mais la sélection se fait via une molette d'options défilante.
+ **DatePicker**: une vue du calendrier où l'utilisateur peut choisir une date.
+ **Input** : champ de texte que l’utilisateur doit remplir.

Le code suivant est un exemple de modèle de formulaires Apple que vous pouvez utiliser dans votre fonction Lambda.

**Note**  
 Le **texte en gras** est un paramètre obligatoire. 
 Dans certains cas, si l’élément parent existe dans la demande et qu’il n’est pas obligatoire/en gras, mais que les champs qu’il contient le sont, les champs sont obligatoires. 

 Exemple de formulaire de sondage simple : 

```
{
  "templateType": "AppleForm",
  "version": "1.0",
  "data": {
    "content": {
      "title": "Survey",
      "pages": [
        {
          "pageType": "DatePicker",
          "title": "Date you visited",
          "subtitle": "When did you last visit?",
          "minDate": "2024-01-02"
        },
        {
          "pageType": "ListPicker",
          "title": "Rating",
          "subtitle": "How do you rate the experience?",
          "items": [
            {
              "title": "Good",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/good.jpg"
            },
            {
              "title": "Okay",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/okay.jpg"
            },
            {
              "title": "Poor",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/poor.jpg"
            }
          ]
        },
        {
          "pageType": "ListPicker",
          "title": "Dine type",
          "subtitle": "Select all dine types that apply",
          "multiSelect": true,
          "items": [
            {
              "title": "Pickup"
            },
            {
              "title": "Dine-in"
            },
            {
              "title": "Delivery"
            }
          ]
        },
        {
          "pageType": "WheelPicker",
          "title": "Visits",
          "subtitle": "How often do you visit?",
          "items": [
            {
              "title": "Often"
            }
            {
              "title": "Sometimes"
            },
            {
              "title": "Rarely"
            }
          ]
        },
        {
          "pageType": "Input",
          "title": "Additional notes",
          "subtitle": "Anything else you'd like to mention about your visit?",
          "multiLine": true
        }
      ]
    }
  }
}
```

### Limites des formulaires Apple
<a name="apple-forms-limits"></a>

#### InteractiveMessage
<a name="apple-forms-limits-interactivemessage"></a>


| Champ  | Type  | Obligatoire  | Description/Remarques  | 
| --- | --- | --- | --- | 
| version | chaîne  | Oui  | Numéro de version. Valeur autorisée : 1.0  | 
| templateType  | TemplateType  | Oui  | Type de modèle de message interactif. Valeurs autorisées : [» ListPicker «," TimePicker «, « Panel », "QuickReply«, « Carousel », "ViewResource«," AppleForm«]  | 
| données | InteractiveMessageData  | Oui  | Données de message interactif  | 

#### InteractiveMessageData
<a name="apple-forms-limits-interactivemessagedata"></a>


| Champ  | Type  | Obligatoire  | Description/Remarques  | 
| --- | --- | --- | --- | 
| content  | InteractiveMessageContent  | Oui  | Contenu de message interactif principal  | 
| replyMessage  | ReplyMessage  | Non  | Configuration de l’affichage des messages après l’envoi de la réponse à un message interactif  | 

#### AppleFormContent
<a name="apple-forms-limits-appleformcontent"></a>


| Champ  | Type  | Obligatoire  | Description/Remarques  | 
| --- | --- | --- | --- | 
| title  | String  | Oui  | Titre de haut niveau du formulaire. Affiché dans la bulle des messages de réception et dans le rendu de la transcription Apple  | 
| subtitle  | String  | Non  | Utilisé comme sous-titre dans ReceivedMessage  | 
| imageType  | String  | Non  | Valeurs valides : « URL » utilisée pour l'image dans ReceivedMessage  | 
| imageData  | String  | Non  | URL de l'image S3 utilisée pour l'image dans ReceivedMessage  | 
| pages | AppleFormPage[]  | Oui  | Liste des pages du formulaire  | 
| showSummary  | Booléen  | Non  | Afficher ou non une page récapitulative des réponses à examiner avant la soumission Par défaut : False (aucune confirmation/summary page)  | 
| splashPage  | AppleFormSplashPage  | Non  | Page de démarrage initiale à afficher avant les pages réelles (par défaut : pas de page de démarrage)  | 

#### AppleFormSplashPage
<a name="apple-forms-limits-appleformsplashpage"></a>


| Champ  | Type  | Obligatoire  | Description/Remarques  | 
| --- | --- | --- | --- | 
| title  | String  | Oui  | Titre de la page de démarrage  | 
| subtitle  | String  | Non  | Sous-titre/corps de la page démarrage  | 
| imageType  | ImageType  | Non  | Présent lors de l’affichage de l’image dans la page de démarrage (valeur autorisée : « URL » ; par défaut : aucune image affichée)  | 
| imageData  | String  | Non  | Pour imageType="URL", il s’agit de la valeur d’URL Par défaut : aucune image affichée  | 
| buttonTitle  | String  | Oui  | Texte du bouton Continuer. Requis par Apple, texte par défaut dont la localisation n’est pas prise en charge  | 

#### AppleFormPage
<a name="apple-forms-limits-appleformpage"></a>
+  Modèle de base pour les pages de formulaires. Des types de pages spécifiques s’étendent à partir de ce modèle 


| Champ  | Type  | Obligatoire  | Description/Remarques  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Oui  | Enum pour le type de page. Valeurs autorisées : ["Input », "DatePicker«," WheelPicker «," ListPicker «]  | 
| title  | String  | Oui  | Titre de la page  | 
| subtitle  | String  | Oui  | Sous-titre de page. Utilisé dans la page de confirmation  | 

#### AppleFormDatePickerPage
<a name="apple-forms-limits-appleformdatapickerpage"></a>

 **AppleFormDatePickerPage**s'étend [AppleFormPage](#apple-forms-limits-appleformpage) 


| Champ  | Type  | Obligatoire  | Description/Remarques  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Oui  | Valeur : « DatePicker »  | 
| labelText  | String  | Non  | Texte affiché à côté de la date saisie. Voir des exemples de captures d’écran en annexe  | 
| helperText  | String  | Non  | Texte d’aide affiché sous la date saisie. Voir des exemples de captures d’écran dans l’annexe (par défaut : aucun texte d’assistance)  | 
| dateFormat  | String  | Non  | Format de date ISO 8601. Valeur par défaut : MM/dd/yyyy  | 
| startDate  | String  | Non  | Date initiale/date par défaut sélectionnée dans un format de date valide (par défaut : date actuelle pour l’utilisateur final lorsque le message est envoyé)  | 
| minDate  | String  | Non  | Date minimale autorisée à être sélectionnée dans un format de date valide (par défaut : aucune date minimale)  | 
| maxDate  | String  | Non  | Date maximale autorisée à être sélectionnée dans un format de date valide (par défaut : date actuelle pour l’utilisateur final lorsque le message est envoyé)  | 

#### AppleFormListPickerPage
<a name="apple-forms-limits-appleformlistpickerpage"></a>

 **AppleFormListPickerPage**s'étend [AppleFormPage](#apple-forms-limits-appleformpage) 


| Champ  | Type  | Obligatoire  | Description/Remarques  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Oui  | Valeur : « ListPicker »  | 
| multiSelect  | Booléen  | Non  | Permet de sélectionner plusieurs éléments (par défaut : faux (sélection unique))  | 
| items  | AppleFormListPickerPageItem[]  | Oui  | Liste des éléments de la page de liste  | 

#### AppleFormListPickerPageItem
<a name="apple-forms-limits-appleformlistpickerpageitem"></a>

 **AppleFormListPickerPageItem**s'étend [AppleFormPage](#apple-forms-limits-appleformpage) 


| Champ  | Type  | Obligatoire  | Description/Remarques  | 
| --- | --- | --- | --- | 
| title  | String  | Oui  | Texte d’affichage de l’élément  | 
| imageType  | ImageType  | Non  | Présent lors de l’affichage de l’image dans l’élément (valeur autorisée : « URL » ; par défaut : aucune image affichée)  | 
| imageData  | String  | Non  | Pour imageType="URL", il s’agit de la valeur d’URL Par défaut : aucune image affichée  | 

**Note**  
Modèle d'image similaire aux modèles de messages interactifs existants (ListPicker), sauf qu'`imageDescription`il n'est pas inclus, il est utilisé pour le texte alternatif de l'image dans les widgets de chat ou les discussions Web et ignoré pour les messages interactifs Apple.

#### AppleFormWheelPickerPage
<a name="apple-forms-limits-appleformwheelpickerpage"></a>

 **AppleFormWheelPickerPage**s'étend [AppleFormPage](#apple-forms-limits-appleformpage) 


| Champ  | Type  | Obligatoire  | Description/Remarques  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Oui  | Valeur : « WheelPicker »  | 
| items  | AppleFormWheelPickerPageItem[]  | Oui  | Liste d’éléments du sélecteur à molette  | 
| labelText  | String  | Non  | Texte affiché à côté de l’entrée. Voir des exemples de captures d’écran en annexe  | 

#### AppleFormWheelPickerPageItem
<a name="apple-forms-limits-appleformwheelpickerpageitem"></a>

 **AppleFormWheelPickerPageItem**s'étend [AppleFormPage](#apple-forms-limits-appleformpage) 


| Champ  | Type  | Obligatoire  | Description/Remarques  | 
| --- | --- | --- | --- | 
| title  | String  | Oui  | Texte d’affichage de l’élément de sélection  | 

#### AppleFormInputPage
<a name="apple-forms-limits-appleforminputpage"></a>

 **AppleFormInputPage**s'étend [AppleFormPage](#apple-forms-limits-appleformpage) 


| Champ  | Type  | Obligatoire  | Description/Remarques  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Oui  | Valeur : Input  | 
| labelText  | String  | Non  | Texte affiché à côté de la zone de saisie. Voir des exemples de captures d’écran en annexe  | 
| helperText  | String  | Non  | Texte supplémentaire affiché sous la zone de saisie (par défaut : aucun texte d’assistance)  | 
| placeholderText  | String  | Non  | Texte de remplacement à afficher initialement en l’absence d’entrée (par défaut : « (Facultatif) » ou « (Obligatoire) »)  | 
| prefixText  | String  | Non  | Préfixe le texte à afficher à côté de l’entrée. Par exemple : \$1 lorsque l’entrée est une valeur monétaire (par défaut : aucun texte de préfixe)  | 
| requis | Booléen  | Non  | Indique si l’utilisateur final doit fournir une entrée (par défaut : faux)  | 
| multiLine  | Booléen  | Non  | Indique si une entrée multiligne peut être fournie (par défaut : faux (ligne unique))  | 
| maxCharCount  | Number  | Non  | Nombre maximal de caractères en entrée. Appliqué sur le client Apple (par défaut : aucune limite)  | 
| regex | String  | Non  | Chaîne d’expression régulière (regex) pour placer des contraintes sur l’entrée fournie (par défaut : aucune contrainte regex)  | 
| keyboardType  | String  | Non  | Détermine le type de clavier affiché lorsque l’utilisateur final fournit une entrée (valeurs autorisées : identiques à celles d’Apple). Voir les [documents](https://register.apple.com/resources/messages/msp-rest-api/type-interactive#form-message). Voici certaines des valeurs autorisées : numberPad, phonePad, emailAddress  | 
| textContentType  | String  | Non  | Facilite le remplissage automatique des suggestions sur les appareils Apple.  Valeurs autorisées : identiques à celles d’Apple. Voir les [documents](https://register.apple.com/resources/messages/msp-rest-api/type-interactive#form-message). Certaines des valeurs autorisées : TelephoneNumber, FamilyName fullStreetAddress  | 

## Modèle Apple Pay
<a name="apple-pay-template"></a>

**Note**  
Ce modèle s’applique uniquement aux flux de contacts d’Apple Messages for Business.

 Utilisez le modèle Apple Pay pour proposer aux clients un moyen simple et sécurisé d’acheter des biens et des services par le biais d’Apple Messages for Business avec Apple Pay.

 Le code suivant est le modèle Apple Pay que vous pouvez utiliser dans votre fonction Lambda :

**Note**  
 Le **texte en gras** est un paramètre obligatoire. 
 Dans certains cas, si l’élément parent existe dans la demande et qu’il n’est pas obligatoire/en gras, mais que les champs qu’il contient le sont, les champs sont obligatoires. 

```
{
  "templateType":"ApplePay",
  "version":"1.0",
  "data":{
    "content":{
      "title":"Halibut",
      "subtitle":"$63.99 at Sam's Fish",
      "imageType":"URL",
      "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fish.jpg",
      "payment": {
        "endpoints": {
          "orderTrackingUrl": "https://sams.example.com/orderTrackingUrl/",
          "paymentGatewayUrl": "https://sams.example.com/paymentGateway/",
          "paymentMethodUpdateUrl": "https://sams.example.com/paymentMethodUpdate/",
          "shippingContactUpdateUrl": "https://sams.example.com/shippingContactUpdate/",
          "shippingMethodUpdateUrl": "https://sams.example.com/shippingMethodUpdate/",
          "fallbackUrl": "https://sams.example.com/paymentGateway/"
        },
        "merchantSession": {
          "epochTimestamp": 1525730094057,
          "expiresAt": 1525730094057,
          "merchantSessionIdentifier": "PSH40080EF4D6.........9NOE9FD",
          "nonce": "fe72cd0f",
          "merchantIdentifier": "merchant.com.sams.fish",
          "displayName": "Sam's Fish",
          "signature": "308006092a8.......09F0W8EGH00",
          "initiative": "messaging",
          "initiativeContext": "https://sams.example.com/paymentGateway/",
          "signedFields": [
            "merchantIdentifier",
            "merchantSessionIdentifier",
            "initiative",
            "initiativeContext",
            "displayName",
            "nonce"
          ],
        },
        "paymentRequest": {
          "applePay": {
            "merchantCapabilities": [
              "supports3DS",
              "supportsDebit",
              "supportsCredit"
            ],
            "merchantIdentifier": "merchant.com.sams.fish",
            "supportedNetworks": [
              "amex",
              "visa",
              "discover",
              "masterCard"
            ]
          },
          "countryCode": "US",
          "currencyCode": "USD",
          "lineItems": [
            {
              "amount": "59.00",
              "label": "Halibut",
              "type": "final"
            },
            {
              "amount": "4.99",
              "label": "Shipping",
              "type": "final"
            }
          ],
          "requiredBillingContactFields": [
            "postalAddress"
          ],
          "requiredShippingContactFields": [
            "postalAddress",
            "phone",
            "email",
            "name"
          ],
          "shippingMethods": [
            {
              "amount": "0.00",
              "detail": "Available within an hour",
              "identifier": "in_store_pickup",
              "label": "In-Store Pickup"
            },
            {
              "amount": "4.99",
              "detail": "5-8 Business Days",
              "identifier": "flat_rate_shipping_id_2",
              "label": "UPS Ground"
            },
            {
              "amount": "29.99",
              "detail": "1-3 Business Days",
              "identifier": "flat_rate_shipping_id_1",
              "label": "FedEx Priority Mail"
            }
          ],
          "total": {
            "amount": "63.99",
            "label": "Sam's Fish",
            "type": "final"
          },
          "supportedCountries" : [
            "US",
            "CA",
            "UK",
            "JP",
            "CN"
          ]
        }
      },
      "requestIdentifier" : "6b2ca008-1388-4261-a9df-fe04cd1c23a9"
    }
  }
}
```

### Limites d’Apple Pay
<a name="apple-pay-limits"></a>


| Champ parent  | Champ  | Obligatoire  | Nombre minimal de caractères  | Nombre maximal de caractères  | Autre exigence  | 
| --- | --- | --- | --- | --- | --- | 
|  | templateType  | Oui  |  |  | Type de modèle valide  | 
|  | données | Oui  |  |  |  | 
|  | version | Oui  |  |  | Doit être « 1.0 »  | 
| données | content  | Oui  |  |  |  | 
| content  | title  | Oui  | 1  | 512  | Titre de la bulle du message reçu  | 
|  | subtitle  | Non  | 0  | 512  | Sous-titre à afficher sous le titre de la bulle du message reçu  | 
|  | imageData  | Non  | 0  | 200  | Il doit s’agir d’une URL valide accessible publiquement  | 
|  | imageType  | Non  | 0  | 50  | Doit être « URL »  | 
|  | paiement | Oui  |  |  | Dictionnaire contenant les champs qui donnent les spécificités d’une demande Apple Pay.  | 
|  | requestIdentifier  | Non  |  |  | Chaîne, identifiant de la ApplePay demande. Si cet identifiant n’est pas spécifié, un UUID sera généré et utilisé.  | 
| paiement | points de terminaison | Oui  |  |  | Dictionnaire contenant les points de terminaison pour le traitement des paiements, les mises à jour des contacts et le suivi des commandes.  | 
|  | merchantSession  | Oui  |  |  | Dictionnaire contenant la session de paiement fournie par Apple Pay après la demande d’une nouvelle session de paiement.  | 
|  | paymentRequest  | Oui  |  |  | Dictionnaire contenant des informations sur la demande de paiement  | 
| points de terminaison | paymentGatewayUrl  | Oui  |  |  | String. Appelée par Apple Pay pour traiter le paiement par l’intermédiaire du fournisseur de services de paiement. Cette URL doit correspondre à l’URL figurant dans le champ initiativeContext de la session du commerçant  | 
|  | fallbackUrl  | Non  |  |  | URL qui s’ouvre dans un navigateur Web afin que le client puisse finaliser l’achat si son appareil n’est pas en mesure d’effectuer des paiements avec Apple Pay. Si spécifié, FallbackURL doit correspondre. paymentGatewayUrl  | 
|  | orderTrackingUrl  | Non  |  |  | Appelée par Messages for Business après avoir terminé la commande ; vous permet de mettre à jour les informations de commande dans votre système.  | 
|  | paymentMethodUpdateURL | Non  |  |  | Appelée par Apple Pay lorsque le client change de mode de paiement. Si vous n’implémentez pas ce point de terminaison et que vous incluez cette clé dans le dictionnaire, le client voit un message d’erreur.  | 
|  | shippingContactUpdateURL | Non  |  |  | Appelée par Apple Pay lorsque le client modifie les informations relatives à son adresse de livraison. Si vous n’implémentez pas ce point de terminaison et que vous incluez cette clé dans le dictionnaire, le client voit un message d’erreur  | 
|  | shippingMethodUpdateURL | Non  |  |  | Appelée par Apple Pay lorsque le client change de mode de livraison. Si vous n’implémentez pas ce point de terminaison et que vous incluez cette clé dans le dictionnaire, le client voit un message d’erreur.  | 
| merchantSession  | displayName  | Oui  | 1  | 64  | String. Nom d’affichage canonique de votre boutique. Ne localisez pas ce nom.  | 
|  | initiative  | Oui  |  |  | String. Il doit s’agir d’un « message »  | 
|  | initiativeContext  | Oui  |  |  | String. Transmettez l’URL de votre passerelle de paiement.  | 
|  | merchantIdentifier  | Oui  |  |  | String. Identifiant unique représentant un commerçant pour Apple Pay.  | 
|  | merchantSessionIdentifier  | Oui  |  |  | String. Identifiant unique qui représente la session d’un commerçant pour Apple Pay.  | 
|  | epochTimestamp  | Oui  |  |  | Chaîne. Représentation de l’heure en nombre de secondes écoulées depuis 00 h 00 UTC, jeudi 1er janvier 1970.  | 
|  | expiresAt  | Oui  |  |  | String. Représentation de l’heure d’expiration en nombre de secondes écoulées depuis 00 h 00 UTC, le jeudi 1er janvier 1970.  | 
|  | nonce  | Non  |  |  | Binaire. Chaîne à usage unique qui vérifie l’intégrité de l’interaction.  | 
|  | signature  | Non  |  |  | Binaire. Hash de la clé publique utilisée pour signer les interactions.  | 
|  | signedFields  | Non  |  |  | La liste des chaînes contient les propriétés signées.  | 
| paymentRequest  | applePay  | Oui  |  |  | Dictionnaire qui décrit la configuration d’Apple Pay.  | 
|  | countryCode  | Oui  |  |  | String. Code de pays ISO 3166 à deux lettres du commerçant.  | 
|  | currencyCode  | Oui  |  |  | String. Code de devise ISO 4217 à trois lettres pour le paiement.  | 
|  | lineItems  | Non  |  |  | Série de postes expliquant les paiements et les frais supplémentaires. Les postes ne sont pas obligatoires. Toutefois, le tableau ne peut pas être vide si la clé lineItems est présente.  | 
|  | total  | Oui  |  |  | Dictionnaire contenant le total. Le montant total doit être supérieur à zéro pour passer la validation.  | 
|  | requiredBillingContactChamps | Non  |  |  | Liste des informations de facturation requises par le client pour traiter la transaction. Pour la liste des chaînes possibles, consultez la section [requiredBillingContactChamps](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/2216120-requiredbillingcontactfields). Demandez uniquement les champs de contact nécessaires pour traiter le paiement. Demander de remplir des champs superflus complique la transaction, ce qui peut augmenter les chances que le client annule la demande de paiement.  | 
|  | requiredShippingContactChamps | Non  |  |  | Liste des informations de livraison ou des coordonnées requises par le client pour exécuter la commande. Par exemple, si vous avez besoin de l’adresse e-mail ou du numéro de téléphone du client, incluez cette clé. Pour la liste des chaînes possibles, consultez la section [requiredShippingContactChamps](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/2216121-requiredshippingcontactfields).  | 
|  | shippingMethods  | Non  |  |  | Tableau répertoriant les méthodes de livraison disponibles. Le bulletin de paiement Apple Pay indique le premier mode de livraison du tableau comme mode de livraison par défaut.  | 
|  | supportedCountries  | Non  |  |  | Tableau des pays à prend en charge. Répertoriez chaque pays avec son code ISO 3166.  | 
| applePay  | merchantIdentifier  | Oui  |  |  | Identifiant unique représentant un commerçant pour Apple Pay.  | 
|  | merchantCapabilities  | Oui  |  |  | Tableau de fonctionnalités de paiement prises en charge par le commerçant. Le tableau doit inclure supports3DS et peut éventuellement inclure supportsCredit, supportsDebit et supportsEMV.  | 
|  | supportedNetworks  | Oui  |  |  | Tableau de réseaux de paiement pris en charge par le commerçant. Ce tableau doit inclure une ou plusieurs des valeurs suivantes : amex, discover, jcb, masterCard, privateLabel ou visa  | 
| lineItem  | amount  | Oui  |  |  | Montant monétaire de l’article.  | 
|  | étiquette | Oui  |  |  | Description courte et localisée de l’article.  | 
|  | type | Non  |  |  | Valeur qui indique si l’article est final ou en attente.  | 
| total  | amount  | Oui  |  |  | Montant total du paiement.  | 
|  | étiquette | Oui  |  |  | Description courte et localisée du paiement.  | 
|  | type | Non  |  |  | Valeur qui indique si le paiement est final ou en attente.  | 
| shippingMethods  | amount  | Oui  |  |  | String. Coût non négatif associé à ce mode de livraison.  | 
|  | detail  | Oui  |  |  | String. Description supplémentaire du mode de livraison.  | 
|  | étiquette | Oui  |  |  | String. Brève description du mode de livraison.  | 
|  | identifier  | Oui  |  |  | String. Valeur définie par le client utilisée pour identifier ce mode de livraison.  | 

## Modèle d’application iMessage
<a name="imessage-app-template"></a>

**Note**  
Ce modèle s’applique uniquement aux flux de contacts d’Apple Messages for Business. 

 Utilisez le modèle d’applications iMessage pour présenter au client votre application iMessage personnalisée. 

 Le code suivant est un exemple de modèle d’application iMessage que vous pouvez utiliser dans votre fonction Lambda.  

```
{
   templateType: AppleCustomInteractiveMessage,
   version: "1.0",
   data: {
       content: {
           appIconUrl: "https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg",
           appId: "123456789",
           appName: "Package Delivery",
           title: "Bubble Title CIM",
           bid: "com.apple.messages.MSMessageExtensionBalloonPlugin:{team-id}:{ext-bundle-id}",
           dataUrl: "?deliveryDate=26-01-2024&destinationName=Home&street=1infiniteloop&state=CA&city=Cupertino&country=USA&postalCode=12345&latitude=37.331686&longitude=-122.030656&isMyLocation=false&isFinalDestination=true",
           subtitle: "Bubble package",
       },
       replyMessage: {
           title: "Custom reply message title",
           subtitle: "Custom reply message subtitle",
           imageType: "URL",
           imageData: "https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",
       }
   }
}
```

### Limites de l’application iMessage
<a name="imessage-apps-limits"></a>


|  **Champ parent**  |  **Champ**  |  **Obligatoire**  |  **Type**  |  **Autres notes**  | 
| --- | --- | --- | --- | --- | 
|  |  templateType  | Oui  | TemplateType  | Type de modèle valide, « AppleCustomInteractiveMessage »  | 
|  |  data  | Oui  | InteractiveMessageData  | Contient les dictionnaires receivedMessage et content  | 
|  |  Version  | Oui  | chaîne  | Doit être « 1.0 »  | 
|  data  |  content  | Oui  | InteractiveMessageContent  | Contenu interactif de l’application iMessage  | 
|  |  Message de réponse  | Oui  | ReplyMessage  | Configuration de l’affichage des messages après l’envoi de la réponse à un message interactif  | 
|  content  |  appIconUrl  | Oui  | chaîne  | URL AWS S3  | 
|  |  APpiD  | Oui  | chaîne  | ID de IMessage l'application professionnelle  | 
|  |  Nom de l'application  | Oui  | chaîne  | Nom de IMessage l'application professionnelle  | 
|  |  bid  | Oui  | chaîne  | Offre IMessage pour applications professionnelles. Modèle : com.apple.messages. MSMessageExtensionBalloonPlugin: \$1identifiant d'équipe\$1 : \$1\$1 ext-bundle-id  | 
|  |  dataUrl  | Oui  | chaîne  | Données transmises à l’application iMessage  | 
|  |  useLiveLayout  | Non  | boolean  | Vrai par défaut  | 
|  |  title  | Oui  | chaîne  | titre de la bulle de l’application iMessage  | 
|  |  sous-titre  | Non  | chaîne  | sous-titre de la bulle de l’application iMessage  | 
|  Message de réponse  |  title  | Non  | chaîne  |  | 
|  |  sous-titre  | Non  | chaîne  |  | 
|  |  Type d'image  | Non  | chaîne  | Il doit s’agir d’une URL valide accessible publiquement  | 
|  |  Données d'image  | Non  | chaîne  | Ne peut pas exister sans image  | 

## WhatsApp liste
<a name="whatsapp-list"></a>

**Note**  
Vous n'utilisez ce modèle que pour les flux WhatsApp de messagerie. Pour plus d'informations sur l'intégration WhatsApp à Amazon Connect[Configuration de la messagerie WhatsApp professionnelle](whatsapp-integration.md), consultez la section précédente de ce guide.

Vous utilisez le modèle de WhatsApp liste dans WhatsApp les chats pour fournir aux clients une liste d'options.

L’exemple suivant montre une liste d’options pour un service bancaire.

```
{
  "templateType": "WhatsAppInteractiveList",
  "version": "1.0",
  "data": {
    "content": {
      "title": "Which account do you need help with?",
      "body": {
        "text": "Which account do you need help with?"
      },
      "action": {
        "button": "Options",
        "sections": [
          {
            "title": "Your accounts",
            "rows": [
              {
                "id": "11111111",
                "title": "11111111",
                "description": "PERSONAL CHECKING"
              },
              {
                "id": "22223333",
                "title": "22223333",
                "description": "PERSONAL SAVINGS"
              }
            ]
          },
          {
            "title": "Other",
            "rows": [
              {
                "id": "other",
                "title": "I can't find my account"
              }
            ]
          }
        ]
      }
    }
  }
}
```

L’image suivante montre un écran typique avant et après l’ouverture d’une liste par un client.

![\[Image présentant une liste d’options.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/whatsapp-options-results.png)


### WhatsApp limites d'options
<a name="whatsapp-options-limits"></a>


| Champ parent | Champ | Obligatoire | Longueur minimale  | Longueur maximale  | Autre exigence | 
| --- | --- | --- | --- | --- | --- | 
|  | templateType | Oui |  |  | Doit être « WhatsAppInteractiveList » | 
|  | data | Oui |  |  |  | 
|  | Version | Oui |  |  | Doit être « 1.0 » | 
| data | content | Oui |  |  |  | 
| content | title | Oui |  |  |  | 
|  | en-tête | Non |  |  |  | 
|  | body | Oui  |  |  |  | 
|  | pied de page | Non |  |  |  | 
|  | action | Oui |  |  |  | 
| en-tête |  type  | Oui  |  |  |  Doit être « text »  | 
|  |  texte  | Oui  | 1  |  60  |  | 
| body |  texte  | Oui  | 1 |  4096  |  | 
|  footer  |  texte  | Oui  | 1 |  60  |  | 
|  action  |  sections  | Oui  | 1 |  10  |  | 
|  |  bouton  | Oui  | 1 |  20  |  | 
|  section  |  title  | Oui  | 1 |  24  |  | 
|  |  rangées  | Oui  | 1 |  10  |  Maximum de 10 lignes dans toutes les sections  | 
|  ligne  |  id  | Oui | 1 | 200 | Doit être unique sur toutes les lignes | 
|  |  title  | Oui  | 1 | 24 |  | 
|  | description  | Non  | 1 |  72  |  | 

## WhatsApp bouton de réponse
<a name="whatsapp-reply-button"></a>

**Note**  
Vous n'utilisez ce modèle que pour les flux WhatsApp de messagerie.

Vous pouvez utiliser le modèle de bouton de WhatsApp réponse pour présenter une liste d'options en ligne aux clients.

```
{
  "templateType": "WhatsAppInteractiveReplyButton",
  "version": "1.0",
  "data": {
    "content": {
      "title": "What would you like to do?",
      "body": {
        "text": "What would you like to do?"
      },
      "action": {
        "buttons": [
          {
            "type": "reply",
            "reply": {
              "id": "agent",
              "title": "Continue to agent"
            }
          },
          {
            "type": "reply",
            "reply": {
              "id": "end_chat",
              "title": "End chat"
            }
          }
        ]
      }
    }
  }
}
```

L’image suivante illustre une expérience utilisateur type.

![\[Image d’une réponse lors d’une session de chat.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/whatsapp-reply-template.png)


### WhatsApp limites du bouton de réponse
<a name="whatsapp-reply-limits"></a>

Le modèle de WhatsApp réponse présente les limites suivantes.


| Champ parent | Champ | Obligatoire | Longueur minimale | Longueur maximale  | Autre exigence | 
| --- | --- | --- | --- | --- | --- | 
|  | templateType  | Oui |  |  | Doit être « WhatsAppInteractiveReplyButton »  | 
|  | data  | Oui |  |  |  | 
|  | Version  | Oui |  |  | Doit être « 1.0 »  | 
|  data  | content | Oui |  |  |  | 
|  content  | title  | Oui |  |  |  | 
|  | en-tête | Non |  |  |  | 
|  | body | Oui |  |  |  | 
|  | footer  | Non |  |  |  | 
|  | action  | Oui |  |  |  | 
| en-tête  | type  | Oui |  |  | Valeurs valides : « text », « document », « image », « video »  | 
|  | texte | Non | 1 | 60  |  | 
|  | image  | Non |  |  |  | 
|  | vidéo | Non |  |  |  | 
|  | document | Non |  |  |  | 
| image  | lien  | Oui |  |  | Doit être une URL multimédia accessible au public commençant par https/http  | 
| vidéo | lien  | Oui |  |  | Doit être une URL multimédia accessible au public commençant par https/http  | 
| document | lien  | Oui |  |  | Doit être une URL multimédia accessible au public commençant par https/http  | 
| body  | texte  | Oui | 1 | 1 024  |  | 
| footer  | texte  | Oui | 1 | 60  |  | 
| action  | boutons  | Oui | 1 | 3  |  | 
| bouton  | type  | Oui |  |  | Doit être « reply »  | 
|  | reply.id | Oui | 1 | 256  | Doit être unique pour tous les boutons  | 
|  | reply.title  | Oui | 1 | 20  |  | 

## Mise en forme enrichie des titres et sous-titres
<a name="rich-link-formatting"></a>

Vous pouvez ajouter une mise en forme enrichie aux titres et aux sous-titres de vos messages de chat. Par exemple, vous pouvez ajouter des liens, une mise en italique, une mise en gras, des listes numérotées et des listes à puces. Vous pouvez utiliser [Markdown]( https://commonmark.org/help/) pour mettre en forme votre texte. 

L’illustration suivante d’une boîte de chat montre un exemple de sélecteur de liste avec une mise en forme enrichie dans le titre et le sous-titre.
+ Le titre **Comment pouvons-nous vous aider ? aws.amazon.com** est en gras et contient un lien.
+ Le sous-titre contient du texte en italique et en gras, une liste à puces et une liste numérotée. Il affiche également un lien brut, un lien texte et un exemple de code.
+ La partie inférieure de la boîte de chat affiche trois éléments de sélecteur de liste.

![\[Boîte de chat, titre avec un lien, sous-titre avec des listes et des liens.\]](http://docs.aws.amazon.com/fr_fr/connect/latest/adminguide/images/rich-link-formatting-example1a.png)


### Comment mettre en forme du texte avec Markdown
<a name="markdown-formatting-text"></a>

Vous pouvez écrire les chaînes de titre et de sous-titre dans un format multiligne ou sur une seule ligne avec des caractères ``\r\n`` de saut de ligne.
+ **Format multiligne** : l’exemple de code suivant montre comment créer des listes en Markdown dans un format multiligne.

  ```
  const MultiLinePickerSubtitle = `This is some *emphasized text* and some **strongly emphasized text**
  
  This is a bulleted list (multiline):
  * item 1
  * item 2
  * item 3
  
  This is a numbered list:
  1. item 1
  2. item 2
  3. item 3
  
  Questions? Visit https://plainlink.com/faq
  
  [This is a link](https://aws.amazon.com)
  
  This is \`\`
  `
  
  const PickerTemplate = {
      templateType: "ListPicker|Panel",
      version: "1.0",
      data: {
          content: {
              title: "How can we help?",
              subtitle: MultiLinePickerSubtitle,
              elements: [ /* ... */ ]
          }
      }
  }
  ```
+ **Format à une seule ligne** : l’exemple suivant montre comment créer un sous-titre sur une seule ligne en utilisant des caractères ``\r\n`` de saut de ligne. 

  ```
  const SingleLinePickerSubtitle = "This is some *emphasized text* and some **strongly emphasized text**\r\nThis is a bulleted list:\n* item 1\n* item 2\n* item 3\n\nThis is a numbered list:\n1. item 1\n2. item 2\n3. item 3\n\nQuestions? Visit https://plainlink.com/faq\r\n[This is a link](https://aws.amazon.com)\r\nThis is `<code/>`";
  
  const PickerTemplate = {
      templateType: "ListPicker|Panel",
      version: "1.0",
      data: {
          content: {
              title: "How can we help?",
              subtitle: SingleLinePickerSubtitle,
              elements: [ /* ... */ ]
          }
      }
  }
  ```

L’exemple suivant montre comment mettre en forme du texte en italique et en gras avec Markdown :

`This is some *emphasized text* and some **strongly emphasized text**`

L’exemple suivant montre comment mettre en forme du texte sous forme de code avec Markdown :

`This is `<code />``

### Comment mettre en forme des liens avec Markdown
<a name="markdown-formatting-links"></a>

Pour créer un lien, utilisez la syntaxe suivante :

 `[aws](https://aws.amazon.com)`

Les exemples suivants montrent deux manières d’ajouter des liens avec Markdown :

`Questions? Visit https://plainlink.com/faq `

`[This is a link](https://aws.amazon.com)`

**Note**  
Pour les sélecteurs de listes, le champ `targetForLinks` peut être ajouté en tant que champ enfant à `content` si vous souhaitez avoir un contrôle précis sur l’endroit où les liens sont ouverts. Le widget de communication ouvre les liens dans un nouvel onglet du navigateur par défaut. Pour plus d’informations, consultez [Modèle de sélecteur de liste](#list-picker).