From 6cdc7bd6c432ce60d3c547b0c059b307c9554c14 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Fri, 13 Mar 2026 13:36:50 -0500 Subject: [PATCH] =?UTF-8?q?fix:=20corregir=20verificaci=C3=B3n=20de=20?= =?UTF-8?q?=C3=A9xito=20en=20send=5Fbroadcast.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La API de WhatsApp NO devuelve {success:true} - devuelve {messaging_product, messages:[{id:wamid.xxx}], contacts:[...]}. La comprobación anterior siempre fallaba → sent_count=0, error_count=N. Ahora verifica presencia de messages/contacts en la respuesta. --- api/send_broadcast.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/api/send_broadcast.php b/api/send_broadcast.php index 80c298b..d70de50 100644 --- a/api/send_broadcast.php +++ b/api/send_broadcast.php @@ -211,13 +211,18 @@ try { $messageContent = $message; } - if ($response && isset($response['success']) && $response['success']) { + // La API de WhatsApp devuelve {"messaging_product":"whatsapp","messages":[{"id":"wamid.xxx"}]} + // No tiene clave "success" — verificar por la presencia de messages o contacts + $sentMessageId = $response['messages'][0]['id'] ?? null; + $isSuccess = $response && (isset($response['messages']) || isset($response['contacts']) || $sentMessageId); + + if ($isSuccess) { $sentCount++; // Guardar mensaje en BD $db->insert('conversations', [ 'user_id' => $user['id'], - 'message_id' => $response['message_id'] ?? null, + 'message_id' => $sentMessageId, 'content' => $messageContent, 'direction' => 'outgoing', 'message_type' => $messageType === 'template' ? 'template' : 'text', @@ -228,7 +233,7 @@ try { $errorCount++; $errors[] = [ 'phone' => $user['phone_number'], - 'error' => 'Respuesta inválida de WhatsApp' + 'error' => 'Sin respuesta de WhatsApp: ' . json_encode($response) ]; }