# n8n

1. **Paso 1 (Obtener token):** Envía el ID de la aplicación y el secreto a `/oauth2/token` para obtener un `access_token` temporal.
2. **Paso 2 (Ejecutar tarea):** Incluye el token en el encabezado y crea parámetros con **JSON en formato de cadena** para activar la tarea del teléfono en la nube.


## Requisitos previos

Antes de comenzar, asegúrese de tener lista la siguiente información:

1. **Credenciales de API** (Obténgalas en [Panel de MoreLogin](https://id.morelogin.com/) -> Administración de API):


* ID de la aplicación (p. ej., client_id)
* Clave secreta (p. ej., client_secret)


[¿Cómo obtener la autorización?](https://guide.morelogin.com/api-reference/open-api/open-api/authorization/paths/~1oauth2~1token/post)
2. **ID de recursos** (Obténgalos de la lista de teléfonos en la nube y del mercado de plantillas):

* ID de teléfono en la nube (solo numérico)
* ID de plantilla (solo numérico)


[Cómo obtener la autorización] [Obtener?](https://guide.morelogin.com/api-reference/open-api/open-api/cloud-phoneschedules-management/paths/~1cloudphone~1rpa~1oncetask~1save/post)

## Importación de flujo de trabajo con un solo clic

Para simplificar la configuración, hemos empaquetado un flujo de trabajo completo de doble nodo n8n. No es necesario gestionar manualmente el paso de tokens ni el escape JSON complejo.

**Simplemente copia el código JSON a continuación y pégalo (Ctrl+V) en el lienzo de n8n:**

```json
{
"nodes": [
{
"parameters": {
"method": "POST",

"url": "https://api.morelogin.com/oauth2/token",

"sendBody": true,

"contentType": "json",

"bodyParameters": {
"parameters": [
{
"name": "client_id",

"value": "TU_ID_DE_APP_AQUÍ"

},

{
"name": "client_secret",

"value": "TU_CLAVE_SECRETA_AQUÍ"

},

{
"name": "grant_type",

"value": "client_credentials"

}

]
},

"options": {}

},

"id": "step_1_auth",
"name": "Paso 1: Obtener token",

"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,

"position": [
460,
300

]
},

{
"parameters": {

"method": "POST",

"url": "https://api.morelogin.com/cloudphone/rpa/onceTask/save",
"sendHeaders": true,

"headerParameters": {

"parameters": [
{
"name": "Authorization",

"value": "={{ 'Bearer ' + $json.data.access_token }}"

}
]
},

"sendBody": verdadero,

"contentType": "json",

"bodyParameters": {

"parameters": [

{
"name": "cloudPhoneId",

"value": 1234567890
},

{
"name": "templateId",

"value": 1678347487160256
},

{
"name": "scheduleName",

"value": "n8n-Auto-Task"

},

{
"name": "description",
"value": "Activado mediante n8n"

},

{
"name": "templateParameter",
"value": "={{ JSON.stringify({\n \"Video Caption\": \"My Automation Video\",\n \"AI Label\": true,\n \"Product Id\": 1001,\n \"Get Leads\": false,\n \"Comment\": \"Great" contenido!\n}) }}"
}

]
},
"opciones": {}

},
"id": "step_2_run_task",
"nombre": "Paso 2: Ejecutar tarea",
"tipo": "n8n-nodes-base.httpRequest",
"versión de tipo": 4.1,
"posición": [
680,

300
],
"dependencias": {
"nodos": [
{
"nodo": "Paso 1: Obtener token",

"tipo": "principal",
"índice": 0

}

]
}
}
],
"conexiones": {
"Paso 1: Obtener token": {
"principal": [
[
{
"nodo": "Paso 2: Ejecutar tarea",
"tipo": "principal",
"índice": 0

}

]
]
}
}
}```
```