async-api

Nœuds n8n pour les services IA BRIO (async-api) : soumission de tâches, suivi et récupération des résultats

Package Information

Released: 2 mo ago
Downloads: 0 weekly / 0 monthly
Latest Version: 0.4.0

Documentation

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.

Contenu

  • Credential AsyncTaskAPI (BRIO) : Base URL + Client ID + Client Secret
    (authentification HTTP Basic). Le bouton « Tester » valide réellement les identifiants
    via GET /v1/me.

  • Nœud BRIO — Services IA : opérations Soumettre et attendre, Soumettre une tâche,
    Récupérer une tâche, Envoyer un fichier (implémentation progressive).

  • Explication contextuelle : dès qu'un service est choisi dans le dropdown, une notice
    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 (DOC_BASE_URL à 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'] :
    <b>, <code>, <br> sont supprimés à l'affichage. D'où du texte brut (liens et listes à
    puces restent possibles).

  • Body pré-rempli par service : à la sélection d'un service, le champ Body (JSON) contient
    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).

Licence

MIT

Discussion