Pipeline de API: explorar Cabi.Chat y abrir cualquier tarjeta

Índice: Pipelines de API — índice

Objetivo: explorar Cabi.Chat sin cuenta, abrir cualquier tarjeta que puedas ver (proyecto, artículo, publicación, espacio de trabajo…) junto con las tarjetas que la rodean, y obtener su enlace público.

No hace falta token: las llamadas anónimas devuelven lo que es público para todos. Con un token, las mismas llamadas devuelven además lo visible para quienes han iniciado sesión y lo que se ha compartido contigo.

Pasos

  1. Feed de la portada.
GET /v0/graph/public/landing?page=1
→ {"root": {"nonce": "…", "title": "IAB Taxonomies"},
   "rows": [{"rubric": {"nonce": "…", "title": "Education"},
             "items": [{"card_type": "project", "nonce": "470000000000000001", "title": "…", "snippet": "…", …}],
             "total": 4}, …],
   "page": 1, "total_pages": 2}

Las filas son sectores con sus proyectos: hasta 8 filas por página, 12 fichas por fila; total = proyectos de la fila. root=<rubric nonce> empieza desde otra rúbrica.

  1. Listar un tipo. GET /v0/graph/{projects|articles|posts|workspaces|docs|sheets|boards|rubrics}?limit=20&offset=0 → {"projects": [tiles], "total": 42} (la clave es el tipo, en plural).

Una ficha: card_type, nonce, handle, title, snippet, visibility, publicity, project, rubrics, location, media, created_at, updated_at.

  1. Resolver una referencia. GET /v0/graph/resolve/{nonce | @handle | handle} → {"card_type": "article", "nonce": "…", "handle": "…", "title": "…", "kind": null}. Un handle renombrado se sigue resolviendo.

  2. Abrir la tarjeta. GET /v0/graph/{type}s/{nonce | @handle} para projects, articles, posts, workspaces, docs, sheets, boards, rubrics y telegram_groups; GET /v0/graph/oracles/{nonce}; GET /v0/graph/agendas/{nonce | @handle}.

GET /v0/graph/articles/470000000000000002
→ {"nonce": "470000000000000002", "card_type": "article", "canonical_lang": "en",
   "i18n": [{"lang": "en", "title": "…", "content": "…"}, {"lang": "ru", …}],
   "visibility": "Public", "publicity": "Everyone", "project": "470000000000000001",
   "rubrics": [{"nonce": "…", "title": "…"}], "location": {…},
   "mentioned": [{tile}, …], "tagged": [{tile}, …],
   "like_count": 0, "fav_count": 1, "writable": false, "created_at": "…", "updated_at": "…"}
  1. Enlace público. https://cabi.chat/@<handle> si la tarjeta tiene handle; si no, https://cabi.chat/<card_type>/<nonce>, p. ej. https://cabi.chat/article/470000000000000002.

Detrás

Reglas

Superficie de la API

Endpoint Para qué FE IA / oráculo
GET /v0/graph/public/landing Filas de la portada por sector sí sí, para muestrear el grafo
GET /v0/graph/{type}s Tarjetas visibles de un tipo sí sí
GET /v0/graph/resolve/{ident} Tipo y nonce de una tarjeta a partir de un handle o nonce sí sí
GET /v0/graph/{type}s/{ident} Página de la tarjeta con las tarjetas que la rodean sí sí
GET /v0/graph/oracles/{nonce}, /v0/graph/agendas/{ident} Páginas de oráculos y agendas sí sí

Mentioned