Saltar al contenido principal
POST
Subir multimedia para plantilla

Conceptos

Meta no acepta el archivo directamente al crear la plantilla. Exige un header_handle producido por la Resumable Upload API, que depende del token de la aplicación; por eso la subida pasa por aquí y no por tu frontend. Este endpoint recibe el archivo, o su enlace público, y devuelve el handle listo para usar.

Cuándo lo necesitas

Solo cuando la plantilla tiene un componente HEADER de tipo IMAGE, VIDEO o DOCUMENT. Las plantillas con header de texto, o sin header, no necesitan subida.

Dos formas de enviar

El formato se elige por el Content-Type de la petición.
multipart/form-data con el archivo en el campo file.El campo type es opcional. El MIME type usado es el de la propia parte file; type solo se tiene en cuenta cuando la parte llega sin tipo o como application/octet-stream.

Flujo

1

Sube el archivo o el enlace

POST /whatsapp/businesses/{wabaId}/templates/media, de una de las dos formas anteriores.
2

Guarda el handle

La respuesta trae el handle en el campo h.
3

Úsalo en el componente HEADER

Pasa el handle como example del HEADER en Referencia de la API:
El handle caduca. Sube el archivo y crea la plantilla en la misma sesión: no guardes el handle para usarlo días después.
En archivos más grandes, el handle puede llegar con saltos de línea. Usa el valor de h exactamente como lo recibes, sin quitar nada.

Requisito de configuración

La subida depende del App ID de Meta registrado en la cuenta. Sin él, la llamada devuelve 422, con el código 375 en el cuerpo de error. Esto se configura en el panel, en Seguridad: no hay endpoint público para registrar las credenciales del app. Consulta también Orígenes del SDK, que cubre el otro requisito del flujo con SDK.

Límites

Errores

Autorizaciones

Authorization
string
header
requerido

Secret Key generada en el panel de Seguridad de Omni Z-API

Parámetros de ruta

wabaId
string
requerido

ID de la WABA (obtenido con Listar WABAs)

Ejemplo:

"428083093730937"

Cuerpo

file
file
requerido

Archivo del header (imagen, vídeo o documento). Límite de 100 MB

type
string

Opcional. MIME type del archivo (p. ej.: image/jpeg, video/mp4, application/pdf). Solo se usa cuando la parte file llega sin tipo o como application/octet-stream

Ejemplo:

"image/jpeg"

Respuesta

Subida completada

h
string

Handle que se usa como example del componente HEADER al crear la plantilla