Why get the data from Tableau ? Why not access the database directly and get the data from there ?
I think downloading from Tableau you're only going to get the first view in the dashboard (that was how it worked last time I tried)
To answer your first question, certain users need to view Tableau workbooks and certain users will get the data from APIs, and in some cases users will use both. Hence we need to build the API on top of our Tableau workbooks.
We've created the API in a way such that the end user has the option to select which views of the workbook they want the data from. Let's say our workbook has views A, B, C; user can select among the 3 views.
Now we want to create the next part of API in such a way that the filters in A or B or C are also displayed (as in the Tableau server) in the API and then the filtered data gets downloaded.