Inicio / Tipos de mensaje / Multimedia

Enviar multimedia

Imagen, video, audio, documento y ubicación. Todos los tipos multimedia comparten el mismo patrón: envías una URL pública HTTPS del archivo, o un id de archivo previamente subido.

POST https://api.wis.chat/v22.0/{tid}/messages

Resumen de límites

TipoFormatosTamaño máxCaption
imageJPEG, PNG5 MB✓ Sí
videoMP4, 3GPP16 MB✓ Sí
audioAAC, MP3, OGG (opus), M4A, AMR16 MB✗ No
documentPDF, DOCX, XLSX, PPTX, ZIP, TXT, CSV…100 MB✓ Sí
location

Imagen

Por URL

{
  "messaging_product": "whatsapp",
  "to": "593999999999",
  "type": "image",
  "image": {
    "link": "https://midominio.com/factura.jpg",
    "caption": "Aquí tu factura del mes 📄"
  }
}

Por media_id

Si previamente subiste el archivo al endpoint /media/upload, puedes referenciarlo:

{
  "messaging_product": "whatsapp",
  "to": "593999999999",
  "type": "image",
  "image": {
    "id": "1234567890",
    "caption": "Aquí tu factura"
  }
}

Para mejor compatibilidad: usa imágenes JPEG con dimensiones de hasta 1920×1080 px. Las PNG con transparencia se pueden ver con fondo gris en algunos clientes.

Video

{
  "messaging_product": "whatsapp",
  "to": "593999999999",
  "type": "video",
  "video": {
    "link": "https://midominio.com/promo.mp4",
    "caption": "Mira nuestra nueva promo 🎬"
  }
}

Codec recomendado: H.264 para video, AAC para audio. Si tu video usa otros codecs, WhatsApp puede que no lo reproduzca correctamente.

Audio

Soporta audio normal y notas de voz (PTT). Los audios no aceptan caption.

Audio normal

{
  "messaging_product": "whatsapp",
  "to": "593999999999",
  "type": "audio",
  "audio": {
    "link": "https://.../audio.mp3"
  }
}

Por media_id

{
  "messaging_product": "whatsapp",
  "to": "593999999999",
  "type": "audio",
  "audio": {
    "id": "9876543210"
  }
}

Documento

Para PDFs, hojas de cálculo, presentaciones, archivos comprimidos, etc.

{
  "messaging_product": "whatsapp",
  "to": "593999999999",
  "type": "document",
  "document": {
    "link": "https://midominio.com/factura-A001-4521.pdf",
    "filename": "factura-A001-4521.pdf",
    "caption": "Factura electrónica de tu compra"
  }
}

El campo filename es muy importante en documentos: es el nombre que verá el cliente al descargar. Si no lo envías, WhatsApp lo derivará de la URL, y el resultado puede no ser amigable.

Ubicación

Comparte coordenadas geográficas con etiqueta y dirección opcionales.

{
  "messaging_product": "whatsapp",
  "to": "593999999999",
  "type": "location",
  "location": {
    "latitude": -0.180653,
    "longitude": -78.467838,
    "name": "NOUXSOFT HQ",
    "address": "Av. Amazonas N34-451, Quito, Ecuador"
  }
}
CampoTipoRequeridoDescripción
latitudenumberrequeridoLatitud en grados decimales.
longitudenumberrequeridoLongitud en grados decimales.
namestringopcionalNombre del lugar (ej: "Sucursal Norte").
addressstringopcionalDirección textual.

Implementación PHP genérica para multimedia

function enviarMediaWischat($tid, $token, $to, $tipo, $link, $caption = '', $filename = null) {
    $media = ['link' => $link];
    if ($caption && in_array($tipo, ['image', 'video', 'document'])) {
        $media['caption'] = $caption;
    }
    if ($filename && $tipo === 'document') {
        $media['filename'] = $filename;
    }

    $payload = [
        'messaging_product' => 'whatsapp',
        'to'                => $to,
        'type'              => $tipo,
        $tipo               => $media,
    ];

    $ch = curl_init("https://api.wis.chat/v22.0/{$tid}/messages");
    curl_setopt_array($ch, [
        CURLOPT_POST           => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POSTFIELDS     => json_encode($payload),
        CURLOPT_HTTPHEADER     => [
            "Authorization: Bearer {$token}",
            'Content-Type: application/json',
        ],
    ]);
    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);
    return $res;
}

// Imagen
enviarMediaWischat(15, 'TOKEN', '593999999999', 'image',
    'https://midominio.com/foto.jpg', 'Mira esto');

// Documento
enviarMediaWischat(15, 'TOKEN', '593999999999', 'document',
    'https://midominio.com/factura.pdf', 'Tu factura', 'factura-4521.pdf');