Aller au contenu

Audience & SEO

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

GET /audience/resume

Combien de comptes (Google, Semrush) l’entreprise a reliés, quels projets et sites portent au moins une propriété rattachée, et quels projets ont installé un module d’audience — parmi ceux que vous voyez.

RéponseAudienceResumeDto
GET /audience/connexions

Les comptes reliés : adresse du compte Google ou préfixe de la clé Semrush, droits accordés par service (lecture, création), état, solde d’unités Semrush daté.

RéponseAudienceConnexionDto[]
NoteAucun jeton ni aucune clé ne sort : on remplace une clé, on ne la consulte pas.
GET /audience/connexions/:id

Un compte relié.

RéponseAudienceConnexionDto
POST /audience/connexions/:id/verifier

Réessaie le compte : un jeton Google neuf, ou le solde d’unités Semrush (gratuit).

RéponseAudienceConnexionDto
GET /audience/connexions/:id/inventaire session de l’application seulement

Ce que le compte voit chez le fournisseur : propriétés GA4 par compte Analytics, sites Search Console (vérifiés ou non), projets Semrush — et où chacun est déjà rattaché.

Requêteservice (GOOGLE_ANALYTICS, SEARCH_CONSOLE, SEMRUSH), frais (1 : ignorer la mémoire de deux minutes)
RéponseAudienceInventaireDto
NoteRéservé à qui a relié ce compte, ou à une personne administratrice : l’inventaire nomme les propriétés de TOUS les clients du compte. La liste des projets Semrush coûte 100 unités.
PATCH /audience/connexions/:id session de l’application seulement

Renomme un compte, ou remplace la clé Semrush (essayée avant d’être gardée).

Corpslibelle, cleApi (Semrush)
RéponseAudienceConnexionDto
DELETE /audience/connexions/:id session de l’application seulement

Déconnecte un compte : Nexus oublie le jeton ou la clé, et retire les rattachements qu’il alimentait.

Réponse{ supprimee, rattachementsRetires, libelle, chezLeFournisseur }
NoteLe jeton Google n’est PAS révoqué chez Google : une révocation coupe tout ce que le projet Google Cloud a obtenu de ce compte, Drive compris.
GET /audience/google/application Owner et Admin

L’application Google (client OAuth « Application Web ») qui sert à relier un compte : celle de l’entreprise, ou celle fournie par l’instance ; l’adresse de retour à déclarer ; les API à activer.

RéponseApplicationGoogleDto
PUT /audience/google/application Owner et Admin session de l’application seulement

Pose (ou retire, avec clientId nul) le client OAuth propre à l’entreprise.

CorpsclientId (…apps.googleusercontent.com, ou null), clientSecret (requis la première fois ; absent = inchangé)
RéponseApplicationGoogleDto
NoteLe secret est chiffré et ne ressort jamais.
GET /audience/google/ads Owner et Admin

Le jeton de développeur Google Ads : d’où il vient (l’entreprise, l’instance, ou aucun) et ses quatre premiers signes — jamais sa valeur.

RéponseJetonAdsDto
PUT /audience/google/ads Owner et Admin session de l’application seulement

Pose, remplace (ou retire, avec null) le jeton de développeur Google Ads de l’entreprise, délivré par Google à son compte administrateur (MCC).

CorpsjetonDeveloppeur (lettres, chiffres, - et _ ; ou null)
RéponseJetonAdsDto
NoteChiffré, jamais rendu ni journalisé : on le remplace, on ne le consulte pas.
POST /audience/google/autorisation session de l’application seulement

Ouvre l’autorisation Google pour relier (ou étendre) un compte : rend l’adresse à ouvrir dans un navigateur.

Corpsservices (GOOGLE_ANALYTICS, SEARCH_CONSOLE), ecriture (vrai : droit de créer des propriétés), connexionId (étendre un compte relié)
Réponse{ url, suivi }
NoteLa lecture par défaut, l’écriture sur demande ; étendre GARDE ce que le compte avait accordé. Rend aussi `suivi`, la clé qui permet de lire l’issue.
GET /audience/google/autorisation/:suivi

L’issue d’une autorisation Google ouverte par vous : en attente, ou terminée (réussie ou non, avec le message, et le compte relié).

RéponseSuiviAutorisationDto
NoteUne clé de suivi ne vaut que pour la personne qui l’a reçue ; gardée quinze minutes.
POST /audience/semrush/connexions session de l’application seulement

Relie un compte Semrush par sa clé d’API (v3), après un essai réel et gratuit : le solde d’unités.

Corpslibelle, cleApi
RéponseAudienceConnexionDto
GET /audience/rattachements

