> ## 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.

# Node.js NPM

> Intégrez l'API Ayrshare dans votre application Node avec le package NPM Social API

## Aperçu

Le [package NPM Social API](https://www.npmjs.com/package/social-media-api) d'Ayrshare vous permet d'intégrer l'API Ayrshare dans votre application Node.js.

### Installation

Installez le package NPM Social API si vous utilisez Node côté serveur.
Le package simplifie les appels en encapsulant les appels RESTful.

```bash theme={"system"}
npm i social-media-api
```

<Info>Obtenez votre API Key secrète dans le [tableau de bord Ayrshare](https://app.ayrshare.com/).</Info>

### Utilisation générale

Exemples de Post, History et Delete :

<Info>
  **Vous publiez sur X/Twitter ?** À compter du 31 mars 2026, les opérations X/Twitter via Ayrshare nécessitent vos propres identifiants X Developer App — Ayrshare impose cette exigence pour chaque appel vers X. Ajoutez les 2 en-têtes BYO à votre requête. Consultez le [guide de configuration](/dashboard/connect-social-accounts/x-twitter-byo-keys) pour plus de détails.
</Info>

À partir de la v1.3.0, le SDK inclut un helper `setTwitterByo(apiKey, apiSecret)` qui attache les deux en-têtes `X-Twitter-OAuth1-*` requis à chaque requête ultérieure :

```javascript theme={"system"}
const SocialPost = require("social-media-api");
const social = new SocialPost(API_KEY)
  .setTwitterByo(MY_X_API_KEY, MY_X_API_SECRET);

await social.post({
  post: "Hello from BYO",
  platforms: ["twitter"]
});
```

Utilisez `clearTwitterByo()` pour supprimer les en-têtes — utile lors de la réutilisation d'une instance SDK entre différents tenants :

```javascript theme={"system"}
social.clearTwitterByo().setTwitterByo(nextTenant.key, nextTenant.secret);
```

```javascript theme={"system"}
const SocialPost = require("social-media-api");
const API_KEY = "API KEY"; // get an API Key at ayrshare.com
const social = new SocialPost(API_KEY);

const run = async () => {
  /** post */
  const post = await social
    .post({
      post: "One more time",
      platforms: ["twitter", "facebook", "linkedin"],
      profileKey: "DJKJDK-SKDJKDJF" // used with a User Profile
    })
    .catch(console.error);
  console.log(post);

  /** history */
  const history = await social.history().catch(console.error);
  console.log(history);

  /** delete */
  const deletePost = await social.delete({ id: post.id }).catch(console.error);
  console.log(deletePost);
};

run();
```

### Aperçu vidéo du package NPM Social Media API

<div class="video-container">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/OMtj2h6sW6U" title="Social Media API NPM Package" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</div>

Publier sur les réseaux sociaux via une API

### Profile Key

Vous pouvez spécifier la Profile Key pour un User Profile dans le corps d'un POST ou la requête d'un GET avec le champ `profileKey`.

### Démo Social API

Pour un exemple d'intégration Node.js (utilisant les appels d'API RESTful), consultez le dépôt GitHub :

<Card title="Code de démo Social API" icon="github" href="https://github.com/ayrshare/social-api-demo" horizontal>
  La démo Social API est une application web qui permet aux utilisateurs de composer, planifier et publier du contenu
  sur plusieurs plateformes de réseaux sociaux simultanément.
</Card>

### Plus d'informations et de documentation

<ul class="custom-bullets">
  <li>[Package NPM](https://www.npmjs.com/package/social-media-api)</li>
  <li>[Dépôt Github](https://github.com/ayrshare/social-media-api)</li>
  <li>[Discussion des problèmes](https://github.com/ayrshare/social-media-api/issues)</li>
</ul>
