Herramientas de desarrollo
Avetis Grigoryan
Desarrollador Senior
28 de diciembre de 2022
Una plataforma de código bajo que combina la simplicidad del código cero con la potencia del código completo 🚀.
Empieza gratis
28 de diciembre de 2022
-
10
min leer

Crear y actualizar un registro en una tabla Airtable utilizando Latenode

Avetis Grigoryan
Desarrollador Senior
Índice

Introducción

Vamos a configurar un script que permita utilizar "Latenode" para crear y actualizar un registro en la tabla de la base de datos "Airtable";

Preparación de la mesa de aire

Ve al sitio web"Airtable";

Los enlaces a todos los sitios están al final del artículo;

Si ya tenías tablas, vuelve a la página de inicio, crea una nueva utilizando el botón "Empezar de cero" y selecciona "Kanban";

Después de crear, selecciona la columna "Prioridad" en el menú inferior, y comprueba que también se han seleccionado "Estado" y "Asignado";

Si te acabas de registrar, selecciona "Tareas" en el paso titulado "Ahora, añadiremos algo de información" para crear un tablero Kanban preconstruido con las tres tareas ya añadidas;

Añadir una ficha personal

Vamos al enlace"Airtable create personal token";

Pulsa el botón "Crear nuevo token" en la esquina superior derecha;

Introduce el nombre que quieras, por ejemplo "AirtableLatenode";

En "Ámbito" añade lo siguiente: datos.registros:leer datos.registros:escribir esquema.bases:leer;

En "Permisos", selecciona el "espacio de trabajo" al que deseas conceder acceso para gestionarlo mediante la "API";

Haz clic en "Crear ficha";

Guarda el token resultante, por ejemplo durante un tiempo en un bloc de notas;

Crear un proyecto en Latenode

Ir a nuestra lista de proyectos en "Latenode";

Vamos a crear un nuevo proyecto;

A continuación crea el primer nodo "Webhook";

Copia su dirección en tu cliente de descanso o en el bloc de notas;

Guardando el nodo;

Crea un nodo "JavaScript" (JS) y copia en él el código del artículo;

Código para el nodo JS

let apiURI, personalToken, newTask, recordID;
	apiURI = "https://api.airtable.com/v0";
	personalToken = "Bearer [Insert your personal token in place of these square brackets]";
	newTask = {
		name: , // After the colon and before the comma, select the name field from the received query
		status: , // After the colon and before the comma, select the status field from the resulting query
		priority: , // After the colon and before the comma, select the priority field from the resulting query
	};
	if () { // Inside the parentheses, select the recordID field from the resulting query
		recordID = ; // After the equal sign and before the semicolon, select the recordID field from the received query
	} else {
		recordID = false;
	}
	
return {
	apiURI,
	personalToken,
	newTask,
	recordID,
}

De momento, sin cambiar nada, guárdalo;

Empecemos el proyecto;

Utilizando el cliente rest, hacemos una petición insertando la dirección del nodo webhook en la barra de direcciones;

Solicitud de cliente de descanso


  curl --request POST --url [inserta la dirección de tu webhook en el proyecto Latenode en lugar de estos corchetes].
  --header 'Tipo de contenido: application/x-www-form-urlencoded'
  --header 'Accept: application/json'
  --data 'name=Enviar datos desde Latenode!'
  --data 'priority=En curso'
  --data 'status=Medio'
  --data 'recordID='

Volvamos al nodo "JS" y editémoslo;

Comprueba que cuando colocas el cursor de texto dentro del nodo, estos datos aparecen en el menú lateral. Si no lo hace, repite la ejecución y la llamada al gancho web;

Inserta los datos que se enviaron en la solicitud en los lugares designados;

Guardando nuestros cambios;

Crea cuatro nuevos nodos de "petición HTTP" para obtener la lista de bases de datos;

Y en cada uno copia el código de abajo y guarda, lo más importante es que no los mezcles, puedes darle a cada uno un nombre transparente;

REQ01 Recuperar lista de bases


  curl --request GET --url '[inserta la variable apiURL del nodo JS en lugar de estos corchetes]/meta/bases'
  --header 'Aceptar: application/json'
  --header 'Autorización: [Inserta el token personal en lugar de estos corchetes]'

REQ02 Recuperar el esquema y el contenido de la base


  curl --request GET --url '[inserta en lugar de estos corchetes la variable apiURL del nodo JS]/meta/bases/[el ID de tu base de la consulta REQ01]/tables'
  --header 'Aceptar: application/json'
  --header 'Autorización: [Insertar token personal]'

REQ03 Crear una nueva entrada en la tabla de tareas

curl --request POST --url '[insert the apiURL variable from the JS node in place of these square brackets]/[The ID of your database received in query REQ01]/[The ID of your table received in query REQ02]' --header 'Authorization: [Insert personal token]'
	--header 'Content-Type: application/json'
  --data '{
	    "records": [
	      {
	        "fields": {
	          "Priority": [Substitute the variable priority from the JS node],
	          "Name": [Substitute the name variable from the JS node ],
			      "Status": [Substitute the status variable from the JS node]
	        }
	      }
	    ]
	}'
  

Ahora añadiremos uno a uno a la cadena y los llamaremos para configurar la recuperación de datos;

Cambia todo lo que aparece entre corchetes por datos de consultas y otros nodos;

En cada uno tienes que añadir el token personal creado;

En los lugares en los que se utiliza para acceder a matrices, especifica el índice deseado, empieza por cero, como en todas partes, a pesar de que en el menú lateral el primero será el número uno;

En la solicitud de adición, no olvides comprobar que se ha seleccionado POST como tipo de método;

A continuación se muestran capturas de pantalla de cómo debería quedar cada uno de estos nodos al final después de todas las ediciones;

Después de llamar a la consulta con la adición de un registro, ir a nuestra tabla Airtable y comprobar que hay una nueva tarea con el texto "Enviar datos desde Latenode!", si no comprobar cada consulta individualmente, tal vez en algún lugar no se sustituyeron los datos, se olvidó de sustituir un token;

Vamos a eliminar esta tarea;

Al final de la cadena, vamos a añadir un nodo "Respuesta Webhook" por comodidad;

Hagamos que devuelva el ID del nuevo registro creado;

Inicia el proyecto y llama a Webhook;

Asegurémonos de que se devuelve el objeto con record_id en respuesta a la petición;

Volvamos a nuestra tabla de tareas y comprobemos que se ha creado;

Espero que a ti también te haya funcionado;

Enlaces útiles:

Básico:

Latenode

Latenode lista de escenarios

Mesa de aire

Airtable сrear un token personal (Desarrolladores de Airtable)

Plantillas Airtable

Información:

https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send

https://developers.google.com/gmail/api/reference/rest/v1/users.messages#Message

Blogs relacionados

Caso práctico

Respaldado por