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

# Groupes

> Creez, gerez et interagissez avec les groupes WhatsApp de maniere programmatique.

# Groupes

Gerez les groupes WhatsApp via l'API Wappfy. Vous pouvez creer des groupes, gerer les participants, gerer les liens d'invitation, et bien plus.

Tous les endpoints de groupes sont limites a une instance specifique :

```
/api/instances/{instanceId}/groups/...
```

***

## Creer un groupe

Creez un nouveau groupe WhatsApp avec des participants initiaux.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.wappfy.io/api/instances/inst_abc123/groups \
    -H "X-Api-Key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "Project Alpha",
      "participants": [
        "5511999998888@s.whatsapp.net",
        "5511888887777@s.whatsapp.net"
      ]
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    "https://api.wappfy.io/api/instances/inst_abc123/groups",
    {
      method: "POST",
      headers: {
        "X-Api-Key": "YOUR_API_KEY",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        name: "Project Alpha",
        participants: [
          "5511999998888@s.whatsapp.net",
          "5511888887777@s.whatsapp.net",
        ],
      }),
    }
  );

  const group = await response.json();
  console.log(group.data.group_id);
  ```
</CodeGroup>

**Reponse :**

```json theme={null}
{
  "data": {
    "group_id": "120363012345678901@g.us",
    "name": "Project Alpha",
    "participants": [
      {
        "id": "5511999998888@s.whatsapp.net",
        "is_admin": false
      },
      {
        "id": "5511888887777@s.whatsapp.net",
        "is_admin": false
      }
    ]
  }
}
```

***

## Lister les groupes

Recuperez tous les groupes dont l'instance est membre.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.wappfy.io/api/instances/inst_abc123/groups \
    -H "X-Api-Key: YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    "https://api.wappfy.io/api/instances/inst_abc123/groups",
    {
      headers: { "X-Api-Key": "YOUR_API_KEY" },
    }
  );

  const { data } = await response.json();
  console.log(`Found ${data.length} groups`);
  ```
</CodeGroup>

**Reponse :**

```json theme={null}
{
  "data": [
    {
      "group_id": "120363012345678901@g.us",
      "name": "Project Alpha",
      "participant_count": 5
    },
    {
      "group_id": "120363098765432109@g.us",
      "name": "Support Team",
      "participant_count": 12
    }
  ]
}
```

***

## Obtenir les informations d'un groupe

Recuperez les informations detaillees d'un groupe specifique.

```bash theme={null}
curl https://api.wappfy.io/api/instances/inst_abc123/groups/120363012345678901@g.us \
  -H "X-Api-Key: YOUR_API_KEY"
```

**Reponse :**

```json theme={null}
{
  "data": {
    "group_id": "120363012345678901@g.us",
    "name": "Project Alpha",
    "description": "Team workspace for Project Alpha",
    "owner": "5511999998888@s.whatsapp.net",
    "created_at": "2026-01-15T10:00:00Z",
    "participants": [
      {
        "id": "5511999998888@s.whatsapp.net",
        "is_admin": true,
        "is_super_admin": true
      },
      {
        "id": "5511888887777@s.whatsapp.net",
        "is_admin": false,
        "is_super_admin": false
      }
    ]
  }
}
```

***

## Mettre a jour un groupe

Mettez a jour le nom ou la description du groupe. Vous devez etre administrateur du groupe pour effectuer cette action.

```bash theme={null}
curl -X PATCH https://api.wappfy.io/api/instances/inst_abc123/groups/120363012345678901@g.us \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Project Alpha v2",
    "description": "Updated workspace for Project Alpha"
  }'
```

<Note>
  Seuls les administrateurs du groupe peuvent modifier le nom et la description du groupe. Si l'instance n'est pas administrateur, une erreur `403` sera retournee.
</Note>

***

## Quitter un groupe

Retirez l'instance d'un groupe.

```bash theme={null}
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/groups/120363012345678901@g.us/leave \
  -H "X-Api-Key: YOUR_API_KEY"
```

<Warning>
  Apres avoir quitte un groupe, vous aurez besoin d'un lien d'invitation ou qu'un autre administrateur vous ajoute a nouveau.
</Warning>

***

## Participants

### Lister les participants

Obtenez tous les participants d'un groupe.

```bash theme={null}
curl https://api.wappfy.io/api/instances/inst_abc123/groups/120363012345678901@g.us/participants \
  -H "X-Api-Key: YOUR_API_KEY"
```

**Reponse :**