Les propriétés rattachées à un projet (les siennes ET celles de ses sites) ou à un site, avec leur dernier relevé daté : indicateurs sur 7, 28 et 90 jours comparés à la période précédente, séries quotidiennes, classements.

Requêteprojet OU site (un identifiant)
RéponseAudienceRattachementDto[]
NoteAucun appel chez un fournisseur : c’est le relevé stocké. Un relevé Semrush de plus d’un mois n’est plus rendu (conditions de Semrush).
POST /audience/rattachements session de l’application seulement

Rattache une propriété à un projet ou à un site. Google : seulement ce que le compte VOIT réellement ; Semrush : un domaine et sa base.

CorpsconnexionId, service, externalId (properties/123, sc-domain:… ou https://…/, un domaine), cible { genre: projet|site, id }, base (Semrush, défaut fr), projetSemrushId
RéponseAudienceRattachementDto
NoteLa première lecture part aussitôt, sans faire attendre la réponse.
DELETE /audience/rattachements/:id session de l’application seulement

Détache une propriété (auteur du rattachement, qui a relié le compte, ou administrateur). Rien n’est supprimé chez le fournisseur.

Réponse{ supprime, libelle, service, cible }
POST /audience/rattachements/:id/relire

Relit la propriété MAINTENANT chez le fournisseur et rend le rattachement à jour.

RéponseAudienceRattachementDto
Note429 si c’est trop tôt : cinq minutes entre deux relectures chez Google, un jour chez Semrush (chaque relecture coûte des unités, environ 270).
POST /audience/rattachements/:id/requete

Interroge EN DIRECT, en lecture seule, la propriété Google Analytics ou Search Console rattachée : un rapport sur mesure, le temps réel, les dimensions disponibles, une recherche, l’inspection d’une URL.

Corpsoperation (rapport, temps-reel, metadonnees pour Analytics ; recherche, inspection pour Search Console), puis les champs de Google — rapport : dimensions, metrics, dateRanges, dimensionFilter, metricFilter, orderBys, limit (1 000 au plus), offset, keepEmptyRows, metricAggregations ; temps-reel : dimensions, metrics, minuteRanges, dimensionFilter, orderBys, limit ; metadonnees : filtre ; recherche : startDate, endDate, dimensions, type, filters ou dimensionFilterGroups, aggregationType, rowLimit (1 000 au plus), startRow, dataState ; inspection : url, langue
RéponseResultatRequeteAudience (colonnes, lignes, suite, avertissements, quota)
NoteLe jeton ne sort jamais : le backend exécute la requête, et sur la seule propriété rattachée. Rien n’est écrit — une clé en lecture seule y a droit. Trente requêtes par minute ; sous 1 500 jetons de quota Google restants dans l’heure, les rapports sont refusés (429, RESERVE_QUOTA) pour garder la collecte de Nexus. Un 400 rend le message de Google. Semrush ne s’interroge pas ici : son serveur MCP officiel répond avec le compte de chacun.
POST /audience/rattachements/:id/verifier-site session de l’application seulement

Demande à Google de vérifier le site Search Console d’un rattachement créé par Nexus (après avoir posé l’enregistrement TXT, la balise ou le fichier).

Réponse{ rattachement, verifie, raison }
NoteUn échec est l’issue ordinaire tant que la marque n’est pas en ligne : il se dit, il ne lève pas.
POST /audience/creations/google-analytics session de l’application seulement

Crée une propriété GA4 et son flux de données Web dans un compte Analytics, puis la rattache : rend l’identifiant de mesure (G-…).

CorpsconnexionId, compte (accounts/123), nom, fuseau (défaut Europe/Paris), devise (défaut EUR), url, cible
Réponse{ rattachement, measurementId, avertissement }
NoteExige que le compte Google ait accordé la création (analytics.edit).
POST /audience/creations/search-console session de l’application seulement

Ajoute un site à la Search Console du compte (Domaine ou Préfixe d’URL), demande son jeton de vérification, et le rattache.

CorpsconnexionId, type (DOMAINE, PREFIXE), adresse, methode (DNS_TXT, META, FILE — DNS_TXT seul pour un Domaine), cible
Réponse{ rattachement }
NoteLe site entre NON VÉRIFIÉ : la vérification se demande ensuite (`…/verifier-site`).
POST /audience/creations/semrush session de l’application seulement

Crée un projet Semrush pour un domaine, puis le rattache.

CorpsconnexionId, nom, domaine, base (défaut fr), cible
Réponse{ rattachement }
NoteCoûte 100 unités d’API ; la limite de projets de l’abonnement s’applique.