Un wrapper maison par plateforme
Google Ads et Meta parlent des langues différentes : champs, statuts et limites propres. La couche écrite pour un rapport survit toujours au rapport lui-même.
L’API REST v1 et le serveur MCP fonctionnent avec la même clé vk_live_… et les mêmes portées : 31 outils pour un assistant et des endpoints pour les campagnes, l’analytique, les leads Meta et les règles. Une clé peut être en lecture seule, et toute écriture sans portée renvoie 403.
Google Ads et Meta parlent des langues différentes : champs, statuts et limites propres. La couche écrite pour un rapport survit toujours au rapport lui-même.
Claude ou ChatGPT raisonne très bien sur des campagnes, mais sans accès ni garde-fous : le choix habituel est une clé pour tout, ou rien du tout.
Un jeton dans une variable d’environnement, sans expiration, sans portée et sans trace : personne ne sait qui s’en sert ni ce qui arrivera s’il fuit.
Dans la section des clés développeur, donnez un nom, cochez les portées nécessaires et, si besoin, une expiration en jours. La clé n’est affichée qu’une fois.
Les appels REST vont sur /api/v1 avec l’en-tête Authorization: Bearer, x-api-key ou apikey. Un assistant se connecte à l’endpoint MCP /mcp avec la même clé.
Seules les portées accordées répondent : sans campaigns:write, une écriture renvoie 403, et la campagne ainsi créée reste un brouillon, pas une diffusion.
Campagnes, analytique, leads Meta, règles, scores de santé et génération de textes, exposés à l’assistant comme des outils ordinaires derrière une clé.
Campagnes avec pause, reprise, performances et score de santé, plus analytique, leads Meta, vue du compte et règles d’automatisation.
campaigns, analytics, rules, health, leads et ai:generate : une clé de tableau de bord peut rester strictement en lecture, sans ouvrir l’écriture.
Préfixe dans la liste, compteur d’appels, dernière utilisation et expiration ; la révocation coupe la clé partout, immédiatement.
Le schéma est servi sur /api/docs/openapi.json avec une documentation interactive : le client se génère au lieu de s’écrire à la main.
Les campagnes créées via l’API ou MCP arrivent en brouillon, l’écriture exige une portée d’écriture, et rien ne part seul vers la plateforme.
Dans la section des clés développeur, cliquez sur Créer une clé, donnez-lui un nom, cochez les portées nécessaires et, si vous le souhaitez, une expiration en jours. La clé au format vk_live_… n’est affichée qu’une seule fois : seule son empreinte SHA-256 est stockée. La révocation est possible à tout moment et prend effet immédiatement.
Le serveur MCP se trouve sur l’endpoint /mcp et parle le transport Streamable HTTP. Dans votre client MCP, indiquez cette adresse et ajoutez l’en-tête Authorization: Bearer avec votre clé vk_live_… L’assistant voit alors 31 outils, strictement dans la limite des portées accordées à cette clé.
Non. La création d’une campagne via l’API ou MCP renvoie un brouillon et non une campagne active, et la réponse indique explicitement qu’une étape humaine suit. Toute écriture exige la portée campaigns:write ; sans elle l’appel renvoie 403. Une clé peut d’ailleurs être émise en lecture seule.
Campagnes : lister, lire, créer, modifier, mettre en pause, reprendre, supprimer, performances et score de santé. Analytique : synthèse, dépenses, conversions et rapports. Leads Meta : formulaires, leads, synchronisation et ingestion. Plus la vue du compte, les plateformes connectées et les règles d’automatisation avec modèles et historique.
Par défaut 100 requêtes par minute et par clé ; la valeur est fixée à la configuration de l’installation, donc elle peut être relevée sur votre propre serveur. En cas de dépassement, une réponse de limite est renvoyée : la clé n’est pas bloquée et repart à la fenêtre suivante.
Une campagne dans l’API appartient à une plateforme et ne peut être créée que là où le compte publicitaire est déjà connecté ; sinon la réponse indique qu’il faut d’abord le connecter. Un appel dédié renvoie la liste des plateformes connectées avec l’état du jeton, vérifiable avant la première écriture.
Une clé se crée avec les portées et l’expiration de votre choix, et se révoque en un clic. Commencez en lecture seule, élargissez ensuite en confiance.