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

# API Sourcemaps

Les sourcemaps sont utilisées pour obtenir le numéro de ligne et de colonne
d'origine à partir d'une backtrace pointant vers un fichier minifié ou
transpilé.

Nous recommandons d'utiliser des [sourcemaps
publiques](/front-end/sourcemaps#public-sourcemaps) chaque fois que possible.
Les builds qui produisent beaucoup de sourcemaps peuvent prendre beaucoup de
temps à être téléchargés via notre point de terminaison de sourcemap privé.

Cette API offre un moyen simple de télécharger des sourcemaps privées pour les
utiliser avec les [erreurs frontend](/front-end/sourcemaps).

<Warning>
  Les sourcemaps privées ne seront pas utilisées pour résoudre les backtraces
  Node.js.

  Suivez les [instructions d'installation
  Node.js](/nodejs/3.x/installation#typescript-support) pour configurer votre
  application afin qu'elle émette des backtraces avec sourcemap.
</Warning>

## Créer une sourcemap

Ce point de terminaison permet la création de sourcemaps privées.

|                            |                                                           |
| -------------------------- | --------------------------------------------------------- |
| Point de terminaison       | `/api/sourcemaps`                                         |
| Méthode de requête         | `POST`                                                    |
| Content-Type               | `multipart/form-data`                                     |
| Authentification requise ? | Oui ([Push API key](/appsignal/terminology#push-api-key)) |
| Formats de réponse         | JSON                                                      |

### Correspondance des sourcemaps

Nous mettrons en correspondance les valeurs des champs `name[]` avec l'URL
complète de la backtrace. Par exemple, la ligne de backtrace suivante :

```shell Shell theme={null}
  at https://test.local/main.abc123.js:1:92623
```

Correspondra avec le `name` : `https://test.local/main.abc123.js`.
Vous pouvez ajouter plusieurs `name` dans une seule requête curl :

<CodeGroup>
  ```bash Bash theme={null}
  curl -k -X POST -H 'Content-Type: multipart/form-data' \
    -F 'name[]=https://test.local/main.abc123.js' \
    -F 'name[]=https://cdn.local/main.abc123.js' \
    -F 'revision=abcdef' \
    -F 'file=@/~project/main.js.map' \
    'https://appsignal.com/api/sourcemaps?push_api_key=xxx&app_name=AppSignal&environment=development'
  ```
</CodeGroup>

Notez que vous ne pouvez télécharger qu'un seul fichier de sourcemap à la
fois, donc si vous avez plusieurs fichiers de sourcemap, vous devrez envoyer
une requête de téléchargement pour chaque fichier séparément. La taille
maximale de téléchargement autorisée pour un fichier de sourcemap est de 100MB.

### Paramètres

Tous les paramètres, à l'exception de `file`, peuvent être envoyés soit dans
le corps `POST`, soit en tant que paramètres `GET`. Tous les paramètres sont
**requis**.

| Paramètre      | Type               | Description                                                                                                                                                                                            |
| -------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `push_api_key` | String             | La{" "} [Push API key](/appsignal/terminology#push-api-key) de votre organisation.                                                                                                                     |
| `app_name`     | String             | Nom de l'application dans AppSignal dans laquelle la sourcemap doit être utilisée.                                                                                                                     |
| `environment`  | String             | Environnement de l'application dans AppSignal dans laquelle la sourcemap doit être utilisée.                                                                                                           |
| `revision`     | String             | Référence de révision du [Deploy marker](/application/markers/deploy-markers){" "}.                                                                                                                    |
| `name`         | Tableau de chaînes | Liste des noms de fichiers couverts par la sourcemap. Il doit s'agir d'une URL complète vers le fichier JavaScript minifié, telle que vous la voyez dans la backtrace, y compris les paramètres d'URL. |
| `file`         | File               | Sourcemap à télécharger.                                                                                                                                                                               |

### Réponses

* L'API renverra un code de statut HTTP `201` en cas de succès.
* L'API renverra un code de statut HTTP `400` avec une réponse JSON lorsqu'une erreur de validation s'est produite.
* L'API renverra un code de statut HTTP `404` si aucune application n'existe pour la combinaison nom d'application, environnement et Push API key donnée.

Exemple de corps de réponse 400 :

<CodeGroup>
  ```json JSON theme={null}
  { "errors": ["The following errors were found: Name can't be empty"] }
  ```
</CodeGroup>

### Exemple

<CodeGroup>
  ```bash Bash theme={null}
  curl -k -X POST -H 'Content-Type: multipart/form-data' \
    -F 'name[]=https://localhost:3000/application.min.js?vsn=d ' \
    -F 'revision=abcdef' \
    -F 'file=@/~project/application.js.map' \
    'https://appsignal.com/api/sourcemaps?push_api_key=xxx&app_name=MyApp&environment=development'
  ```
</CodeGroup>
