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

# Démarrage rapide

> Envoyer une première requête à l’API GraphQL de Bonx.

Ce guide récupère les deux dernières commandes de vente de votre espace. Avant
de commencer, lisez l'[introduction à l'API GraphQL](/fr/graphql/introduction).

<Steps>
  <Step title="Créez un jeton d'API">
    Créez le jeton depuis les paramètres de votre espace Bonx, dans la section
    **Tokens d'API**.
    Consultez [Authentification](/fr/authentication) si nécessaire.

    Le même jeton fonctionne avec les API REST et GraphQL.
  </Step>

  <Step title="Enregistrez l'URL et le jeton">
    L'URL GraphQL de votre espace est fournie avec le jeton.

    <CodeGroup>
      ```bash macOS / Linux theme={null}
      export BONX_GRAPHQL_URL="https://VOTRE-URL-GRAPHQL"
      export BONX_API_KEY="bxk_live_..."
      ```

      ```powershell Windows (PowerShell) theme={null}
      $env:BONX_GRAPHQL_URL = "https://VOTRE-URL-GRAPHQL"
      $env:BONX_API_KEY = "bxk_live_..."
      ```
    </CodeGroup>
  </Step>

  <Step title="Envoyez la requête">
    Choisissez l'exemple adapté à votre environnement.

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST "$BONX_GRAPHQL_URL" \
        -H "x-api-key: $BONX_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{"query":"{ salesOrders(limit: 2, orderBy: {createdAt: DESC}) { id name stockAvailability } }"}'
      ```

      ```js JavaScript theme={null}
      const response = await fetch(process.env.BONX_GRAPHQL_URL, {
        method: 'POST',
        headers: {
          'x-api-key': process.env.BONX_API_KEY,
          'Content-Type': 'application/json',
        },
        body: JSON.stringify({
          query: `query GetSalesOrders($limit: Int!) {
            salesOrders(limit: $limit, orderBy: { createdAt: DESC }) {
              id
              name
              stockAvailability
            }
          }`,
          variables: { limit: 2 },
        }),
      })

      const { data, errors } = await response.json()
      ```
    </CodeGroup>

    La réponse contient les champs `id`, `name` et `stockAvailability` pour
    chaque commande trouvée.
  </Step>
</Steps>

<Warning>
  Une requête GraphQL peut renvoyer un statut HTTP `200` avec un tableau `errors`. Vérifiez toujours `errors` avant
  d'utiliser `data`.
</Warning>

## Étape suivante

<CardGroup cols={2}>
  <Card title="Lire des données" icon="magnifying-glass" href="/fr/graphql/queries">
    Apprenez à filtrer, trier et paginer les résultats.
  </Card>

  <Card title="Rattacher un document" icon="paperclip" href="/fr/graphql/files">
    Téléversez un fichier et rattachez-le à une fiche.
  </Card>
</CardGroup>
