# Renommer

`POST` `https://api.pushwoosh.com/messaging/v2/rename`

Définit ou efface le **nom de campagne** d'un message créé précédemment, identifié par son `message_code`. Rien d'autre ne change concernant le message. Le contenu, l'audience et la programmation restent exactement les mêmes.

Renommer n'est disponible que lorsque le message est encore **en attente** (pending) — créé mais pas encore pris en charge pour l'envoi. Un message passé à l'état `waiting`, `processing`, ou tout état ultérieur ne peut plus être renommé. Dans le Panneau de Contrôle, cet état s'affiche comme **Programmé** dans la colonne **Statut**, et non littéralement « En attente ». Consultez [Statuts des messages](/fr/product/statistics-and-analytics/message-history/#message-statuses).

<Aside type="caution" title="Important">

- Le nom est nettoyé des espaces en début et fin, puis tronqué à 255 caractères. Un nom vide (ou constitué uniquement d'espaces) efface entièrement le nom de campagne, et le message revient à son titre par défaut dans [Message History](/fr/product/statistics-and-analytics/message-history/).

- Cet appel est idempotent : renvoyer le même nom réapplique la même valeur. Il touche tout de même l'heure de dernière modification du message à chaque appel, que le nom ait réellement changé ou non, donc un appel répété peut faire remonter le message en tête du tri par défaut **Dernière modification** de Message History.
</Aside>

Pour vérifier si un message est toujours dans un état renommable, consultez la section [Vérifier le statut du message](#checking-message-status).

## Requête

Authentifiez-vous avec votre [jeton d'API Serveur (Server API token)](/fr/developer/api-reference/api-access-token/#server-api-token) dans l'en-tête `Authorization: Token <API_TOKEN>`.

| Champ | Type | Requis | Description |
|---|---|---|---|
| `message_code` | string | Oui | [Code de message](/fr/developer/api-reference/api-identifiers/#message-code) du message à renommer, tel que retourné par [`Notify`](/fr/developer/api-reference/messaging-api-v2/notify/) dans `result.message_code`. |
| `campaign_name` | string | Oui | Nouveau nom de campagne. Tronqué à 255 caractères. Une chaîne vide efface le nom. |

### Exemple de requête

```bash
curl -X POST https://api.pushwoosh.com/messaging/v2/rename \
  -H "Authorization: Token YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "message_code": "XXXX-XXXXXXXX-XXXXXXXX",
    "campaign_name": "Flash_Sale_Push"
  }'
```

## Réponse

En cas de succès, renvoie un statut HTTP 200 avec un corps JSON vide.

```json
{}
```

## Erreurs

Les erreurs utilisent l'enveloppe d'erreur standard de gRPC-Gateway : `{ "code": ..., "message": ..., "details": [...] }`.

| Statut HTTP | Condition |
|---|---|
| `400` | Le `message_code` est manquant. |
| `400` | Le message n'est pas dans un état renommable (il n'est plus `pending`). |
| `403` | Le message appartient à un autre compte. |
| `404` | Aucun message n'existe pour le `message_code` donné. |
| `500` | Une erreur interne s'est produite lors du chargement du message ou de l'application du nouveau nom. Réessayez la requête. |


**Exemple**

Le renommage d'un message dont l'envoi a déjà commencé renvoie un HTTP `400` :

```json
{
  "code": 9,
  "message": "message status \"waiting\" is not renamable",
  "details": []
}
```

<span id="checking-message-status" />

## Vérifier le statut du message

Avant de renommer, vous pouvez vérifier si un message est toujours dans un état renommable. En plus de lire la colonne **Statut** dans le tableau des messages du Panneau de Contrôle ([**Campagnes → Messages uniques**](/fr/product/statistics-and-analytics/message-history/)), où un message renommable affiche **Programmé** plutôt que littéralement « En attente », vous pouvez interroger le statut par programmation avec [`messages:list`](/fr/developer/api-reference/statistics-api/message-statistics-api/#messageslist) :

- Passez le `message_code` dans le tableau `filters.messages_codes` (en même temps que le `filters.application` requis).
- Lisez le champ `status` de l'entrée correspondante dans `items[]`.

<Aside type="note">
`messages:list` fait partie de l'API de statistiques et utilise un en-tête d'authentification différent de ce point de terminaison : `Authorization: Api <Server Key>`.
</Aside>

## Sujets connexes

<CardGrid>
  <LinkCard title="Notify" href="/developer/api-reference/messaging-api-v2/notify/" />
  <LinkCard title="Update" href="/developer/api-reference/messaging-api-v2/update/" />
  <LinkCard title="Cancel" href="/developer/api-reference/messaging-api-v2/cancel/" />
  <LinkCard title="Statistiques des messages" href="/developer/api-reference/statistics-api/message-statistics-api/#messageslist" />
  <LinkCard title="Aperçu de l'API de messagerie v2" href="/developer/api-reference/messaging-api-v2/" />
  <LinkCard title="Migration depuis la v1" href="/developer/api-reference/messaging-api-v2/migration-from-v1/" />
</CardGrid>