> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Envoyer des messages de vérification, lien magique, OTP et double opt-in

> Exemples de messages de vérification par e-mail et SMS utilisant OneSignal, y compris les mots de passe à usage unique, les liens magiques et les flux de double opt-in avec des modèles et des exemples d'API.

Que vous ayez besoin d'authentification de compte, d'enregistrement de nouveaux utilisateurs/mots de passe ou de confirmation d'une transaction, vous avez parfois juste besoin d'envoyer un mot de passe à usage unique, un lien magique ou une URL d'enregistrement à quelqu'un. La vérification par e-mail est un bon exemple et un moyen d'éviter les adresses e-mail fausses ou inactives. Suivre ce guide aidera à s'assurer que vos utilisateurs peuvent réellement recevoir les e-mails que vous envoyez tout en augmentant la réputation de votre expéditeur et la délivrabilité.

## Exigences

* Un serveur pour générer et envoyer l'OTP ou le code de confirmation.

## Envoi de `custom_data` via l'API

Notre [API Create message](/reference/create-message) a la propriété `custom_data` que vous pouvez utiliser pour transmettre des données de votre serveur dans le message.

Selon la façon dont vous générez le code de confirmation, le lien magique ou l'URL personnalisée, une fois que vous le faites, vous pouvez le transmettre dans l'objet `custom_data` lors de l'envoi d'un message à vos utilisateurs. Par exemple :

<CodeGroup>
  ```Text JSON theme={null}
  "custom_data": {
      "user": {
          "first_name": "George"
      },
      "verify": {
          "URL" : "https://yourdomain.com/users/confirm?confirmation_token=OS4EVA",
          "otp" : "OS4EVA"
      }
  }
  ```
</CodeGroup>

## Modèle d'e-mail de vérification

Cet exemple de modèle d'e-mail démontrera comment afficher le nom de l'utilisateur, un code à usage unique et un bouton avec un lien pour confirmer leur adresse e-mail.

<Frame caption="Verification email example">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e653d20-Screenshot_2023-08-28_at_3.07.09_PM.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=8633ab043badb9bf58acb90ef326052c" alt="" width="649" height="729" data-path="images/docs/e653d20-Screenshot_2023-08-28_at_3.07.09_PM.png" />
</Frame>

### Configuration du modèle d'e-mail

Naviguez vers **Messages > Templates > New Email Template** et utilisez l'**éditeur Drag & Drop**.

Créez 1 ligne et glissez les blocs suivants :

* Bloc **Title**
* Bloc **Paragraph**
* Bloc **Button**

<Frame caption="Drag and Drop editor example">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/eaf02d3-Screenshot_2023-08-28_at_2.46.21_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=bebf50444f6d7733961279be58712871" alt="" width="859" height="209" data-path="images/docs/eaf02d3-Screenshot_2023-08-28_at_2.46.21_PM.png" />
</Frame>

### Afficher le nom de l'utilisateur dans l'e-mail

Ceci est optionnel, mais vous pouvez rendre le message plus personnalisé en ajoutant le nom de l'utilisateur. Si vous n'avez peut-être pas le nom, vous pouvez l'omettre ou définir une valeur par défaut.

Dans le bloc **Title** de notre modèle, définissez votre copie comme souhaité. Exemple :

```
Salut {{ message.custom_data.user.first_name | default: "there" }},
```

### Afficher le mot de passe à usage unique dans l'e-mail

Cet exemple montre à la fois l'option d'envoyer un mot de passe à usage unique et un bouton avec URL de confirmation. Selon la façon dont vous souhaitez configurer, définissez votre copie dans le bloc **Paragraph** comme souhaité. Exemple :

```
Pour rejoindre l'équipe écureuil, vérifiez votre e-mail avec le mot de passe à usage unique :
{{message.custom_data.verify.otp}}

Ou utilisez le lien ci-dessous !
```

Vous pouvez utiliser plus d'un bloc **Paragraph** ou **Text** si vous voulez rendre le mot de passe plus grand ou distinct du texte. Dans cet exemple, nous l'avons mis en gras :

<Frame caption="OTP styled in bold within the email content">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f534afb-Screenshot_2023-08-28_at_3.05.35_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=9ebc5e94bdc7afad54e0a39ffd994f0f" alt="" width="566" height="199" data-path="images/docs/f534afb-Screenshot_2023-08-28_at_3.05.35_PM.png" />
</Frame>

### Ajouter une URL personnalisée dans l'e-mail

Il existe plusieurs façons de configurer l'URL de vérification. Dans cet exemple, nous transmettons l'URL complète avec le code de confirmation à `custom_data`.

Dans le bloc **Button** > Content Properties > Action > Url, définissez :

* `{{message.custom_data.verify.URL}}`

<Frame caption="Custom URL setting in Button block">
  <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/075aacf-Screenshot_2023-08-28_at_3.06.14_PM.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=34a80930c78a39d662dcf787677e565f" alt="" width="1185" height="624" data-path="images/docs/075aacf-Screenshot_2023-08-28_at_3.06.14_PM.png" />
</Frame>

## Mettre à jour le modèle d'e-mail et envoyer le message

Voir [Concevoir des e-mails avec Drag and Drop](./design-emails-with-drag-and-drop) pour plus de détails sur la personnalisation du modèle.

Exemple de requête API JSON :

