Buscar activos

Información general

La API de Frame.io admite búsquedas por facetas y profundas de activos en toda una cuenta, lo que refleja la funcionalidad de la aplicación web. Aunque los filtros más útiles habitualmente son equipo, proyecto y estado, los filtros y la ordenación se pueden combinar de formas únicas para producir conjuntos extremadamente específicos basados en API. En general, todos los filtros aparte de account_id, q (consulta) y sort siguen la misma estructura, y todos se explican a continuación. <img alt=“search-filters.png” src=“file:docs/pages/v2/images/cc63ea2-search-filters.png”>

Discrepancia entre los tamaños de página solicitados y devueltos

Desde marzo de 2022, se sabe de la existencia de un error que afecta a la función de paginación de la API de búsqueda. Hasta que se solucione este error, no recomendamos usar la API de búsqueda para iterar sobre varias páginas de resultados (es decir, más de 100 activos), porque puede que el tamaño de página solicitado no se corresponda con el número real de activos devueltos.

Valores predeterminados

La solicitud de API para activar una búsqueda es siempre la misma:

Siempre es la misma solicitud

Realice una solicitud POST a https://api.frame.io/v2/search/library

Si no se proporciona explícitamente, los valores predeterminados para el ajuste de búsqueda son los siguientes:

AtributoValor predeterminadoDescripción
page_size10Se devolverán 10 activos por página.
page1La consulta devolverá la primera página de la respuesta.
sortrelevance”Relevancia” intenta ordenar los activos basándose en un conjunto de atributos específicamente ajustado. En ausencia de una consulta, el valor de “relevancia” se inclina en gran medida hacia la actualización de carga.

Acerca de esta guía

En esta guía se describe el proceso para crear una consulta de búsqueda que coincide con los siguientes requisitos:

  • Activos dentro de una cuenta
  • Que coincida con la consulta &quot;moon&quot;
  • Esté en un proyecto específico
  • Se haya cargado entre el 1 y el 30 de abril de 2020
  • Se haya “Aprobado”

El cuerpo de nuestra búsqueda tendrá el siguiente aspecto:

1{
2 "account_id": "<account_id>",
3 "q": "moon",
4 "sort": "name",
5 "filter": {
6 "inserted_at": [
7 {
8 "op": "gte",
9 "value": "2020-04-01T04:00:00.000Z"
10 },
11 {
12 "op": "lte",
13 "value": "2020-04-30T03:59:59.999Z"
14 }
15 ],
16 "project_id": {
17 "op": "eq",
18 "value": "<project_id>"
19 },
20 "label": {
21 "op": "eq",
22 "value": "approved"
23 }
24 },
25 "page_size": 10,
26 "page": 1
27}

Cuenta, consulta y orden

La cuenta (account_id), la consulta (q) y sort son los tres componentes básicos más importantes que se sitúan fuera de cualquier atributo filter en una consulta de búsqueda.

Contexto de la cuenta

Técnicamente, el único atributo que necesita para realizar una búsqueda es un account_id. De esta forma, simplemente extraerá cualquier activo (incluidas las carpetas) en la cuenta, con valores de paginación predeterminados (10 activos por página, comenzando en la página 1).

1{
2 "account_id": "<account_id>"
3}

Consulta de búsqueda

El siguiente atributo más común (y útil) que se incluye es la consulta en sí. Nota: Debido a que la búsqueda de la API de Frame.io acepta una consulta nula, no hay necesidad de una consulta comodín (*). O bien busca algo, o bien solicita un orden (potencialmente filtrado) de todos los activos incluidos en una cuenta.

En nuestro caso, buscaremos el término “moon”.

1{
2 "account_id": "<account_id>",
3 "q": "moon"
4}

Ordenación

<img alt=“sort.png” src=“file:docs/pages/v2/images/9b61b29-sort-options.png”>

