API-пайплайн: связать две карточки отношением

Индекс: API-пайплайны — индекс

Цель: связать две карточки именованным отношением («поставляет», «работает с», «часть чего-то») и читать отношения и другие связи карточки.

Отношение — это ребро source → target с меткой-рубрикой (rel). Заголовок рубрики читает ребро в прямом направлении, её inverse_title — в обратном; directed: false обозначает симметричную метку. Рубрики: API-пайплайн: рубрики для карточек

Шаги

1. Выберите или создайте метку. Подходит любая рубрика, которую вы можете читать. Своя:

POST /v0/my/rubrics
Idempotency-Key: rel-label-1
{"title": "supplies", "inverse_title": "is supplied by"}
→ {"nonce": "470000000000000090", "card_type": "rubric", …}

2. Свяжите.

POST /v0/my/relations
Idempotency-Key: rel-5c0e…
{"source": "470000000000000001", "target": "470000000000000002", "rel": "470000000000000090"}
→ {"created": true,
   "relation": {"nonce": "470000000000000095", "rel": "470000000000000090",
                "source_nonce": "470000000000000001", "target_nonce": "470000000000000002",
                "direction": "out", "directed": true, "title": "supplies", "inverse_title": "is supplied by",
                "label": "supplies", "mine": true, "created_at": "…",
                "card": {"card_type": "project", "nonce": "470000000000000002", "title": "…", …}}}

3. Прочитайте отношения карточки.

GET /v0/graph/relations?card=470000000000000002&dir=both&limit=50
→ {"relations": [{"nonce": "470000000000000095", "direction": "in", "label": "is supplied by", "card": {…the other card…}, …}],
   "next_before": null}

4. Удаление. DELETE /v0/my/relations/{relation nonce} → 204. Может автор ребра или тот, у кого есть право записи на source и кто видит ребро.

Другие связи ваших карточек

GET /v0/graph/my/edges?kind=mention&target_nonce=470000000000000002&limit=100
→ {"edges": [{"kind": "mention", "source_type": "article", "source_nonce": "…", "target_nonce": "470000000000000002", …}], "total": 3}

Что происходит за кадром

Правила

Поверхность API

Эндпоинт Назначение FE ИИ / оракул
POST /v0/my/relations Связать две карточки нет да
DELETE /v0/my/relations/{nonce} Удалить отношение нет да
GET /v0/graph/relations?card= Отношения карточки нет да
GET /v0/graph/my/edges?kind= Связи ваших карточек по виду нет да

Упомянуто