Enviar Mensaje Multimedia

Básicamente, cuando envías un mensaje que incluye contenido multimedia, debes proporcionar, en el cuerpo de la solicitud, el identificador del contenido multimedia que se subió o un enlace al contenido multimedia. Además, debes especificar el tipo de contenido multimedia que estás enviando: audio, image, document, sticker o video. Cuando se recibe la solicitud, el contenido multimedia se sube al servidor de WhatsApp y se envía al usuario indicado en el campo to.

TIP

Si quieres usar un enlace, debes suministrar un enlace HTTP(S) que la app use para descargar el contenido multimedia, lo que te ahorra el paso de subir este contenido por tu cuenta.

Solicitud

Después de subir el contenido multimedia con una llamada de la API al extremo media, usa el identificador recibido para el campo id. También puedes proporcionar un parámetro link que apunte al contenido multimedia que quieres enviar. Por el momento, solo se admiten enlaces HTTP y HTTPS. El parámetro id o link es obligatorio y no es posible usar ambos al mismo tiempo.

POST /toolbox/api/whatsapp/v1/{API_KEY}/send


Authorization: Bearer {AUTH_TOKEN}

Content-Type: application/json


    {
        "recipient_type": "individual" | "group",
        "to": "whatsapp-id" | "5XXXXXXXX",
        "type": "audio" | "contact" | "document" | "hsm" | "image" |"location" | 
        "sticker" | "text" | "video",
        "audio": {
        "id": "your-media-id",
        }

        "document": {
            "id": "your-media-id",
            "caption": "your-document-caption-to-be-sent",
            "filename": "your-document-filename"
        }

        "document": {
            "link": "the-provider-name/protocol://the-url",
            "provider": {
                "name" : "provider-name"
            },
            "caption": "your-document-caption"
        },

        "document": {
            "link": "http(s)://the-url.pdf",
            "caption": "your-document-caption"
        },

        "video": {
            "id": "your-media-id",
            "caption": "your-video-caption"
        },

        "image": {
            "link": "http(s)://the-url",
            "provider": {
                "name" : "provider-name"
            },
            "caption": "your-image-caption"
        }

        "image": {
            "id": "your-media-id",
            "caption": "your-image-caption"
        }

        "sticker": {
            "id": "your-media-id"
        }

        "sticker": {
            "link": "http(s)://the-url",
            "provider": {
                "name" : "provider-name"
            }
        }
    }

WARNING

En el ejemplo anterior, se muestran distintos objetos, como audio, document, image, sticker y video, solo con fines ilustrativos. Un cuerpo de solicitud válido contiene solo uno de esos objetos.

Parametros

NombreObligatorioDescripción
recipient_typeNoOpciones: individual (predeterminada) ogroup. Determina si el destinatario es un usuario individual o un grupo. Cuando el valor es individual, especificar recipient_type en la solicitud es opcional. Sin embargo, recipient_type es obligatorio si se usa group. Para obtener más información, consulta la documentación sobre el envío de mensajes grupales.
filenameSiCuando recipient_type es individual, este campo es el identificador (número de teléfono) de WhatsApp que devuelve el extremo contacts. Cuando recipient_type ;es group, este campo es el identificador de grupos de WhatsApp.
typeSí, cuando type es ;image, audio, document, video o sticker.Opciones: text (predeterminada), image, audio, document, hsm, video o sticker.En el caso de mensajes de texto, consulta la documentación sobre el envío de mensajes de texto si quieres obtener más información.En el caso de los mensajes con stickers, consulta la documentación sobre administración de paquetes de stickers para obtener más información.En el caso de plantillas de mensajes, consulta la documentación sobre el envío de plantillas de mensajes para obtener más información.
audioSí, cuando "type": "audio",el objeto multimedia contiene audio.
documentSí, cuando "type": "document",el objeto multimedia contiene un documento.
imageSí, cuando "type": "image",el objeto multimedia contiene una imagen.
stickerSí, cuando "type": "sticker",el objeto multimedia contiene un sticker
videoSí, cuando "type": "video",el objeto multimedia contiene un video.

Objetos audio, document, image, sticker y video

NombreObligatorioDescripción
idSí, cuando type es image, audio, document, sticker o video, y no usas un enlace.Prohibido para "type:" "text".Identificador del objeto multimedia, que se devuelve cuando el contenido multimedia se sube correctamente al cliente de la API de WhatsApp Business con el extremo media.
linkSí, cuando type es image, audio, document, sticker o video, y no usas un identificador de contenido multimedia que subiste.Prohibido para "type:" "text".Protocolo y URL del contenido multimedia que se enviará. Se usa solamente con URL HTTP y HTTPS
captionNoDescribe el contenido multimedia image, video o document especificado. No debe usarse con el contenido multimedia audio ni sticker.
filenameNoDescribe el nombre de archivo del documento especificado. Se usa solamente con contenido multimedia document.
providerNoEsta ruta se usa opcionalmente con link cuando no es posible acceder directamente al enlace HTTP o HTTPS y hacen falta configuraciones adicionales, como un token del portador. Para obtener más información sobre cómo configurar proveedores, consulta la documentación sobre proveedores de contenido multimedia.

Respuesta

Una respuesta exitosa incluye un objeto messages con un identificador de mensaje.

   {
        "messages": [{
            "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU"
        }]
    }

TIP

Si la respuesta no funciona correctamente, se publica una devolución de llamada en tu servidor de webhook, aunque la respuesta arrojará un identificador de mensaje similar al envío correcto de un mensaje. Por eso es importante configurar un servidor de webhook.