Frame.io admite varias opciones de ordenación diferentes. La sintaxis para el orden de clasificación es similar en todas las opciones:

  • Hay una dirección de orden predeterminada
  • Para invertir esa dirección, añada el prefijo - negativo al valor de orden

Por ejemplo, para ordenar en orden alfabético inverso (de Z a A), declararía &quot;sort&quot;: &quot;-name&quot;. La operación de ordenación predeterminada es “Relevancia”. Por lo tanto, no necesita declararse y se asumirá si no se proporciona ningún atributo sort.

Opciones de ordenaciónAtributoDirección predeterminada
RelevanciaN/DN/D
Fecha de cargainserted_atLa más antigua primero
NombrenameDe A a Z
TamañofilesizeLa más pequeña primero
Cargadorcreator.nameDe A a Z
Por lo tanto, cuando creamos nuestra consulta, ahora podemos añadir nuestro sort para name, de A a Z:
1{
2 "account_id": "<account_id>",
3 "q": "moon",
4 "sort": "name"
5}

Filtros y paginación

Los filtros son la característica más complicada, pero también la más potente de la búsqueda de activos de Frame.io. Los filtros se escriben dentro de un único objeto filter, y todos siguen el mismo patrón de una operación (op) y un value. Los filtros usarán las siguientes abreviaciones comunes, con opciones de equivalencia distintas a “igual a” reservadas para consultas de fecha y tamaño:

  • eq: igual a
  • lt: menor que
  • gt: mayor que
  • lte: menor o igual que
  • gte: mayor o igual que
  • match: coincidencia exacta; se usa solo para filtros de Cargador y Filetype

Por ejemplo, un filter para buscar una coincidencia en un project_id conocido se crearía de la siguiente manera:

1{
2 "filter": {
3 "project_id": {
4 "op": "eq",
5 "value": "<project_id>"
6 }
7 }
8}

Opciones y operaciones

En la siguiente tabla se describen las opciones y operaciones asociadas con cada tipo de filtro.

Opción de filtroAtributoOperaciones compatiblesValores compatibles
Archivadoarchivedeqtrue, false
Fecha de cargainserted_ateq, lt, gt, lte, gte<datetime></datetime> (ISO-8601, UTC)
Eliminadodeletedeqtrue, false
Tipo de archivofiletypematch<mime type=""></mime>
Privadoprivateeqtrue, false
Proyectoproject_ideq<project_id></project_id>
Tamañofilesizeeq, lt, gt, lte, gtesize (en bytes)
Estadolabeleqnone, in_progress, needs_review, approved
Equipoteam_ideq<team_id></team_id>
Tipoasset_typeeqaudio, document, folder, image, other, stream, video
Cargadorcreator.namematch<name></name>
El cargador debe ser un miembro activo de la cuenta para rellenar el índice

La búsqueda de creadores que ya no son miembros de la cuenta no funcionará, ya que ese usuario ya no está en el índice de búsqueda de usuarios.

Para continuar creando nuestra consulta, ahora podemos añadir un filtro para activos que:

  • Esté en un proyecto específico
  • Se haya cargado entre el 1 y el 30 de abril de 2020
  • Esté marcado como “Aprobado”
1{
2 "account_id": "<account_id>",
3 "q": "moon",
4 "sort": "name",
5 "filter": {
6 "inserted_at": [
7 {
8 "op": "gte",
9 "value": "2020-04-01T04:00:00.000Z"
10 },
11 {
12 "op": "lte",
13 "value": "2020-04-28T03:59:59.999Z"
14 }
15 ],
16 "project_id": {
17 "op": "eq",
18 "value": "<project_id>"
19 },
20 "label": {
21 "op": "eq",
22 "value": "approved"
23 }
24 }
25}
Paginación

El punto final de búsqueda pagina exactamente igual que cualquier otro punto final, a través de los atributos page_size y page que se encuentran en la capa más externa del cuerpo de la solicitud. Para obtener más detalles sobre la paginación, consulte la guía independiente aquí.