Herramientas de desarrollo
Avetis Grigoryan
senior developer
28 diciembre 2022
Una plataforma de código bajo que combina la simplicidad sin código con el poder del código completo 🚀
Empieza ahora gratis
28 diciembre 2022
10
min leer

Creación y actualización de un registro en una tabla Airtable mediante Latenode

Avetis Grigoryan
senior developer
Tabla de contenidos.

Introducción

Configuremos un script que permita usar "Latenode" para crear y actualizar un registro en la tabla de la base de datos "Airtable";

Preparación de Airtable

Ve a la "Mesa de aire" sitio web;

Los enlaces a todos los sitios se encuentran al final del artículo;

Si ya tenías tablas, vuelve a la página de inicio, crea una nueva usando el botón “Comenzar desde cero” y selecciona “Kanban”;

Luego de crear, seleccione la columna “Prioridad” en el menú inferior y verifique que también se hayan seleccionado “Estado” y “Asignado”;

Si recién se está registrando, seleccione "Tareas" en el paso titulado "Ahora, agregaremos algo de información" para crear un tablero Kanban prediseñado con las tres tareas ya agregadas;

Agregar un token personal

Vamos a la "Airtable crea un token personal" enlace;

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

Introduzca el nombre que desee, por ejemplo "AirtableLatenode";

En “Alcance” agregue lo siguiente: data.records:leer data.records:escribir schema.bases:leer;

En “Permisos” seleccione el “espacio de trabajo” deseado al que desea conceder acceso para poder administrarlo mediante la “API”;

Haga clic en "Crear token";

Guarde el token resultante, por ejemplo durante un rato en un bloc de notas;

Creando un proyecto en Latenode

Vaya a nuestro listado de proyectos en "Nodo tardío";

Vamos a crear un nuevo proyecto;

A continuación, cree el primer nodo "Webhook";

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

Guardando el nodo;

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

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,
}

Por ahora sin cambiar nada, simplemente guardarlo;

Comencemos el proyecto;

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

Solicitud de descanso del cliente


  curl --request POST --url [insert the address of your webhook in the Latenode project instead of these square brackets]
  --header 'Content-Type: application/x-www-form-urlencoded'
  --header 'Accept: application/json'
  --data 'name=Send data from Latenode!'
  --data 'priority=In progress'
  --data 'status=Medium'
  --data 'recordID='

Regresemos al nodo "JS" y editémoslo;

Comprueba que al colocar el cursor de texto dentro del nodo, este dato aparezca en el menú lateral. Si no es así, repite la ejecución y la llamada del webhook;

Insertar los datos que fueron enviados en la solicitud en los lugares designados;

Guardando nuestros cambios;

Cree cuatro nuevos nodos de "solicitud HTTP" para obtener la lista de bases de datos;

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

REQ01 Recuperar lista de bases


  curl --request GET --url '[insert the apiURL variable from the JS node in place of these square brackets]/meta/bases'
  --header 'Accept: application/json'
  --header 'Authorization: [Insert the personal token in place of these square brackets]'

REQ02 Recuperar el esquema y el contenido de la base


  curl --request GET --url '[insert in place of these square brackets the variable apiURL from the JS node]/meta/bases/[the ID of your base from the REQ01 query]/tables'
  --header 'Accept: application/json'
  --header 'Authorization: [Insert personal token]'

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 los agregaremos uno por uno a la cadena y los llamaremos para configurar la recuperación de datos;

Cambie todo lo que está entre corchetes a datos de consultas y otros nodos;

En cada uno deberás agregar el token personal creado;

En aquellos lugares donde se utiliza para acceder a arrays, especificar el índice deseado, éste comienza con cero, como en otros lugares, a pesar de que en el menú lateral el primero será el número uno;

En la solicitud de agregar, no olvide verificar que POST esté seleccionado como tipo de método;

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

Luego de llamar la consulta con el agregado de un registro, vamos a nuestra tabla Airtable y verificamos que exista una nueva tarea con el texto "¡Enviar datos desde Latenode!", si no revisamos cada consulta individualmente, quizás en algún lugar no se reemplazaron los datos, olvidamos sustituir un token;

Eliminemos esta tarea;

Al final de la cadena, agreguemos un nodo de "respuesta de webhook" para mayor comodidad;

Hagámoslo que devuelva el ID del nuevo registro creado;

Inicie el proyecto y llame a Webhook;

Asegurémonos de que el objeto con record_id se devuelva en respuesta a la solicitud;

Regresemos a nuestra tabla de tareas y verifiquemos que fue creada;

Espero que a ti también te haya funcionado;

Enlaces útiles:

BASIC:

Nodo tardío

Lista de escenarios de Latenode

Mesa de aire

Airtable crea un token personal (Desarrolladores de Airtable)

Plantillas de mesa de aire

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

Aplicación unoAplicación dos

Probar ahora

Blogs relacionados

Caso de uso

Respaldado por