Description
n8n-nodes-async-api
Nœuds n8n pour les services IA BRIO (async-api) : soumettre des tâches
à un service, suivre leur avancement et récupérer les résultats, directement depuis un workflow n8n.
> Statut : socle (#484). Les opérations sont livrées dans les tickets suivants de
> l’EPIC [[N8N] Intégration dans des noeuds N8N](https://github.com/IA-Generative/async-api/issues/218).
Contenu
- Credential
AsyncTaskAPI (BRIO):Base URL+Client ID+Client Secret - Nœud
BRIO — Services IA: opérationsSoumettre et attendre,Soumettre une tâche, - Explication contextuelle : dès qu’un service est choisi dans le dropdown, une notice
- Body pré-rempli par service : à la sélection d'un service, le champ Body (JSON) contient
(authentification HTTP Basic). Le bouton « Tester » valide réellement les identifiants
via GET /v1/me.
Récupérer une tâche, Envoyer un fichier (implémentation progressive).
explique en une ou deux phrases ce que fait ce service, suivie d’un lien vers sa page de
documentation (ReDoc de l’API). Tant qu’aucun service n’est sélectionné, rien ne s’affiche.
Le lien pointe l’instance prod Scaleway : le contenu d’une notice est statique, la
baseUrl de la credential n’y est pas injectable (DOCBASEURL à changer si l’audience
visée est MI/RIE ou staging). Contenu dans
nodes/asyncTask/serviceDocs.ts — un nouveau service côté
services.yaml apparaît dans le dropdown sans release du nœud, mais son explication demande
une entrée ici.
> Le composant Notice de n8n assainit le contenu avec allowedTags: ['a', 'ul', 'li'] :
> , , sont supprimés à l'affichage. D'où du texte brut (liens et listes à
> puces restent possibles).
un exemple soumettable de ce service (document_types pour la classification, entities pour
l'extraction, data pour le publipostage…), avec un rappel des champs obligatoires sous le
champ. Un champ générique à {} prend le relais pour un service inconnu du nœud — l'enum
Service étant ouvert. Exemples dans le même
serviceDocs.ts, aux côtés des explications, pour qu'ils ne
divergent pas.
> n8n mémorise les valeurs par nom de paramètre : l'exemple se pose à la première sélection
> d'un service, mais un body déjà saisi n'est pas écrasé si l'on change de service ensuite (on ne
> détruit pas une saisie). Le hint sous le champ, lui, suit toujours le service sélectionné.
Avant toute release touchant aux exemples, les confronter aux schémas réellement déployés :
pnpm build && node scripts/verifier-exemples-vs-schemas.mjs ../async-api
Un exemple non conforme serait pire que pas d'exemple : l'utilisateur le soumettrait tel quel
pour récolter un 422.
Développement
pnpm install
pnpm build # tsc + copie des icônes
pnpm lint
pnpm dev # tsc --watch (hot-reload en dev)
Tester en local dans n8n
Pointer une credential sur le staging puis exécuter un workflow. Voir la doc n8n sur les
nœuds communautaires en développement (montage du dist/ dans ~/.n8n/custom).
Publication
Package scoped @minint/ publié sur le Nexus (Scaleway + DSO MI), puis intégré à
l'image n8n via n8n-image (nodes/package.json).
Voir tickets #481 (CI Nexus) et #482 (image).