"JSON inválido.", "status" => 400]); exit; } $version = "1.0.0"; // versión desplegada en app stores $action = isset($data->action) && trim($data->action) !== "" ? $data->action : "consulta_version"; // ✅ Validar versión SOLO si estás consultando versión if ($action === "consulta_version") { if (!isset($data->version) || trim((string)$data->version) === "") { http_response_code(200); echo json_encode([ "status" => 400, "error" => "No se recibió la versión." ]); exit; } if (version_compare($data->version, $version, '<')) { http_response_code(200); echo json_encode([ "status" => 426, "error" => "Hola, queremos informarte que se requiere actualizar el aplicativo para garantizar su correcto funcionamiento.", "url_ios" => "https://apps.apple.com/us/app", "url_android" => "https://play.google.com/store/apps/details" ]); exit; } http_response_code(200); echo json_encode([ "status" => true, "version" => $version, "mensaje" => "Versión válida." ]); exit; } // ----------------------- DB ----------------------- $db_host = $data->db_host; $db_name = "ERP_CIE"; $db_user = "mds_sistema"; $db_pass = "O4TQ9IX6RC2U"; $connectionInfo = [ "UID" => $db_user, "PWD" => $db_pass, "Database" => $db_name, "CharacterSet" => "UTF-8" ]; function getConnection($db_host, $connectionInfo) { $conn = sqlsrv_connect($db_host, $connectionInfo); if (!$conn) { throw new Exception("Error de conexión SQL Server"); } return $conn; } switch ($action) { case 'testConexion': { try { $conn = getConnection($db_host, $connectionInfo); if (!$conn) { throw new Exception("No se pudo conectar a SQL Server"); } echo json_encode([ "success" => true, "mensaje" => "Conexión exitosa." ]); sqlsrv_close($conn); } catch (Throwable $e) { http_response_code(200); echo json_encode([ "success" => false, "origen" => "server", "mensaje" => "Error de conexión con el servidor de base de datos" ]); } exit; } case 'Consulta_Conciliacion_Produccion': { $conn = getConnection($db_host, $connectionInfo); $sql = "EXEC Chachitos.dbo.Consulta_Conciliacion_Produccion"; $stmt = sqlsrv_query($conn, $sql); if ($stmt === false) { http_response_code(500); echo json_encode(["error" => "Error al ejecutar SP.", "details" => sqlsrv_errors(), "status" => 500]); sqlsrv_close($conn); exit; } $rows = []; while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { $rows[] = $row; } echo json_encode($rows); sqlsrv_close($conn); exit; } case 'Consulta_Avance_Produccion_2025': { $conn = getConnection($db_host, $connectionInfo); $sql = "EXEC Chachitos.dbo.Consulta_Avance_Produccion_2025"; $stmt = sqlsrv_query($conn, $sql); if ($stmt === false) { http_response_code(500); echo json_encode(["error" => "Error al ejecutar SP.", "details" => sqlsrv_errors(), "status" => 500]); sqlsrv_close($conn); exit; } $rows = []; while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { $rows[] = $row; } echo json_encode($rows); sqlsrv_close($conn); exit; } default: http_response_code(400); echo json_encode(["error" => "Acción no válida.", "status" => 400]); sqlsrv_close($conn); exit; }