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) ]; }