API de WhatsApp y CRM
POST/files

Subir archivo

Sube uno o varios archivos para almacenarlos en la nube y entregarlos una o varias veces como mensajes multimedia.

API de WhatsApp y CRM
Necesitas una clave de API. Pídela a nuestro equipo de soporte o créala desde la plataforma.
POST https://api.getincloud.ai/v1/files

Sube uno o varios archivos para almacenarlos en la nube y entregarlos una o varias veces como mensajes multimedia.

Para enviar mensajes multimedia, incluidas imágenes, audios, videos, gifs o documentos, primero se debe subir el contenido del archivo a la plataforma.

Esto ofrece varias ventajas frente a subir el archivo al momento de la solicitud del mensaje, como una entrega más rápida de los mensajes multimedia, tiempos de respuesta de la API más rápidos, menos procesos redundantes al subir el archivo una sola vez, y una mejor validación y normalización del archivo en el momento de la subida en lugar del momento de la entrega.

Métodos de subida de archivos admitidos:

  • URL remota mediante JSON con un campo url que contenga la URL del archivo, accesible públicamente, para descargarlo.
  • Datos de formulario (multipart/form-data) usando el campo file.
  • Datos binarios sin procesar, subiendo el contenido del archivo como flujo de datos con el tipo MIME correcto del archivo en la cabecera Content-Type.

Para más detalles, consulta los metadatos adicionales de subida de archivos y los ejemplos de código para los distintos casos de uso.


Prueba este endpoint en el probador de API en vivo

>¿Necesitas ayuda? Explora todos los tutoriales, más de 100 ejemplos de casos de uso y prueba la API en el probador en vivo con ejemplos de código listos para usar en más de 15 lenguajes de programación, incluidos JavaScript/Node.js, PHP, Python, C#, Java, Ruby, Swift, Kotlin, Powershell, cURL y más.

Autenticación

Envía tu API key en el encabezado Token en cada petición.

Parámetros

CampoDóndeTipoObligatorioDescripción
referencequerystringNoMetadato opcional con un identificador de referencia del archivo. Útil para buscar y filtrar archivos. minLength: 2 · maxLength: 100
formatquerystringNoFormato de presentación nativo opcional del archivo. Por defecto es el formato nativo del archivo, inferido a partir de su tipo MIME. Usa gif si quieres enviar un video MP4 como Gif. Usa ptt si quieres enviar mensajes de audio (MP3/OGG) como notas de voz de tipo Push To Talk. enum: ['gif', 'ptt', 'native']
filenamequerystringNoNombre de archivo opcional para identificarlo. Por defecto es el nombre de archivo inferido de la subida. minLength: 1 · maxLength: 200
expirationquerystringNoTiempo de vida (TTL) opcional del archivo hasta su expiración. Por defecto es 120 días. enum: ['10m', '30m', '1h', '6h', '12h', '1d', '2d', '3d', '5d', '6d', '7d', '15d', '30d', '60d', '90d', '120d', '180d', '360d', '1y', '2y']
permissionquerystringNoPermiso de acceso opcional al archivo. Por defecto es public: todos los miembros del equipo pueden acceder al archivo, descargarlo y enviarlo enum: ['public', 'readonly', 'private']
tagsqueryarrayNoEtiquetas opcionales del archivo, separadas por comas.

Cuerpo de la petición

CampoTipoObligatorioDescripción
urlstringNoURL pública desde la cual descargar el contenido del archivo. La URL debe ser accesible desde Internet y devolver contenido binario de un archivo con un tipo MIME válido, como imágenes, videos, documentos o audios. minLength: 6 · maxLength: 1024
formatstringNoFormato de presentación nativo opcional del archivo. Por defecto es el formato nativo del archivo, inferido a partir de su tipo MIME. Usa gif si quieres enviar un video MP4 como Gif. Usa ptt si quieres enviar mensajes de audio (MP3/OGG) como notas de voz de tipo Push To Talk. enum: ['gif', 'ptt', 'native']
filenamestringNoNombre de archivo opcional para identificarlo. Por defecto es el nombre de archivo inferido de la subida. minLength: 1 · maxLength: 200
expirationstringNoTiempo de vida (TTL) opcional del archivo hasta su expiración. Por defecto es 120 días. enum: ['10m', '30m', '1h', '6h', '12h', '1d', '2d', '3d', '5d', '6d', '7d', '15d', '30d', '60d', '90d', '120d', '180d', '360d', '1y', '2y']
permissionstringNoPermiso de acceso opcional al archivo. Por defecto es public: todos los miembros del equipo pueden acceder al archivo, descargarlo y enviarlo enum: ['public', 'readonly', 'private']
referencestringNoMetadato opcional con un identificador de referencia del archivo. Útil para buscar y filtrar archivos. minLength: 2 · maxLength: 100
tagsarray<string>NoEtiquetas opcionales del archivo, separadas por comas.

Respuestas

CódigoDescripción
201Archivo(s) creado(s) y subido(s)
400Solicitud incorrecta
401No autorizado
403Faltan los permisos requeridos
404Recurso no encontrado
409El archivo ya existe
429Demasiadas solicitudes
500Error del servidor
501No implementado
503Servicio no disponible
// This code example requires you to have installed curl package
// Installation instructions here: https://curl.haxx.se/download.html

// Upload image file from remote URL with custom file reference ID
curl --request POST \
  --url 'https://api.getincloud.ai/v1/files?reference=optional-reference-id' \
  --header 'Content-Type: application/json' \
  --header 'Token: <api token goes here>' \
  --data '{"url":"https://picsum.photos/seed/picsum/500/500"}'


// Upload image from disk with custom reference ID
curl --request POST \
  --url 'https://api.getincloud.ai/v1/files?reference=optional-reference-id' \
  --header 'Content-Type: multipart/form-data' \
  --header 'Token: <api token goes here>' \
  --form file=@/path/to/image.jpg


// Upload a MP4 video
curl --request POST \
  --url https://api.getincloud.ai/v1/files \
  --header 'Content-Type: application/json' \
  --header 'Token: <api token goes here>' \
  --data '{"url":"https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4","format":"native"}'


// Upload a MP4 video to be displayed as GIF
curl --request POST \
  --url https://api.getincloud.ai/v1/files \
  --header 'Content-Type: application/json' \
  --header 'Token: <api token goes here>' \
  --data '{"url":"https://i.giphy.com/media/feqkVgjJpYtjy/200.mp4","format":"gif"}'


// Upload an audio as voice recorded Push To Talk (PTT) WhatsApp audio message format
curl --request POST \
  --url https://api.getincloud.ai/v1/files \
  --header 'Content-Type: application/json' \
  --header 'Token: <api token goes here>' \
  --data '{"url":"https://upload.wikimedia.org/wikipedia/commons/c/c8/Example.ogg","format":"ptt"}'


// Upload an audio file to be sent as non-voice recorded audio format
curl --request POST \
  --url https://api.getincloud.ai/v1/files \
  --header 'Content-Type: application/json' \
  --header 'Token: <api token goes here>' \
  --data '{"url":"https://upload.wikimedia.org/wikipedia/commons/7/79/Example_of_flats_in_music.ogg","format":"native"}'
AnteriorObtener información del archivoSiguienteActualizar campaña
¿Te sirvió esta página?