npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-layerone

v1.0.0

Published

Noeuds n8n pour les API LayerOne : DocX (generation de documents Word/PDF, factures Factur-X) et Sign (signature electronique eIDAS / PAdES).

Downloads

134

Readme

n8n-nodes-layerone

Nœuds communautaires n8n pour les API LayerOne :

  • DocX — génération de documents Word/PDF et de factures électroniques Factur-X (réforme 2026) à partir de modèles, plus la gestion versionnée des modèles.
  • Sign — signature électronique eIDAS / PAdES : envoi de PDF à signer, suivi du statut, vérification d'identité par SMS (OTP) et récupération des preuves juridiques.

Ce paquet contient deux nœuds (DocX, Sign) et deux credentials (DocX API, Sign API). Il n'a aucune dépendance d'exécution (exigence des nœuds vérifiés n8n) : tout passe par le moteur de requêtes déclaratif de n8n.

Prérequis (compte LayerOne)

Les API LayerOne nécessitent une clé. Créez un compte gratuit sur https://dev.layerone.fr (20 documents/mois pour DocX, 10 signatures/mois pour Sign), puis générez une clé dans l'onglet « Clés API ». La clé est envoyée dans l'en-tête X-API-Key.

| Service | URL de base | Authentification | | --- | --- | --- | | DocX | https://docx.layerone.fr | en-tête X-API-Key | | Sign | https://sign.layerone.fr | en-tête X-API-Key |

Opérations

DocX (11 opérations)

| Ressource | Opération | Méthode | Endpoint | | --- | --- | --- | --- | | Document | Render Document | POST | /render-document | | Document | Render Factur-X Invoice | POST | /render-facturx | | Template | Upload | POST | /client/templates | | Template | Update | PUT | /client/templates/{templateId} | | Template | Download | GET | /client/templates/{templateId} | | Template | Delete | DELETE | /client/templates/{templateId} | | Template | List | GET | /client/templates | | Template Version | List Versions | GET | /client/templates/{templateId}/versions | | Template Version | Download Version | GET | /client/templates/{templateId}/versions/{versionId} | | Template Version | Restore Version | POST | /client/templates/{templateId}/restore/{versionId} | | Account | Get Usage Stats | GET | /usage-stats |

  • Render Document / Factur-X : corps application/x-www-form-urlencoded (template_id, json_data, output_format, output_filename). La réponse binaire (PDF/DOCX) est placée dans la propriété binaire data de l'item.
  • Upload / Update : envoi multipart du fichier .docx lu depuis une propriété binaire de l'item d'entrée (champ « Input Binary Field », par défaut data).
  • Download / Download Version : la réponse binaire est placée dans la propriété binaire data.

Sign (9 opérations)

| Ressource | Opération | Méthode | Endpoint | | --- | --- | --- | --- | | Document | Send for Signature | POST | /v1/documents/send | | Document | Detect Fields | POST | /v1/documents/detect-fields | | Document | Get Status | GET | /v1/documents/{documentId} | | Document | Get Audit Certificate | GET | /v1/documents/{documentId}/audit | | Document | Validate Signature | GET | /v1/documents/{documentId}/validate | | Document | Download Signed Document | GET | /v1/documents/{documentId}/download | | Document | Cancel | DELETE | /v1/documents/{documentId} | | OTP | Send OTP (SMS) | POST | /v1/otp/request | | OTP | Verify OTP (SMS) | POST | /v1/otp/verify |

  • Send for Signature / Detect Fields : le PDF est passé en base64 dans le corps JSON (pdf_base64). Le signataire est construit dans signers[0] (name, email, role, phone).
  • Download Signed Document : renvoie le JSON LayerOne contenant pdf_base64, title, size_bytes.

Test des credentials

  • DocX : le test interroge GET /usage-stats. Une clé valide renvoie 200 ; une clé inconnue renvoie 401, ce qui fait échouer le test.
  • Sign : le test interroge GET /v1/documents/n8n-credential-check. L'authentification est vérifiée avant la recherche du document : une clé valide renvoie 404 (document inconnu, ignoré par le test) ; une clé invalide renvoie 401/403, ce qui fait échouer le test.

Installation dans n8n (utilisateur final)

Dans une instance n8n auto-hébergée : Settings → Community Nodes → Install, puis saisir n8n-nodes-layerone. (Disponible une fois le paquet publié sur npm — voir ci-dessous.)


Développement local

# 1. Installer les dépendances de développement (aucune dépendance d'exécution)
npm install

# 2. Compiler le TypeScript + copier les icônes
npm run build

# 3. Vérifier le code avec le linter n8n
npm run lint

# 4. Tester dans une instance n8n locale
#    Lier le paquet puis le déclarer dans ~/.n8n/custom (cf. docs n8n) :
#    https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/
npm link

Publication sur npm (propriétaire du compte)

⚠️ Ces étapes nécessitent des comptes tiers dont seul le propriétaire dispose. Voir la section « Ce qui requiert un compte tiers » plus bas.

La publication doit se faire via GitHub Actions avec provenance (exigence n8n depuis mai 2026 pour la vérification). Le workflow .github/workflows/publish.yml est déjà fourni.

  1. Créer le dépôt GitHub et y pousser le contenu de integrations/n8n/ (ce dossier devient la racine du dépôt npm).
  2. Créer un jeton npm de type Automation (compte npm requis) et l'ajouter en secret de dépôt GitHub nommé NPM_TOKEN (Settings → Secrets and variables → Actions).
  3. Mettre à jour package.json : champ repository.url (URL réelle du dépôt) et, si besoin, author.
  4. Créer une release GitHub (un tag de version, ex. v1.0.0). La publication se déclenche automatiquement :
    • npm cinpm run buildnpm run lintnpm publish --provenance --access public.
    • La provenance est enregistrée par npm grâce à l'OIDC GitHub (id-token: write dans le workflow).
  5. Vérifier sur https://www.npmjs.com/package/n8n-nodes-layerone que le paquet apparaît avec le badge de provenance.

Soumission pour vérification n8n (Creator Portal)

Une fois le paquet publié sur npm avec provenance :

  1. Aller sur le n8n Creator Portal (compte n8n / Creator Portal requis) : https://www.n8n.io/creators/ → soumettre le nœud communautaire.
  2. n8n récupère le paquet depuis npm et lance ses vérifications automatiques (pas de dépendance d'exécution, structure conforme, README présent, credentials avec test, conventions UX).
  3. Corriger les éventuels retours, republier (nouvelle release → nouvelle version), puis re-soumettre.

Référence officielle : https://docs.n8n.io/integrations/creating-nodes/deploy/submit-community-nodes/


Ce qui requiert un compte tiers (à faire par le propriétaire)

| Action | Compte requis | Détail | | --- | --- | --- | | Héberger le code + lancer le workflow de publication | GitHub | Créer le dépôt, ajouter le secret NPM_TOKEN, créer les releases | | Publier sur npm (avec provenance) | npm | Générer un jeton Automation. Le nom n8n-nodes-layerone doit être disponible sur npm | | Soumettre pour vérification | n8n Creator Portal | Soumission + suivi des retours de vérification |

Le code de ce paquet est complet et autonome : aucune clé ni secret n'y est codé en dur. Les seules actions restantes sont la création des comptes/jetons ci-dessus et le déclenchement de la publication.