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

# Guide de démarrage rapide

> Associez vos comptes sociaux et envoyez votre première publication en quelques minutes.

Ce guide sert à configurer une seule entreprise. Pour les abonnements Business Plan et Enterprise Plan avec plusieurs utilisateurs, un guide d'intégration personnalisé est fourni.

<div class="video-container">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/HaWh_QOib_Y" title="Ayrshare's Social API Quick Start Guide" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscsope; picture-in-picture" />
</div>

## Connectez vos comptes de réseaux sociaux

Connectez-vous ou inscrivez-vous à un [compte Ayrshare](https://app.ayrshare.com/).
Sur la page Social Account, cliquez sur les réseaux sociaux que vous souhaitez connecter.
Veillez à accorder toutes les autorisations.

<p align="center">
  <img width="240" src="https://mintcdn.com/ayrshare-docs/dKBti0xVDJrOZ19f/images/fb-connect.webp?fit=max&auto=format&n=dKBti0xVDJrOZ19f&q=85&s=d256f4862cb21b388d388cc62aa94659" alt="Facebook Linking Example" data-path="images/fb-connect.webp" />
</p>

## Obtenez votre API Key

Une API Key est requise pour autoriser l'accès aux endpoints de l'API.
Cette clé est utilisée dans l'en-tête de vos requêtes, et doit être précédée du mot-clé `Bearer`.

Votre API Key se trouve dans le [tableau de bord Ayrshare](https://app.ayrshare.com/), sur la page **API Key**. Si nécessaire, basculez sur votre « Primary Profile » via la page **User Profiles**.
De là, vous trouverez la page **API Key** dans le panneau de gauche.

<img src="https://mintcdn.com/ayrshare-docs/Nmrhj2Gh7WSf62Bh/images/api-key.webp?fit=max&auto=format&n=Nmrhj2Gh7WSf62Bh&q=85&s=29ebd3dd2f23c9f9f1c52a974ebd6240" alt="API Key" width="4000" height="1126" data-path="images/api-key.webp" />

Chaque appel API doit inclure l'API Key dans l'en-tête à l'aide d'un jeton `Bearer`. Incluez également le `Content-Type` `application/json`.

```json Header theme={"system"}
"Authorization": "Bearer API_KEY",
"Content-Type": "application/json"
```

Consultez la section [Authorization](/apis/overview#authorization) pour plus d'informations.

## Envoyez votre première publication via l'API

### Publier la publication

Voici des exemples de code montrant comment effectuer une publication via notre API dans différents langages de programmation.
Pour une intégration encore plus simple, vous pouvez utiliser l'un de nos [packages SDK](/packages-guides/overview) prédéfinis.

Pour effectuer une publication, vous aurez besoin de :

<ul className="custom-bullets">
  <li>Votre [API Key](/apis/overview#authorization) pour l'authentification.</li>
  <li>Le contenu textuel de votre publication.</li>
  <li>Les plateformes de réseaux sociaux sur lesquelles vous souhaitez publier (n'incluez que les plateformes que vous avez associées).</li>
  <li>Optionnel : les URL des images ou vidéos que vous souhaitez inclure.</li>
</ul>

Tous les exemples utilisent l'endpoint [/post](/apis/post/post). Voyons un exemple de code :

<Info>
  **Vous publiez sur X/Twitter ?** X nécessite vos propres identifiants API. Ajoutez 2 en-têtes BYO (`X-Twitter-OAuth1-Api-Key` et `X-Twitter-OAuth1-Api-Secret`) à votre requête. Il s'agit d'une **configuration ponctuelle par compte Ayrshare**, et la même paire de clés fonctionne pour chaque sous-profil / utilisateur final. Consultez le [guide de configuration](/dashboard/connect-social-accounts/x-twitter-byo-keys) pour plus de détails.
</Info>

<CodeGroup>
  ```bash cURL theme={"system"}
  curl \
  -H "Authorization: Bearer API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "post": "Today is a great day!",
    "platforms": ["facebook", "instagram", "linkedin"],
    "mediaUrls": ["https://img.ayrshare.com/012/gb.jpg"]
  }' \
  -X POST https://api.ayrshare.com/api/post
  ```

  ```javascript JavaScript theme={"system"}
  const API_KEY = "API_KEY";

  fetch("https://api.ayrshare.com/api/post", {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          "Authorization": `Bearer ${API_KEY}`
        },
        body: JSON.stringify({
          post: "Today is a great day!", // required
          platforms: ["bluesky", "facebook", "instagram", "linkedin"], // required
          mediaUrls: ["https://img.ayrshare.com/012/gb.jpg"] //optional
        }),
      })
        .then((res) => res.json())
        .then((json) => console.log(json))
        .catch(console.error);
  ```

  ```python Python theme={"system"}
  import requests

  payload = {'post': 'Today is a great day!',
          'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin'],
          'mediaUrls': ['https://img.ayrshare.com/012/gb.jpg']}
  headers = {'Content-Type': 'application/json',
          'Authorization': 'Bearer API_KEY'}

  r = requests.post('https://api.ayrshare.com/api/post',
      json=payload,
      headers=headers)

  print(r.json())
  ```

  ```php PHP theme={"system"}
  <?php

  $curl = curl_init();
  $data = [
      "post" => "Today is a great day!",
      "platforms" => ["bluesky", "facebook", "instagram", "linkedin", "pinterest"],
      "mediaUrls" => ["https://img.ayrshare.com/012/gb.jpg"]
  ];

  curl_setopt_array($curl, [
      CURLOPT_URL => 'https://api.ayrshare.com/api/post',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_POST => true,
      CURLOPT_POSTFIELDS => json_encode($data),
      CURLOPT_HTTPHEADER => [
          'Authorization: Bearer API_KEY', // Replace 'API_KEY' with your actual API key
          'Content-Type: application/json'
      ],
  ]);

  $response = curl_exec($curl);
  curl_close($curl);
  echo $response;
  ```

  ```go Go theme={"system"}
  package main

  import (
  	"bytes"
  	"encoding/json"
  	"log"
  	"net/http"
  )

  func main() {
  	message := map[string]interface{}{
  		"post":      "Today is a great day!",
  		"platforms": []string{"bluesky", "facebook", "instagram", "linkedin"},
  		"mediaUrls": []string{"https://img.ayrshare.com/012/gb.jpg"}
  	}

  	bytesRepresentation, err := json.Marshal(message)
  	if err != nil {
  		log.Fatalln(err)
  	}

  	req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/post",
  		bytes.NewBuffer(bytesRepresentation))

  	req.Header.Add("Content-Type", "application/json; charset=UTF-8")
  	req.Header.Add("Authorization", "Bearer API_KEY")

  	res, err := http.DefaultClient.Do(req)
  	if err != nil {
  		log.Fatal("Error:", err)
  	}

  	res.Body.Close()
  }
  ```

  ```csharp C# theme={"system"}
  using System;
  using System.Net.Http;
  using System.Text;
  using System.Threading.Tasks;

  namespace PostPOSTRequest_csharp
  {
    class Post
    {
      private static readonly HttpClient client = new HttpClient();

          static async Task Main(string[] args)
          {
              string API_KEY = "API_KEY";
              string url = "https://api.ayrshare.com/api/post";

              // Set up request headers
              client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);

              // Prepare JSON content
              string json = "{\"post\" : \"Today is a great day!\","
                  + "\"platforms\" : [ \"bluesky\", \"facebook\", \"instagram\", \"linkedin\" ],"
                  + "\"mediaUrls\" : [ \"https://img.ayrshare.com/012/gb.jpg\" ]}";
              var content = new StringContent(json, Encoding.UTF8, "application/json");

              try
              {
                  // Send POST request
                  HttpResponseMessage response = await client.PostAsync(url, content);
                  response.EnsureSuccessStatusCode();

                  // Read response
                  string responseBody = await response.Content.ReadAsStringAsync();
                  Console.WriteLine(responseBody);
              }
              catch (HttpRequestException e)
              {
                  Console.WriteLine($"Error: {e.Message}");
              }
          }
      }
  }
  ```

  ```ruby Ruby theme={"system"}
  require 'httparty'    # gem install httparty

  res = HTTParty.post("https://api.ayrshare.com/api/post",
      headers: {Authorization: "Bearer API_KEY"},
      body: {
          post: "Today is a great day!",
          platforms: ['bluesky', 'facebook', 'instagram', 'linkedin'],
          mediaUrls: ["https://img.ayrshare.com/012/gb.jpg"]
      }).body

  puts res
  ```
</CodeGroup>

Félicitations ! Vous venez d'envoyer votre première publication.

### Réponse de la publication

Vous recevrez une réponse avec un `status` de « success » lorsque notre API traite votre publication avec succès. La réponse inclut :

<ul className="custom-bullets">
  <li>`status` : statut global de l'appel API (« success » ou « error »)</li>
  <li>`errors` : tableau des erreurs rencontrées (vide en cas de succès)</li>
  <li>`postIds` : tableau d'objets contenant des détails spécifiques à chaque plateforme :</li>

  <ul className="custom-bullets">
    <li>Nom de la plateforme</li>
    <li>Post ID sur cette plateforme</li>
    <li>URL pour consulter la publication</li>
    <li>Informations supplémentaires spécifiques à la plateforme</li>
  </ul>
</ul>

Chaque plateforme dans le tableau `postIds` aura son propre statut, ce qui vous permet de vérifier quelles plateformes ont bien reçu votre publication.

Vérifiez vos pages de réseaux sociaux pour vous assurer que la publication a été traitée avec succès et est en ligne. Notez que certaines plateformes peuvent présenter un léger délai avant que les publications n'apparaissent publiquement.

Voici un exemple de réponse :

```json Post Response theme={"system"}
{
  "status": "success",
  "errors": [],
  "postIds": [
    {
      "status": "success",
      "id": "738681876342836_1530521371228093",
      "postUrl": "https://www.facebook.com/738681876342836/posts/1530521371228093",
      "platform": "facebook"
    },
    {
      "status": "success",
      "id": "18008340650526653",
      "postUrl": "https://www.instagram.com/p/DGf4hgZObR0/",
      "usedQuota": 1,
      "platform": "instagram"
    },
    {
      "status": "success",
      "id": "urn:li:share:7300150903578275840",
      "postUrl": "https://www.linkedin.com/feed/update/urn:li:share:7300150903578275840",
      "owner": "urn:li:organization:66755239",
      "platform": "linkedin"
    }
  ],
  "id": "K0DmYRgugS5P694it",
  "refId": "d93ca2784c9bf7bf83e0bf081d16c91598",
  "post": "Today is a great day!"
}
```

Retrouvez d'autres exemples de code appelant l'API des réseaux sociaux en Node.js, Python, PHP, Golang, C# et Ruby, ainsi que d'autres fonctionnalités intéressantes :

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

### Un peu plus en détail

Décomposons le processus de ce qui vient de se passer lors de cet appel API.

<Steps>
  <Step title="Définir l'en-tête">
    Nous avons défini le jeton bearer d'autorisation dans l'en-tête (API Key) et le type de contenu
    json.
  </Step>

  <Step title="Créer un objet body">
    Ensuite, nous avons créé un objet body :

    <ul className="custom-bullets">
      <li>Publication contenant le texte « Today is a great day! ».</li>

      <li>
        Plateformes de réseaux sociaux : Facebook, Instagram et LinkedIn.
        Vous ne devez inclure que les plateformes que vous avez associées sur la
        Social Linkage Page.
      </li>

      <li>Ajout d'une image dans mediaUrls.</li>
    </ul>
  </Step>

  <Step title="Appeler l'endpoint /post">
    Envoyé le tout via une requête HTTP POST vers l'endpoint /post.
  </Step>
</Steps>

## Avant de partir, quelques bonnes pratiques

### Lisez la documentation

Nous maintenons une documentation exhaustive et à jour. Puisque vous êtes déjà ici, prenez le temps de parcourir les sections de la documentation dans la navigation de gauche.

### Les codes d'erreur sont importants

Vous devez les gérer pour que vos utilisateurs aient une excellente expérience.

<Card title="Erreurs" icon="link" href="/errors/overview" horizontal />

### Protégez votre API Key

Nous prenons la sécurité très au sérieux, et vous devriez en faire autant. Vous avez un contrôle total sur la connexion entre Ayrshare et vos comptes de réseaux sociaux. Une fois les comptes connectés, l'API Key Ayrshare devient votre moyen d'authentification. Veuillez garder cette clé secrète et sécurisée.

### Publiez des publications de test

Vous pouvez publier des publications de test avec une citation, une image ou une vidéo aléatoire en utilisant les paramètres `randomPost`, `randomMediaUrl` et `isLandscapeVideo` ou `isPortraitVideo` dans l'[endpoint /post](/apis/post/post). Si vous utilisez `randomPost`, le paramètre `post` n'est pas obligatoire.

<div class="video-container">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/hMI0eK-5qBk?si=y5dkygosZ1B2DtlV" title="Post Random Content" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" />
</div>

<Warning>
  Ces publications sont en direct sur vos pages de réseaux sociaux, donc si nécessaire, supprimez-les après les tests.
</Warning>

#### Citation aléatoire

Envoyez une citation aléatoire pour tester la publication en ajoutant `randomPost: true`.

Utilisé avec l'endpoint [/post](/apis/post/post).

```json theme={"system"}
"randomPost": true
```

#### Image aléatoire

Envoyez une image aléatoire en ajoutant `randomMediaUrl: true`.

Utilisé avec l'endpoint [/post](/apis/post/post).

```json theme={"system"}
"randomMediaUrl": true
```

#### Vidéo aléatoire

Envoyez une vidéo paysage aléatoire en ajoutant `isVideo: true` et `isLandscapeVideo: true`.
La vidéo sera au format paysage standard.

Utilisé avec l'endpoint [/post](/apis/post/post).

```json theme={"system"}
"randomMediaUrl": true,
"isLandscapeVideo": true
```

Envoyez une vidéo portrait aléatoire, requise pour TikTok ou les Reels Facebook/Instagram, en ajoutant `isVideo: true` et `isPortraitVideo: true`.

Utilisé avec l'endpoint [/post](/apis/post/post).

```json theme={"system"}
"randomMediaUrl": true,
"isPortraitVideo": true
```

#### Commentaire aléatoire

Envoyez un commentaire aléatoire pour tester la publication d'un commentaire en ajoutant `randomComment: true`.

Utilisé avec l'endpoint [/comment](/apis/comments/post-comment).

```json theme={"system"}
"randomComment": true
```

#### Exemple d'appel cURL

Envoyez une citation aléatoire et une vidéo portrait.

```bash theme={"system"}
curl \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-X POST \
-d '{
    "randomPost": true,
    "platforms": ["facebook", "instagram", "linkedin"],
    "randomMediaUrl": true,
    "isPortraitVideo": true
}' \
https://api.ayrshare.com/api/post
```

### **Utilisez Postman pour tester vos appels API**

[Postman](https://www.postman.com/) est un outil formidable pour tester les appels API. Vous pouvez même générer du code dans plus d'une dizaine de langages.

### Code de démonstration

Si vous recherchez un exemple de projet de démonstration en React et NodeJS, consultez ce dépôt GitHub :

<Card title="Application de démonstration de publication sociale sur Github" icon="github" href="https://github.com/ayrshare/social-api-demo" horizontal />

### **Dépannage courant**

Parfois les choses ne se passent pas comme prévu, alors voici un peu d'aide dans notre centre d'aide.

<Card title="Dépannage" icon="link" href="/help-center/overview" horizontal />

### **Contactez-nous pour obtenir de l'aide**

Nous sommes là pour vous aider, alors veuillez utiliser le chat en bas à droite ou [envoyez-nous un e-mail](mailto:support@ayrshare.com).
