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

# Lancer une campagne

> Démarrez l’envoi des messages d’une campagne

## Lancer une campagne

Démarrez l'envoi des messages d'une campagne avec vérification automatique des limites.

### Endpoint

<ParamField method="POST" path="/v1/campaigns/:id/launch" />

### Headers

<ParamField header="Authorization" type="string" required>
  Bearer token avec votre Secret Key (format: `Bearer sk_...`)
</ParamField>

### URL Parameters

<ParamField path="id" type="string" required>
  L'identifiant de la campagne
</ParamField>

### Vérifications automatiques

Avant de lancer la campagne, le système vérifie automatiquement :

* ✅ **Subscription active** - Vous avez un abonnement valide
* ✅ **Subscription non expirée** - Votre abonnement n'est pas expiré
* ✅ **Messages suffisants** - Vous avez assez de messages restants pour tous les contacts

Si une vérification échoue, la campagne ne sera pas lancée.

### Exemples de requêtes

<CodeGroup>
  ```bash BASH theme={null}
  curl -X POST https://api.wachap.com/v1/campaigns/campaign_abc123/launch \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer token"
  ```
</CodeGroup>

### Exemple de réponse (Succès)

```json theme={null}
{
  "success": true,
  "message": "Campagne lancée avec succès",
  "campaign": {
    "id": "campaign_abc123",
    "status": "running",
    "totalContacts": 150,
    "sent": 0,
    "pending": 150
  }
}
```

### Exemple de réponse (Erreur)

```json theme={null}
{
  "success": false,
  "error": {
    "message": "Messages insuffisants pour lancer cette campagne...",
    "code": "INSUFFICIENT_MESSAGES",
    "status": 403,
    "details": {
      "remaining": 50,
      "required": 150,
      "missing": 100
    }
  }
}
```

### Notes importantes

* Une campagne ne peut être lancée que si son statut est `draft` ou `paused`.
* La campagne doit contenir au moins 1 contact.
* Les messages sont envoyés avec le délai configuré.

### Codes d'erreur

| Code  | Description                                                              |
| :---- | :----------------------------------------------------------------------- |
| `400` | CAMPAIGN\_NO\_CONTACTS - La campagne ne contient aucun contact           |
| `401` | INVALID\_SECRET\_KEY - Clé secrète invalide                              |
| `403` | NO\_ACTIVE\_SUBSCRIPTION, SUBSCRIPTION\_EXPIRED, MESSAGE\_LIMIT\_REACHED |
| `404` | CAMPAIGN\_NOT\_FOUND - Campagne non trouvée                              |
| `409` | CAMPAIGN\_ALREADY\_RUNNING, CAMPAIGN\_ALREADY\_COMPLETED                 |


## OpenAPI

````yaml POST /campaigns/{id}/launch
openapi: 3.0.3
info:
  title: WaChap API
  version: 2.0.0
servers:
  - url: https://api.wachap.com/v1
    description: WaChap API server
security:
  - BearerAuth: []
tags:
  - name: Instances
    description: Créer et gérer des instances WhatsApp
  - name: Webhook
    description: Configuration des webhooks de réception
  - name: Messages
    description: Envoyer des messages WhatsApp
  - name: Comptes
    description: Gérer vos comptes WhatsApp connectés
  - name: SMS
    description: Service SMS de WaChap (V4) via FCM
  - name: Étiquettes WhatsApp
    description: Créer et associer des étiquettes aux conversations WhatsApp
paths:
  /campaigns/{id}/launch:
    post:
      tags:
        - Campagnes
      summary: Lancer une campagne
      description: Démarrez l'envoi des messages d'une campagne.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````