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

# Intégration API pour Business

> Permettez à vos utilisateurs de connecter leurs comptes de réseaux sociaux

Une partie importante de l'intégration du Business Plan ou du [Launch Plan](/multiple-users/business-launch-overview) consiste à créer de nouveaux comptes de profil dans Ayrshare pour vos utilisateurs ou clients et à permettre à vos utilisateurs de lier leurs réseaux sociaux via la [page de liaison sociale](/multiple-users/user-integration).
Chacun de vos utilisateurs est configuré comme un profil utilisateur Ayrshare. Un profil utilisateur obtient une connexion à chaque réseau social.

<Note>
  **C'est la méthode standard pour intégrer les clients.** Vos utilisateurs connectent leurs propres
  comptes sociaux via la page de connexion via URL JWT en marque blanche décrite ci-dessous —
  ils ne se connectent jamais à Ayrshare et ne touchent jamais à votre tableau de bord. Le
  [tableau de bord](/multiple-users/manage-user-profiles#using-the-dashboard) est réservé à votre
  équipe interne (création et gestion des profils, tests et publication au nom d'un
  client).
</Note>

## Flux d'intégration

Pour intégrer Ayrshare dans votre application, vous devrez effectuer deux appels API :

1. Appelez le [point de terminaison Create Profiles](/apis/profiles/create-profile) pour créer un nouveau profil Ayrshare pour votre utilisateur.
2. Appelez le [point de terminaison Generate JWT](/apis/profiles/generate-jwt) pour obtenir une URL JWT.

L'URL JWT permet à votre utilisateur d'accéder en toute sécurité à la page de liaison sociale via l'authentification unique.
Vous afficherez cette page dans un nouvel onglet, une nouvelle fenêtre ou un contrôleur de vue pour permettre aux utilisateurs de connecter leurs comptes de réseaux sociaux.

<img src="https://mintcdn.com/ayrshare-docs/6mPR4kmwNEz1kMbX/images/multiple-users/linking-flow.webp?fit=max&auto=format&n=6mPR4kmwNEz1kMbX&q=85&s=5a6d2569f89cefbb3ce85837bbd2a9c3" alt="Workflow of connecting user profiles" width="3408" height="2069" data-path="images/multiple-users/linking-flow.webp" />

Une fois que votre utilisateur aura lié ses comptes de réseaux sociaux, vous pourrez publier des publications, obtenir des statistiques et gérer ses comptes via l'API.

<Note>
  Pour des raisons de sécurité, les plateformes de réseaux sociaux exigent que les utilisateurs s'authentifient via leur navigateur,
  ce qui ne peut pas être fait via des appels de serveur backend. Cela garantit que vos utilisateurs peuvent connecter en toute sécurité
  leurs comptes de réseaux sociaux en se connectant directement avec la page de connexion officielle de chaque plateforme.
  Les réseaux sociaux limitent l'authentification à leurs domaines partenaires autorisés uniquement,
  tels qu'Ayrshare. Ils bloquent également les iFrames, ce qui signifie que vous ne pouvez pas intégrer ou afficher la page de liaison
  Ayrshare dans un iFrame sur votre site.
</Note>

## Créer un profil utilisateur Ayrshare

### Créer un profil avec l'API

Lorsqu'un nouvel utilisateur s'inscrit dans votre système ou lorsque votre client clique sur le lien de réseau social dans votre application, créez un nouveau compte de profil Ayrshare en appelant le point de terminaison RESTful [/profiles/create-profile](/apis/profiles/create-profile), ou en utilisant les packages [NPM](/packages-guides/nodejs) ou [PyPi](/packages-guides/python).

<Card title="Profils" icon="code" href="/apis/profiles/overview" horizontal />

Cet appel renverra la *PROFILE KEY* de votre utilisateur. Cette clé sera utilisée pour publier au nom de votre utilisateur et pour gérer son compte. Vous devez la stocker dans un emplacement sécurisé.

### Créer un profil avec le tableau de bord (équipe interne)

Votre équipe interne peut également créer des User Profiles directement depuis le **Developer Dashboard** — utile pour les tests, l'intégration manuelle d'un profil ou une administration ponctuelle. Il s'agit d'un outil pour l'équipe, et non d'un flux orienté client : vos clients n'ont jamais accès au tableau de bord et sont toujours intégrés via la [page de connexion via URL JWT](#single-sign-on-with-jwt-authentication). Pour l'intégration en production, créez les profils par programmation avec l'[API](/apis/profiles/create-profile) afin que chaque nouvel utilisateur soit provisionné automatiquement.

<Card title="Gérer les User Profiles dans le tableau de bord" icon="link" href="/multiple-users/manage-user-profiles#using-the-dashboard" horizontal />

### Package d'intégration

Lors de votre onboarding en tant que client Business Plan ou Launch Plan, vous avez reçu un package d'intégration personnalisé avec des informations importantes de configuration et de domaine, des exemples d'appels de points de terminaison, et plus encore. Veuillez vérifier auprès de votre titulaire de compte principal pour ces informations.

Vous pouvez également récupérer ou réinitialiser le package d'intégration dans le tableau de bord dans la page API. Assurez-vous d'abord de passer à votre Primary Profile.

<img src="https://mintcdn.com/ayrshare-docs/6mPR4kmwNEz1kMbX/images/multiple-users/integration.webp?fit=max&auto=format&n=6mPR4kmwNEz1kMbX&q=85&s=ce8b1f0b733f87ad61d75f66029b84df" alt="Ayrshare Integration Package" width="900" height="200" data-path="images/multiple-users/integration.webp" />

## Authentification unique avec JWT

Ayrshare utilise un JWT (JSON Web Token) pour authentifier votre utilisateur et effectuer l'authentification unique sur la page de liaison sociale. Un JWT est un mécanisme sécurisé pour transmettre des informations numériquement signées et permet à Ayrshare de vous authentifier, vous et votre utilisateur.

### Générer un JWT

Votre application construira un JWT composé de votre API Key, de la Profile Key de l'utilisateur et de quelques autres paramètres. Celui-ci sera signé avec votre clé privée de 1024 bits.

<Note>
  Le token JWT est valide pendant 5 minutes. Veuillez consulter le [Max Pack](/additional/maxpack) pour un temps d'expiration
  plus long.
</Note>

Veuillez utiliser le [point de terminaison Generate JWT](/apis/profiles/generate-jwt) pour qu'Ayrshare crée le token et l'URL de liaison sociale. Ouvrez l'URL de liaison sociale dans un nouvel onglet ou une nouvelle fenêtre, permettant à vos utilisateurs de [lier facilement leurs réseaux sociaux](/multiple-users/user-integration).

<Note>
  L'URL JWT est la voie d'intégration recommandée pour chaque client. Vos utilisateurs s'authentifient
  directement avec chaque réseau social par eux-mêmes — vous ne collectez ni ne stockez jamais leurs identifiants
  sociaux. Si votre équipe a besoin de lier un compte manuellement pendant les tests, elle peut le faire depuis
  le tableau de bord, mais il s'agit d'une commodité interne et non de la façon dont les clients devraient être intégrés.
</Note>

### Marque blanche de la page Connect Accounts

Comme la page de connexion ouverte par l'URL JWT est la seule interface Ayrshare que vos utilisateurs voient, vous devez la personnaliser à votre marque. Ajoutez votre logo et vos en-têtes personnalisés, choisissez quels réseaux sociaux apparaissent, définissez la langue de la page et utilisez vos propres liens d'aide — et avec le [Max Pack](/additional/maxpack), appliquez un fichier CSS entièrement personnalisé, une favicon, un titre de page et un pied de page. Ces options sont configurées une seule fois par votre équipe depuis le Primary Profile et s'appliquent à chaque URL JWT que vous générez.

<Card title="Marque blanche de la page Connect Accounts" icon="palette" href="/multiple-users/manage-user-profiles#white-label-the-connect-accounts-page" horizontal>
  Découvrez toutes les options de branding et de personnalisation pour la page de connexion.
</Card>

### Déconnexion automatique d'une session de profil

<Warning>
  **Comment se déconnecter automatiquement de la session de profil active**

  Si un profil est déjà connecté, envoyer le JWT d'un profil différent ne changera pas de profil. Cela est fait pour rendre l'expérience plus rapide pour les utilisateurs déjà connectés. Lors des tests, déconnectez-vous du profil actuel avant d'effectuer un appel SSO avec un profil différent. Les profils connectés restent connectés jusqu'à ce qu'ils soient explicitement déconnectés.

  Cependant, si vous avez un besoin métier, tel que vos utilisateurs ayant plusieurs profils auxquels ils accèdent souvent, ou si vous souhaitez tester, incluez le paramètre d'URL dans l'URL SSO :

  `logout=true`

  Par exemple :

  `https://profile.ayrshare.com?domain=[domain id]&jwt=[jwt token]&logout=true`

  Cela force une déconnexion puis connecte le nouveau profil.

  Veuillez également consulter le [point de terminaison Generate JWT](/apis/profiles/generate-jwt) pour ajouter automatiquement la déconnexion.

  **Attention** : L'utilisation de la déconnexion automatique entraîne un délai de performance pour votre utilisateur, donc à moins que vous en ayez besoin, nous suggérons de ne pas forcer une déconnexion et de ne pas l'utiliser en production.
</Warning>

## Ouverture et fermeture de l'URL de liaison sociale

La page Social Accounts dispose d'un bouton « Close » qui ferme la fenêtre et renvoie votre utilisateur sur votre site.

### Ouverture de l'URL de liaison sociale

Lorsque vous ouvrez l'URL de liaison sociale, nous recommandons d'utiliser la fonction `window.open()` de JavaScript plutôt qu'un href d'ancrage.
Le bouton « Close » utilise JavaScript pour fermer la fenêtre, et la plupart des navigateurs n'autorisent que les fenêtres ouvertes via un script à être fermées.
Vous pouvez utiliser l'exemple de code suivant sur votre site web pour lancer la fenêtre de liaison sociale.

```html Window Open theme={"system"}
<div onclick="window.open('https://profile.ayrshare.com?domain...', '_blank')">
  Link Social Networks
</div>
```

ou

```html Window Open Function theme={"system"}
<button onclick="openNewTabAndRedirect()">Open New Tab and Redirect</button>
<script>
  function openNewTabAndRedirect() {
    // Open a new tab
    var newTab = window.open("https://profile.ayrshare.com?domain...");

    // Optional: Focus on the new tab
    newTab.focus();
  }
</script>
```

Vous pouvez contrôler le bouton « Close » pour rediriger soit l'onglet de liaison sociale vers une page de votre choix, soit rediriger l'onglet/la fenêtre d'origine et fermer l'onglet de liaison sociale.
Cela peut être fait en utilisant le paramètre redirect et en ajoutant `origin=true` aux paramètres de requête de l'URL de redirection.
Veuillez consulter le [point de terminaison Generate JWT](/apis/profiles/generate-jwt) pour plus de détails.

### Redirection lors de la fermeture

De plus, si vous souhaitez que le bouton `Close` redirige vers votre page (souvent utile sur mobile), passez le paramètre GET `redirect` en tant que chaîne *URL encodée* commençant par https.
Veuillez consulter les [paramètres du point de terminaison Generate JWT](/apis/profiles/generate-jwt#body-parameters) pour plus de détails.

```javascript JWT URL theme={"system"}
https://profile.ayrshare.com?domain=[domain id]&jwt=[jwt token]&redirect=https%3A%2F%2Fmywebsite.com
```

La redirection sera enregistrée pour ce profil et utilisée dans les appels SSO ultérieurs même si le paramètre `redirect` n'est pas passé.
Pour réinitialiser le bouton `Close` à la fermeture, passez le paramètre `redirect=null`.

## Plus d'informations

### Notifications de liaison ou de déliaison utilisateur

Lorsqu'un utilisateur lie ou délie un réseau social, vous pouvez recevoir une notification via webhook. Veuillez consulter la page [Social Action Webhooks](/apis/webhooks/actions#social-action) pour plus d'informations.

Vous pouvez également utiliser le [point de terminaison user](/apis/user/profile-details) pour obtenir les réseaux sociaux connectés d'un profil utilisateur.

### Plusieurs ensembles de comptes sociaux

#### Aperçu

Chaque User Profile dispose d'un ensemble de comptes de réseaux sociaux et peut établir une connexion à chaque réseau social.
Si vos utilisateurs ou clients ont plusieurs ensembles de comptes de réseaux sociaux, tels que deux Facebook Pages, deux comptes Instagram et deux chaînes YouTube, vous pouvez gérer ces multiples ensembles de comptes de réseaux sociaux en suivant ces étapes :

1. **Créer plusieurs User Profiles** - [Créez des User Profiles distincts](/apis/profiles/create-profile) au sein du système Ayrshare pour chaque ensemble de comptes sociaux que votre utilisateur ou client doit gérer.

2. **Stocker des Profile Keys uniques** - Chaque User Profile aura sa propre Profile Key unique, renvoyée par le point de terminaison de création de User Profile.

3. **Étiquetez vos profils** - [Attribuez un titre](/apis/profiles/create-profile#param-title) ou [tag](/apis/profiles/create-profile#param-tags) à chaque User Profile pour identifier clairement les comptes de réseaux sociaux auxquels ils sont associés (par exemple, « Facebook Page A » et « Facebook Page B »).

4. **Mappez dans votre base de données** - Dans votre propre système, associez toutes les Profile Keys pertinentes à l'utilisateur ou au client concerné.

5. **Utilisez la Profile Key appropriée** - Lors de la publication de contenu ou de la récupération de statistiques pour un compte social spécifique, utilisez la Profile Key associée à ce compte. Par exemple, pour publier sur Facebook Page A, utilisez la Profile Key du User Profile connecté à Facebook Page A.

#### Exemple

Considérons un scénario pratique pour plusieurs comptes clients :

<ul className="custom-bullets">
  <li>**Client :** La chaîne de restaurants de Joe avec deux emplacements</li>
</ul>

Joe a besoin de comptes de réseaux sociaux distincts pour chaque emplacement de restaurant :

**Emplacement 1 du restaurant :**

<ul className="custom-bullets">
  <li>Facebook Page : « Joe's Downtown Bistro »</li>
  <li>Instagram : @joesdowntownbistro</li>
  <li>LinkedIn : page business Joe's Downtown Bistro</li>
</ul>

**Emplacement 2 du restaurant :**

<ul className="custom-bullets">
  <li>Facebook Page : « Joe's Seaside Grill »</li>
  <li>Instagram : @joesseasidegrill</li>
  <li>LinkedIn : page business Joe's Seaside Grill</li>
</ul>

**Solution d'implémentation :**

1. Créez deux User Profiles distincts dans Ayrshare :

<ul className="custom-bullets">
  <li>User Profile 1 : intitulé « Joe's Downtown Bistro Accounts »</li>
  <li>User Profile 2 : intitulé « Joe's Seaside Grill Accounts »</li>
</ul>

2. Connectez les comptes sociaux appropriés à chaque profil :

<ul className="custom-bullets">
  <li>Profil 1 : Lie les comptes Facebook, Instagram et LinkedIn de Downtown Bistro</li>
  <li>Profil 2 : Lie les comptes Facebook, Instagram et LinkedIn de Seaside Grill</li>
</ul>

3. Stockez les deux Profile Keys dans votre base de données, en les associant au compte de Joe :

   ```
   Client: Joe's Restaurant Chain
   - Profile Key 1: abc123... (Downtown location)
   - Profile Key 2: xyz789... (Seaside location)
   ```

4. Lors de la publication d'une mise à jour de menu spéciale pour l'emplacement Downtown, utilisez Profile Key 1 dans les appels API. Lors de la publication d'une promotion de fruits de mer à l'emplacement Seaside, utilisez Profile Key 2.

En créant plusieurs User Profiles, en leur attribuant un [titre](/apis/profiles/create-profile#param-title) ou un [tag](/apis/profiles/create-profile#param-tags) approprié, et en les associant à un seul utilisateur ou client dans votre système, vous pouvez gérer leurs multiples comptes de réseaux sociaux sur les mêmes plateformes à l'aide d'Ayrshare.
Cette approche permet une publication ciblée et une récupération de statistiques pour chaque compte spécifique.

### Étapes suivantes

Veuillez consulter ici pour plus de détails sur l'expérience utilisateur :

<Card title="Intégration utilisateur" icon="link" href="/multiple-users/user-integration" horizontal />

Une fois que votre utilisateur aura configuré ses liens de réseaux sociaux, vous pourrez commencer à publier en son nom en utilisant
les points de terminaison /post et /profile.

<Card title="Post API" icon="code" href="/apis/post/overview" horizontal />

<Card title="Profiles API" icon="code" href="/apis/profiles/overview" horizontal />
