Skip to main content
POST
https://api.whaapy.com
/
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": "👍"
    }
  }'
{
  "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": "👍"
    }
  }'

Quitar Reacción

Para quitar una reacción, envía el mismo request con emoji 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

reaction.message_id
string
required
ID del mensaje a reaccionar. Puede ser el wamid de Meta o el id de Whaapy.
reaction.emoji
string
required
Emoji de la reacción. String vacío "" para quitar la reacción.

Emojis Comunes para Reacciones

EmojiUso 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

El message_id necesario para reaccionar lo obtienes de:

1. Respuesta de envío

Cuando envías un mensaje, la respuesta incluye el wamid:
{
  "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

// 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.');
// Detectar mensaje positivo y reaccionar
if (sentiment === 'positive') {
  await sendReaction(messageId, '❤️');
}
// 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