Pipeline de API: crear y gestionar tu propia sala

Índice: Pipelines de API — índice

Objetivo: crear tu propia sala y llevarla: invitar proyectos, ver miembros, asignar roles, expulsar o vetar, cambiar ajustes, abrir hilos, renombrar y fijar la visibilidad.

Las salas hablan como proyectos: necesitas al menos un proyecto. Mensajes en una sala: Pipeline de API: leer y responder tus conversaciones

Pasos

1. Crear.

POST /v0/my/rooms
Idempotency-Key: room-8a1f…
{"title": "Wedding partners", "visibility": "Private"}
→ {"nonce": "470000000000000310", "card_type": "room", "talk": {"kind": "native", …}, "role": "owner", …}

2. Invitar a un proyecto. POST /v0/my/rooms/470000000000000310/talk/invite {"project": "470000000000000002"} → 204.

3. Miembros.

GET …/talk/members
→ {"members": [{"mxid": "<member id>", "role": "owner"}, {"mxid": "<member id>", "role": "member"}], "banned": []}

Los ids de miembro de esta lista son los que usan las llamadas siguientes.

4. Roles y expulsión.

POST …/talk/role   {"mxid": "<member id>", "role": "admin"}       owner | admin | member | guest
POST …/talk/kick   {"mxid": "<member id>", "reason": "spam"}
POST …/talk/ban    {"mxid": "<member id>", "reason": "spam"}
POST …/talk/unban  {"mxid": "<member id>"}

Todas → 204.

5. Ajustes. GET …/talk/settings → los actuales. POST …/talk/settings {"threads": true, "slow_mode_secs": 30} → 204; slow_mode_secs: 0 desactiva el modo lento.

6. Hilos. Con hilos activados: POST …/talk/threads {"name": "Pricing"} → {"event_id": "<thread root id>"}; escribe en él con thread_id y léelo con GET …/talk?thread_id=<thread root id>.

7. Nombre, visibilidad, campos de la tarjeta.

En segundo plano

Reglas

Superficie de la API

Endpoint Para qué FE IA / oráculo
POST /v0/my/rooms Crear una sala no sí
POST …/talk/invite Invitar a un proyecto no sí
GET …/talk/members Miembros, vetados no sí
POST …/talk/role, …/kick, …/ban, …/unban Moderar no sí
GET/POST …/talk/settings Hilos, modo lento no sí
POST …/talk/threads Nuevo hilo no sí
POST …/rename, …/visibility, PATCH /v0/my/rooms/{ident} Tarjeta de la sala no sí

Mentioned