Enviar Mensajes
Enviar Multimedia
Envía un archivo multimedia a un contacto. El archivo debe estar accesible en una URL pública. Tipos disponibles: • image: Imagen (JPG, PNG, GIF, WebP). Admite pie de foto mediante text. • video: Video (MP4, AVI, MOV). Admite pie de foto mediante text. • audio: Audio como archivo (MP3, OGG, WAV). Aparece con ícono de archivo de audio. • ptt: Push-to-Talk: audio que aparece como mensaje de voz (burbuja de micrófono). Ideal para humanizar automatizaciones. • myaudio: Audio nativo de WhatsApp (OGG/Opus). Similar a ptt, úsalo cuando ya tengas el archivo en el formato correcto. • ptv: Mensaje de video (nota de video redonda). Siempre llega en formato circular; el video 16:9 se recorta en el centro. Ignora el pie de foto (el campo text no aparece). Usa MP4 H.264. Acepta duraciones largas (probado de 15 a 180 s) y tamaño dentro del límite de multimedia. • document: Documento (PDF, DOCX, XLSX, etc.). Usa docName para definir el nombre mostrado en el chat. • sticker: Sticker animado o estático (WebP). Límite de tamaño (envío por URL): imagen, video y audio hasta ~190 MB; documento hasta ~500 MB. Por encima de eso WhatsApp lo rechaza (HTTP 413 / error de carga). Nota: al enviar el archivo en base64 en el cuerpo de la solicitud por la API pública (/api/v1), el límite baja a ~2 MB. Por eso, para archivos más grandes, envía siempre por URL.
https://api.zapzapapi.com/api/v1/{instanceId}/send/mediaAutenticación con los encabezados x-api-key y x-api-secret.
Parámetros
| Nombre | Tipo | Dónde | Obligatorio | Descripción |
|---|---|---|---|---|
number | text | cuerpo | Sí | Número (con código de país) |
type | select | cuerpo | Sí | Tipo de multimedia |
file | text | cuerpo | Sí | URL del archivo |
text | text | cuerpo | No | Pie de foto: imágenes y videos |
mentions | text | cuerpo | No | Etiquetar miembros (solo grupo) |
docName | text | cuerpo | No | Nombre del archivo: obligatorio para document |
delay | number | cuerpo | No | Delay (ms) |
digitando | select | cuerpo | No | Muestra un indicador automático de "escribiendo..." proporcional al tamaño del mensaje antes de enviarlo. Activado por defecto (humaniza y reduce el riesgo de bloqueo). Envía false para desactivarlo y responder más rápido. La respuesta sigue siendo síncrona. |
Ejemplo de solicitud
curl
curl -X POST "https://api.zapzapapi.com/api/v1/{instanceId}/send/media" \
-H "x-api-key: TU_API_KEY" \
-H "x-api-secret: TU_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"number":"5511999999999","type":"image","file":"https://..."}'Node.js
const res = await fetch("https://api.zapzapapi.com/api/v1/{instanceId}/send/media", {
method: "POST",
headers: {
"x-api-key": "TU_API_KEY",
"x-api-secret": "TU_API_SECRET",
"Content-Type": "application/json",
},
body: JSON.stringify({
"number": "5511999999999",
"type": "image",
"file": "https://..."
}),
});
console.log(await res.json());Python
import requests
res = requests.post(
"https://api.zapzapapi.com/api/v1/{instanceId}/send/media",
headers={"x-api-key": "TU_API_KEY", "x-api-secret": "TU_API_SECRET"},
json={"number":"5511999999999","type":"image","file":"https://..."},
)
print(res.json())Ejemplo de respuesta
JSON
{
"messageId": "ABCDEF123456",
"status": "sent"
}Los valores son ilustrativos; los campos siguen el formato real de la respuesta.
Otros endpoints de esta categoría
Consigue tus claves de API
Crea tu cuenta, conecta un número en minutos y empieza a usar la API. R$15 por número activo/mes, con un crédito de bienvenida al crear la cuenta, sujeto a la campaña vigente.
