- 27 Mar 2024
- 4 Minutos para leer
- Impresión
- OscuroLigero
- PDF
API web de Airtable: usar filterByFormula o parámetros para ordenar
- Actualizado en 27 Mar 2024
- 4 Minutos para leer
- Impresión
- OscuroLigero
- PDF
Aprende a filtrar u ordenar los resultados de una respuesta de la API.
Introducción
Disponibilidad en plan | Todos los tipos de plan |
Permisos | Acceso basado en token: para hacer solicitudes a la API, deberás autenticar con uno de los métodos descritos aquí. |
Filtrar registros en las solicitudes a la API
Existen dos maneras de filtrar registros en las solicitudes a la API:
- Una manera de filtrar los registros es pasar un parámetro view en una solicitud a la API que tenga el ámbito de lista de registros con lo que se obtiene solo los registros tal y como aparecen en una vista de tabla específica. El enlace anterior contiene más detalles sobre cómo pasar el parámetro view en una solicitud.
- Otra manera de filtrar registros en una llamada que contenga un ámbito de lista de registros es usar el parámetro
filterByFormula
, que describiremos con más detalle a continuación.
Al filtrar una respuesta de API con el parámetro filterByFormula
, se debe usar una fórmula válida que evaluará cada registro. Esta fórmula deberá incluirse en la tabla de la base donde se solicita la llamada a la API.
Para ilustrarlo, supongamos que tienes una tabla de sabores de helados:
Si se incluye un ámbito de lista de registros en una solicitud a la API a esta tabla sin ningún parámetro, se devolverán todos los sabores. Ahora, digamos que solo queremos devolver sabores con calificación de 5 estrellas con el parámetro filterByFormula
:
El primer paso es crear un campo de fórmula en la tabla que contiene los sabores que pueda evaluar si el sabor tiene una calificación de 5 estrellas en el campo Calificación. En este ejemplo, se podría usar una fórmula sencilla (Calificación = 5) que genera un resultado booleano verdadero o falso, pero tu caso de uso real puede ser más complejo.
Como puedes ver a continuación, la fórmula ingresada funciona correctamente: solo "Cookies & Cream" y "Cookie Dough" tienen un valor de '1', porque son los únicos sabores que tienen 5 estrellas. Ahora podemos estar seguros de que, si usamos esta fórmula como nuestro parámetro filterByFormula
, devolverá los valores apropiados a lo largo del tiempo.
Después, deberás añadir la fórmula al parámetro filterByFormula
en la solicitud.
Ahora deberías tener una URL codificada parecida a esta:https://api.airtable.com/v0/{your_app_id}/Flavors?filterByFormula=Rating%3D5
Ahora puede probar la solicitud en una herramienta como Postman. En la prueba que se muestra a continuación, puedes ver que solo se devuelven "Cookies & Cream" y "Cookie Dough":
Filtrar dependencias
- Si la respuesta no filtra los registros esperados, te recomendamos volver a comprobar primero la fórmula en la base de Airtable para asegurarte de que devuelve los valores esperados en el campo de fórmula de los registros que esperabas que se filtraran.
- Cualquier registro que aparezca como
0
,false
,NaN
,[]
o#Error!
en la fórmula, no se incluirá en la respuesta. - Si el parámetro filterByFormula se combina con el parámetro view, solo se devolverán los registros de esa vista que cumplan la fórmula.
Ordenar registros en las solicitudes a la API
Existen dos maneras de ordenar los registros en las solicitudes a la API:
- Una manera de filtrar los registros es pasar un parámetro view en una solicitud a la API que tenga el ámbito de lista de registros con lo que se obtiene los registros en la respuesta de la API para que aparezcan en una vista de tabla específica. El enlace anterior contiene más detalles sobre cómo pasar el parámetro view en una solicitud.
- La segunda manera de filtrar los registros en una solicitud de lista de registros es usar el parámetro ordenar. Más adelante abordamos los pasos generales para hacer esto.
Siguiendo con el ejemplo de la tabla de sabores de helados anterior, es posible que desees devolver los sabores ordenados de mayor a menor calificación:
Primero, deberás crear una URL codificada para usarla en la solicitud a la API. Al igual que con filterByFormula
, puedes usar esta herramienta para codificar una URL con una ordenación en el campo Calificación, con la dirección "desc". Será algo parecido a esto:
https://api.airtable.com/v0/{your_app_id}/Flavors?sort%5B0%5D%5Bfield%5D=Rating&sort%5B0%5D%5Bdirection%5D=desc
Luego, deberás añadir la URL codificada como un objeto en el parámetro sort de la solicitud a la API.
Ahora puedes probar la solicitud con una herramienta como Postman para ver si el parámetro funcionó y si los registros que se devuelven están ordenados por calificación, de mayor a menor:
Codificar la URL
Si no usas nuestro cliente oficial de Javascript, Airtable.js, es probable que tengas que codificar los valores de los parámetros para obtener una URL válida. Puedes usar nuestro codificador de URL para hacerlo, rellenando tu fórmula y otros valores de parámetros y copiando la URL resultante:
Preguntas frecuentes
No. Solo puedes usar los nombres de campo. Recomendamos usar descripciones de campo para indicar las implicaciones de cambiar cualquier nombre de campo que se use en las llamadas a la API.
Puede que no sea una fórmula válida; recomendamos comprobar la fórmula añadiéndola a un campo de la cuadrícula de Airtable. Esto ayudará a confirmar qué valores se espera que filtre la fórmula.