Enviar Mensajes
Enviar Botones de Respuesta
Envía botones clicables (hasta 3). Cada objeto del array `buttons` se convierte en un tipo de botón distinto según el campo usado: • `text` + `id` → botón de respuesta rápida (el contacto lo toca y se envía el texto) • `text` + `url` → botón que abre un enlace externo • `text` + `phone` → botón de llamada • `text` + `copy` → botón que copia un código al portapapeles Sin `image`, el mensaje sale solo con texto + botones (encabezado limpio). Con `image`, aparece una imagen en la parte superior. Limitación de WhatsApp: mezclar reply con url/phone/copy en el mismo mensaje puede mostrar el aviso 'Abrir en el celular'.
https://api.zapzapapi.com/api/v1/{instanceId}/send/buttonsAutenticació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 del destinatario (con código de país) |
text | textarea | cuerpo | Sí | Texto del mensaje |
buttons | json | cuerpo | Sí | Botones (hasta 3). Usa text+id para reply, text+url para enlace, text+phone para llamar, text+copy para copiar un código |
image | text | cuerpo | No | URL de la imagen en la parte superior (opcional) |
footer | text | cuerpo | No | Texto del pie (opcional) |
delay | number | cuerpo | No | Retraso en ms antes de enviar (opcional) |
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/buttons" \
-H "x-api-key: TU_API_KEY" \
-H "x-api-secret: TU_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"number":"5511999999999","text":"Como podemos ajudar?","buttons":[{"text":"Sim","id":"yes"},{"text":"Nosso site","url":"https://exemplo.com"},{"text":"Ligar","phone":"+5511999999999"}]}'Node.js
const res = await fetch("https://api.zapzapapi.com/api/v1/{instanceId}/send/buttons", {
method: "POST",
headers: {
"x-api-key": "TU_API_KEY",
"x-api-secret": "TU_API_SECRET",
"Content-Type": "application/json",
},
body: JSON.stringify({
"number": "5511999999999",
"text": "Como podemos ajudar?",
"buttons": [
{
"text": "Sim",
"id": "yes"
},
{
"text": "Nosso site",
"url": "https://exemplo.com"
},
{
"text": "Ligar",
"phone": "+5511999999999"
}
]
}),
});
console.log(await res.json());Python
import requests
res = requests.post(
"https://api.zapzapapi.com/api/v1/{instanceId}/send/buttons",
headers={"x-api-key": "TU_API_KEY", "x-api-secret": "TU_API_SECRET"},
json={"number":"5511999999999","text":"Como podemos ajudar?","buttons":[{"text":"Sim","id":"yes"},{"text":"Nosso site","url":"https://exemplo.com"},{"text":"Ligar","phone":"+5511999999999"}]},
)
print(res.json())Ejemplo de respuesta
JSON
{
"messageType": "InteractiveMessage",
"status": "Pending"
}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.
