Archivos


 

Usa la herramienta de archivos de HubSpot para administrar y almacenar archivos en HubSpot. Los archivos alojados en HubSpot se pueden cargar y usar tanto en HubSpot como en contenido externo. También pueden adjuntarse a los registros con la API de interacciones.

Si tu empresa está creando su sitio web usando CMS Hub, puedes usar la API de archivos para cargar y almacenar materiales en HubSpot, y luego hacerlo mediante el CMS Hub.

Puedes acceder a la herramienta archivos desde HubSpot o usando la API de archivos. A continuación, aprende sobre los archivos API y cómo cargar y eliminar archivos. Para ver una lista completa de puntos e terminación de API de archivos, haz clic en la pestaña Puntos de terminación arriba.

Cambios en la v3

Si usas la versión anterior de esta API, v3 tiene los siguientes cambios:

  • Todos los archivos cargados a través de la API serán visibles en el panel de archivos y el selector de archivos. No se pueden crear archivos ocultos. Sin embargo, se pueden crear archivos privados y archivos no indexables. 
  • Enumerar archivos no devolverá los archivos ocultos o eliminados. Sin embargo, se puede aplicar un rango mucho más amplio de filtros. Los archivos ocultos aún se pueden recuperar por ID, pero requieren un nuevo alcance: files_ui_hidden.read.
  • No se pueden cargar varios archivos con una sola solicitud. 
  • Las acciones de actualización de carpeta como mover y cambiar el nombre son ahora asíncronas. Cada solicitud devolverá un token que se puede usar para comprobar el estado de la edición de la carpeta.
  • Los puntos finales que crean o reemplazan archivos requieren que proporciones niveles de acceso para los archivos. Estos niveles de acceso son:
    • PUBLIC_INDEXABLE: el archivo es accesible públicamente por cualquiera que tenga la URL. Los motores de búsqueda pueden indexar el archivo.
    • PUBLIC_NOT_INDEXABLE: el archivo es accesible públicamente por cualquiera que tenga la URL. Las X-Robots-Tag: el encabezado noindex se enviará cada vez que se recupere el archivo, indicando a los motores de búsqueda que no indexen el archivo.
    • PRIVATE: el archivo no es accesible públicamente. Requiere una URL firmada para mostrar el contenido. Los motores de búsqueda no pueden indexar el archivo.
  • Los puntos finales que crean archivos permiten un nivel de detecciones duplicadas como parte de las opciones de carga del archivo. 
    • ENTIRE_PORTAL: busca un archivo duplicado en la cuenta.
    • EXACT_FOLDER: busca un archivo duplicado en la carpeta proporcionada.
    • NONE: no ejecutes ninguna validación duplicada.
    • REJECT: rechaza la carga si se encuentra un duplicado.
    • RETURN_EXISTING: si se encuentra un archivo duplicado, no cargues un nuevo archivo y, en su lugar, devuelve el duplicado encontrado.
    • La detección duplicada funciona en duplicateValidationScope, que afecta cómo buscamos un duplicado.
    • Esto también requiere una duplicateValidationStrategy, lo que determina qué sucede si se encuentra un duplicado.

Cargar un archivo

Los archivos se pueden cargar usando una solicitud multipart/form-data POST para files/v3/files con los siguientes campos. Si bien un ID de carpeta específico no es obligatorio en la carga, se recomienda cargar archivos en una carpeta y no en el directorio raíz. Los requisitos de carpeta en la carga están sujetos a cambios en el futuro. 

Use this table to describe parameters / fields
CampoRequeridoDescription Example
file
Yes

El archivo para cargar.

"file": {binary data}
options
Yes

Las opciones de carga de archivos. El único campo obligatorio es el campo access, que controla la privacidad y la indexabilidad del archivo.

Si estás usando el campo ttl:

  • El plazo mínimo que se debe fijar es de 1 día. 
  • El plazo máximo que se puede fijar es de 1 año. 
  • Después del periodo establecido, el archivo se eliminará permanentemente. Después de la eliminación, el archivo no se puede recuperar ni restaurar.

"options": "{ "access":  "PRIVATE", "ttl": "P2W", "overwrite": false, "duplicateValidationStrategy": "NONE", "duplicateValidationScope": "EXACT_FOLDER" }"
folderId
No

El ID de la carpeta en que se cargará al archivo. folderId y folderPath no se pueden establecer al mismo tiempo.

"folderId": 1234
folderPath
No

La ruta de la carpeta en que se cargará al archivo. folderId y folderPath no se pueden establecer al mismo tiempo.

"folderPath": "/folder"
fileName
No

El nombre del archivo. Si no se especifica ningún nombre, se generará un nombre a partir del contenido del archivo.

"fileName": "myImage"
charsetHunch
No

Codificación de conjunto de caracteres para el archivo cargado. Si no se proporciona, se obtendrá del archivo.

"charsetHunch": "UTF-8"

Eliminar un archivo

Para eliminar un archivo, haz una solicitud DELETE a files/v3/files/{fileId}. Esto marcará el archivo como eliminado y hará que el contenido del archivo sea accesible.

Para eliminar permanentemente un archivo, haz una solicitud DELETE a files/v3/files/{fileId}/gdpr-delete. Esto eliminará permanentemente el contenido y los metadatos del archivo en 7 días. 

Si no se elimina el RGPD, su contenido permanecerá en los servidores de HubSpot en un estado privado donde nadie puede acceder a él. Para garantizar que el contenido del archivo se elimine completamente, usa la funcionalidad de eliminación de RGPD. 

Ver los detalles del archivo

Para ver los detalles de un archivo que se ha cargado en la herramienta de archivos, realiza una solicitud GET a files/v3/files/{fileId}. Esto devolverá el archivo con detalles como nombre, alto y ancho, codificación, URL y más.

Si un archivo está establecido como privado, la URL devuelta ocasionará un error 404. Para obtener una URL visible del archivo, puedes hacer una solicitud GET a /files/v3/files/{fileId}/signed-url. Al realizar esta solicitud, puedes incluir parámetros de propiedad para devolver propiedades específicas como alto y ancho.

Crear una carpeta

Para crear una carpeta, haz una solicitud POST a files/v3/folders. Al realizar la solicitud, puedes incluir los siguientes campos. 

Use this table to describe parameters / fields
CampoRequeridoDescription Example
name
Yes

Nombre de la carpeta que deseas crear.

"name": "myFolder"
parentFolderId
No

Para crear la carpeta dentro de una carpeta existente, incluye este campo con el ID de la carpeta existente. parentFolderId y parentFolderPath no se pueden establecer al mismo tiempo.

"parentFolderId": 1234
parentFolderPath
No

Para crear la carpeta dentro de una carpeta existente, incluye este campo con la ruta de la carpeta existente. parentFolderId y parentFolderPath no se pueden establecer al mismo tiempo.

"folderId": 1234

Solicitud de ejemplo

JSON
//example request
{
"name": "myNewFolder",
"parentFolderId": 12345
}

¿Te resultó útil este artículo?
Con este formulario puedes enviar tu opinión sobre nuestros documentos para desarrolladores. Si tienes comentarios sobre el producto de HubSpot, puedes enviarlos al Foro de ideas.