```json theme={null}
{
  "data": [
    {
      "id": "5511999998888@s.whatsapp.net",
      "is_admin": true,
      "is_super_admin": true
    },
    {
      "id": "5511888887777@s.whatsapp.net",
      "is_admin": false,
      "is_super_admin": false
    },
    {
      "id": "5511777776666@s.whatsapp.net",
      "is_admin": true,
      "is_super_admin": false
    }
  ]
}
```

### Ajouter des participants

Ajoutez un ou plusieurs participants a un groupe. Vous devez etre administrateur du groupe.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.wappfy.io/api/instances/inst_abc123/groups/120363012345678901@g.us/participants \
    -H "X-Api-Key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "participants": [
        "5511666665555@s.whatsapp.net",
        "5511555554444@s.whatsapp.net"
      ]
    }'
  ```

  ```javascript Node.js theme={null}
  await fetch(
    "https://api.wappfy.io/api/instances/inst_abc123/groups/120363012345678901@g.us/participants",
    {
      method: "POST",
      headers: {
        "X-Api-Key": "YOUR_API_KEY",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        participants: [
          "5511666665555@s.whatsapp.net",
          "5511555554444@s.whatsapp.net",
        ],
      }),
    }
  );
  ```
</CodeGroup>

### Retirer des participants

Retirez un ou plusieurs participants d'un groupe. Vous devez etre administrateur du groupe.

```bash theme={null}
curl -X DELETE https://api.wappfy.io/api/instances/inst_abc123/groups/120363012345678901@g.us/participants \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "participants": [
      "5511666665555@s.whatsapp.net"
    ]
  }'
```

***

## Codes d'invitation

### Obtenir le code d'invitation

Generez ou recuperez le lien d'invitation du groupe. Vous devez etre administrateur du groupe.

```bash theme={null}
curl https://api.wappfy.io/api/instances/inst_abc123/groups/120363012345678901@g.us/invite-code \
  -H "X-Api-Key: YOUR_API_KEY"
```

**Reponse :**

```json theme={null}
{
  "data": {
    "invite_code": "https://chat.whatsapp.com/AbCdEfGhIjKlMn"
  }
}
```

### Rejoindre via un code d'invitation

Rejoignez un groupe en utilisant un code d'invitation.

```bash theme={null}
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/groups/join \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "invite_code": "AbCdEfGhIjKlMn"
  }'
```

<Note>
  Transmettez uniquement la partie code, pas l'URL complete. Pour `https://chat.whatsapp.com/AbCdEfGhIjKlMn`, transmettez `AbCdEfGhIjKlMn`.
</Note>

***

## Envoyer des messages dans les groupes

Pour envoyer un message a un groupe, utilisez l'endpoint standard d'[envoi de message](/fr/guides/sending-messages) avec l'identifiant de conversation du groupe :

```bash theme={null}
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "120363012345678901@g.us",
    "type": "text",
    "text": "Hello team!"
  }'
```

Les identifiants de conversation de groupe se terminent toujours par `@g.us`.

***

## Reference des endpoints

| Methode  | Endpoint                                            | Description                              |
| -------- | --------------------------------------------------- | ---------------------------------------- |
| `POST`   | `/api/instances/{id}/groups`                        | Creer un nouveau groupe                  |
| `GET`    | `/api/instances/{id}/groups`                        | Lister tous les groupes                  |
| `GET`    | `/api/instances/{id}/groups/{groupId}`              | Obtenir les infos d'un groupe            |
| `PATCH`  | `/api/instances/{id}/groups/{groupId}`              | Modifier le nom/la description du groupe |
| `POST`   | `/api/instances/{id}/groups/{groupId}/leave`        | Quitter un groupe                        |
| `GET`    | `/api/instances/{id}/groups/{groupId}/participants` | Lister les participants                  |
| `POST`   | `/api/instances/{id}/groups/{groupId}/participants` | Ajouter des participants                 |
| `DELETE` | `/api/instances/{id}/groups/{groupId}/participants` | Retirer des participants                 |
| `GET`    | `/api/instances/{id}/groups/{groupId}/invite-code`  | Obtenir le code d'invitation             |
| `POST`   | `/api/instances/{id}/groups/join`                   | Rejoindre via un code d'invitation       |

***

## Gestion des erreurs

| Code de statut | Description                                                                                             |
| -------------- | ------------------------------------------------------------------------------------------------------- |
| `403`          | Vous n'etes pas administrateur de ce groupe.                                                            |
| `404`          | Groupe non trouve ou l'instance n'en est pas membre.                                                    |
| `409`          | Le participant est deja dans le groupe (lors de l'ajout) ou n'est pas dans le groupe (lors du retrait). |
| `422`          | Format de participant invalide. Utilisez `{phone}@s.whatsapp.net`.                                      |
