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

# Resumen

> Crea y administra comunidades (grupos padre) mediante /api/community/*

**Auth:** `TokenAccount` o `TokenInstance` en cada ruta. Cada llamada valida la propiedad de la instancia.

Las comunidades son "grupos padre" de WhatsApp que agrupan otros grupos como subgrupos. Esta sección cubre las rutas `/api/community/*` para crear, vincular, desvincular y listar subgrupos. Para grupos regulares, consulta [Grupos](/es/api/groups/overview).

## Endpoints

| Método | Ruta                                     | Función                                                    |
| ------ | ---------------------------------------- | ---------------------------------------------------------- |
| POST   | `/api/community/create/:instance`        | [Crear comunidad](/es/api/communities/create)              |
| POST   | `/api/community/link/:instance`          | [Vincular grupos a la comunidad](/es/api/communities/link) |
| POST   | `/api/community/unlink/:instance`        | [Desvincular grupos](/es/api/communities/unlink)           |
| GET    | `/api/community/listSubGroups/:instance` | [Listar subgrupos](/es/api/communities/list-subgroups)     |

## Cómo funciona

Una comunidad de WhatsApp se compone de:

* **Grupo padre** (la comunidad en sí), donde administras todo
* **Grupo de Anuncios**, creado automáticamente. Solo los administradores publican, pero todos los miembros de los subgrupos reciben los mensajes
* **Subgrupos**, grupos regulares vinculados a la comunidad

<Note>
  Cada grupo pertenece a **como máximo una comunidad** a la vez. Para mover un grupo de una comunidad a otra, desvincula primero y luego vincula al destino.
</Note>

## Identificadores

* La mayoría de las rutas esperan **JIDs `@g.us`** en `communityJid` y `groupJid`.
* `GET /listSubGroups` requiere `?communityJid=` en el query string.

## Estructuras de respuesta

### Respuesta de `/create`

```json theme={null}
{
  "success": true,
  "message": "Community created successfully",
  "linkedGroups": ["120363406289005074@g.us"],
  "failedGroups": [],
  "imageError": null,
  "group": {
    "name": "Alpha Community",
    "jid": "120363406289005073@g.us",
    "isCommunity": true,
    "isParent": true,
    "linkedParentJid": null
  }
}
```

### Respuesta de `/link` y `/unlink`

```json theme={null}
{
  "success": true,
  "message": "Linked 2 of 2 groups to community",
  "linked": ["120363406289005074@g.us", "120363406289005075@g.us"],
  "failed": []
}
```

<Warning>
  En el endpoint `/unlink`, el campo se llama `linked` pero contiene los JIDs **desvinculados con éxito** (DTO compartido). Usa el `message` (`"Unlinked N of M ..."`) para desambiguar.
</Warning>

### Respuesta de `/listSubGroups`

```json theme={null}
{
  "success": true,
  "message": "2 subgroup(s) found",
  "communityJid": "120363406289005073@g.us",
  "subgroups": [
    { "jid": "120363406289005074@g.us", "name": "Announcements", "isDefaultSubGroup": true },
    { "jid": "120363406289005075@g.us", "name": "General", "isDefaultSubGroup": false }
  ]
}
```

`isDefaultSubGroup=true` indica el **Grupo de Anuncios** predeterminado de la comunidad.

## Envoltorio de error

```json theme={null}
{
  "success": false,
  "error": { "message": "community jid is required" }
}
```

## Siguiente

<CardGroup cols={2}>
  <Card title="Crear comunidad" icon="building" href="/es/api/communities/create">
    Crea el grupo padre y vincula subgrupos iniciales.
  </Card>

  <Card title="Listar subgrupos" icon="list" href="/es/api/communities/list-subgroups">
    Devuelve los grupos vinculados.
  </Card>
</CardGroup>
