Pipeline de API: buscar en el grafo

Índice: Pipelines de API — índice

Objetivo: encontrar tarjetas por palabras clave o por significado, acotando por tipo de tarjeta, rúbrica, país, lugar y distancia; o ir directamente a una tarjeta por su enlace, @handle o nonce.

No hace falta token para los resultados públicos; con un token también obtienes lo visible para quienes han iniciado sesión y lo que se ha compartido contigo.

Pasos

  1. Buscar.
POST /v0/search/graph
{"query": "bike repair", "card_type": "project", "page": 1, "limit": 20,
 "filters": {"exclude_terms": ["casino"]}}
→ {"hits": [{"card_type": "project", "nonce": "470000000000000001", "title": "…", "snippet": "…",
             "rubrics": […], "location": {"nonce": "…", "title": "Lisbon", "geo": {"lat": 38.72, "lon": -9.14}}, …}],
   "total_hits": 101, "page": 1, "total_pages": 6}
  1. Acotar con filters.
Clave Valor Efecto
rubrics [["<a>", "<b>"], ["<c>"]] cualquiera dentro de un grupo, todos los grupos deben coincidir
rubrics_not ["<rubric>"] quita las tarjetas con estas rúbricas
locations ["<place nonce>"] solo tarjetas en ese lugar o en cualquier punto dentro de él
preference_countries ["<country place nonce>"] pone primero esos países, no oculta nada
preference_city + radius_km {"nonce": "<place>", "lat": 41.26, "lon": 69.22}, 50 pone primero lo más cercano (radio por defecto 50 km), no oculta nada
exclude_terms ["casino", "crypto"] oculta las tarjetas que contienen alguna de estas palabras
kind "tag" o "place" con card_type: "rubric": solo temas o solo lugares

Nonces de rúbricas y lugares: busca {"query": "dentist", "card_type": "rubric", "filters": {"kind": "tag"}}; lugares por nombre de ciudad o país: Pipeline de API: enviar tus grupos de Telegram, buscar grupos por palabra clave, lugar o rúbrica, evaluarlos y conectarlos a una campaña (parte B).

  1. Buscar dentro de un espacio de trabajo: añade "workspace": "<workspace nonce>".

  2. Ir a una tarjeta por referencia.

GET /v0/graph/resolve/@example-handle
→ {"card_type": "project", "nonce": "470000000000000001", "handle": "example-handle", "title": "…", "kind": null}

Acepta un nonce, @handle o un handle sin @; un handle renombrado se sigue resolviendo. Después ábrela con GET /v0/graph/{type}s/{nonce}.

  1. Elegir entre tus propias tarjetas (hace falta token):
GET /v0/accessible/cards?type=project&type=workspace&q=trip&limit=30
→ {"items": [{"nonce": "…", "card_type": "workspace", "title": "Trip ideas", "source": "owned",
              "permissions": {"read": true, "write": true, "execute": true}, "snippet": "…", …}],
   "next_cursor": "…"}

Las tarjetas que son tuyas más las que se han compartido contigo, con tus derechos sobre cada una. q coincide con los títulos en todos los idiomas y con los handles; un nonce, @handle o enlace https://cabi.chat/… en q pone esa tarjeta primero. type es obligatorio (repítelo o sepáralo por comas, hasta 20); limit hasta 100; pagina con cursor=<next_cursor> hasta que sea null.

Reglas

Superficie de la API

Endpoint Para qué FE IA / oráculo
POST /v0/search/graph Palabras clave y significado combinados sí (por defecto) sí
POST /v0/search/graph/keyword Solo palabras clave sí sí
POST /v0/search/graph/vector Solo significado sí sí
GET /v0/graph/resolve/{ident} Tarjeta por nonce o handle sí (enlaces pegados) sí
GET /v0/accessible/cards Tarjetas tuyas y compartidas, por título sí (selectores) sí

Mentioned