curl -X POST https://api.whaapy.com/messages/v1/550e8400-e29b-41d4-a716-446655440000/retry \
-H "Authorization: Bearer wha_TU_API_KEY"
const messageId = '550e8400-e29b-41d4-a716-446655440000';
const response = await fetch(`https://api.whaapy.com/messages/v1/${messageId}/retry`, {
method: 'POST',
headers: {
'Authorization': 'Bearer wha_TU_API_KEY'
}
});
const data = await response.json();
import requests
message_id = '550e8400-e29b-41d4-a716-446655440000'
response = requests.post(
f'https://api.whaapy.com/messages/v1/{message_id}/retry',
headers={
'Authorization': 'Bearer wha_TU_API_KEY'
}
)
print(response.json())
{
"message": "Mensaje reenviado exitosamente",
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"messageId": "wamid.HBgLNTIxNTUxMjM0NTY3OA==",
"status": "sent",
"retriedAt": "2026-01-22T11:00:00Z"
}
}
Mensajes
Reintentar Mensaje
Reintenta el envío de un mensaje que falló
POST
/
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"
const messageId = '550e8400-e29b-41d4-a716-446655440000';
const response = await fetch(`https://api.whaapy.com/messages/v1/${messageId}/retry`, {
method: 'POST',
headers: {
'Authorization': 'Bearer wha_TU_API_KEY'
}
});
const data = await response.json();
import requests
message_id = '550e8400-e29b-41d4-a716-446655440000'
response = requests.post(
f'https://api.whaapy.com/messages/v1/{message_id}/retry',
headers={
'Authorization': 'Bearer wha_TU_API_KEY'
}
)
print(response.json())
{
"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
string
required
UUID del mensaje a reintentar. Lo recibes en
data.id de la respuesta original.Cuándo Usar Este Endpoint
Después de que el usuario responda
Después de que el usuario responda
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.Después de enviar un template
Después de enviar un template
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.
Después de configurar pagos
Después de configurar pagos
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"
const messageId = '550e8400-e29b-41d4-a716-446655440000';
const response = await fetch(`https://api.whaapy.com/messages/v1/${messageId}/retry`, {
method: 'POST',
headers: {
'Authorization': 'Bearer wha_TU_API_KEY'
}
});
const data = await response.json();
import requests
message_id = '550e8400-e29b-41d4-a716-446655440000'
response = requests.post(
f'https://api.whaapy.com/messages/v1/{message_id}/retry',
headers={
'Authorization': 'Bearer wha_TU_API_KEY'
}
)
print(response.json())
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
tooconversationId - 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.
Was this page helpful?