mirror of
https://github.com/n8n-io/n8n-nodes-starter.git
synced 2025-10-28 22:12:26 -05:00
179 lines
No EOL
4 KiB
Markdown
179 lines
No EOL
4 KiB
Markdown
# 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. |