---
title: JavaScript
description: >-
  Installez et utilisez le SDK JavaScript Firmreader dans Node 18+ et les navigateurs modernes, avec la prise en charge native de TypeScript.
lastUpdated: "2026-08-21"
---

> **For AI agents:** the complete documentation index is at [llms.txt](/llms.txt). Append `.md` to any page URL for its markdown version.

Le SDK JavaScript fonctionne dans Node 18+ et les navigateurs modernes. Il inclut les types TypeScript dès l’installation.

## Installer

<CodeGroup>
```bash npm
npm install @firmreader/sdk
```

```bash yarn
yarn add @firmreader/sdk
```

```bash pnpm
pnpm add @firmreader/sdk
```
</CodeGroup>

## Initialiser le client

```javascript
import { Firmreader } from "@firmreader/sdk";

const client = new Firmreader({
  apiKey: process.env.FIRMREADER_API_KEY, // fr_live_...
});
```

## Créer une publication

```javascript
const post = await client.posts.create({
  channelId: "ch_company_news",
  title: "Welcome to Firmreader",
  body: "We're excited to announce our new internal communications platform.",
  priority: "normal",
});

console.log(`Published post ${post.id}`);
```

## Lister les publications

```javascript
const { data: posts } = await client.posts.list({
  channelId: "ch_company_news",
  limit: 20,
});

for (const post of posts) {
  console.log(post.title);
}
```

## Gérer les erreurs

Le client lève `FirmreaderError` pour les réponses qui ne sont pas en 2xx. Inspectez `status` et `code` pour gérer l’échec en conséquence.

```javascript
import { FirmreaderError } from "@firmreader/sdk";

try {
  await client.posts.create({ channelId: "ch_invalid", title: "Hi", body: "..." });
} catch (err) {
  if (err instanceof FirmreaderError) {
    console.error(`${err.status}: ${err.code}`);
  }
}
```

<Note>
Toutes les méthodes d’écriture sont idempotentes lorsque vous transmettez une option `idempotencyKey`; les nouvelles tentatives ne créeront donc pas de publications en double.
</Note>
