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

# Authentification

> Apprenez à authentifier vos requêtes API Chariow

L'API Chariow utilise des clés API pour authentifier les requêtes.

## Créer une clé API

<Steps>
  <Step title="Connexion au tableau de bord">
    Allez sur [app.chariow.com](https://app.chariow.com) et connectez-vous à votre compte.
  </Step>

  <Step title="Accéder aux paramètres">
    Cliquez sur **Paramètres** dans la barre latérale.
  </Step>

  <Step title="Ouvrir les clés API">
    Sélectionnez **Clés API** dans le menu des paramètres.
  </Step>

  <Step title="Créer une nouvelle clé">
    Cliquez sur **Créer une clé API**, donnez-lui un nom descriptif et copiez la clé générée.
  </Step>
</Steps>

<Warning>
  Copiez votre clé API immédiatement après sa création. Pour des raisons de sécurité, la clé complète n'est affichée qu'une seule fois.
</Warning>

## Effectuer des requêtes authentifiées

Incluez votre clé API dans l'en-tête `Authorization` de chaque requête :

```bash theme={null}
Authorization: Bearer VOTRE_CLE_API
```

### Exemple de requête

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.chariow.com/v1/store" \
    -H "Authorization: Bearer VOTRE_CLE_API"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.chariow.com/v1/store', {
    headers: {
      'Authorization': 'Bearer VOTRE_CLE_API'
    }
  });
  ```

  ```python Python theme={null}
  import requests

  headers = {
      'Authorization': 'Bearer VOTRE_CLE_API'
  }

  response = requests.get('https://api.chariow.com/v1/store', headers=headers)
  ```

  ```php PHP theme={null}
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, 'https://api.chariow.com/v1/store');
  curl_setopt($ch, CURLOPT_HTTPHEADER, [
      'Authorization: Bearer VOTRE_CLE_API'
  ]);
  ```
</CodeGroup>

## Bonnes pratiques de sécurité

<AccordionGroup>
  <Accordion title="Utiliser des variables d'environnement" icon="shield-check">
    Stockez les clés API dans des variables d'environnement, pas dans votre code :

    ```bash theme={null}
    # Fichier .env
    CHARIOW_API_KEY=votre_cle_api

    # Accès dans votre code
    process.env.CHARIOW_API_KEY
    ```
  </Accordion>

  <Accordion title="Utiliser des clés différentes par environnement" icon="code-branch">
    Créez des clés API distinctes pour le développement, le staging et la production. Cela limite l'impact en cas de compromission d'une clé.
  </Accordion>

  <Accordion title="Renouveler les clés régulièrement" icon="arrows-rotate">
    Créez périodiquement de nouvelles clés et désactivez les anciennes. Cela réduit la fenêtre d'opportunité pour les clés compromises.
  </Accordion>

  <Accordion title="Surveiller l'utilisation des clés" icon="chart-line">
    Vérifiez régulièrement l'utilisation de vos clés API dans le tableau de bord. Recherchez les schémas inhabituels qui pourraient indiquer un accès non autorisé.
  </Accordion>

  <Accordion title="Restreindre au côté serveur" icon="server">
    N'exposez jamais votre clé API dans le code côté client (JavaScript s'exécutant dans les navigateurs). Tous les appels API doivent être effectués depuis votre serveur.
  </Accordion>
</AccordionGroup>

## Erreurs d'authentification

Si l'authentification échoue, vous recevrez une réponse `401 Non autorisé` :

```json theme={null}
{
  "message": "La clé API est manquante. Veuillez fournir une clé API valide.",
  "data": [],
  "errors": []
}
```

Causes courantes des échecs d'authentification :

| Erreur            | Cause                                  | Solution                                            |
| ----------------- | -------------------------------------- | --------------------------------------------------- |
| En-tête manquant  | Pas d'en-tête `Authorization`          | Ajoutez l'en-tête à votre requête                   |
| Clé invalide      | La clé n'existe pas ou a été supprimée | Générez une nouvelle clé dans votre tableau de bord |
| Mauvaise boutique | La clé appartient à une autre boutique | Utilisez la bonne clé pour votre boutique           |

## Limitation de débit

Les clés API sont soumises à une limitation de débit pour garantir une utilisation équitable :

* **100 requêtes par minute** par clé API

En cas de dépassement, vous recevrez une réponse `429 Trop de requêtes`.

<Info>
  Besoin de limites plus élevées ? Contactez notre équipe support à [support@chariow.com](mailto:support@chariow.com).
</Info>

## Prochaines étapes

<CardGroup cols={2}>
  <Card title="Référence API" icon="code" href="/api-reference/introduction">
    Explorez la documentation complète de l'API
  </Card>

  <Card title="Limites de débit" icon="gauge-high" href="/fr/resources/rate-limits">
    En savoir plus sur la limitation de débit
  </Card>
</CardGroup>
