Aller au contenu

Maquettes Figma

9 routes. Chemins relatifs à https://api.nexus-engine.eu/api/v1.

GET /projects/:id/figma/cibles

Les documents Figma du projet, et l’état de chacun : PROUVÉ (Nexus a vérifié qu’il s’agit bien de ce fichier) et les sessions du plugin ouvertes dessus. Sans preuve ni session, les agents ne peuvent rien y faire.

Réponse{ cibles: FigmaCibleDto[] }
POST /projects/:id/figma/cibles

Déclare un document à partir d’un LIEN Figma (c’est lui qui porte la clé, la branche et la surface). La cible naît NON prouvée : rien de son contenu n’ira à un agent avant l’appairage. FigJam et Slides sont refusés.

Corpslien (adresse figma.com), nom, defaut
RéponseFigmaCibleDto
PATCH /figma/cibles/:id

Renomme un document, ou en fait le défaut du projet (ce qui met aussi à jour `figmaUrl`).

Corpsnom, defaut, surface
RéponseFigmaCibleDto
DELETE /figma/cibles/:id

Retire le rattachement. Le document Figma lui-même n’est PAS touché : ce qu’on supprime est un lien, pas une maquette.

Réponse{ ok, note }
POST /figma/appairages session de l’application seulement

Associe une session du plugin à un document, à partir du code que le plugin affiche dans Figma. Rend le défi à écrire puis à relire — la preuve d’identité. Réservé à une SESSION : décider quel document d’un client un agent pourra modifier suppose une personne devant deux écrans.

Corpscode (celui affiché par le plugin), targetId
Réponse{ sessionId, defi, cle, fileKey, branchKey }
POST /figma/preuve session de l’application seulement

Le verdict de la preuve, rapporté par le POSTE — seul détenteur du jeton Figma personnel. `defiLu` nul veut dire « rien de lisible encore », jamais « mauvais fichier ». Réservé à une SESSION.

CorpssessionId, defiLu (nullable), note
Réponse{ verdict: prouve | en-attente | mauvais-fichier | expire }
POST /figma/commandes

Émet une commande vers le plugin : lecture, édition, prototype, animation. Écrite AVANT de partir ; l’idempotence est portée par la base, si bien qu’une clé déjà vue rend la commande d’origine — rejouée, pas répétée. Une écriture prend le bail du document.

Corpsop (vocabulaire fermé), targetId, params, scopeNodeIds (le PÉRIMÈTRE), pageId, preconditions, idempotencyKey, attendreMs
RéponseFigmaCommandeDto
GET /figma/commandes/:id

L’état d’une commande, et la PREUVE de ce qu’elle a touché (nœuds créés, modifiés). L’état `inconnue` dit qu’on ne sait pas : la commande a pu s’appliquer, on réconcilie plutôt que de rejouer.

RéponseFigmaCommandeDto
GET /figma/capacites

Ce que Nexus sait faire dans Figma : une matrice DATÉE, à trois axes distincts — ce que Figma supporte, ce que Nexus a implémenté et testé, et ce que le compte peut faire (qui ne se constate qu’à l’exécution).

Requêtesurface (design, proto…)
Réponse{ releveLe, avertissement, capacites: CapaciteFigma[] }