Aller au contenu

Entreprise

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

GET /espace/facturation session de l’application seulement

La facturation de l'espace au siège : état, sièges facturés / occupés / au renouvellement, option de stockage partagée, capacité, membres et leur couverture, paiements.

RéponseLicenceEspaceDto
POST /espace/facturation/souscrire session de l’application seulement

Un administrateur ouvre la page de paiement de l'espace : 30 € HT × sièges occupés, option de stockage partagée.

Corpspack (index de PACKS_STOCKAGE_ESPACE, défaut 0)
POST /espace/facturation/option session de l’application seulement

Change l'option de stockage de l'espace (hausse facturée tout de suite, baisse au renouvellement).

Corpspack
POST /espace/facturation/portail session de l’application seulement

Ouvre le portail Stripe de l'espace.

POST /espace/facturation/resilier session de l’application seulement

Résilie la facturation de l'espace au terme payé.

POST /espace/facturation/reprendre session de l’application seulement

Annule la résiliation de l'espace.

PATCH /espace/facturation/membres/:memberId session de l’application seulement

Met un membre hors de la facturation de l'espace (il n'occupe plus de siège), ou l'y remet.

CorpshorsFacturation (booléen)
GET /agency

La fiche de l’entreprise.

RéponseAgencyDto
PUT /agency Owner et Admin

Modifie la fiche de l’entreprise.

Corpsname, logoUrl, emailDomain, address, postalCode, city, country, siren
RéponseAgencyDto
PATCH /agency Owner et Admin

Change un ou plusieurs champs de la fiche sans renvoyer les autres.

Corpsname, logoUrl, emailDomain, address, postalCode, city, country, siren (tous facultatifs)
RéponseAgencyDto
NoteNé pour nommer un espace aux premiers pas : le PUT exige toute la fiche, et un écran qui ne la lit pas l’aurait renvoyée vide.
GET /agency/logo-integre

Le logo de l’entreprise en image intégrée (data:), pour l’application.

Requêtevariante : « noir » (défaut) ou « blanc »
Réponse{ dataUrl }
NoteLa fenêtre de Nexus tourne sous « img-src 'self' data: » : une adresse absolue vers l’API y est refusée en silence, et l’aperçu restait vide. L’adresse publique (/agences/:id/logo) garde son rôle : elle sert les clients de messagerie et le portail, hors de notre fenêtre. « dataUrl: null » quand aucun logo n’est déposé — ce n’est pas une erreur.
PUT /agency/favicon Owner et Admin

Importe (ou remplace) le favicon de l’espace : l’icône carrée qui sert d’avatar à l’espace.

CorpsmimeType (image/png, image/jpeg, image/webp, image/svg+xml), dataBase64
Réponse{ faviconUrl, faviconMime }
Note512 ko au plus. La signature du fichier est vérifiée, et un SVG est inspecté (script, gestionnaires, foreignObject refusés). Distinct des deux logos : il se pose dans un carré — barre du haut, sélecteur d’espaces.
GET /agency/favicon-integre

Le favicon de l’espace courant, en image intégrée (data:), pour l’aperçu d’Administration.

Réponse{ dataUrl }
Note« dataUrl: null » sans favicon — ce n’est pas une erreur.
DELETE /agency/favicon Owner et Admin

Retire le favicon de l’espace : l’avatar retombe sur le logo, puis sur les initiales.

Réponse{ faviconUrl, faviconMime }
GET /agences/:id/favicon sans authentification

Le favicon d’une entreprise, en image. Sans authentification.

NoteMêmes en-têtes que le logo public (CSP fermée, nosniff, cache d’une heure). Une entreprise sans favicon répond 404 comme une adresse inconnue.
GET /agency/google

Le projet Google Cloud de l’entreprise (Drive) — lecture ouverte à tout membre, secret compris : le poste en a besoin pour mener le flux OAuth, et ces valeurs étaient jusqu’ici embarquées dans un installeur téléchargeable par n’importe qui.

RéponseclientId, clientSecret, apiKey, projectNumber
PUT /agency/google Owner et Admin

Enregistre le projet Google Cloud de l’entreprise. Un champ absent ne touche à rien, un champ vide efface. Le secret est chiffré au repos.

CorpsclientId, clientSecret, apiKey, projectNumber (tous facultatifs)
Réponse{ ok }
GET /agency/microsoft

Le client Microsoft (Entra ID) de l’entreprise, prêté aux applications de base pour relier Outlook / Microsoft 365 — un client public, sans secret : lecture ouverte à tout membre.

RéponseclientId
PUT /agency/microsoft Owner et Admin

Enregistre le client Microsoft de l’entreprise (« ID d’application (client) » d’Entra ID). Absent : rien ne change ; vide : efface, le poste revient à celui de sa construction.

CorpsclientId
Réponse{ ok }
GET /agency/listes-reputation Owner et Admin

Les clés des deux listes publiques (Google Safe Browsing, URLhaus) : leur PRÉSENCE, jamais leur valeur, et si elles viennent de l’environnement du serveur.

RéponseListesReputationDto
PUT /agency/listes-reputation Owner et Admin

Pose ou retire les clés des deux listes publiques. Un champ absent ne touche à rien, un champ vide efface. Chiffrées au repos, jamais relues par aucune route.

CorpssafeBrowsingKey, urlhausKey (facultatifs)
Réponse{ ok }
PATCH /agency/retention Owner et Admin

Durée de conservation des conversations et pièces jointes.

CorpsretentionDays (7 à 3650, ou null = tout garder)
RéponseAgencyDto
PATCH /agency/dev-access Owner et Admin session de l’application seulement

Ouvrir tout le parc — sites, serveurs, coffre — aux développeurs.

CorpsdevsSeeAllAssets (booléen)
RéponseAgencyDto
PATCH /agency/preprod Owner et Admin session de l’application seulement

Le domaine sous lequel naissent les préproductions (preprod.agence.fr) et la zone DNS d’un compte relié où Nexus les écrit.

CorpspreprodDomain (nom d’hôte ou null), preprodZoneResourceId (ressource DNS_ZONE de l’entreprise, ou null)
RéponseAgencyDto
Note404 si la zone n’est pas une zone DNS d’un compte relié de l’entreprise ; 409 si le domaine ne vit pas dans cette zone ; 400 pour une zone sans domaine.
GET /task-states

Les états de tâche définis par l’entreprise.

Réponse{ states: TaskStateDto[] }
PUT /task-states Owner et Admin

Remplace la liste des états de tâche (au moins un de catégorie DONE).

Corpsstates : liste de {key, label, category (TODO, IN_PROGRESS, IN_REVIEW, DONE), color}
Réponse{ states: TaskStateDto[] }
GET /surveillance-settings

Machine témoin, délai d’escalade, crochet de messagerie.

RéponseSurveillanceSettingsDto
NoteL’adresse du crochet ne sort JAMAIS : `alertWebhookHint` en montre l’hôte et six caractères.
PATCH /surveillance-settings

Désigne la machine témoin, règle l’escalade, pose ou retire le crochet.

CorpswitnessServerId, escalationMinutes, alertWebhookUrl
NoteAdministrateurs seulement. L’adresse du crochet est chiffrée au repos et n’entre jamais dans le journal d’audit.