up
This commit is contained in:
+8
-2
@@ -18,9 +18,15 @@ if (!$isGet || $wantsJson) {
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
|
||||
$mediaId = $_GET['id'] ?? ($_POST['id'] ?? null);
|
||||
if (!$mediaId) {
|
||||
|
||||
// Validar que mediaId no esté vacío y sea válido
|
||||
if (empty($mediaId) || !is_string($mediaId) || trim($mediaId) === '') {
|
||||
error_log("get_media.php: mediaId inválido o vacío recibido: " . var_export($mediaId, true));
|
||||
http_response_code(400);
|
||||
echo json_encode(['error' => 'media id requerido']);
|
||||
echo json_encode([
|
||||
'error' => 'Invalid media ID',
|
||||
'hint' => 'Media ID cannot be empty or invalid'
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
@@ -176,6 +176,20 @@ if ($providedUrl) {
|
||||
} else {
|
||||
$token = getConfigFromDB('whatsapp_token', '');
|
||||
$apiUrl = rtrim(getConfigFromDB('whatsapp_api_url', 'https://graph.facebook.com/v22.0/'), '/');
|
||||
|
||||
// Validar que mediaId no esté vacío antes de construir el endpoint
|
||||
if (empty($mediaId) || !is_string($mediaId) || trim($mediaId) === '') {
|
||||
media_log("Invalid or empty mediaId provided: " . var_export($mediaId, true));
|
||||
http_response_code(400);
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
echo json_encode([
|
||||
'success' => false,
|
||||
'error' => 'Invalid media ID',
|
||||
'hint' => 'Media ID cannot be empty or invalid'
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
$endpoint = "{$apiUrl}/{$mediaId}";
|
||||
|
||||
if (empty($token)) {
|
||||
|
||||
@@ -199,6 +199,13 @@ class BotServiceLab
|
||||
{
|
||||
$phoneNumber = $user['phone_number'];
|
||||
|
||||
// Validar que mediaId no esté vacío antes de intentar descargar
|
||||
if (empty($mediaId) || trim($mediaId) === '') {
|
||||
error_log("BotServiceLab: mediaId vacío recibido para usuario {$phoneNumber}");
|
||||
$this->sendMessage($phoneNumber, "❌ No se recibió correctamente el archivo. Por favor, envíelo nuevamente.");
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// Descargar el archivo desde WhatsApp
|
||||
$mediaUrl = $this->whatsappService->downloadMedia($mediaId);
|
||||
|
||||
@@ -828,6 +828,12 @@ class WhatsAppService
|
||||
*/
|
||||
public function downloadMedia($mediaId)
|
||||
{
|
||||
// Validar que mediaId no esté vacío ANTES de hacer la llamada
|
||||
if (empty($mediaId) || !is_string($mediaId) || trim($mediaId) === '') {
|
||||
error_log("downloadMedia: mediaId inválido o vacío: " . var_export($mediaId, true));
|
||||
throw new Exception("Media ID no puede estar vacío");
|
||||
}
|
||||
|
||||
$url = $this->apiUrl . $mediaId;
|
||||
|
||||
// Primero obtener información del archivo
|
||||
|
||||
Reference in New Issue
Block a user