Nodo para ejecutar código personalizado en tus flujos
// Obtener una variable del contexto
const nombre = $context.get('nombre')
// Obtener con valor por defecto si no existe
const nombre = $context.get('nombre', 'Juan')
// Guardar una variable en el contexto
$context.set('ultimoPedido.estado', 'entregado')
// Guardar un objeto completo
const usuario = { nombre: 'Juan', plan: 'gold' }
$context.set('usuario', usuario)
// Guardar un array
const pedidos = ['PED-123', 'PED-456']
$context.set('pedidos', pedidos)
// Obtener una variable de memoria
const nombre = $memory.get('nombre')
// Obtener con valor por defecto si no existe
const nombre = $memory.get('nombre', 'Juan')
// Guardar una variable en memoria
$memory.set('ultimoPedido.estado', 'entregado')
// Guardar un objeto completo
const usuario = { nombre: 'Juan', plan: 'gold' }
$memory.set('usuario', usuario)
// Guardar un array
const pedidos = ['PED-123', 'PED-456']
$memory.set('pedidos', pedidos)
// Obtener el ID del usuario
const userId = $user.get('id')
// Obtener el nombre del usuario
const userName = $user.get('names')
// Obtener el texto del mensaje
const texto = $message.get('text')
// Obtener el tipo de mensaje (TEXT, IMAGE, AUDIO, VIDEO, LOCATION, FILE)
const tipo = $message.get('type')
// Obtener la URL del archivo adjunto
const urlAdjunto = $message.get('mediaUrl')
// Obtener coordenadas de ubicación
const lat = $message.get('lat')
const lng = $message.get('lng')
// Obtener un input
const ciudad = $input.get('ciudad')
// Obtener un input con valor por defecto
const ciudad = $input.get('ciudad', 'Quito')
// Establecer un output
const data = $memory.get('apiResponse')
$output.set('data', data)
// Obtener la respuesta HTTP guardada
let apiResponse = $context.getHttpResponse('apiResponse')
// Convertir a JSON si es necesario
apiResponse = apiResponse.json()
// Manipular los datos
let usuarioNombre = apiResponse.data.usuario.nombre
let status = apiResponse.status
// Guardar en memoria
$memory.usuarioNombre = usuarioNombre
$memory.status = status
$context.getHttpResponse('apiResponse') debe coincidir exactamente con la que especificaste en el nodo API en el campo “guardar respuesta”.$utils.logger.log('nombreUsuario', nombreUsuario)
$utils.logger.log('resultado', resultado)
$utils.logger.log('datos', { id: 123, estado: 'activo' })
// Crear un hash
$utils.crypto.createHash(algorithm)
// Crear un HMAC
$utils.crypto.createHmac(algorithm, key)
// Generar bytes aleatorios
$utils.crypto.randomBytes(size)
// Derivación de clave basada en contraseña
$utils.crypto.pbkdf2(password, salt, iterations, keylen, digest)
// Cifrado
$utils.crypto.createCipheriv(algorithm, key, iv)
// Descifrado
$utils.crypto.createDecipheriv(algorithm, key, iv)
// Generar par de claves
$utils.crypto.generateKeyPair(type, options)
// Firmar datos
$utils.crypto.sign(algorithm, data, privateKey)
// Verificar firma
$utils.crypto.verify(algorithm, data, publicKey, signature)
// Dividir array en chunks
$utils._.chunk(array, size)
// Debounce de funciones
$utils._.debounce(func, wait)
// Clonar profundamente
$utils._.cloneDeep(value)
// Fusionar objetos
$utils._.merge(object, sources)
// Obtener valor de objeto por path
$utils._.get(object, path, [defaultValue])
// Obtener valores únicos de un array
$utils._.uniq(array)
// Filtrar colección
$utils._.filter(collection, predicate)
// Mapear colección
$utils._.map(collection, iteratee)