Aller au contenu

Connaissance de l’entreprise

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

GET /connaissance/fournisseurs

Les fournisseurs de connaissance que ce serveur sait lire, avec leurs réglages, leurs secrets (noms seulement), les étapes de branchement et ce que Nexus ne fait pas.

RéponseTableau de { fournisseur, libelle, famille, contenu, champs, secrets, etapes, synchronisee, tables, intervalleMin, limites }
NoteLe vocabulaire est celui de FOURNISSEURS_CONNAISSANCE (@nexus/shared) : un code inconnu d’un poste plus ancien s’affiche brut.
GET /connaissance/sources Owner et Admin

Les sources de connaissance de l’entreprise, avec leur état de synchronisation, leurs compteurs et leurs cinq derniers passages.

RéponseSourceConnaissanceDto[]
NoteAucun secret ne sort : `secretsPoses` porte un début reconnaissable de chaque secret posé, jamais la valeur.
GET /connaissance/sources/:id Owner et Admin

Une source, avec ses trente derniers passages (ajoutés, modifiés, supprimés, plafonds qui ont mordu).

RéponseSourceConnaissanceDto
NoteUne source d’une autre entreprise est introuvable (404).
POST /connaissance/sources Owner et Admin session de l’application seulement

Brancher une source (Notion, Confluence, Jira, GitHub, Zendesk, HubSpot, Intercom, Gong, Slack, Google Drive, Salesforce, Snowflake, BigQuery, site web, CSV).

Corpsfournisseur, libelle, config (réglages non secrets du fournisseur), secrets (jeton, clé…), visibilite (ENTREPRISE | MEMBRES), membres, intervalleMin
RéponseSourceConnaissanceDto (201)
NoteLe geste d’une personne (`ROUTES_SESSION_SEULE`). Le branchement est VÉRIFIÉ avant d’écrire : un jeton faux ou sans droit rend 422 avec son `code` (IDENTIFIANTS, DROITS, ADRESSE_PRIVEE, ROBOTS…), et rien n’est créé. Un réglage inconnu est refusé (400, `problemes`). La première lecture part en fond. Secrets chiffrés sous la clé du coffre, jamais rendus. Cent sources au plus par entreprise.
PATCH /connaissance/sources/:id Owner et Admin session de l’application seulement

Modifier une source : nom, réglages, secrets (un secret absent est GARDÉ), visibilité et membres, intervalle, pause.

Corpslibelle, config, secrets, visibilite, membres, intervalleMin, pause
RéponseSourceConnaissanceDto
NoteLe geste d’une personne. De nouveaux réglages ou secrets sont revérifiés, puis la source est relue depuis le début.
POST /connaissance/sources/:id/verifier Owner et Admin

Vérifier le branchement d’une source, sans rien lire ni écrire.

Réponse{ ok: true, identite }
NoteUn refus du fournisseur rend 422 avec son `code`.
POST /connaissance/sources/:id/synchroniser Owner et Admin

Relire une source maintenant (incrémental), en fond.

Corpsinventaire (booléen : relever aussi tous les identifiants pour propager les suppressions)
Réponse{ lancee: true } (202)
Note409 si une lecture est déjà en cours (bail).
POST /connaissance/sources/:id/purger Owner et Admin session de l’application seulement

Vider l’index d’une source (documents, passages, tables) en la gardant branchée.

Corpspause (booléen)
Réponse{ documents, passages }
NoteLe geste d’une personne. Sans `pause`, la source est relue au prochain tour.
DELETE /connaissance/sources/:id Owner et Admin session de l’application seulement

Retirer une source : la cascade emporte ses documents, ses passages en mémoire, ses tables et ses passages de synchronisation.

Réponse{ ok: true }
NoteLe geste d’une personne. Le jeton reste valide chez le fournisseur : le révoquer là-bas si besoin.
POST /connaissance/sources/:id/csv Owner et Admin session de l’application seulement

Déposer le fichier d’une source « fichier-csv » : ses lignes s’interrogent en SQL de lecture, son schéma et un échantillon sont indexés.

Corpscontenu (le texte du CSV, 5 Mo au plus, séparateur deviné)
Réponse{ lignes, colonnes, avertissements }
NoteLe geste d’une personne. Redéposer remplace la table.
GET /connaissance/sources/:id/documents Owner et Admin

Les documents indexés d’une source, cinquante par page.

Requêteq (titre), apres (curseur)
Réponse{ documents: [{ id, titre, url, auteur, genre, modifieLe, passages, coupe, indexeLe }], suite }
GET /connaissance/lisibles

Les sources que la personne (ou son agent) peut lire : celles de toute l’entreprise et celles qu’on lui a ouvertes.

RéponseSourceLisibleDto[]
NoteNi réglage ni secret : un nom, un fournisseur, un état, des compteurs.
POST /connaissance/recherche

Chercher dans la connaissance de l’entreprise (recherche hybride : lexicale, souple, trigrammes, vecteurs), avec les droits de la personne ; chaque passage cite sa source.

Corpsquestion, sources, fournisseurs, limite (12 au plus), extraire ({ champ: description }, 30 au plus), fromProjectId
RéponseResultatConnaissanceDto (passages : document, source, titre, url, auteur, modifieLe, genre, extrait, score ; extraction : champs, documents, consigne)
NoteUne LECTURE en POST (`LECTURES_PAR_POST`) : une clé en lecture seule y a droit. Aucun modèle n’est appelé : une extraction rend les textes et le schéma, l’agent remplit. Un `fromProjectId` en mode aveugle rend 409 `AVEUGLE`.
GET /connaissance/documents/:id

Lire un document indexé en entier, par pages de 6 000 signes, avec sa citation.

Requêtepage, fromProjectId
RéponseDocumentConnaissanceDto
NoteUn document d’une source non lisible, ou d’une autre entreprise, est introuvable (404). Un document coupé à l’indexation le dit.
POST /connaissance/tables

Les tables de l’entreprise en LECTURE : lister, décrire, interroger (SQL de lecture sur Snowflake et BigQuery, SOQL sur Salesforce, SQL restreint sur un CSV déposé).

Corpsoperation (lister | decrire | requete), source, table, sql, limite (200 au plus), fromProjectId
Réponse{ tables } | { table } | { resultat: ResultatTableConnaissanceDto }, note
NoteUne LECTURE en POST (`LECTURES_PAR_POST`). Une instruction d’écriture est refusée (400 `LECTURE_SEULE`) ; BigQuery essaie d’abord la requête à blanc et refuse ce qui n’est pas un SELECT, au volume plafonné. Un CSV ne s’interroge jamais sur la base de Nexus : un interprète en mémoire, une table par requête. Le journal porte la forme de la requête, jamais ses résultats.