> ## 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.

# Envoyer plusieurs messages

> Envoyez jusqu’à 100 messages WhatsApp dans une même requête

### Endpoint

<ParamField method="POST" path="/v1/whatsapp/messages/send-batch" />

<ParamField body="messages" type="array" required>
  Tableau de 1 à 100 messages. Chaque entrée utilise la même structure que l’objet `data` de l’endpoint d’envoi individuel.
</ParamField>

Les boutons interactifs sont disponibles pour les entrées `text`, `image`, `video` et `document`.

### Exemple

```bash theme={null}
curl -X POST https://api.wachap.com/v1/whatsapp/messages/send-batch \
  -H "Authorization: Bearer token" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {
        "accountId": "account_123",
        "to": "+2290100000000",
        "type": "text",
        "content": "Confirmez-vous votre présence ?",
        "buttons": [
          {"id": "yes", "text": "Oui", "type": "reply"},
          {"id": "no", "text": "Non", "type": "reply"}
        ]
      },
      {
        "accountId": "account_123",
        "to": "+2290199999999",
        "type": "image",
        "imageUrl": "https://example.com/invitation.jpg",
        "caption": "Voici votre invitation",
        "buttons": [
          {"id": "details", "text": "Voir les détails", "type": "url", "url": "https://example.com/evenement"}
        ],
        "footerText": "Événement WaChap"
      }
    ]
  }'
```

<Note>
  La limite est de 100 messages par requête. Les règles de [Boutons interactifs](/fr/messages/interactive-buttons) s’appliquent séparément à chaque entrée.
</Note>


## OpenAPI

````yaml POST /whatsapp/messages/send-batch
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:
  /whatsapp/messages/send-batch:
    post:
      tags:
        - Messages
      summary: Envoyer plusieurs messages
      description: >-
        Envoyez de 1 à 100 messages. Chaque entrée peut inclure des boutons
        interactifs lorsqu’elle est de type text, image, video ou document.
      operationId: sendBatchMessages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - messages
              properties:
                messages:
                  type: array
                  minItems: 1
                  maxItems: 100
                  items:
                    type: object
                    required:
                      - accountId
                      - to
                      - type
                    properties:
                      accountId:
                        type: string
                      to:
                        type: string
                      type:
                        type: string
                        enum:
                          - text
                          - image
                          - audio
                          - video
                          - document
                          - location
                          - contact
                      content:
                        type: string
                      imageUrl:
                        type: string
                      videoUrl:
                        type: string
                      documentUrl:
                        type: string
                      audioUrl:
                        type: string
                      filename:
                        type: string
                      caption:
                        type: string
                      buttons:
                        type: array
                        minItems: 1
                        maxItems: 3
                        items:
                          $ref: '#/components/schemas/InteractiveButton'
                      footerText:
                        type: string
                        maxLength: 60
            examples:
              confirmations:
                value:
                  messages:
                    - accountId: account_123
                      to: '+2290100000000'
                      type: text
                      content: Confirmez-vous votre présence ?
                      buttons:
                        - id: 'yes'
                          text: Oui
                          type: reply
                        - id: 'no'
                          text: Non
                          type: reply
      responses:
        '200':
          description: Résultat de l’envoi de chaque message
        '400':
          description: Tableau vide, plus de 100 messages ou données invalides
components:
  schemas:
    InteractiveButton:
      type: object
      required:
        - text
      properties:
        id:
          type: string
          description: >-
            Identifiant unique du bouton dans le message. Généré automatiquement
            s’il est omis.
        text:
          type: string
          minLength: 1
          maxLength: 20
          description: Libellé affiché dans WhatsApp.
        type:
          type: string
          enum:
            - reply
            - url
            - call
          default: reply
        url:
          type: string
          format: uri
          pattern: ^https?://
          description: URL HTTP(S) requise pour un bouton de type url.
        phoneNumber:
          type: string
          pattern: ^\+?[1-9][0-9]{5,14}$
          description: Numéro international requis pour un bouton de type call.
      example:
        id: confirm
        text: Confirmer
        type: reply
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````