> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-update-anonymous-sessons-ea.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurer un fournisseur téléphonique personnalisé

> Implémentez une Action de custom-phone-provider pour envoyer les messages SMS et vocaux d’Auth0 par l’intermédiaire de toute passerelle plutôt que du fournisseur téléphonique par défaut.

Vous pouvez configurer un fournisseur téléphonique personnalisé pour les messages SMS en utilisant un [numéro de téléphone comme identifiant d’utilisateur](/docs/fr-ca/authenticate/database-connections/activate-and-configure-attributes-for-flexible-identifiers). Un fournisseur téléphonique personnalisé utilise [Actions](/docs/fr-ca/customize/actions/actions-overview) pour acheminer les messages SMS vers le fournisseur téléphonique de votre choix lors de la vérification des numéros de téléphone et de la réinitialisation des mots de passe.

Vous souhaiterez peut-être configurer un fournisseur téléphonique personnalisé pour les cas d’utilisation suivants :

* Utiliser différents fournisseurs téléphoniques selon le contexte de l’application, notamment dans différentes régions géographiques où le coût des messages peut varier considérablement d’un fournisseur à l’autre.
* Utiliser différents fournisseurs téléphoniques selon le contexte de l’organisation, lorsque certains clients B2B exigent des fournisseurs précis.

Vous pouvez configurer un fournisseur téléphonique personnalisé dans l’<Tooltip tip="Auth0 Dashboard : le principal produit d’Auth0 pour configurer vos services." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip> ou avec la <Tooltip tip="Auth0 Dashboard : le principal produit d’Auth0 pour configurer vos services." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Management+API">Management API</Tooltip>.

<h2 id="configure-a-custom-phone-provider-with-the-auth0-dashboard-or-management-api">
  Configurer un fournisseur téléphonique personnalisé dans l’Auth0 Dashboard ou avec la Management API
</h2>

