# Référence de l’API Avis généraux

Source: https://instatus.com/help/fr/api/generic-notices

Les avis généraux sont des bandeaux persistants affichés sur votre page de statut (distincts des incidents et des maintenances). Ces points de terminaison permettent de les gérer par programmation.

## Récupérer tous les avis généraux

**Point de terminaison :**

```bash
GET /v1/:page_id/generic-notices?page=:page&per_page=:per_page
```

- Le numéro de page par défaut est 1.
- La valeur par défaut de per_page est 50, avec un maximum de 100 éléments par page.

**Exemple de réponse :**

```json
[
  {
    "id": "cl9mq0ah50646mpvlmbrvf979",
    "name": "Scheduled DNS migration",
    "message": "We are migrating our DNS provider over the next week.",
    "messageHtml": "<p>We are migrating our DNS provider over the next week.</p>",
    "notify": false,
    "isCollapsed": false,
    "createdAt": "2022-10-24T11:53:46.505Z",
    "updatedAt": "2022-10-24T11:53:46.505Z",
    "siteId": "cl9fzgilx14063qjvl5oqdtxtg",
    "importedFrom": null
  }
]
```

## Récupérer un avis général

**Point de terminaison :**

```bash
GET /v1/:page_id/generic-notices/:generic_notice_id
```

**Exemple de réponse :**

```json
{
  "id": "cl9mq0ah50646mpvlmbrvf979",
  "name": "Scheduled DNS migration",
  "message": "We are migrating our DNS provider over the next week.",
  "messageHtml": "<p>We are migrating our DNS provider over the next week.</p>",
  "notify": false,
  "isCollapsed": false,
  "createdAt": "2022-10-24T11:53:46.505Z",
  "updatedAt": "2022-10-24T11:53:46.505Z",
  "siteId": "cl9fzgilx14063qjvl5oqdtxtg",
  "importedFrom": null
}
```

## Ajouter un avis général

**Point de terminaison :**

```bash
POST /v1/:page_id/generic-notices
```

**Paramètres du corps :**

- `name` (obligatoire) — le titre de l’avis.
- `message` — le corps de l’avis. Le HTML est pris en charge.
- `notify` — indique s’il faut notifier les abonnés. Vaut `false` par défaut.
- `isCollapsed` — indique si l’avis est replié par défaut. Vaut `false` par défaut.
- `translations` — traductions facultatives de `name` et `message`, indexées par code de langue.

**Exemple de requête :**

```json
{
  "name": "Scheduled DNS migration",
  "message": "We are migrating our DNS provider over the next week.",
  "notify": false,
  "isCollapsed": false,
  "translations": {
    "name": {
      "fr": "Migration DNS planifiée"
    },
    "message": {
      "fr": "Nous migrons notre fournisseur DNS au cours de la semaine prochaine."
    }
  }
}
```

**Exemple de réponse :**

```json
{
  "id": "cl9xobpoe00614tvldhh90t0w",
  "name": "Scheduled DNS migration",
  "message": "We are migrating our DNS provider over the next week.",
  "messageHtml": "<p>We are migrating our DNS provider over the next week.</p>",
  "notify": false,
  "isCollapsed": false,
  "createdAt": "2022-11-01T03:52:08.126Z",
  "updatedAt": "2022-11-01T03:52:08.126Z",
  "siteId": "cl9fzgilx14063qjvl5oqdtxtg",
  "importedFrom": null,
  "translations": {
    "name": {
      "fr": "Migration DNS planifiée"
    },
    "message": {
      "fr": "Nous migrons notre fournisseur DNS au cours de la semaine prochaine."
    }
  }
}
```

## Mettre à jour un avis général

**Point de terminaison :**

```bash
PUT /v1/:page_id/generic-notices/:generic_notice_id
```

Seuls les champs que vous envoyez sont mis à jour.

**Exemple de requête :**

```json
{
  "name": "Scheduled DNS migration (rescheduled)",
  "message": "The migration has been rescheduled to next month.",
  "isCollapsed": true
}
```

**Exemple de réponse :**

```json
{
  "id": "cl9xobpoe00614tvldhh90t0w",
  "name": "Scheduled DNS migration (rescheduled)",
  "message": "The migration has been rescheduled to next month.",
  "messageHtml": "<p>The migration has been rescheduled to next month.</p>",
  "notify": false,
  "isCollapsed": true,
  "createdAt": "2022-11-01T03:52:08.126Z",
  "updatedAt": "2022-11-02T09:14:22.501Z",
  "siteId": "cl9fzgilx14063qjvl5oqdtxtg",
  "importedFrom": null
}
```

## Supprimer un avis général

**Point de terminaison :**

```bash
DELETE /v1/:page_id/generic-notices/:generic_notice_id
```

**Exemple de réponse :**

```json
{
  "id": "cl9xobpoe00614tvldhh90t0w",
  "name": "Scheduled DNS migration (rescheduled)",
  "message": "The migration has been rescheduled to next month.",
  "messageHtml": "<p>The migration has been rescheduled to next month.</p>",
  "notify": false,
  "isCollapsed": true,
  "createdAt": "2022-11-01T03:52:08.126Z",
  "updatedAt": "2022-11-02T09:14:22.501Z",
  "siteId": "cl9fzgilx14063qjvl5oqdtxtg",
  "importedFrom": null
}
```
