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", …}
- Solo
titlees obligatorio;visibilityes Private por defecto. Public: cualquiera puede entrar y leer el historial; Private: por invitación. - En ella hablas como tu primer proyecto.
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.
POST …/rename {"name": "Wedding partners 2027"}→ 204.POST …/visibility {"visibility": "Public"}→ 204 (solo el dueño).PATCH /v0/my/rooms/{ident}(solo el dueño) acepta los campos comunes de tarjeta:title,content,handle,project,rubrics,location,visibility,publicity,permissions,translate_mode,translate_langs(traducción automática del título y la descripción de la tarjeta de la sala, no de los mensajes). Mismas reglas que los artículos: Pipeline de API: escribir artículos y publicaciones
En segundo plano
- Nada se ejecuta después: cada llamada surte efecto al responder.
Reglas
- 400:
title is required;create a project first — rooms speak as a project;name must not be empty;role must be owner|admin|member|guest. - 400:
no permission to add members(igual para kick, ban, unban, cambiar roles, cambiar ajustes, fijar, renombrar);threads are disabled in this room;not a participant of this room. - 404: una sala en la que no estás; visibilidad o PATCH de alguien que no es el dueño.
- Tus
permissionsenGET /v0/my/rooms/{ident}muestran de antemano lo que puedes hacer (add_members,kick,ban,pin,change_settings,change_roles).
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í |