Acerca de los bloques
Los bloques representan una variedad de operaciones y elementos que combinados realizan una amplia gama de acciones, desde establecer u obtener el valor de un token hasta ejecutar call APIs o transacciones. Los procesos lambda ejecutan estas acciones secuencialmente para realizar tareas más complejas.
Los bloques se conectan entre sí verticalmente como un rompecabezas, donde cada tipo de bloque tiene su propia forma y una ranura con un diseño especial para que encaje, lo cual evita errores de sintaxis. Para programar tu proceso, arrastra bloques desde el panel izquierdo y suéltalos en el canvas, ordenándolos según sea necesario.
Consulta la lista de bloques para obtener más información sobre cada uno de los bloques disponibles en el panel izquierdo del editor de procesos lambda.
Anatomía de los bloques
Los bloques presentan características específicas que te permiten saber dónde puedes colocarlos y con qué información puedes completarlos. Estas características incluyen:
Acción del bloque o descripción del contenido: La mayoría de los bloques contiene una breve descripción de la acción que realizan o del contenido que incluyen. Esto te permitirá comprender su función y con qué información debes completarlos.
Puntos de encastre: Los bloques que tienen un relieve en la parte inferior permiten fijar otros bloques debajo de ellos. Los bloques fijados a continuación deben contener una hendidura en la parte superior que coincida con el relieve del bloque de arriba.
Ranuras: Determinados bloques tienen una ranura donde se conectan una o más acciones para completarlos. Estos bloques incluyen: bloques de ejecución (on start, on error y funciones) y bloques de control (condicionales y bucles). Por ejemplo, un bloque bucle repeat N times necesita un bloque de acción adjunto dentro de su ranura para ejecutar dicha acción el número de veces definido en el bloque bucle.
Huecos para insertar valores: Los bloques pueden contener una forma redonda que, dependiendo de la función del bloque, se completa manualmente con un valor numérico o insertando un bloque de valor con forma redonda. La información incluida dentro de los huecos para insertar valores completa la lógica del bloque que las contiene.
Huecos para insertar valores booleanos: Los bloques pueden contener una forma hexagonal que se completa con un valor booleano (true/false) o insertando un bloque hexagonal que devuelve un valor booleano. La información incluida dentro de estos huecos completa la lógica del bloque que las contiene.
Opciones desplegables: Algunos bloques incluyen un desplegable para que selecciones una opción. Por ejemplo, los bloques de comparación que comparan dos valores numéricos y devuelven true o false según se cumpla la condición tienen un desplegable para seleccionar la condición de la comparación entre las siguientes opciones: igual a (=), diferente de (≠), mayor que (>), mayor o igual que (≥), menor que (<), y menor o igual que (≤).
Colores de los bloques
El color de cada bloque también provee información relevante sobre lo que pueden hacer:
Bloques verdes : Permiten la interacción con entidades y elementos ajenos al proceso lambda. Por ejemplo, ejecutar transacciones o call APIs, obtener el valor de un parámetro o constante, y establecer u obtener el valor de un token.
Bloques violetas : Permiten la ejecución de operaciones internas dentro del proceso lambda. Por ejemplo, ejecutar operaciones matemáticas, manipular textos o listas y establecer o invocar variables.
Bloques amarillos : Definen las acciones que deben realizarse al finalizar el proceso. Por ejemplo, ejecutar otro proceso o renderizar una pantalla.
Bloques rojos : Definen las acciones a realizar en caso de error en la ejecución de cualquier acción dentro del proceso lambda. Consulte la sección manejo de errores más abajo para obtener más información.
Bloques grises : Al igual que los bloques violetas, los bloques grises permiten la ejecución de operaciones internas dentro del proceso lambda, pero relacionadas específicamente con la manipulación de atributos o listas en formato JSON.
Formas de los bloques
La forma de pieza de rompecabezas de los bloques te ayuda a identificar fácilmente qué bloques se conectan entre sí, lo que te permite crear lógica más rápidamente al no tener que escribir código. Consulta la siguiente lista para saber más sobre cada forma de bloque.
Los bloques On start y Error -dos tipos diferentes de bloques iniciales (o de ejecución)- comparten esta forma cuadrada con la parte superior plana, ya que inician una sentencia y no se pueden colocar otros bloques encima. También tienen una ranura con una forma específica que coincide con la forma de los bloques que se les pueden encastrar (que son bloques de acción o de control). El contenido de estos bloques puede contraerse para mejorar la legibilidad del proceso. Por defecto, el editor se abre con el bloque on start en el canvas. A partir de este bloque inicial, empiezas a conectar otros bloques para crear tu sentencia principal, que se ejecutará primero al ejecutar el proceso lambda. | |
Los bloques de función -otro tipo de bloques iniciales (o de ejecución)- tienen la parte superior redondeada para diferenciarlos de los demás bloques iniciales. También tienen una ranura con una forma específica que coincide con la de los bloques que se les pueden encastrar (bloques de acción o de control). El contenido de estos bloques puede contraerse para mejorar la legibilidad del proceso. | |
Los bloques de control -condicionales y bucles- comparten una forma cuadrada, con un relieve en la parte superior para encastrarlos a otros bloques dentro de una sentencia y una ranura con una forma específica que coincide con la forma de los bloques que pueden encastrarse a ellos (bloques de acción u otros bloques de control). Estos bloques se adjuntan a bloques iniciales y otros bloques de control, y se utilizan para gestionar el orden en que se ejecutan las distintas partes del proceso. También incluyen estructuras que ayudan a determinar cuándo deben llevarse a cabo ciertas acciones en condiciones específicas. | |
Los bloques de acción tienen forma cuadrada con una hendidura en la parte superior y relieve en la inferior, para poder fijar otros bloques por encima y por debajo. Estos bloques se adjuntan a los bloques inicial y de control, y representan una acción que debe ejecutarse en ese punto del proceso. Los bloques de acción se completan colocando un bloque de forma redonda o un bloque de forma hexagonal dentro del hueco o huecos del bloque de acción que tiene la misma forma. NotaLos bloques de transacciones son los únicos tipos de bloques que se colocan dentro de una ranura con una forma diferente. Los bloques de transacciones (de forma cuadrada) se insertan en los huecos de forma redonda. | |
Los bloques de valor tienen forma redonda e incluyen el valor que completa la lógica de una acción. Se colocan dentro del hueco para valores redondo de otro bloque. Los bloques redondos devuelven un valor de tipo string o numérico. | |
Los bloques booleanos tienen forma hexagonal e incluyen el valor que completa la lógica de una acción. Se colocan dentro del hueco hexagonal booleano de otro bloque. Los bloques con forma hexagonal devuelven un valor booleano (verdadero o falso). |
Manejo de errores
Los procesos lambda permiten establecer acciones o eventos que se activarán si se produce un error. Hay diferentes tipos de errores que la app ejecuta uno tras otro hasta que uno de ellos es detectado, según se haya configurado. El orden de ejecución de estos errores es:
Bloques de error dentro de la sentencia principal (conectados al bloque on start).
Errores específicos configurados mediante el bloque on error with type (no conectado con el bloque on start).
Errores por defecto configurados mediante el bloque on error default (no conectado al bloque on start).
Errores de la app configurados en la pestaña Errors de tu app Settings.
Nota
En el caso de procesos lambda dentro de interfaces de módulos, se ejecutan los tres primeros pasos y, si no se identifican errores en el proceso lambda, la app ejecuta los errores establecidos para el módulo o la app o módulo padre del módulo. La ejecución de errores en el módulo o en la app padre depende de cómo hayas configurado los errores en el módulo que contiene ese proceso lambda. Para obtener más información sobre la herencia de errores de módulos, consulta Crear o editar un módulo.