<CodeGroup>
  ```Text JSON theme={null}
  {
      "include_email_tokens": [
          "Email Address"
      ],
      "app_id": "YOUR_APP_ID",
      "template_id": "YOUR_TEMPLATE_ID",
      "custom_data": {
          "user": {
              "first_name": "George"
          },
          "verify": {
              "URL" : "https://yourdomain.com/users/confirm?confirmation_token=OS4EVA",
              "otp" : "OS4EVA"
          }
      }
  }
  ```
</CodeGroup>

<Check>
  Lorsque vous êtes prêt, vous pouvez utiliser le `template_id` dans vos requêtes API [Create notification](/reference/create-message) avec la propriété `custom_data`.
</Check>

## Modèle SMS de vérification

Cet exemple de modèle SMS démontrera comment afficher un code à usage unique.

### Configuration du modèle SMS

Les SMS ne doivent être envoyés qu'avec une quantité limitée de données pour réduire les frais.

Naviguez vers **Messages > Templates > New SMS Template**.

Nommez le modèle quelque chose de mémorable comme `OTP Template`.

### Afficher l'OTP dans le modèle SMS

Dans le champ **Message** du modèle, ajoutez la copie suivante :

* `{{message.custom_data.verify.otp}} est votre code de vérification OneSignal.`

Nous recommandons de changer "OneSignal" pour le nom de votre application.

### Mettre à jour le modèle SMS et envoyer le message

Une fois que vous avez créé le modèle, vous pouvez générer vos mots de passe à usage unique et les transmettre à OneSignal en utilisant l'exemple de requête API JSON suivant :

<CodeGroup>
  ```Text JSON theme={null}
  {
      "include_phone_numbers": ["+19999999999"],
      "app_id": "YOUR_APP_ID",
      "template_id": "YOUR_TEMPLATE_ID",
      "custom_data": {
          "verify": {
              "otp" : "OS4EVA"
          }
      }
  }
  ```
</CodeGroup>

<Check>
  Lorsque vous êtes prêt, vous pouvez utiliser le `template_id` dans vos requêtes API [Create notification](/reference/create-message) avec la propriété `custom_data`.
</Check>

## Configuration du double opt-in par e-mail

Le double opt-in est un processus qui exige que les utilisateurs confirment leurs abonnements par e-mail pour améliorer la qualité de la liste d'e-mails et se conformer aux réglementations.

### 1. Ajout d'adresses e-mail à OneSignal

Lors de l'ajout d'adresses e-mail à OneSignal, elles sont automatiquement abonnées par défaut. Cependant, pour le double opt-in, abstenez-vous d'[ajouter des utilisateurs via notre API Create user](/reference/create-user) jusqu'à ce qu'ils cliquent sur le lien de vérification envoyé par e-mail.

### 2. Envoi d'e-mails de vérification

OneSignal vous permet d'envoyer des e-mails de vérification aux destinataires en utilisant notre [API Create notification](/reference/create-message). Le endpoint enverra l'e-mail et ajoutera l'adresse à OneSignal en tant qu'abonnement e-mail s'il n'existe pas déjà dans l'application.

#### Endpoint API : Envoi d'un e-mail de vérification

* Utilisez le [endpoint Create notification](/reference/create-message) pour créer et envoyer un [e-mail de vérification](./example-verification-magic-link-otp) au destinataire.

### 3. Gestion des réponses de vérification

Selon la réponse du destinataire au lien de vérification, suivez ces étapes :

**Pour les non-abonnés**

1. Ciblez le destinataire de l'e-mail avec une notification de données personnalisées via notre [API Create notification](/reference/create-message).
2. Si l'utilisateur clique sur le lien de vérification, utilisez le endpoint "[Create user](/reference/create-user)" de l'API pour les ajouter en tant qu'abonnement.

**Pour les abonnés existants**

1. Ciblez les abonnés existants séparément avec un e-mail de vérification.
2. Surveillez les réponses des destinataires au lien de vérification sur une période prédéfinie.

**S'ils ne répondent pas**

* [Mettez à jour l'abonnement](/reference/update-subscription) pour se désabonner ou [le supprimer complètement](/reference/delete-subscription) via l'API.

**S'ils cliquent sur le lien de vérification**

* Ne faites rien - ils sont déjà abonnés à OneSignal.

### En résumé, la configuration du double opt-in avec OneSignal implique les étapes suivantes :

#### Pour les adresses e-mail qui ne sont pas actuellement dans votre audience

1. Envoyez un e-mail de vérification au destinataire via l'API.
2. Si le destinataire clique sur le lien de vérification, utilisez le endpoint API "create user" pour créer l'abonnement.

#### Pour les adresses e-mail déjà dans OneSignal

1. Envoyez un e-mail de vérification aux abonnés existants via l'API.
2. Surveillez leur réponse au lien de vérification.
3. S'ils ne répondent pas dans un délai spécifié, mettez à jour leur abonnement pour se désabonner ou le supprimer.
4. S'ils ont cliqué sur le lien de vérification, ne prenez aucune mesure car ils sont déjà abonnés.

En suivant ces étapes, vous pouvez implémenter efficacement la fonctionnalité de double opt-in dans votre processus d'abonnement par e-mail tout en assurant la conformité et en maintenant une liste d'e-mails de haute qualité.

***
