Skip to main content
POST
https://api.whaapy.com
/
messages
/
v1
/
{id}
/
retry
curl -X POST https://api.whaapy.com/messages/v1/550e8400-e29b-41d4-a716-446655440000/retry \
  -H "Authorization: Bearer wha_TU_API_KEY"
{
  "message": "Mensaje reenviado exitosamente",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "messageId": "wamid.HBgLNTIxNTUxMjM0NTY3OA==",
    "status": "sent",
    "retriedAt": "2026-01-22T11:00:00Z"
  }
}
Cuando un mensaje falla (por ejemplo, por ventana de 24h expirada), queda guardado en Whaapy con status: failed. Este endpoint te permite reintentar el envío una vez que las condiciones permitan su entrega (por ejemplo, después de que el usuario te escriba o después de enviar un template).

Path Parameters

id
string
required
UUID del mensaje a reintentar. Lo recibes en data.id de la respuesta original.

Cuándo Usar Este Endpoint

Si enviaste un mensaje y falló por ventana de 24h (131047), el usuario puede escribirte para reabrir la ventana. Luego puedes reintentar el mensaje original.
Los templates pueden enviarse en cualquier momento. Una vez que el usuario responde al template, se abre una nueva ventana de 24h y puedes reintentar mensajes pendientes.
Si el error fue 131042 (pago requerido), una vez configures el método de pago en Meta Business, puedes reintentar.

Request

curl -X POST https://api.whaapy.com/messages/v1/550e8400-e29b-41d4-a716-446655440000/retry \
  -H "Authorization: Bearer wha_TU_API_KEY"

Respuesta Exitosa

{
  "message": "Mensaje reenviado exitosamente",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "messageId": "wamid.HBgLNTIxNTUxMjM0NTY3OA==",
    "status": "sent",
    "retriedAt": "2026-01-22T11:00:00Z"
  }
}

Respuestas de Error

Mensaje No Encontrado

{
  "error": "not_found",
  "message": "Mensaje no encontrado"
}

Mensaje No Está Fallido

{
  "error": "invalid_state",
  "message": "Solo se pueden reintentar mensajes con status 'failed'"
}

Reintento También Falló

{
  "error": "retry_failed",
  "message": "La ventana de conversación de 24 horas sigue expirada",
  "code": "131047",
  "action_required": "Enviar template o esperar respuesta del usuario"
}

Flujo de Recuperación de Mensajes Fallidos

Best Practices

Implementa un sistema de cola para mensajes fallidos. Cuando recibas un webhook indicando que el usuario respondió, procesa la cola de mensajes pendientes para esa conversación.
No reintentes inmediatamente después de un error de ventana. Primero debes lograr que el usuario responda (via template u otro medio).

Campos del Mensaje Reusados

Cuando reintentas un mensaje, Whaapy usa los mismos datos que guardó originalmente:
  • Destinatario: El mismo to o conversationId
  • Tipo: El mismo type (text, image, etc.)
  • Contenido: El mismo content, text, image, etc.
  • Metadata: Se preservan campos opcionales como caption
Si necesitas cambiar el contenido del mensaje, mejor envía uno nuevo en lugar de reintentar.