Pour configurer un fournisseur téléphonique personnalisé, vous devez utiliser le déclencheur d’action `custom-phone-provider`, qui n’est pas disponible dans l’éditeur d’Actions. Pour en savoir plus, consultez [Exemple d’Action custom-phone-provider](#example-custom-phone-provider-action).

<Tabs>
  <Tab title="Auth0 Dashboard">
    <h4 id="add-a-custom-phone-provider-with-the-auth0-dashboard">
      Ajouter un fournisseur téléphonique personnalisé dans l’Auth0 Dashboard
    </h4>

    Pour configurer un nouveau fournisseur téléphonique personnalisé dans l’Auth0 Dashboard :

    1. Accédez à [Branding > Phone Provider](https://manage.auth0.com/dashboard/#/phone/templates/phone/provider). Vous arriverez à la page Phone Message Provider. Par défaut, le fournisseur de téléphone Twilio est sélectionné.
    2. Sélectionnez l’option de fournisseur de téléphone **Custom** dans la section Phone Provider.
    3. Sélectionnez la **méthode de livraison :**

       1. Text : le code de vérification sera envoyé à vos utilisateurs par SMS.
       2. Voice : le code de vérification sera envoyé à vos utilisateurs par message vocal.
    4. Sous **Provider Configuration**, saisissez votre code Actions pour configurer un fournisseur téléphonique personnalisé :

       1. Consultez la documentation de votre fournisseur pour comprendre comment envoyer des messages à son API.
       2. Ajoutez les secrets requis pour vous authentifier auprès de l’API.
       3. (Facultatif) Vous pouvez modifier l’Action dans l’interface complète d’éditeur d’Actions en cliquant sur le bouton **Edit in Expanded Editor**. Après avoir modifié votre action dans éditeur d’Actions, cliquez sur **Save** puis sur **Deploy** dans cette interface. Cliquez sur le lien **Back to Phone Provider** en haut de la page d’éditeur d’Actions pour revenir à la page Phone Message Provider. Vous devrez sélectionner de nouveau l’option de fournisseur de téléphone **Custom** dans la section Phone Provider.
    5. Cliquez sur le bouton **Save** au bas de la page.

    Lorsque vous cliquez sur **Save**, l’Action est automatiquement enregistrée et déployée. Pour tester la configuration du fournisseur téléphonique personnalisé avant de l’utiliser dans un environnement de production, cliquez sur **Send Test Message**.

    <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
      Vous ne pouvez pas cliquer sur **Send Test Message** pour tester votre fournisseur téléphonique personnalisé tant que sa configuration n’a pas été enregistrée.
    </Callout>

    <h4 id="edit-a-custom-phone-provider-with-the-auth0-dashboard">
      Modifier un fournisseur téléphonique personnalisé dans l’Auth0 Dashboard
    </h4>

    Pour modifier un fournisseur téléphonique personnalisé existant dans l’Auth0 Dashboard :

    1. Accédez à [Branding > Phone Provider](https://manage.auth0.com/dashboard/#/phone/templates/phone/provider). Vous arriverez à la page Phone Message Provider.
    2. Modifiez le code de l’Action sur la page Phone Message Provider au besoin.

       1. (Facultatif) Vous pouvez modifier l’Action dans l’interface complète d’éditeur d’Actions en cliquant sur le bouton **Edit in Expanded Editor**. Après avoir modifié votre Action dans éditeur d’Actions, cliquez sur **Save** puis sur **Deploy** dans cette interface. Cliquez ensuite sur le lien **Back to Phone Provider** en haut de la page d’éditeur d’Actions.
    3. Cliquez sur le bouton **Save** au bas de la page.

    Lorsque vous cliquez sur **Save**, l’Action est automatiquement enregistrée et déployée. Pour tester la configuration du fournisseur téléphonique personnalisé avant de l’utiliser dans un environnement de production, cliquez sur **Send Test Message**.
  </Tab>

  <Tab title="Management API">
    <h4 id="add-a-custom-phone-provider-with-the-management-api">
      Ajouter un fournisseur téléphonique personnalisé avec la Management API
    </h4>

    Vous pouvez aussi configurer un fournisseur téléphonique personnalisé à l’aide de la Management API. Il s’agit d’un processus en plusieurs étapes :

    1. Créez une [Action](https://auth0.com/docs/api/management/v2/actions/post-action) et définissez `supported_triggers.id` sur `custom-phone-provider`.

       1. Consultez la documentation de votre fournisseur pour comprendre comment envoyer des messages à son API.
       2. Ajoutez les secrets requis pour vous authentifier auprès de l’API.
    2. [Déployez](https://auth0.com/docs/api/management/v2/actions/post-deploy-action) l’action.
    3. Définissez le [phone provider](https://auth0.com/docs/api/management/v2/branding/create-phone-provider) sur `custom`.

    <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
      L’Action que vous créez avec le trigger `custom-phone-provider` n’apparaîtra pas dans la bibliothèque Actions.
    </Callout>

    <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
      Si aucune Action n’est déployée et que vous essayez de configurer un fournisseur `custom`, Auth0 renverra une erreur avec `\"errorCode\":\"custom_email_provider_deployed_action_not_found\"`.
    </Callout>

    <h4 id="edit-a-custom-phone-provider-with-the-management-api">
      Modifier un fournisseur téléphonique personnalisé avec la Management API
    </h4>

    Vous pouvez aussi modifier un fournisseur téléphonique personnalisé à l’aide de la Management API.

    1. (Facultatif) Si vous ne connaissez pas l’Action ID précis, vous pouvez [obtenir la liste des actions](https://auth0.com/docs/api/management/v2/actions/get-actions) au moyen de la Management API. La réponse comprendra un objet Actions. L’Action utilisée pour le fournisseur téléphonique personnalisé peut être identifiée par `supported_triggers.id`, qui doit être défini sur `custom-phone-provider`.
    2. [Mettez à jour l’Action](https://auth0.com/docs/api/management/v2/actions/patch-action) au besoin.
    3. [Déployez](https://auth0.com/docs/api/management/v2/actions/post-deploy-action) l’Action.
  </Tab>
</Tabs>

Un exemple de fournisseur téléphonique personnalisé que vous pouvez configurer est [Twilio Verify](https://www.twilio.com/docs/verify). Pour en savoir plus, consultez [Configurer un fournisseur téléphonique personnalisé avec Twilio Verify](/docs/fr-ca/customize/phone-messages/configure-phone-messaging-providers/configure-a-custom-phone-provider/configure-a-custom-phone-provider-with-twilio-verify).

<h2 id="example-custom-phone-provider-action">
  Exemple d’Action custom-phone-provider
</h2>

Le déclencheur `custom-phone-provider` est différent du déclencheur `send-phone-message`, qui ne doit pas servir à configurer un fournisseur téléphonique personnalisé. Pour en savoir plus, consultez ce qui suit :

* [Déclencheurs d’Action : objet API custom-phone-provider](/docs/fr-ca/customize/actions/reference/custom-phone-provider/custom-phone-provider-api-object)
* [Déclencheurs d’Action : objet d’événement custom-phone-provider](/docs/fr-ca/customize/actions/reference/custom-phone-provider/custom-phone-provider-event-object)

L’exemple de code suivant montre une Action `custom-phone-provider` qui offre la fonctionnalité d’une Action `send-phone-message` :

```javascript lines expandable theme={null}
/**
* Gestionnaire à exécuter lors de l’envoi d’une notification téléphonique*
* @param {Event} event - Renseignements sur l’utilisateur et le contexte dans lequel il se connecte.
* @param {CustomPhoneProviderAPI} api - Méthodes et utilitaires permettant de modifier le comportement de l’envoi d’une notification téléphonique.
*/
exports.onExecuteCustomPhoneProvider = async (event, api) => {

  if (event.notification.message_type.startsWith('otp')) {
    const body = {
      from: event.notification.from,
      action: event.notification.message_type === 'otp_verify' ? 'second-factor-authenticator' : 'enrollment',
      language: event.notification.locale,
      recipient: event.notification.recipient,
      message_type: event.notification.delivery_method,
      text: event.notification.as_text,
      code: event.notification.code,
    };

    const response = await fetch(event.secret.SERVICE_URL, {
      method: 'POST',
      headers: {
        authorization: `Bearer ${event.secrets.TOKEN}`,
      },
      body: JSON.stringify(body),
    });

    console.log(response);
  }

  return;
};
```
