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

# Abonnement

> La charge utile envoyée à votre point de terminaison webhook lorsqu'un abonnement est créé, mis à jour ou change d'état.

## Événements Webhook d'Abonnement

Les événements webhook suivants sont disponibles pour suivre les changements du cycle de vie des abonnements :

| Event                       | Description                                                                              |
| --------------------------- | ---------------------------------------------------------------------------------------- |
| `subscription.active`       | L'abonnement est activé avec succès                                                      |
| `subscription.updated`      | L'objet d'abonnement a été mis à jour (tout changement de champ déclenche cet événement) |
| `subscription.on_hold`      | L'abonnement est suspendu en raison d'un renouvellement échoué                           |
| `subscription.renewed`      | L'abonnement est renouvelé pour la prochaine période de facturation                      |
| `subscription.plan_changed` | Le plan d'abonnement a été amélioré, déclassé ou modifié                                 |
| `subscription.cancelled`    | L'abonnement est annulé                                                                  |
| `subscription.failed`       | La création de l'abonnement a échoué lors de la création du mandat                       |
| `subscription.expired`      | L'abonnement a atteint la fin de sa durée                                                |

### Utilisation de `subscription.updated` pour la synchronisation en temps réel

Le webhook `subscription.updated` se déclenche chaque fois qu'un champ d'abonnement change, vous permettant de maintenir l'état de votre application synchronisé sans avoir à sonder l'API pour obtenir des mises à jour :

```javascript theme={null}
app.post('/webhooks/dodo', async (req, res) => {
  const event = req.body;
  
  if (event.type === 'subscription.updated') {
    const subscription = event.data;
    
    // Sync subscription changes to your database
    await syncSubscription(subscription.subscription_id, {
      status: subscription.status,
      next_billing_date: subscription.next_billing_date,
      metadata: subscription.metadata,
      // ... other fields you want to track
    });
    
    console.log(`Subscription ${subscription.subscription_id} updated`);
  }
  
  res.json({ received: true });
});
```

<Tip>
  Abonnez-vous à `subscription.updated` pour recevoir des notifications en temps réel concernant tout changement d'abonnement, ce qui élimine la nécessité de sonder l'API pour obtenir des mises à jour.
</Tip>

## Schéma de Charge Utile Webhook
