mirror of
https://github.com/n8n-io/n8n-nodes-starter.git
synced 2025-10-28 14:12:24 -05:00
more cleaning
This commit is contained in:
parent
1f0d4727f0
commit
de3e6aa70b
4 changed files with 43 additions and 295 deletions
43
README.md
Normal file
43
README.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
## Prerequisites
|
||||
|
||||
You need the following installed on your development machine:
|
||||
|
||||
* Docker and Docker Compose
|
||||
* NodeJS, npm and pnpm (Execture npm install -g pnpm@latest-10 after installing npm)
|
||||
|
||||
Once you have cloned the repository:
|
||||
|
||||
* Execute:
|
||||
```
|
||||
npm i
|
||||
```
|
||||
|
||||
To run the local n8n instance:
|
||||
|
||||
* Execute:
|
||||
```
|
||||
docker compose up -d
|
||||
```
|
||||
Now, n8n will run on http://localhost:5678.
|
||||
|
||||
When changes are made to the custom node code and you want to test it on the local instance:
|
||||
|
||||
* There is a script file called deploy-node.sh. Once executed, it will build the custom node code and deploy the Docker container. This file requires a few changes depending on the name that Docker gives to the container and the volumes:
|
||||
|
||||
* On line 24 of the script, you will see this line:
|
||||
```
|
||||
TARGET_DIR="/var/lib/docker/volumes/n8n-self-hosted_n8n_data/_data/custom/$PACKAGE_NAME"
|
||||
```
|
||||
|
||||
* Depending on the container volume name, "n8n-self-hosted_n8n_data" needs to be changed. To check the volume's name, execute:
|
||||
|
||||
```
|
||||
docker volume ls
|
||||
```
|
||||
|
||||
* On lines 56 and 59, "n8n-self-hosted-n8n-1" must be changed to match the name of the container for the n8n instance.
|
||||
|
||||
* Once these changes are made, execute the script:
|
||||
```
|
||||
./deploy-node.sh
|
||||
```
|
||||
179
README_S4DS.md
179
README_S4DS.md
|
|
@ -1,179 +0,0 @@
|
|||
# S4DS Nodes para n8n
|
||||
|
||||
Este paquete de nodos personalizados para n8n proporciona integración completa con las APIs de S4DS, incluyendo autenticación y operaciones de ejemplo.
|
||||
|
||||
## Nodos Incluidos
|
||||
|
||||
### 1. S4DS Authentication
|
||||
Nodo principal para autenticación con las APIs de S4DS.
|
||||
|
||||
**Características:**
|
||||
- Generación de tokens Bearer
|
||||
- Validación de tokens existentes
|
||||
- Soporte para múltiples ambientes (Test, UAT, Production)
|
||||
- Soporte para múltiples clientes (Demo, Cliente 1, Cliente 2)
|
||||
- Almacenamiento automático de tokens en contexto del workflow
|
||||
- Gestión de expiración de tokens
|
||||
|
||||
**Operaciones:**
|
||||
- **Generate Token**: Genera un nuevo token de autenticación
|
||||
- **Validate Token**: Valida un token existente
|
||||
|
||||
### 2. S4DS Example
|
||||
Nodo de ejemplo que demuestra cómo usar el token de autenticación.
|
||||
|
||||
**Características:**
|
||||
- Consume tokens del contexto del workflow
|
||||
- Soporte para tokens personalizados
|
||||
- Verificación automática de expiración
|
||||
- Operaciones de ejemplo con la API
|
||||
|
||||
**Operaciones:**
|
||||
- **Get Product Count**: Obtiene la cantidad total de productos
|
||||
|
||||
## Instalación
|
||||
|
||||
1. Clone este repositorio
|
||||
2. Instale las dependencias:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
3. Compile el proyecto:
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
4. Instale el paquete en n8n:
|
||||
```bash
|
||||
npm install -g .
|
||||
```
|
||||
|
||||
## Configuración
|
||||
|
||||
### Credenciales S4DS API
|
||||
|
||||
Configure las credenciales de S4DS API en n8n:
|
||||
|
||||
1. Vaya a **Settings** → **Credentials**
|
||||
2. Haga clic en **Add Credential**
|
||||
3. Seleccione **S4DS API**
|
||||
4. Configure:
|
||||
- **Base URL**: Seleccione el ambiente y cliente
|
||||
- **Custom Base URL**: Para URLs personalizadas
|
||||
- **Timeout**: Tiempo de espera para peticiones
|
||||
|
||||
### URLs Disponibles
|
||||
|
||||
#### Demo
|
||||
- **Test**: `https://demotest.s4ds.com/demoapi-test`
|
||||
- **UAT**: `https://demouat.s4ds.com/demoapi-uat`
|
||||
- **Production**: `https://demoprod.s4ds.com/demoapi-prod`
|
||||
|
||||
#### Cliente 1
|
||||
- **Test**: `https://cliente1test.s4ds.com/cliente1api-test`
|
||||
- **UAT**: `https://cliente1uat.s4ds.com/cliente1api-uat`
|
||||
- **Production**: `https://cliente1prod.s4ds.com/cliente1api-prod`
|
||||
|
||||
#### Cliente 2
|
||||
- **Test**: `https://cliente2test.s4ds.com/cliente2api-test`
|
||||
- **UAT**: `https://cliente2uat.s4ds.com/cliente2api-uat`
|
||||
- **Production**: `https://cliente2prod.s4ds.com/cliente2api-prod`
|
||||
|
||||
## Uso
|
||||
|
||||
### Workflow Básico
|
||||
|
||||
1. **Configurar Credenciales**:
|
||||
- Configure las credenciales de S4DS API con usuario, contraseña y ambiente
|
||||
- Agregue el nodo **S4DS Authentication**
|
||||
- Configure la operación "Generate Token"
|
||||
|
||||
2. **Usar el Token**:
|
||||
- Agregue el nodo **S4DS Example** o **HTTP Request**
|
||||
- Configure para usar el token del contexto
|
||||
- Ejecute las operaciones deseadas
|
||||
|
||||
### Ejemplo de Workflow
|
||||
|
||||
```
|
||||
[S4DS Auth: Generate Token] → [S4DS Example: Get User Profile] → [Process Data]
|
||||
```
|
||||
|
||||
### Acceso al Token
|
||||
|
||||
El token se almacena automáticamente en el contexto del workflow y puede ser accedido usando:
|
||||
|
||||
```javascript
|
||||
{{ $context.s4ds_token }}
|
||||
```
|
||||
|
||||
O con clave personalizada:
|
||||
|
||||
```javascript
|
||||
{{ $context.your_custom_key }}
|
||||
```
|
||||
|
||||
## Estructura del Token
|
||||
|
||||
El token se almacena con la siguiente estructura:
|
||||
|
||||
```json
|
||||
{
|
||||
"token": "8a6c71b3-fa62-434d-8b38-907de24c3176",
|
||||
"token_type": "Bearer",
|
||||
"expires_in": 3600,
|
||||
"expires_at": "2024-01-01T12:00:00.000Z"
|
||||
}
|
||||
```
|
||||
|
||||
## Manejo de Errores
|
||||
|
||||
Los nodos manejan automáticamente:
|
||||
- Errores de autenticación
|
||||
- Tokens expirados
|
||||
- Errores de red
|
||||
- Timeouts
|
||||
- Respuestas malformadas
|
||||
|
||||
## Desarrollo
|
||||
|
||||
### Estructura del Proyecto
|
||||
|
||||
```
|
||||
n8n-nodes-starter-s4ds/
|
||||
├── nodes/
|
||||
│ ├── S4DSAuth/ # Nodo de autenticación
|
||||
│ ├── S4DSExample/ # Nodo de ejemplo
|
||||
│ └── ...
|
||||
├── credentials/
|
||||
│ └── S4DSApi.credentials.ts
|
||||
├── package.json
|
||||
└── index.js
|
||||
```
|
||||
|
||||
### Comandos de Desarrollo
|
||||
|
||||
```bash
|
||||
# Compilar
|
||||
npm run build
|
||||
|
||||
# Desarrollo con watch
|
||||
npm run dev
|
||||
|
||||
# Linting
|
||||
npm run lint
|
||||
|
||||
# Formatear código
|
||||
npm run format
|
||||
```
|
||||
|
||||
## Contribución
|
||||
|
||||
1. Fork el repositorio
|
||||
2. Cree una rama para su feature
|
||||
3. Haga commit de sus cambios
|
||||
4. Push a la rama
|
||||
5. Abra un Pull Request
|
||||
|
||||
## Licencia
|
||||
|
||||
MIT License - vea el archivo LICENSE para más detalles.
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
# S4DS Authentication Node
|
||||
|
||||
Este nodo permite autenticarse con las APIs de S4DS y gestionar tokens de acceso.
|
||||
|
||||
## Características
|
||||
|
||||
- **Generación de tokens**: Autenticación con usuario y contraseña
|
||||
- **Validación de tokens**: Verificar si un token es válido
|
||||
- **Múltiples ambientes**: Soporte para Test, UAT y Production
|
||||
- **Múltiples clientes**: Configuración para diferentes clientes (Demo, Cliente 1, Cliente 2)
|
||||
- **Gestión de contexto**: Almacenamiento automático de tokens para uso en otros nodos
|
||||
|
||||
## Configuración
|
||||
|
||||
### Credenciales
|
||||
|
||||
1. Configure las credenciales de S4DS API:
|
||||
- **Base URL**: Seleccione el ambiente y cliente correspondiente
|
||||
- **Username**: Nombre de usuario para autenticación
|
||||
- **Password**: Contraseña para autenticación
|
||||
- **Custom Base URL**: Para URLs personalizadas
|
||||
- **Timeout**: Tiempo de espera para las peticiones (ms)
|
||||
|
||||
### Operaciones
|
||||
|
||||
#### Generate Token
|
||||
|
||||
Genera un token de autenticación usando las credenciales configuradas.
|
||||
|
||||
**Parámetros opcionales:**
|
||||
- **Store Token in Context**: Almacenar token en el contexto del workflow
|
||||
- **Token Context Key**: Clave para almacenar el token (por defecto: `s4ds_token`)
|
||||
|
||||
**Parámetros opcionales:**
|
||||
- **Store Token in Context**: Almacenar token en el contexto del workflow
|
||||
- **Token Context Key**: Clave para almacenar el token (por defecto: `s4ds_token`)
|
||||
|
||||
**Respuesta:**
|
||||
```json
|
||||
{
|
||||
"token_type": "Bearer",
|
||||
"expires_in": 3600,
|
||||
"token": "8a6c71b3-fa62-434d-8b38-907de24c3176"
|
||||
}
|
||||
```
|
||||
|
||||
#### Validate Token
|
||||
|
||||
Valida si un token existente es válido.
|
||||
|
||||
**Parámetros requeridos:**
|
||||
- **Token**: Token a validar
|
||||
|
||||
## Uso en Workflows
|
||||
|
||||
### Flujo básico de autenticación
|
||||
|
||||
1. Configure el nodo **S4DS Auth** con la operación "Generate Token"
|
||||
2. Configure las credenciales y parámetros de autenticación
|
||||
3. El token se almacenará automáticamente en el contexto del workflow
|
||||
4. Use el token en otros nodos de API S4DS
|
||||
|
||||
### Acceso al token desde otros nodos
|
||||
|
||||
El token se almacena en el contexto del workflow y puede ser accedido usando:
|
||||
|
||||
```
|
||||
{{ $context.s4ds_token }}
|
||||
```
|
||||
|
||||
O si configuró una clave personalizada:
|
||||
|
||||
```
|
||||
{{ $context.your_custom_key }}
|
||||
```
|
||||
|
||||
## URLs de API
|
||||
|
||||
### Demo
|
||||
- **Test**: `https://demotest.s4ds.com/demoapi-test`
|
||||
- **UAT**: `https://demouat.s4ds.com/demoapi-uat`
|
||||
- **Production**: `https://demoprod.s4ds.com/demoapi-prod`
|
||||
|
||||
### Cliente 1
|
||||
- **Test**: `https://cliente1test.s4ds.com/cliente1api-test`
|
||||
- **UAT**: `https://cliente1uat.s4ds.com/cliente1api-uat`
|
||||
- **Production**: `https://cliente1prod.s4ds.com/cliente1api-prod`
|
||||
|
||||
### Cliente 2
|
||||
- **Test**: `https://cliente2test.s4ds.com/cliente2api-test`
|
||||
- **UAT**: `https://cliente2uat.s4ds.com/cliente2api-uat`
|
||||
- **Production**: `https://cliente2prod.s4ds.com/cliente2api-prod`
|
||||
|
||||
## Manejo de Errores
|
||||
|
||||
El nodo maneja automáticamente:
|
||||
- Errores de autenticación (credenciales inválidas)
|
||||
- Errores de red y timeout
|
||||
- Tokens expirados
|
||||
- Errores de formato de respuesta
|
||||
|
||||
## Ejemplo de Workflow
|
||||
|
||||
```
|
||||
[S4DS Auth: Generate Token] → [HTTP Request: API Call] → [Process Data]
|
||||
```
|
||||
|
||||
En el nodo HTTP Request, configure el header de autorización:
|
||||
```
|
||||
Authorization: Bearer {{ $context.s4ds_token }}
|
||||
```
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M12 2L2 7l10 5 10-5-10-5z"/>
|
||||
<path d="M2 17l10 5 10-5"/>
|
||||
<path d="M2 12l10 5 10-5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 289 B |
Loading…
Add table
Add a link
Reference in a new issue