Export Data
You can use Bulk APIs to export data from the specified view.
REQUEST URI
https://<ZohoAnalytics_Server_URI>/restapi/v2/workspaces/<workspace-id>/views/<view-id>/data
Get
oauthscope: ZohoAnalytics.data.read
Note: Export Data API is restricted for certain resources ( given below ). For the same kindly use Asynchronous Export APIs for exporting data.
- Tables having more than one million rows.
- Tables and Views from live connect workspaces.
- Dashboard and Querytable view types.
QUERY PARAMETERS
| Description |
---|---|
CONFIG* | JSONObject Config parameter specifications are available in the below section. |
FIELDS FOR CONFIG JSON
Key | Description |
---|---|
responseFormat* | String
|
criteria | String If criteria is sent, then the rows matching the criteria alone are exported. Sample: {"criteria":"\"SalesTable\".\"Region\"='East'"} Refer this link for more details about how to construct a criteria. |
selectedColumns | JSONArray Controls the columns that need to be exported. Sample: ["column1","column2"] |
showHiddenCols | Boolean Controls whether the columns that have been hidden in the table have to be exported. Default value - false. |
showPersonalCols | Boolean Controls whether the columns that have been marked as personal data in the table have to be exported. Default value - false. |
generateTOC | Boolean To generate Table Of Contents. Only for dashboards Default value - false. |
dashboardLayout | Integer
|
CSV SPECIFIC ATTRIBUTES
Key | Description |
---|---|
delimiter | Integer
|
recordDelimiter | Integer
|
quoted | Integer
|
includeHeader | Boolean To include the column names in the first row of the CSV exported. Default value - true. |
JSON SPECIFIC ATTRIBUTES
Key | Description |
---|---|
keyValueFormat | Boolean To return JSON data as ColumnName - Value pair. Default value - true. |
PDF SPECIFIC ATTRIBUTES
Key | Description |
---|---|
paperSize | Integer
|
paperStyle | String To controls the orientation. Portrait/Landscape |
showTitle | Integer
|
showDesc | Integer
|
exportLanguage | Integer
|
zoomFactor | Integer To control the zoom factor for the PDF. 0 to 100 Default value - 100. |
Margin Settings: | |
topMargin bottomMargin leftMargin rightMargin | Float The margin in inches for that edge. Can be decimal between 0 to 1 (like 0.5). |
Header/Footer Settings: | |
leftHeader rightHeader centerHeader leftFooter rightFooter centerFooter | Integer
|
Custom Header/Footer value | |
leftHeaderText rightHeaderText centerHeaderText leftFooterText rightFooterText centerFooterText | String If any of the header/footer setting is 5 (.ie, CUSTOM) then the corresponding custom value/text should be passed. |
HTML SPECIFIC ATTRIBUTES
Key | Description |
---|---|
includeTitle | Integer
|
includeDesc | Integer
|
IMAGE SPECIFIC ATTRIBUTES
Key | Description |
---|---|
width | Integer The width of the image. Default value - 500. |
height | Integer The height of the image. Default value - 400. |
title | Boolean To include the view name in the exported view. Default value - true. |
description | Boolean To include the view description in the exported view. Default value - true. |
legend | Boolean Controls whether the legend is to be included in the image generated. Default value - true. |
imageFormat | String The format of the exported image. png/jpg Default value - png. |
POSSIBLE ERROR CODES
Sample Request:
Copiedcurl https://analyticsapi.zoho.com/restapi/v2/workspaces/<workspace-id>/views/<view-id>/data?CONFIG=<encoded_json_value>
-X 'GET'
-H 'ZANALYTICS-ORGID: <org-id>'
-H 'Authorization: Zoho-oauthtoken <access_token>'
Copiedusing System;
using System.Collections.Generic;
using ZohoAnalytics;
using System.Text.Json;
namespace ZohoAnalyticsTest
{
class Program
{
long orgId = 55522777;
long workspaceId = 35130000001055707;
long viewId = 35730000007354002;
public void ExportData(IAnalyticsClient ac)
{
string responseFormat = "csv";
string filePath = "C:\\Users\\Administrator\\Downloads\\SalesTable.csv";
IBulkAPI data = ac.GetBulkInstance(orgId, workspaceId);
data.ExportData(viewId, responseFormat, filePath, null);
Console.WriteLine("success");
}
static void Main(string[] args)
{
string clientId = "1000.xxxxxxx";
string clientSecret = "xxxxxxx";
string refreshToken = "1000.xxxxxxx.xxxxxxx";
try
{
IAnalyticsClient ac = new AnalyticsClient(clientId, clientSecret, refreshToken);
Program obj = new Program();
obj.ExportData(ac);
}
catch (ServerException ex)
{
Console.WriteLine("Server exception - " + ex.GetErrorMessage());
}
catch (Exception ex)
{
Console.WriteLine("Other exception - " + ex.Message);
}
}
}
}
Copiedpackage main
import (
"fmt"
ZAnalytics "zoho/pkg/analyticsclient"
)
var(
clientId = "1000.xxxxxxx"
clientSecret = "xxxxxxx"
refreshToken = "1000.xxxxxxx.xxxxxxx"
orgId = "55522777"
workspaceId = "35130000001055707"
viewId = "35130000001055707"
)
func ExportData(ac ZAnalytics.Client) {
config := map[string]interface{}{}
responseformat := "pdf"
filepath := "/home/local/admin/Files/Sales.pdf"
bulk := ZAnalytics.GetBulkInstance(&ac, orgId, workspaceId)
exception := bulk.ExportData(viewId, responseformat, filepath, config)
if(exception != nil){
fmt.Println(exception.ErrorMessage)
}else{
fmt.Println("success")
}
}
func main() {
ac := ZAnalytics.GetAnalyticsClient(clientId, clientSecret, refreshToken)
ExportData(ac)
}
Copiedimport com.zoho.analytics.client.*;
import org.json.*;
public class Test {
private long orgId = 55522777l;
private long workspaceId = 35130000001055707l;
private long viewId = 35730000007354002l;
public static void main(String args[]){
String clientId = "1000.xxxxxxx";
String clientSecret = "xxxxxxx";
String refreshToken = "1000.xxxxxxx.xxxxxxx";
Test tObj = new Test();
AnalyticsClient ac = new AnalyticsClient(clientId, clientSecret, refreshToken);
try {
tObj.exportData(ac);
}
catch (ServerException ex) {
System.out.println("Server exception - ErrorCode : " + ex.getErrorCode() + ", ErrorMessage : " + ex.getErrorMessage());
}
catch (ParseException ex) {
System.out.println("Parser exception - ErrorMessage : " + ex.getResponseMessage());
}
catch (Exception ex) {
System.out.println("Other exception - ");
ex.printStackTrace();
}
}
public void exportData(AnalyticsClient ac) throws Exception {
String responseFormat = "csv";
String filePath = "/home/local/admin/Files/Sales.csv";
BulkAPI bulk = ac.getBulkInstance(orgId, workspaceId);
bulk.exportData(viewId, responseFormat, filePath, null);
System.out.println("success");
}
}
Copied<?php
require 'AnalyticsClient.php';
class Test
{
public $ac = NULL;
public $client_id = "1000.xxxxxxx";
public $client_secret = "xxxxxxx";
public $refresh_token = "1000.xxxxxxx.xxxxxxx";
public $org_id = "55522777";
public $workspace_id = "35130000001055707";
public $view_id = "35730000007354002";
function __construct() {
$this->ac = new AnalyticsClient($this->client_id, $this->client_secret, $this->refresh_token);
}
function exportData() {
$response_format = "csv";
$file_path = "/home/local/admin/Files/Sales.csv";
$bulk = $this->ac->getBulkInstance($this->org_id, $this->workspace_id);
$bulk->exportData($this->view_id, $response_format, $file_path);
}
}
$test_obj = new Test();
try {
$test_obj->exportData();
}
catch(ServerException $se) {
echo "Server exception : " . $se->getErrorMessage() . "\n";
}
catch(IOException $ioe) {
echo "IO exception : " . $ioe->getErrorMessage() . "\n";
}
catch(ParseException $pe) {
echo "Parser exception : " . $pe->getErrorMessage() . "\n";
}
catch(Exception $e) {
echo "Exception : " . $e->getErrorMessage() . "\n";
}
?>
Copiedfrom __future__ import with_statement
from AnalyticsClient import AnalyticsClient
import sys
import json
class Config:
CLIENTID = "1000.xxxxxxx";
CLIENTSECRET = "xxxxxxx";
REFRESHTOKEN = "1000.xxxxxxx.xxxxxxx";
ORGID = "55522777";
WORKSPACEID = "35130000001055707";
VIEWID = "35730000007354002";
class sample:
ac = AnalyticsClient(Config.CLIENTID, Config.CLIENTSECRET, Config.REFRESHTOKEN)
def export_data(self, ac):
response_format = "csv"
file_path = "/home/local/admin/Files/Sales.csv"
bulk = ac.get_bulk_instance(Config.ORGID, Config.WORKSPACEID)
bulk.export_data(Config.VIEWID, response_format, file_path)
try:
obj = sample()
obj.export_data(obj.ac);
except Exception as e:
print(str(e))
Copiedvar analyticsClient = require('./AnalyticsClient');
var clientId = '1000.xxxxxxx';
var clientSecret = 'xxxxxxx';
var refreshtoken = '1000.xxxxxxx.xxxxxxx';
var orgId = '55522777';
var workspaceId = '35130000001055707';
var viewId = '35730000007354002';
var ac = new analyticsClient(clientId, clientSecret, refreshtoken);
var config = {};
var responseFormat = 'csv';
var filePath = '/home/local/admin/Files/Sales.csv';
var bulk = ac.getBulkInstance(orgId, workspaceId);
bulk.exportData(viewId, responseFormat, filePath).catch((error) => {
console.log('errorCode : '+error.errorCode);
console.log('errorMessage : '+error.errorMessage);
});
CopiedorgId = "55522777";
workspaceId = "35130000001055707";
viewId = "35730000007354002";
headersMap = Map();
headersMap.put("ZANALYTICS-ORGID",orgId);
config = Map();
config.put("responseFormat","csv");
paramsMap = Map();
paramsMap.put("CONFIG",config.toString());
response = invokeurl
[
url :"https://analyticsapi.zoho.com/restapi/v2/workspaces/" + workspaceId + "/views/" + viewId + "/data"
type :GET
parameters:paramsMap
headers:headersMap
connection:"analytics_oauth_connection"
];
info response;
Download client libraries: C# | GO | JAVA | PHP | PYTHON | NodeJS
Sample value for CONFIG parameter:
Copied{
"responseFormat":"csv"
}
Sample Response
CopiedHTTP/1.1 200 OK
Content-Type:text/csv;charset=UTF-8
Date,Region,Product,Customer Name,Sales
"15 June, 2021",East,Cereals,Vincent Herbert,682.39
"15 June, 2021",West,Clocks,John Britto,$272.34
"15 June, 2021",Central,Art Supplies,Susan Juliet,$45.31