curl -X POST https://api.whaapy.com/messages/v1 \
-H "Authorization: Bearer wha_TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+5215512345678",
"type": "reaction",
"reaction": {
"message_id": "wamid.HBgLNTIxNTUxMjM0NTY3OA==",
"emoji": "👍"
}
}'
const response = await fetch('https://api.whaapy.com/messages/v1', {
method: 'POST',
headers: {
'Authorization': 'Bearer wha_TU_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: '+5215512345678',
type: 'reaction',
reaction: {
message_id: 'wamid.HBgLNTIxNTUxMjM0NTY3OA==',
emoji: '👍'
}
})
});
import requests
response = requests.post(
'https://api.whaapy.com/messages/v1',
headers={
'Authorization': 'Bearer wha_TU_API_KEY',
'Content-Type': 'application/json'
},
json={
'to': '+5215512345678',
'type': 'reaction',
'reaction': {
'message_id': 'wamid.HBgLNTIxNTUxMjM0NTY3OA==',
'emoji': '👍'
}
}
)
{
"messaging_product": "whatsapp",
"contacts": [
{ "input": "+5215512345678", "wa_id": "5215512345678" }
],
"messages": [
{ "id": "550e8400-e29b-41d4-a716-446655440000", "wamid": "wamid.HBgLNTIxNTUx..." }
],
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"conversationId": "660e8400-e29b-41d4-a716-446655440001",
"messageType": "reaction",
"direction": "outbound",
"status": "sent",
"createdAt": "2026-01-22T10:30:00Z"
}
}
Mensajes
Enviar Reacciones
Reacciona a mensajes de WhatsApp con emojis
POST
/
messages
/
v1
curl -X POST https://api.whaapy.com/messages/v1 \
-H "Authorization: Bearer wha_TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+5215512345678",
"type": "reaction",
"reaction": {
"message_id": "wamid.HBgLNTIxNTUxMjM0NTY3OA==",
"emoji": "👍"
}
}'
const response = await fetch('https://api.whaapy.com/messages/v1', {
method: 'POST',
headers: {
'Authorization': 'Bearer wha_TU_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: '+5215512345678',
type: 'reaction',
reaction: {
message_id: 'wamid.HBgLNTIxNTUxMjM0NTY3OA==',
emoji: '👍'
}
})
});
import requests
response = requests.post(
'https://api.whaapy.com/messages/v1',
headers={
'Authorization': 'Bearer wha_TU_API_KEY',
'Content-Type': 'application/json'
},
json={
'to': '+5215512345678',
'type': 'reaction',
'reaction': {
'message_id': 'wamid.HBgLNTIxNTUxMjM0NTY3OA==',
'emoji': '👍'
}
}
)
{
"messaging_product": "whatsapp",
"contacts": [
{ "input": "+5215512345678", "wa_id": "5215512345678" }
],
"messages": [
{ "id": "550e8400-e29b-41d4-a716-446655440000", "wamid": "wamid.HBgLNTIxNTUx..." }
],
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"conversationId": "660e8400-e29b-41d4-a716-446655440001",
"messageType": "reaction",
"direction": "outbound",
"status": "sent",
"createdAt": "2026-01-22T10:30:00Z"
}
}
Agrega reacciones emoji a mensajes existentes. Las reacciones son una forma rápida de responder sin enviar un mensaje nuevo.
Las reacciones solo pueden enviarse dentro de la ventana de 24 horas y requieren el
message_id del mensaje a reaccionar.Agregar Reacción
curl -X POST https://api.whaapy.com/messages/v1 \
-H "Authorization: Bearer wha_TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+5215512345678",
"type": "reaction",
"reaction": {
"message_id": "wamid.HBgLNTIxNTUxMjM0NTY3OA==",
"emoji": "👍"
}
}'
const response = await fetch('https://api.whaapy.com/messages/v1', {
method: 'POST',
headers: {
'Authorization': 'Bearer wha_TU_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: '+5215512345678',
type: 'reaction',
reaction: {
message_id: 'wamid.HBgLNTIxNTUxMjM0NTY3OA==',
emoji: '👍'
}
})
});
import requests
response = requests.post(
'https://api.whaapy.com/messages/v1',
headers={
'Authorization': 'Bearer wha_TU_API_KEY',
'Content-Type': 'application/json'
},
json={
'to': '+5215512345678',
'type': 'reaction',
'reaction': {
'message_id': 'wamid.HBgLNTIxNTUxMjM0NTY3OA==',
'emoji': '👍'
}
}
)
Quitar Reacción
Para quitar una reacción, envía el mismo request conemoji vacío:
{
"to": "+5215512345678",
"type": "reaction",
"reaction": {
"message_id": "wamid.HBgLNTIxNTUxMjM0NTY3OA==",
"emoji": ""
}
}
Solo puedes tener una reacción activa por mensaje. Enviar una nueva reacción reemplaza la anterior.
Campos
string
required
ID del mensaje a reaccionar. Puede ser el
wamid de Meta o el id de Whaapy.string
required
Emoji de la reacción. String vacío
"" para quitar la reacción.Emojis Comunes para Reacciones
| Emoji | Uso Típico |
|---|---|
| 👍 | Aprobación, confirmación |
| ❤️ | Agradecimiento, cariño |
| 😂 | Algo gracioso |
| 😮 | Sorpresa |
| 😢 | Empatía, disculpa |
| 🙏 | Gracias, por favor |
| ✅ | Tarea completada |
| 🎉 | Celebración |
Puedes usar cualquier emoji Unicode válido. WhatsApp soporta la mayoría de emojis estándar.
Respuesta Exitosa
{
"messaging_product": "whatsapp",
"contacts": [
{ "input": "+5215512345678", "wa_id": "5215512345678" }
],
"messages": [
{ "id": "550e8400-e29b-41d4-a716-446655440000", "wamid": "wamid.HBgLNTIxNTUx..." }
],
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"conversationId": "660e8400-e29b-41d4-a716-446655440001",
"messageType": "reaction",
"direction": "outbound",
"status": "sent",
"createdAt": "2026-01-22T10:30:00Z"
}
}
Obtener el message_id
Elmessage_id necesario para reaccionar lo obtienes de:
1. Respuesta de envío
Cuando envías un mensaje, la respuesta incluye elwamid:
{
"messages": [
{ "id": "uuid-whaapy", "wamid": "wamid.HBgLNTIxNTUx..." }
]
}
2. Webhook de mensaje recibido
Cuando recibes un mensaje del usuario:{
"messages": [
{
"id": "wamid.HBgLNTIxNTUx...",
"from": "5215512345678",
"text": { "body": "Hola!" }
}
]
}
3. Base de datos de Whaapy
Si guardaste el mensaje, puedes usar el UUID de Whaapy directamente.Casos de Uso
Confirmar recepción de pedido
Confirmar recepción de pedido
// Cuando el usuario envía su pedido, reacciona con ✅
await sendReaction(messageId, '✅');
// Luego envía mensaje de confirmación
await sendMessage(to, 'Pedido recibido. Te confirmamos en breve.');
Agradecer un mensaje positivo
Agradecer un mensaje positivo
// Detectar mensaje positivo y reaccionar
if (sentiment === 'positive') {
await sendReaction(messageId, '❤️');
}
Marcar mensaje como leído
Marcar mensaje como leído
// Usar reacción como indicador de "visto"
await sendReaction(messageId, '👀');
Limitaciones
- Solo puedes reaccionar a mensajes de los últimos 30 días
- Solo puedes tener una reacción por mensaje (la última reemplaza la anterior)
- Las reacciones requieren ventana de 24 horas activa
- No puedes reaccionar a mensajes de canales o grupos (solo chats 1:1)
Flujo de Reacciones
Próximos Pasos
Enviar Texto
Mensajes de texto simple
Enviar Media
Imágenes, videos, audio
Was this page helpful?