Contenido multimedia

/v1/media

Utiliza el nodo media para subir, recuperar o eliminar contenido multimedia.

Perímetros

Los perímetros siguientes están conectados a este nodo:

PerímetroDescripción

/{media-id}

Utiliza este perímetro para recuperar y eliminar contenido multimedia.

Antes de empezar

Cuando se envía un mensaje multimedia, el contenido multimedia se almacena en los servidores de WhatsApp durante 14 días. Si un usuario realiza una solicitud para descargar el contenido multimedia después de 14 días, los servidores de WhatsApp solicitarán el mismo archivo multimedia al cliente local de WhatsApp Business. Si el contenido multimedia se ha eliminado, se enviará una notificación al usuario para indicarle que no está disponible.

No se puede suponer que el contenido multimedia se ha descargado solamente con los recibos de confirmación de entrega y lectura. Normalmente, el contenido multimedia saliente se puede eliminar con seguridad después de 30 días, pero debes emplear una estrategia adecuada para tu empresa.

Restricciones

  • Si utilizas el proceso de subida de contenido multimedia en vez de incluir un enlace a una URL de contenido multimedia, el archivo se debe subir al volumen del contenido multimedia. Una vez subido, puedes enviar un mensaje mediante el identificador del contenido multimedia.
  • La aplicación procesa el contenido multimedia que se sube antes de que se envíe al servidor. Aunque el tamaño máximo de los archivos multimedia que se pueden subir al nodo media es de 100 MB, existen límites de posprocesamiento para los distintos tipos de contenido multimedia, tal y como se indica en la tabla de tamaño del contenido multimedia de posprocesamiento que hay a continuación.
  • El almacenamiento de contenido multimedia debe gestionarlo la empresa. Si el volumen multimedia está lleno, el envío de mensajes empezará a generar errores.
  • No se admiten las acciones siguientes:
    • Enviar contenido multimedia por transmisiones de bytes.
    • Enviar mensajes con stickers animados.

Subida

Haz una solicitud POST a /v1/media para subir el contenido multimedia. El cuerpo de la solicitud local debe contener los datos multimedia binarios, y el encabezado Content-Type debe estar establecido en el tipo de contenido multimedia que se sube. Consulta la sección Tipos de contenido admitidos para ver las opciones compatibles.

El envío de datos binarios en una solicitud POST HTTP es una forma estándar de subir datos binarios. Por ejemplo, si quieres subir una imagen, debes emitir una solicitud POST con los bytes de imagen reales en la carga útil. También puedes utilizar --data-binary si quieres que cURL lea y utilice el archivo determinado en el formato binario, tal y como se proporciona.

Ejemplo

Subida de contenido multimedia:

POST /v1/media
Content-Type: image/jpeg or other appropriate media type

your-binary-media-data

Subida de contenido multimedia con cURL:

curl -X POST \
https://your-webapp-hostname:your-webapp-port/v1/media \
-H 'Authorization: Bearer your-auth-token' \ 
-H 'Content-Type: image/jpeg'  \ # or other appropriate media type
--data-binary @your-file-path

En ambos casos, si la respuesta es correcta, se devuelve el campo id, que necesitas para recuperar el contenido multimedia o enviar un mensaje multimedia a tus clientes.

{
    "media": [
        {
            "id": "f043afd0-f0ae-4b9c-ab3d-696fb4c8cd68"
        }
    ]
}

Si recibes un mensaje de error, consulta Mensajes de error y de estado para obtener más información.

Tipos de contenido admitidos

Contenido multimedia Tipos de contenido admitidos

audio

audio/aac, audio/mp4, audio/amr, audio/mpeg,
audio/ogg; codecs=opus


Nota: En el caso de ogg/opus, los clientes de WhatsApp solo admiten archivos de audio de un único canal.

document

Cualquier tipo MIME válido.

image

image/jpeg, image/png


Actualmente no admitimos imágenes con fondos transparentes.

sticker

image/webp

video

video/mp4, video/3gpp


Notas:

  • Solo se admiten el códec de vídeo H.264 y el códec de audio AAC.
  • Se admiten los vídeos con una sola transmisión de audio o sin transmisión de audio.

Tamaño del contenido multimedia de posprocesamiento

Este es el tamaño máximo permitido del archivo multimedia después de la compresión y el cifrado.

Tipo de contenido multimedia Tamaño

audio

16 MB

document

100 MB

image

5 MB

sticker

100 KB

video

16 MB

Preguntas frecuentes

En el caso de las imágenes, el texto se añadirá como descripción. El texto se muestra en toda su longitud para las imágenes, tanto en Android como en iPhone.

En el caso de los documentos, el texto sustituye el nombre de archivo. No está pensado para mostrarse en el dispositivo del usuario como texto descriptivo, sino para mostrar el nombre del archivo. Los teléfonos iPhone muestran el texto completo, mientras que los teléfonos Android lo recortan. Esto es una limitación técnica de la implementación actual de WhatsApp en ambos dispositivos.

El momento idóneo para eliminar contenido multimedia es decisión tuya.

Después de subir el contenido multimedia, recibirás un identificador de contenido multimedia, que puedes utilizar para enviar un mensaje que incluya el elemento multimedia subido. Una vez enviado el mensaje multimedia, la API de WhatsApp Business cifrará y subirá el contenido multimedia a los servidores de WhatsApp, donde permanecerá durante un periodo de período de 14 días. Después de este período, puedes optar por eliminar el contenido multimedia, para lo cual debes proporcionar el identificador del contenido multimedia, o bien por mantenerlo para usos futuros. Aunque se recomienda mantener el contenido multimedia durante 30 días, tú decides la política de retención que quieres aplicar en función de la política de tu empresa o del caso de uso específico.

No hay ningún mecanismo de limpieza para los archivos multimedia de entrada o salida. Para eliminar manualmente los archivos multimedia, localízalos en tu sistema de archivos.

Para buscar el punto de montaje del volumen multimedia, puedes ejecutar un comando de Docker.

Solicitud

docker volume inspect whatsappMedia

Respuesta

[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/whatsappMedia/_data",
        "Name": "whatsappMedia",
        "Options": {},
        "Scope": "local"
    }
]

A continuación, para ver todos los archivos multimedia entrantes, puedes ejecutar el comando ls con la ruta del archivo Mountpoint recibido:

ls /var/lib/docker/volumes/whatsappMedia/_data/

Para la configuración de AWS, el volumen multimedia se monta en la ruta /mnt/wa/media del host.

Para enviar imágenes como un álbum desde la API de WhatsApp Business, es necesario enviar al menos 4 imágenes seguidas. Si la vista de conversación del usuario está activa en el momento de recibir las imágenes, la vista de álbum no estará disponible hasta la siguiente visita.

No se creará ningún álbum si se cumple alguno de los siguientes criterios:

  1. Imágenes con texto
  2. Separador no leído: el usuario ve algunas imágenes, pero no todas
  3. Encabezado de fecha: nuevo día entre entregas

No, actualmente tenemos que utilizar AWS EFS para compartir el volumen de contenido multimedia entre la aplicación principal y la aplicación web.

El tamaño de archivo máximo que puede cargarse es 64 MB; es decir, que este límite se aplica también a todas las imágenes, documentos o vídeos que envíes con un mensaje.