up
This commit is contained in:
+8
-2
@@ -18,9 +18,15 @@ if (!$isGet || $wantsJson) {
|
|||||||
header('Content-Type: application/json; charset=utf-8');
|
header('Content-Type: application/json; charset=utf-8');
|
||||||
|
|
||||||
$mediaId = $_GET['id'] ?? ($_POST['id'] ?? null);
|
$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);
|
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;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -176,6 +176,20 @@ if ($providedUrl) {
|
|||||||
} else {
|
} else {
|
||||||
$token = getConfigFromDB('whatsapp_token', '');
|
$token = getConfigFromDB('whatsapp_token', '');
|
||||||
$apiUrl = rtrim(getConfigFromDB('whatsapp_api_url', 'https://graph.facebook.com/v22.0/'), '/');
|
$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}";
|
$endpoint = "{$apiUrl}/{$mediaId}";
|
||||||
|
|
||||||
if (empty($token)) {
|
if (empty($token)) {
|
||||||
|
|||||||
@@ -199,6 +199,13 @@ class BotServiceLab
|
|||||||
{
|
{
|
||||||
$phoneNumber = $user['phone_number'];
|
$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 {
|
try {
|
||||||
// Descargar el archivo desde WhatsApp
|
// Descargar el archivo desde WhatsApp
|
||||||
$mediaUrl = $this->whatsappService->downloadMedia($mediaId);
|
$mediaUrl = $this->whatsappService->downloadMedia($mediaId);
|
||||||
|
|||||||
@@ -828,6 +828,12 @@ class WhatsAppService
|
|||||||
*/
|
*/
|
||||||
public function downloadMedia($mediaId)
|
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;
|
$url = $this->apiUrl . $mediaId;
|
||||||
|
|
||||||
// Primero obtener información del archivo
|
// Primero obtener información del archivo
|
||||||
|
|||||||
Reference in New Issue
Block a user