ManageEngine Analytics Plus API
ManageEngine Analytics Plus API offers wide range of functions to help developers build & manage powerful reporting and analytical capabilities for their business application needs. You can add powerful business intelligence capabilities to your product/application, build add-ons to analyze data from third-party business applications that you use and do much more.
Easy to use programming language wrappers called "Client Libraries" are provided to conveniently use the Analytics Plus API from within your familiar programming language like Java, C#, Python, PHP, GO, and CURL.
Important Notations
We have used a few notations in this document. Here are their meanings
<hostname>
is the host name of the Analytics Plus server.
<webclient port>
is the port that Analytics Plus runs on. By default, this is 8443.
Here is how you can get your web client port
- Login to the application.
- Get the web client port from the browser URL. E.g.
https://BI-server:8443/ZDBHome.cc
here, 8443 is your web client port number.
<analyticsplusemailaddress>
is the email address associated with your Analytics Plus user login.
Prerequisites
The following are the prerequisites to use Analytics Plus API
Note: It is mandatory to use HTTPS in all API requests instead of Request URI. HTTP is not supported
Auth Token
Browser Mode : URL
https://<hostname>:<web client port>/iam/apiauthtoken/create?SCOPE=ZROP/reportsapi
https://<hostname>:<web client port>/iam/apiauthtoken/create?SCOPE=ZROP/reportsapi
https://<hostname>:<web client port>/iam//apiauthtoken/create?SCOPE=ZROP/reportsapi
https://<hostname>:<web client port>/iam/apiauthtoken/create?SCOPE=ZROP/reportsapi
https://<hostname>:<web client port>/iam/apiauthtoken/create?SCOPE=ZROP/reportsapi
https://<hostname>:<web client port>/iam/apiauthtoken/create?SCOPE=ZROP/reportsapi
API Mode : URL
https://<hostname>:<web client port>/iam/apiauthtoken/nb/create?SCOPE=ZROP/reportsapi&EMAIL_ID=emailid&PASSWORD=password
https://<hostname>:<web client port>/iam/apiauthtoken/nb/create?SCOPE=ZROP/reportsapi&EMAIL_ID=emailid&PASSWORD=password
https://<hostname>:<web client port>/iam/apiauthtoken/nb/create?SCOPE=ZROP/reportsapi&EMAIL_ID=emailid&PASSWORD=password
https://<hostname>:<web client port>/iam/apiauthtoken/nb/create?SCOPE=ZROP/reportsapi&EMAIL_ID=emailid&PASSWORD=password
https://<hostname>:<web client port>/iam/apiauthtoken/nb/create?SCOPE=ZROP/reportsapi&EMAIL_ID=emailid&PASSWORD=password
https://<hostname>:<web client port>/iam/apiauthtoken/nb/create?SCOPE=ZROP/reportsapi&EMAIL_ID=emailid&PASSWORD=password
Sample Response:
The following is a sample response for a Auth Token request.
#
#Wed Jun 29 03:07:33 PST 2013
AUTHTOKEN=bad18eba1ff45jk7858b8ae88a77fa30
RESULT=TRUE
The following is a sample response for a Auth Token request.
#
#Wed Jun 29 03:07:33 PST 2013
AUTHTOKEN=bad18eba1ff45jk7858b8ae88a77fa30
RESULT=TRUE
The following is a sample response for a Auth Token request.
#
#Wed Jun 29 03:07:33 PST 2013
AUTHTOKEN=bad18eba1ff45jk7858b8ae88a77fa30
RESULT=TRUE
The following is a sample response for a Auth Token request.
#
#Wed Jun 29 03:07:33 PST 2013
AUTHTOKEN=bad18eba1ff45jk7858b8ae88a77fa30
RESULT=TRUE
The following is a sample response for a Auth Token request.
#
#Wed Jun 29 03:07:33 PST 2013
AUTHTOKEN=bad18eba1ff45jk7858b8ae88a77fa30
RESULT=TRUE
The following is a sample response for a Auth Token request.
#
#Wed Jun 29 03:07:33 PST 2013
AUTHTOKEN=bad18eba1ff45jk7858b8ae88a77fa30
RESULT=TRUE
Response Details:
* #-COMMENT Auth Token generated date.
* AUTHTOKEN The permanent Auth Token (Alpha numeric value) generated for
Analytics Plus API access.
* RESULT Value is TRUE if the Auth Token is generated successfully.
* #-COMMENT Auth Token generated date.
* AUTHTOKEN The permanent Auth Token (Alpha numeric value) generated for
Analytics Plus API access.
* RESULT Value is TRUE if the Auth Token is generated successfully.
* #-COMMENT Auth Token generated date.
* AUTHTOKEN The permanent Auth Token (Alpha numeric value) generated for
Analytics Plus API access.
* RESULT Value is TRUE if the Auth Token is generated successfully.
* #-COMMENT Auth Token generated date.
* AUTHTOKEN The permanent Auth Token (Alpha numeric value) generated for
Analytics Plus API access.
* RESULT Value is TRUE if the Auth Token is generated successfully.
* #-COMMENT Auth Token generated date.
* AUTHTOKEN The permanent Auth Token (Alpha numeric value) generated for
Analytics Plus API access.
* RESULT Value is TRUE if the Auth Token is generated successfully.
* #-COMMENT Auth Token generated date.
* AUTHTOKEN The permanent Auth Token (Alpha numeric value) generated for
Analytics Plus API access.
* RESULT Value is TRUE if the Auth Token is generated successfully.
Authentication Token, also referred as Auth Token, is a unique token that authenticates the user to access his/her Analytics Plus Account. This is a permanent user specific token, that needs to be passed along with every Analytics Plus API request.
Generating Auth Token
Users can generate a Auth Token using one of the following modes. You can generate it just once and use it for all your API calls.
- Browser Mode
- API Mode
Browser Mode
To generate Auth Token from your browser, follow the steps given below.
- Open a new tab in your browser and then access the url given in the sample.
https://<hostname>:<web client port>/iam/apiauthtoken/create?SCOPE=ZROP/reportsapi
API Mode
To generate Auth Token using API mode, send an HTTPS POST request to Analytics Plus Accounts (web client port/iam) using the URL format given in the sample.
https://<hostname>:<web client port>/iam/apiauthtoken/nb/create?SCOPE=ZROP/reportsapi&EMAIL_ID=emailid&PASSWORD=password
Mandatory "POST" Parameters to be passed along with this URL are:
Parameter | Description |
---|---|
EMAIL_ID | Specify the email address associated with your Analytics Plus user login. |
PASSWORD | Specify your Analytics Plus Password |
Managing Auth Tokens
You can access and manage all the active secret Auth Tokens of Analytics Plus from the Analytics Plus Auth Token page.
To access the active Auth Tokens:
- Go to
https://<hostname>:<web client port>/iam/u/h#sessions/userauthtoken
- The Active Authtoken page will list all the active secret Auth Tokens of your account.
- If required, you can remove or regenerate the Auth Token using the Remove and Re-Generate button respectively.
Important Note
- Generate a Single Auth Token and use it across all API calls in Analytics Plus.
- In case the user has removed or regenerated the Auth Token, then the existing token will become invalid and cannot be used in API request.
- In case the user is deactivated, then all the Auth Token's of the user's account will become invalid.
Reporting Workspace
To use the Analytics Plus API, users should have already created a reporting workspace with required tables and reports in Analytics Plus service using the browser based Web interface provided. You cannot use the API, if you do not have any reporting workspace in your Analytics Plus account. To know how to create a workspace, click here.
API Specification
Analytics Plus API uses HTTPS as the underlying transport protocol. It is based on REST principles. The following are the basic points of how the REST APIs are structured:
- Every table or report or dashboard in a Analytics Plus workspace can be uniquely identified using a URL.
- The operation to be performed on the table/report/dashboard can be specified using the parameters in the URL.
- The additional payload required to perform the operation should also be specified as parameters in the URL.
- Every request has a response whose format can be controlled using parameters in the request URL.
It is important to understand the API specification clearly before referring to the actual API methods
Request Format
Sample Request:
The below URL adds a row in EmployeeDetails table in EmployeeDB workspace in a CSV format.
https://<hostname>:<webclient port>/api/abc@zylker.com/EmployeeDB/EmployeeDetails?ZOHO_ACTION=ADDROW&
ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&authtoken=g38sl4j4856guvncrywox8251sssds
&ZOHO_API_VERSION=1.0
The below URL adds a row in EmployeeDetails table in EmployeeDB workspace in a CSV format.
https://<hostname>:<webclient port>/api/abc@zylker.com/EmployeeDB/EmployeeDetails?ZOHO_ACTION=ADDROW&
ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&authtoken=g38sl4j4856guvncrywox8251sssds
&ZOHO_API_VERSION=1.0
The below URL adds a row in EmployeeDetails table in EmployeeDB workspace in a CSV format.
https://<hostname>:<webclient port>/api/abc@zylker.com/EmployeeDB/EmployeeDetails?ZOHO_ACTION=ADDROW&
ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&authtoken=g38sl4j4856guvncrywox8251sssds
&ZOHO_API_VERSION=1.0
The below URL adds a row in EmployeeDetails table in EmployeeDB workspace in a CSV format.
https://<hostname>:<webclient port>/api/abc@zylker.com/EmployeeDB/EmployeeDetails?ZOHO_ACTION=ADDROW&
ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&authtoken=g38sl4j4856guvncrywox8251sssds
&ZOHO_API_VERSION=1.0
The below URL adds a row in EmployeeDetails table in EmployeeDB workspace in a CSV format.
https://<hostname>:<webclient port>/api/abc@zylker.com/EmployeeDB/EmployeeDetails?ZOHO_ACTION=ADDROW&
ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&authtoken=g38sl4j4856guvncrywox8251sssds
&ZOHO_API_VERSION=1.0
The below URL adds a row in EmployeeDetails table in EmployeeDB workspace in a CSV format.
https://<hostname>:<webclient port>/api/abc@zylker.com/EmployeeDB/EmployeeDetails?ZOHO_ACTION=ADDROW&
ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&authtoken=g38sl4j4856guvncrywox8251sssds
&ZOHO_API_VERSION=1.0
Sample POST parameter
Parameters for EmployeeDetails table in EmployeeDB workspace.
&Name=Gary&Date Of Birth=12-Jun-1980&Country=USA&Salary=10000
Parameters for EmployeeDetails table in EmployeeDB workspace.
&Name=Gary&Date Of Birth=12-Jun-1980&Country=USA&Salary=10000
Parameters for EmployeeDetails table in EmployeeDB workspace.
&Name=Gary&Date Of Birth=12-Jun-1980&Country=USA&Salary=10000
Parameters for EmployeeDetails table in EmployeeDB workspace.
&Name=Gary&Date Of Birth=12-Jun-1980&Country=USA&Salary=10000
Parameters for EmployeeDetails table in EmployeeDB workspace.
&Name=Gary&Date Of Birth=12-Jun-1980&Country=USA&Salary=10000
Parameters for EmployeeDetails table in EmployeeDB workspace.
&Name=Gary&Date Of Birth=12-Jun-1980&Country=USA&Salary=10000
All API requests should be placed as HTTPS POST request. The request consists of the following components:
URI (Universal Resource Identifier. Also commonly known as URL)
Common Mandatory Parameters sent as Query String in the URL
Parameters sent via the body of the POST request.
URI
The URI points to the resource inside Analytics Plus over which the action is to be performed.
https://<hostname>:<webclient port>/api/<analyticsplusemailaddress>/<workspacename>/<tablename or reportname>
It consists of the following parts
The base URL
https://<hostname>:<webclient port>/api
<analyticsplusemailaddress>
: This should be the Email Address of the owner of the workspace that is configured in Analytics Plus<workspacename>
: This should be the name of the workspace on which the API is to be executed. (e.g., EmployeeDB)<tablename or reportname>
: The name of the view (table or report or query table or dashboard name) over which the action is to be executed. (e.g., EmployeeDetails)
Parameters to be passed in Query String
The following snippet shows the common parameters that should be passed as Query string with the URI defined above:
<URI>?ZOHO_ACTION=[IMPORT/EXPORT...]&ZOHO_OUTPUT_FORMAT=[XML/JSON/PDF/...]&ZOHO_ERROR_FORMAT=[XML/JSON]&authtoken=<your auth token>&ZOHO_API_VERSION=1.0
The control parameters such as "ZOHO_ACTION" is mandatory and have to be sent as part of the query string in the URL. Refer to Common Parameters document to know more about the possible parameters that could be passed in the Query String.
Parameters to be passed via the body of POST Request
Apart from the parameters passed in the Query string, additional information needed for specific actions (such as values of row in a Add Row operation etc.,) needs to be passed as POST parameters
<param>1=<value>1&<param2>=<value2>....
The parameters should be encoded in application/x-www-form-urlencoded format (This is the default format used by any simple html form).
Note:
In the case of importing csv files multipart/form-data format should be used. (This is the default format used by html forms that contain file type fields used for uploading files)
Response Format
Sample Response : For ADDROW
Sample response to a request adding a row to the EmployeeDetails table in the
EmployeeDB workspace.
Sample response to a request adding a row to the EmployeeDetails table in the
EmployeeDB workspace.
Sample response to a request adding a row to the EmployeeDetails table in the
EmployeeDB workspace.
Sample response to a request adding a row to the EmployeeDetails table in the
EmployeeDB workspace.
Sample response to a request adding a row to the EmployeeDetails table in the
EmployeeDB workspace.
Sample response to a request adding a row to the EmployeeDetails table in the
EmployeeDB workspace.
XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/EmployeeDB/EmployeeDetails" action="ADDROW">
<result>
<!-- All the columns in the row , including formula columns -->
<row>
<column name="Name">Gary</column>
<column name="Date Of Birth">12-Jun-1980</column>
<column name="Basic">10000</column>
<column name="Country">USA</column>
</row>
</result>
<response>
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/EmployeeDB/EmployeeDetails" action="ADDROW">
<result>
<!-- All the columns in the row , including formula columns -->
<row>
<column name="Name">Gary</column>
<column name="Date Of Birth">12-Jun-1980</column>
<column name="Basic">10000</column>
<column name="Country">USA</column>
</row>
</result>
<response>
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/EmployeeDB/EmployeeDetails" action="ADDROW">
<result>
<!-- All the columns in the row , including formula columns -->
<row>
<column name="Name">Gary</column>
<column name="Date Of Birth">12-Jun-1980</column>
<column name="Basic">10000</column>
<column name="Country">USA</column>
</row>
</result>
<response>
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/EmployeeDB/EmployeeDetails" action="ADDROW">
<result>
<!-- All the columns in the row , including formula columns -->
<row>
<column name="Name">Gary</column>
<column name="Date Of Birth">12-Jun-1980</column>
<column name="Basic">10000</column>
<column name="Country">USA</column>
</row>
</result>
<response>
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/EmployeeDB/EmployeeDetails" action="ADDROW">
<result>
<!-- All the columns in the row , including formula columns -->
<row>
<column name="Name">Gary</column>
<column name="Date Of Birth">12-Jun-1980</column>
<column name="Basic">10000</column>
<column name="Country">USA</column>
</row>
</result>
<response>
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/EmployeeDB/EmployeeDetails" action="ADDROW">
<result>
<!-- All the columns in the row , including formula columns -->
<row>
<column name="Name">Gary</column>
<column name="Date Of Birth">12-Jun-1980</column>
<column name="Basic">10000</column>
<column name="Country">USA</column>
</row>
</result>
<response>
JSON Format:
{
"response":
{
"uri": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "ADDROW",
"result":
{
"column_order":["Name","Date Of Birth","Salary","Country"],
"rows":
["Gary","12-Jun-1980",10000,"USA"]
}
}
}
{
"response":
{
"uri": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "ADDROW",
"result":
{
"column_order":["Name","Date Of Birth","Salary","Country"],
"rows":
["Gary","12-Jun-1980",10000,"USA"]
}
}
}
{
"response":
{
"uri": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "ADDROW",
"result":
{
"column_order":["Name","Date Of Birth","Salary","Country"],
"rows":
["Gary","12-Jun-1980",10000,"USA"]
}
}
}
{
"response":
{
"uri": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "ADDROW",
"result":
{
"column_order":["Name","Date Of Birth","Salary","Country"],
"rows":
["Gary","12-Jun-1980",10000,"USA"]
}
}
}
{
"response":
{
"uri": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "ADDROW",
"result":
{
"column_order":["Name","Date Of Birth","Salary","Country"],
"rows":
["Gary","12-Jun-1980",10000,"USA"]
}
}
}
{
"response":
{
"uri": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "ADDROW",
"result":
{
"column_order":["Name","Date Of Birth","Salary","Country"],
"rows":
["Gary","12-Jun-1980",10000,"USA"]
}
}
}
The response format of the API request is controlled by the ZOHO_OUTPUT_FORMAT query parameter passed in the request. Currently Analytics Plus supports XML and JSON respone formats. CSV and PDF response formats are supported only for Export action.
Note:
See this link for response formats in case of errors on API execution.
XML Format
The response will have the <response>
tag as the root node. It might either contain a <result>
or <error>
node as it's child, but not both. The <result>
node will be present under normal circumstances, whereas <error>
node will be present in case of error conditions.
Format
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/<analyticsplusemailaddress>/<workspacename>/<tablename>" action="<specifiedaction>">
<result>
[specific XML response based on action]
</result>
</response>
JSON Format
JSON format follows the same pattern as that of XML format.
Format
{
"response":
{
"uri": "/api/<analyticsplusemailaddress>/<workspacename>/<tablename>",
"action": "<specified action>",
"result": {[action specific properties]}
}
}
Other Formats
Other formats such as CSV, PDF can be specified only when ZOHO_ACTION is EXPORT. These formats don't have any generic parseable header/footer. See this link for more details about these formats.
Error Handling
Sample error response : IMPORT DATA
Sample error response for import data in Table EmployeeDetails in the workspace EmployeeDB
Sample error response for import data in Table EmployeeDetails in the workspace EmployeeDB
Sample error response for import data in Table EmployeeDetails in the workspace EmployeeDB
Sample error response for import data in Table EmployeeDetails in the workspace EmployeeDB
Sample error response for import data in Table EmployeeDetails in the workspace EmployeeDB
Sample error response for import data in Table EmployeeDetails in the workspace EmployeeDB
XML Format:
<?xml version="1.0" encoding="UTF-8"?>
<response url="/api/demouser/EmployeeDB/EmployeeDetails" action="IMPORT">
<error>
<code>7138</code>
<message>Table EmployeeDetails is not present in the workspace EmployeeDB</message>
</error>
</response>
<?xml version="1.0" encoding="UTF-8"?>
<response url="/api/demouser/EmployeeDB/EmployeeDetails" action="IMPORT">
<error>
<code>7138</code>
<message>Table EmployeeDetails is not present in the workspace EmployeeDB</message>
</error>
</response>
<?xml version="1.0" encoding="UTF-8"?>
<response url="/api/demouser/EmployeeDB/EmployeeDetails" action="IMPORT">
<error>
<code>7138</code>
<message>Table EmployeeDetails is not present in the workspace EmployeeDB</message>
</error>
</response>
<?xml version="1.0" encoding="UTF-8"?>
<response url="/api/demouser/EmployeeDB/EmployeeDetails" action="IMPORT">
<error>
<code>7138</code>
<message>Table EmployeeDetails is not present in the workspace EmployeeDB</message>
</error>
</response>
<?xml version="1.0" encoding="UTF-8"?>
<response url="/api/demouser/EmployeeDB/EmployeeDetails" action="IMPORT">
<error>
<code>7138</code>
<message>Table EmployeeDetails is not present in the workspace EmployeeDB</message>
</error>
</response>
<?xml version="1.0" encoding="UTF-8"?>
<response url="/api/demouser/EmployeeDB/EmployeeDetails" action="IMPORT">
<error>
<code>7138</code>
<message>Table EmployeeDetails is not present in the workspace EmployeeDB</message>
</error>
</response>
JSON Format:
{
"response":
{
"url": "/api/demouser/EmployeeDB/EmployeeDetails",
"action": "IMPORT",
"error":
{
"code":7138,
"message": "Table EmployeeDetails is not present in the workspace EmployeeDB"
}
}
}
{
"response":
{
"url": "/api/demouser/EmployeeDB/EmployeeDetails",
"action": "IMPORT",
"error":
{
"code":7138,
"message": "Table EmployeeDetails is not present in the workspace EmployeeDB"
}
}
}
{
"response":
{
"url": "/api/demouser/EmployeeDB/EmployeeDetails",
"action": "IMPORT",
"error":
{
"code":7138,
"message": "Table EmployeeDetails is not present in the workspace EmployeeDB"
}
}
}
{
"response":
{
"url": "/api/demouser/EmployeeDB/EmployeeDetails",
"action": "IMPORT",
"error":
{
"code":7138,
"message": "Table EmployeeDetails is not present in the workspace EmployeeDB"
}
}
}
{
"response":
{
"url": "/api/demouser/EmployeeDB/EmployeeDetails",
"action": "IMPORT",
"error":
{
"code":7138,
"message": "Table EmployeeDetails is not present in the workspace EmployeeDB"
}
}
}
{
"response":
{
"url": "/api/demouser/EmployeeDB/EmployeeDetails",
"action": "IMPORT",
"error":
{
"code":7138,
"message": "Table EmployeeDetails is not present in the workspace EmployeeDB"
}
}
}
API execution could result in Error conditions. In such cases, you may follow the below steps to identify an error condition and to handle the same:
Check the http response code. If it is 4xx or 5xx (eg., 400, 500, 401 etc.,), then it is an error.
In case of error, the error information would be sent in the response body.
The format of the error content can be specified by the parameter ZOHO_ERROR_FORMAT. The value it can be either:
XML
JSON
XML Format
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/<analyticsplusemailaddress>/<workspacename>/<tablename>" action="<specifiedaction>">
<error>
[error details]
</error>
</response>
JSON Format
{
"response":
{
"uri": "/api/<analyticsplusemailaddress>/<workspacename>/<tablename>",
"action": "<specified action>",
"error": {[error details]}
}
}
Common Parameters in Query String of the API URL
In this section we will discuss about the mandatory and optional parameters that could be passed in the query string of every API call.
Mandatory Parameters:
Auth Token
Auth Token is an unique token that authenticates the user. Click here to know how to generate an Auth Token.
ZOHO_ACTION
This parameter specifies the action to be performed by the API request. The sample values are:
- ADDROW - To add a row of data into a table.
- IMPORT - To import data in bulk into a table in CSV/TSV/Tabular Text formats
- UPDATE - To update existing rows in a table.
- DELETE - To delete rows in a table.
- EXPORT - To export table or report in different formats.
Note:
Value of ZOHO_ACTION parameter should be in the same case(UPPER CASE) as given in this document.
ZOHO_OUTPUT_FORMAT
This parameter specifies the output format for the response. Following are the following supported formats:
- XML
- JSON
Incase ZOHO_ACTION is EXPORT then following additional formats are supported.
- CSV
- HTML
- IMAGE
ZOHO_ERROR_FORMAT
Specifies the output format for the response in case an error occurs when trying to process the request. Following are the supported formats:
- XML
- JSON
ZOHO_API_VERSION
The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows Analytics Plus to handle applications based on the older versions. The current API version is 1.0
Optional Parameters:
These parameters have to be sent in the body of the POST request.
ZOHO_DATE_FORMAT
This parameter can be used during Import of data, which has a date column, whose format is not properly identified by Analytics Plus.
Example: ZOHO_DATE_FORMAT=dd-MMM-yyyy
Data API
This section lists the APIs which can be used to perform data addition, bulk import, deletion and updates into your Analytics Plus data tables. This also provides APIs to export your tables, reports & dashboards in PDF, Excel, JSON, HTML, Image and CSV formats.
Add Row
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void addRow(IReportClient RepClient)
{
string tableURI = RepClient.GetURI(EMAIL, DBNAME, TBNAME);
Dictionary<string, string> ColumnValues = new Dictionary<string, string>();
ColumnValues.Add("Region", "South");
Dictionary<string, string> addRowRes = RepClient.AddRow(tableURI, ColumnValues,
config);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.addRow(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func addrow() {
url := reportclient.GetUri(email, dbname, tbname)
columnvalues := map[string]string{}
columnvalues["Id"] = "999"
columnvalues["Name"] = "zzz"
resultmap , err := reportclient.AddRow(url, columnvalues)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(resultmap)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
addrow()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
Map config = new HashMap();
Map colval = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<web client port>/iam");
rc.setReportServerURL("https://<hostname>:<webclient port>");
public void addrow() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
colval.put("Id", 101);
colval.put("Name", "sam");
Map result = rc.addRow(uri,colval,config);
System.out.println(result);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.addrow();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$column_values = array("Employee Name" => "Shankar", "Employee ID" => "2015",
"Experience" => "5");
$response_array = $report_client_request->addRow($uri, $column_values);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="f7d016b46be276cd4a1232a592f40101"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def AddRow(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
rowData = {"Date":"01 Jan, 2009 00:00:00","Region":"East","Product Category":
"Samples","Product":"SampleProduct","Customer Name":"Sample",
"Sales":2000,"Cost":2000}
result = rc.addRow(uri,rowData,None)
print result
obj = Sample()
obj.AddRow(obj.rc)
curl -d "ZOHO_ACTION=ADDROW&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46be276cdasda32a592f40101&Id=999
&Name=Gary&Date Of Birth=12-Jun-1980&Salary=10000&Country=USA"
https://<hostname>:<webclient port>/api/abc@zylker.com/EmployeeDB/EmployeeDetails
Sample Response JSON Format:
{
"response":
{
"url": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "ADDROW",
"result":
{
"column_order":["Name","Date Of Birth","Salary","Country"],
"rows":["Gary","12-Jun-1980",10000,"USA"]
}
}
}
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response url ="/api/abc@zylker.com/EmployeeDB/EmployeeDetails"action="ADDROW">
<result>
<!-- All the columns in the row , including formula columns -->
<row>
<column name="Name">Gary</column>
<column name="Date Of Birth">12-Jun-1980</column>
<column name="Basic">10000</column>
<column name="Country">USA</column>
</row>
</result>
<response>
This API allows you to add a single row into a specified table.
Request URI
https://<hostname>:<webclient port>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Common Parameters
Parameter | Possible Values | Description |
---|---|---|
ZOHO_ACTION | ADDROW | This parameter specifies the action to be performed by the API request.Note: Value of ZOHO_ACTION parameter should be in the same case(UPPER CASE) as given in this document. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0 |
Action Specific Parameters(Data for the Row)
The column values for the row should be passed as POST parameters in <columnname>
=<value>
format. (The parameters should be in application/x-www-form-urlencoded format).
<columnname>
- Refers to the name of the column in the table to which the value is added.
<value>
- Refers to the corresponding value to be added for this column.
Delete Data
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void deleteRow(IReportClient RepClient)
{
string tableURI = RepClient.GetURI(EMAIL, DBNAME, TBNAME);
string criteria = "\"Region\"='South'";
RepClient.DeleteData(tableURI, criteria, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.deleteRow(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func deletedata() {
url := reportclient.GetUri(email, dbname, tbname)
params := map[string]string{}
params["ZOHO_CRITERIA"] = "Id=2"
err := reportclient.DeleteData(url, params)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
deletedata()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<web client port>/iam");
rc.setReportServerURL("https://<hostname>:<webclient port>");
public void deletedata() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
rc.deleteData(uri,"id=100",config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.deletedata();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$criteria = "Experience = 3";
$report_client_request->deleteData($uri ,$criteria);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def DeleteData(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
rc.deleteData(uri,"\"Employee Name\"='Sample'",None);
obj = Sample()
obj.DeleteData(obj.rc)
curl -d "ZOHO_ACTION=DELETE&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46be2acsd4cfa32a592f40101
&ZOHO_CRITERIA=("Department" = 'Finance')"
https://<hostname>:<webclient port>/api/abc@zylker.com/EmployeeDB/EmployeeDetails
Sample Response JSON Format:
{
"response":
{
"uri": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "DELETE",
"criteria": "\"Department\" = \'Finance\'",
"result":
{
"message": "Deleted rows",
"deletedrows":"4"
}
}
}
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/EmployeeDB/EmployeeDetails" action="DELETE">
<criteria>"Department" = 'Finance'</criteria>
<result>
<message>Deleted rows</message>
<deletedrows>4</deletedrows>
</result>
</response>
The data present in a table can be deleted using this API.
Request URI
https://<hostname>:<webclient port>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Common Parameters
Parameter | Possible Values | Description |
---|---|---|
ZOHO_ACTION | DELETE | This parameter specifies the action to be performed by the API request.Note: Value of ZOHO_ACTION parameter should be in the same case(UPPER CASE) as given in this document. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter | Possible Values | Description |
---|---|---|
ZOHO_CRITERIA (optional) |
Criteria | If that parameter is not sent, then all the rows are deleted. If criteria is sent the rows matching the criteria alone are deleted.Please view this link for more details about the format for ZOHO_CRITERIA. |
Update Data
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void updateRow(IReportClient RepClient)
{
string tableURI = RepClient.GetURI(EMAIL, DBNAME, TBNAME);
Dictionary<string, string> ColumnValues = new Dictionary<string, string>();
ColumnValues.Add("Region", "North");
string criteria = "\"Region\"='South'";
RepClient.UpdateData(tableURI, ColumnValues, criteria, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.updateRow(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func updatedata() {
url := reportclient.GetUri(email, dbname, tbname)
params := map[string]string{}
params["Salary"] = "100"
params["ZOHO_CRITERIA"] = "id=1"
resultmap , err := reportclient.UpdateData(url, params)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(resultmap)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
updatedata()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
Map config = new HashMap();
Map colval = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<web client port>/iam");
rc.setReportServerURL("https://<hostname>:<webclient port>");
public void updatedata() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
colval.put("Salary", 1000);
rc.updateData(uri,colval,"Id=101",config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.updatedata();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$column_values = array("Salary" => "10000");
$criteria = "Experience = 2";
$report_client_request->updateData($uri ,$columnvalues, $criteria);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def updateData(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
updateInfo = {"Region":"West","Product":"SampleProduct_2"}
rc.updateData(uri,updateInfo,"\"Customer Name\"='Sample'",None);
obj = Sample()
obj.updateData(obj.rc)
curl -d "ZOHO_ACTION=UPDATE&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46bedswcd4cfa32a592f40101&Name=as
&ZOHO_CRITERIA=("Department" = 'Finance')"
https://<hostname>:<webclient port>/api/abc@zylker.com/EmployeeDB/EmployeeDetails
Sample Response JSON Format:
{
"response":
{
"uri": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "UPDATE",
"criteria": "\"Department\" = 'Finance'",
"result":
{
"updatedColumns":["Salary","Deduction","Perks"],
"updatedRows":"4"
}
}
}
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/EmployeeDB/EmployeeDetails" action="UPDATE">
<criteria>"Department" = 'Finance'</criteria>
<result>
<updatedColumns>
<column>Salary</column>
<column>Deduction</column>
<column>Perks</column>
</updatedColumns>
<updatedRows>4</updatedRows>
</result>
</response>
The data present in a table can be updated using this API.
Request URI
https://<hostname>:<webclient port>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Common Parameters
Parameter | Possible Values | Description |
---|---|---|
ZOHO_ACTION | UPDATE | This parameter specifies the action to be performed by the API request.Note: Value of ZOHO_ACTION parameter should be in the same case(UPPER CASE) as given in this document. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter | Possible Values | Description |
---|---|---|
ZOHO_CRITERIA (optional) |
Criteria | If that parameter is not sent, then all the rows are updated. If criteria is sent the rows matching the criteria alone are updated.For more details about the format for the criteria view this link. |
Specifying the data to be updated (POST params)
Pass the columns whose values you would like to update in a <columnname>
=<value>
format. (The parameters should be in application/x-www-form-urlencoded format).
<columnname>
- Refers to the name of the column in the table whose value is to be updated.
<value>
- Refers to the corresponding value to be updated in the column
For specifying empty (null) values, the parameter should be sent with empty values. In the example above, the Deduction value is taken to be empty.
Import Data
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void importData(IReportClient RepClient)
{
string tableURI = RepClient.GetURI(EMAIL, DBNAME, TBNAME);
Dictionary<string, string> ImportConfig = new Dictionary<string, string>();
ImportConfig.Add("ZOHO_ON_IMPORT_ERROR", "ABORT");
Dictionary<string, string> ImportRes = RepClient.ImportData(tableURI,
ZohoReportsConstants.APPEND,"C:\\workspace\\mydata.csv",ImportConfig);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.importData(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func importdata() {
url := reportclient.GetUri(email, dbname, tbname)
params := map[string]string{}
file := "/home/sample.csv"
importtype := "APPEND"
autoidentity := "true"
onerror := "ABORT"
resp , err := reportclient.ImportData(url, file, importtype, autoidentity, onerror, params)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(resp.ImportErrors)
fmt.Println(resp.ColumnDetails)
fmt.Println(resp.ImportType)
fmt.Println(resp.Warnings)
fmt.Println(resp.SelectedColumnCount)
fmt.Println(resp.SuccessRowCount)
fmt.Println(resp.ImportOperation)
fmt.Println(resp.TotalColumnCount)
fmt.Println(resp.TotalRowCount)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
importdata()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
Map config = new HashMap();
File csvFile = new File("samples/StoreSales.csv");
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<web client port>/iam");
rc.setReportServerURL("https://<hostname>:<webclient port>");
public void importdata() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
config.put("ZOHO_AUTO_IDENTIFY","true");
config.put("ZOHO_ON_IMPORT_ERROR","ABORT");
config.put("ZOHO_CREATE_TABLE","false");
Object result = rc.importData(uri,"APPEND",csvFile,config,false);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.importdata();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$import_type = "APPEND";
$file = $_FILES['file'];
$auto_identify = "TRUE";
$on_error = "ABORT";
$response_obj = $report_client->importData($table_uri, $import_type, $file,
$auto_identify, $on_error);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def importData(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
try:
with open('StoreSales.csv', 'r') as f:
importContent = f.read()
except Exception,e:
print "Error Check if file StoreSales.csv exists in the current directory"
print "(" + str(e) + ")"
return
impResult = rc.importData(uri,"APPEND",importContent,None)
print "Added Rows :" +str(impResult.successRowCount) + " and Columns :" +
str(impResult.selectedColCount)
obj = Sample()
obj.importData(obj.rc)
curl -XPOST -H "Content-type: multipart/form-data"
-d 'ZOHO_ACTION=IMPORT&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46be276c3w24a32a592f40101
&ZOHO_IMPORT_TYPE=APPEND&ZOHO_AUTO_IDENTIFY=TRUE&ZOHO_ON_IMPORT_ERROR=ABORT
&ZOHO_FILE=sample.csv'
https://<hostname>:<webclient port>/api/abc@zylker.com/sample/Employee
Sample Response JSON Format:
{
" response":
{
"uri": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "IMPORT",
"result":
{
"importSummary":
{
"totalColumnCount":3,
"selectedColumnCount":3,
"totalRowCount":50,
"successRowCount":48,
"warnings":0,
"importOperation": "created",
"importType": "APPEND"
},
"columnDetails":
{
"Name": "Plain Text",
"Date Of Birth": "Date",
"Salary": "Number"
},
"importErrors": "[Line: 5 Field: 3] a1213 -WARNING: Invalid Number value"
}
}
}
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/EmployeeDB/EmployeeDetails" action="IMPORT">
<result>
<importSummary>
<totalColumnCount>3 </totalColumnCount>
<selectedColumnCount>3</selectedColumnCount>
<totalRowCount>50</totalRowCount>
<successRowCount>48</successRowCount>
<warnings>0</warnings>
<importOperation>created</importOperation>
<importType>APPEND</importType>
</importSummary>
<columnDetails>
<column datatype="Plain Text">Name </column>
<column datatype="Date">Date Of Birth</column>
<column datatype="Number">Salary</column>
</columnDetails>
<!-- The first 100 errors are alone sent -->
<importErrors>
[Line: 5 Field: 3] a1213 -WARNING: Invalid Number value
</importErrors>
</result>
</response>
With the Analytics Plus API, you can add/update data in bulk. The data to be added/updated should be in CSV or JSON file formats.
Request URI
https://<hostname>:<webclient port>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Common Parameters
Parameter | Possible Values | Description |
---|---|---|
ZOHO_ACTION | IMPORT | This parameter specifies the action to be performed by the API request.Note: Value of ZOHO_ACTION parameter should be in the same case(UPPER CASE) as given in this document. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
ZOHO_FILE or ZOHO_IMPORT_DATA (mandatory) | File or string | ZOHO_FILE - The file to be imported. ZOHO_IMPORT_DATA - The string to be imported. |
Action Specific Parameters
Parameter | Possible Values | Description |
---|---|---|
ZOHO_CRITERIA (optional) |
Criteria | If that parameter is not sent, then all the rows are updated. If criteria is sent the rows matching the criteria alone are updated. |
ZOHO_FILE (mandatory) |
File | The file to import. |
ZOHO_IMPORT_FILETYPE (optional) |
CSV/JSON | Default value is CSV. Format of the file to be imported. Supported formats are: |
ZOHO_IMPORT_TYPE (mandatory) | APPEND/TRUNCATEADD/UPDATEADD | |
ZOHO_AUTO_IDENTIFY (mandatory) |
TRUE/FALSE | Used to specify whether to auto identify the CSV format. |
ZOHO_ON_IMPORT_ERROR (mandatory) |
ABORT/SKIPROW/SETCOLUMNEMPTY | This parameter controls the action to be taken incase there is an error during import. |
ZOHO_CREATE_TABLE (optional) |
true/false. | Default is false. |
ZOHO_SELECTED_COLUMNS (optional) |
List of comma separated column names. E.g.,: Name, Department |
Specify the columns to be imported into the Analytics Plus table from the data being uploaded. Note: Incase of JSON files you need to specify the column names capturing the full JSON tree heirrachy eg., employee.Name, employee.Department |
ZOHO_MATCHING_COLUMNS (mandatory only when the ZOHO_IMPORT_TYPE is UPDATEADD) |
List of comma separated column names. E.g.,: Name,Department |
The values in the columns to be matched will be used for comparision to check whether data row(s) being imported matches with an existing row(s) in the table. The existing rows in the table that match will be updated with values from data imported. The remaining rows are appended to the table as new rows. |
ZOHO_SKIPTOP (optional) |
<number> |
Number of rows that are to be skipped from the top in the CSV file being imported. |
ZOHO_THOUSAND_SEPARATOR (optional) |
0 / 1 / 2 / 3 | Default is 0. This parameter controls the action to be taken in case there is a thousand separator in the data. 0 - COMMA 1 - DOT 2 - SPACE 3 - SINGLE QUOTE |
ZOHO_DECIMAL_SEPARATOR (optional) |
0 / 1 | Default is 0. This parameter controls the action to be taken in case there is a decimal separator in the data. 0 - DOT 1 - COMMA |
ZOHO_DATE_FORMAT (optional) |
Format of the date. E.g. dd-MMM-YYYY |
The format of date value. Specify this incase any date field is being imported and its format cannot be auto recognized by Analytics Plus. |
ZOHO_IMPORT_JSON_RETCOLNAMES (optional) |
true/false. | Default value is false. This parameter is applicable only for importing JSON files. This defines how the columns names are to be constructed from the JSON file. eg. , employee.Name, employee.Department |
CSV Format Details
These parameters need to be specified if the ZOHO_AUTO_IDENTIFY is set to false.
Parameter | Possible Values | Description |
---|---|---|
ZOHO_COMMENTCHAR | <character> |
Comment Character. If the character mentioned is found at the beginning of the row, the csv row will be skipped. |
ZOHO_DELIMITER | 0 / 1 / 2 / 3 | Delimiter which separates the values in the file. 0 - if the delimiter is COMMA 1 - if the delimiter is TAB 2 - if the delimiter is SEMICOLON 3 - if the delimiter is SPACE |
ZOHO_QUOTED | 0 / 1 / 2 | The Text Qualifier. 0 - None 1 - SINGLE QUOTE 2 - DOUBLE QUOTE |
Export Data
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public object export(IReportClient RepClient)
{
string tableURI = RepClient.GetURI(EMAIL, DBNAME, TBNAME);
Dictionary<string, object> resObj = RepClient.ExportDataAsDictionary(tableURI,
"\"Region\"='West'", null);
Object[] columns = (Object[])resObj["column_order"];
Object[] rows = (Object[])resObj["rows"];
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.export(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func exportdata() {
url := reportclient.GetUri(email, dbname, tbname)
outputformat := "pdf"
filename := "sample"
params := map[string]string{}
err := reportclient.ExportData(url, filename, outputformat, params)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
exportdata()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
File csvFile = new File("samples/StoreSales.csv");
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<web client port>/iam");
rc.setReportServerURL("https://<hostname>:<webclient port>");
public void exportdata() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
rc.exportData(uri,"CSV",csvFile,null,null);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.exportdata();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$output_format = "CSV";
$criteria = "Salary = 5000";
$report_client_response = $report_client_request->exportData($uri, $output_format);
$file = "dummy/".$TABLE_NAME.".".$output_format;
file_put_contents($file, $report_client_response, FILE_APPEND);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def exportdata(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
fileobj = open("/home/sample.csv","rw+")
rc.exportData(uri,"CSV",fileobj)
fileobj.close()
obj = Sample()
obj.exportdata(obj.rc)
curl -d "ZOHO_ACTION=EXPORT&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46be276cd4cfaq2a592f40101"
https://<hostname>:<webclient port>/api/abc@zylker.com/EmployeeDB/EmployeeDetails
Sample Response JSON Format:
{
"response":
{
"uri": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "EXPORT",
"result":
{
"column_order":["Name","Department","Date Of Birth"],
"rows":
[
["John","Finance","12 May 1972"],
["Joan","Admin","15 June 1975"]
]
}
}
}
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/EmployeeDB/EmployeeDetails" action="EXPORT">
<result>
<rows>
<row>
<column name="Name">Gary</column>
<column name="Date Of Birth">12-Jun-1980</column>
<column name="Basic">10000</column>
<column name="Country">USA</column>
</row>
<row>
<column name="Name">John</column>
<column name="Date Of Birth">12-Jun-1981</column>
<column name="Basic">10000</column>
<column name="Country">Canada</column>
</row>
<row>
<column name="Name">Joan</column>
<column name="Date Of Birth">12-Jun-1982</column>
<column name="Basic">10000</column>
<column name="Country">Mexico</column>
</row>
</rows>
</result>
</response>
Using this API users can export/pull data from tables or reports (pivots, charts etc.,) in different formats.
Request URI
https://<hostname>:<webclient port>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Common Parameters
Parameter | Possible Values | Description |
---|---|---|
ZOHO_ACTION | EXPORT | This parameter specifies the action to be performed by the API request.Note: Value of ZOHO_ACTION parameter should be in the same case(UPPER CASE) as given in this document. |
ZOHO_OUTPUT_FORMAT | XML/JSON/CSV/PDF/HTML/IMAGE | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter | Possible Values | Description |
---|---|---|
ZOHO_CRITERIA (optional) |
Criteria | If that parameter is not sent, then all the rows are exported. If criteria is sent the rows matching the criteria alone are exported.For more details about the format for the criteria refer this link. |
(optional) |
SQL Query | Literal SQL Query can be used as criteria. Export using joining tables and specific columns can be done using ZOHO_SQLQUERY. Note :Shared users are not allowed to use this parameter. |
GENERATETOC (optional - only for dashboards) |
true / false | true - To generate Table Of Contents.By default it will be false. |
ZOHO_DASHBOARD_LAYOUT (optional - only for dashboards) |
0 or 1 | 0 - For Each Report in New Page 1 - For Layout as in Dashboard |
Additional optional parameters.
All the parameters that all defined below are optional one.
CSV Format
Parameter 1 | Possible Values | Description |
---|---|---|
ZOHO_DELIMITER | Value between 0 - 3 0 - COMMA 1 - TAB 2 - SEMICOLON 3 - SPACE |
The delimiter character used for separating the fields in a row in the CSV. |
ZOHO_RECORD_DELIMITER | Value between 0 - 2 0 - DOS 1 - UNIX 2 - MAC |
The record delimiter (newline character) to use. |
ZOHO_QUOTED | Value between 0 - 1 0 - SINGLE 1 - DOUBLE |
The quote character to use for quoting the values. |
ZOHO_INCLUDE_HEADER | true / false | true - To include the column names in the first row of the CSV exported. false - To not include the column names in the CSV exported. |
ZOHO_SHOW_HIDDENCOLS | true / false | Controls where the columns that have been hidden in the table/report have to be exported. true - To include the hidden columns of the table/report in the data exported false - To not include the hidden columns of the table/report in the data exported. |
XML Format
Parameter | Possible Values | Description |
---|---|---|
ZOHO_SHOW_HIDDENCOLS | true / false | Controls where the columns that have been hidden in the table/report have to be exported. true - To include the hidden columns of the table/report in the data exported false - To not include the hidden columns of the table/report in the data exported. |
HTML Format
Parameter | Possible Values | Description |
---|---|---|
ZOHO_SHOW_HIDDENCOLS | true / false | Controls where the columns that have been hidden in the table/report have to be exported. true - To include the hidden columns of the table/report in the data exported false - To not include the hidden columns of the table/report in the data exported. |
PDF Format
Parameter | Possible Values | Description |
---|---|---|
ZOHO_PAPERSIZE | Value between 0 - 5 0 - LETTER 1 - LEGAL 2 - TABLOID 3 - A3 4 - A4 5 - AUTO |
The size of the paper. |
ZOHO_SHOW_TITLE | Value between 0 - 2 0 - AT TOP 1 - AT BOTTOM 2 - NONE |
Controls the title positioning. |
ZOHO_SHOW_DESC | Value between 0 - 2 0 - AT TOP 1 - AT BOTTOM 2 - NONE |
Controls the description positioning. |
ZOHO_PAPERSTYLE | Portrait / Landscape | |
ZOHO_SHOW_HIDDENCOLS | true / false | Controls where the columns that have been hidden in the table/report have to be exported.true - To include the hidden columns of the table/report in the data exportedfalse - To not include the hidden columns of the table/report in the data exported. |
ZOHO_SELECTED_COLUMNS | List of comma separated column names | Controls the column names that need to be exported. If it is not given then all the columns, in the table/report, are exported. |
Margin Settings: | ||
ZOHO_TOPMARGIN ZOHO_BOTTOMMARGIN ZOHO_LEFTMARGIN ZOHO_RIGHTMARGIN |
Decimal values between 0 to 1 | The margin in inches for that edge. Can be decimal between 0 to 1 (like 0.5). |
Header/Footer Settings: | ||
ZOHO_HEAD_LEFT ZOHO_HEAD_RIGHT ZOHO_HEAD_CENTER ZOHO_FOOT_LEFT ZOHO_FOOT_RIGHT ZOHO_FOOT_CENTER |
Value between 0 - 5 0 - Leave it blank 1 - Include Title 2 - Current Date/Time 3 - Include Page number in the format "Page #" 4 - Include page number in the format "Page # Of #" 5 - CUSTOM - Include custom text in footer |
The header or footer value that needs to be generated for each page at that particular position. |
Custom Header/Footer value | ||
ZOHO_HEAD_LEFT_TEXT ZOHO_HEAD_RIGHT_TEXT ZOHO_HEAD_CENTER_TEXT ZOHO_FOOT_LEFT_TEXT ZOHO_FOOT_RIGHT_TEXT ZOHO_FOOT_CENTER_TEXT |
Custom text. | If any of the header/footer setting is 5 (.ie, CUSTOM) then the corresponding custom value/text should be passed. |
IMAGE Format
Parameter | Possible Values | Description |
---|---|---|
ZOHO_WIDTH | <number> |
The width of the image. |
ZOHO_HEIGHT | <number> |
The height of the image |
ZOHO_TITLE | true / false | Controls whether the title of the report is to be added to the image. true - Include the title. false - Do not include title. |
ZOHO_DESCRIPTION | true/false | Controls whether the description of the report is to be added to the image. true - Include the description. false - Do not include description. |
ZOHO_SHOWLEGEND | true / false | Controls whether the legend is to be included in the image generated. true - Include the legend in the image. false - Do not include the legend in the image. |
ZOHO_IMAGE_FORMAT | png / jpg | The format of the exported image. It could be either in PNG or JPG formats. |
JSON Format
Parameter | Possible Values | Description |
---|---|---|
ZOHO_SHOW_HIDDENCOLS | true / false | Controls where the columns that have been hidden in the table/report have to be exported. true - To include the hidden columns of the table/report in the data exported false - To not include the hidden columns of the table/report in the data exported. |
ZOHO_CALLBACK_FUNCTION | Name of the json callback function | Processes JSON response elsewhere in the JavaScript code on the page |
Example: JSON callback. 1. Define the callback function.
<script>
function sampleFunction(resp)
{
var response = resp.response;
var result = response.result;
var rows = result.rows;
for(i=0;i<rows.length;i++)
{
var row = rows[i];
console.log(row);
...
}
...
}
</script>
2.Invoke the api request with output format as JSON and ZOHO_CALLBACK_FUNCTION=sampleFunction.
<script src="
https://<hostname>:<webclient port>/api/<loginemailaddress>/<DB>/<Table>
?ZOHO_ACTION=EXPORT&ZOHO_OUTPUT_FORMAT=JSON&ZOHO_ERROR_FORMAT=XML&authtoken=<your auth token>&
ZOHO_API_VERSION=1.0&ZOHO_CALLBACK_FUNCTION=sampleFunction">
</script>
When the page is loaded, the response will be returned as,
sampleFunction
({
"response":
{
"uri": "/api/abc@zylker.com/EmployeeDB/EmployeeDetails",
"action": "EXPORT",
"result":
{
column_order:["Name","Department","Date Of Birth"],
rows:[
["John","Finance","12 May 1972"],
["Joan","Admin","15 June 1975"]
]
}
}
});
JSON Callbacks - JSONP:
Analytics Plus API supports Callback function for handling API responses asynchronously. This is supported in Export API calls, when the output format is chosen as JSON.
The Export API method call, with JSON output format, supports an additional parameter called ZOHO_CALLBACK_FUNCTION to enable callback. Using the Callback function, developers can invoke the Export API request inside the <script>
tag and process the JSON response using the CALLBACK function elsewhere in the JavaScript code on the page.
Applying Filter Criteria
Example
(("Department"='Finance' and "Salary" < 9000) or ("Department"='Admin' and "Salary" < 8000))
Sample
A sample delete request that deletes all the rows that match
the criteria "Department"= 'Finance'
is given below.
URL:
https://<hostname>:<webclient port>/api/abc@zylker.com/EmployeeDB/EmployeeDetails?ZOHO_ACTION=DELETE
&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&authtoken=g38sl4j4856guvncrywox8251sssds&ZOHO_API_VERSION=1.0
Data Sent as POST parameters.
ZOHO_CRITERIA=("Department"='Finance')
ZOHO_CRITERIA is encoded for the url format. Unencoded value is provided below.
ZOHO_CRITERIA=("Department" = 'Finance')
Analytics Plus API allows you to apply filter criteria while you execute the various actions. When you apply a criteria, the action will be performed only on the data that matches the filter criteria given.
You can apply criteria as part of the following API actions:
Update
Delete
Export
The filter criteria has to be passed as a parameter, named ZOHO_CRITERIA, to the action request. This should be part of the body of the POST request.
Format
The filter criteria that is passed as part of the request, should follow the same format as that of the SQL SELECT WHERE clause. The generalized format of a simple criteria is given below:
(<column name/SQL expression/SQL function calls> <relational operator> <value/column name/SQL expression/SQL function calls>)
Description
The criteria follows the SQL SELECT WHERE condition like format. You could also use SQL in-built functions as part of the criteria. These built-in functions should be the functions supported by any of Oracle, MS SQL Server, MySQL, DB2, Sybase, ANSI SQL, Informix and PostgreSQL workspace.
Name | Description |
---|---|
column name | Refers to the name of the column in table or query table on which you are applying a criteria |
SQL Expression | You could provide any valid SQL Expression. The above expression subracts the value in the "Cost" column from value in the "Sales" column. You could use any of the Arithmetic operator supported in an SQL SELECT WHERE clause.Supported Arithmetic Operators: +, -, *, / |
SQL Function call | Oracle, MS SQL Server, MySQL, DB2, Sybase, ANSI SQL, Informix and PostgreSQL workspace Eg.: year(date_column) = 2008. Note: All supported in-built function from different workspace will be documented soon. |
relational operator | This could be any of the relational operators supported in an SQL SELECT WHERE clause. Supported Relational Operators: |
value | Refers to the exact value to match. Eg.: "Department" = 'Finance" here 'Finance' is a literal value to match. |
NOTES FOR CRITERIA FORMATION:
- You can combine any number of criteria that is defined in the above specified format using logical operators like AND and OR to form complex criteria, the same way as in SQL SELECT WHERE clause. Also use Braces '()' to group the criteria for ordering.
- Enclose string literals (ie values) in single quotes.
Enclose column names in double quotes.
Eg.: ("Date Of Birth" = '2007-01-31 00:00:00')
Currency symbols (or) percent symbol can't be used in criteria
Eg.: currency_column = 75.66 is valid
Eg.: percent_column = 100 is valid
currency_column = 75.66$ (or) percent_column = 100% is not valid
Refer to the SQL SELECT WHERE clause documentation of any workspace that we support, to know more on how to construct the filter criteria.
Modeling API
This section lists all the modeling APIs. Modeling APIs can be used to add, delete & rename columns in a Analytics Plus table. It also offers APIs to copy objects (workspaces, reports and formulas) from one workspace to another present in the same account or across different accounts.
Create Workspace
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=CREATEBLANKDB&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&ZOHO_DATABASE_NAME=Workspace_Name
&ZOHO_DATABASE_DESC=Workspace_Description&authtoken=************"
https://<hostname>:<webclientport>/api/abc@zylker.com
Sample Response XML Format:
<response uri="/api/abc@zylker.com/Employee" action="CREATEBLANKDB">
<result>
<message>
Successfully Workspace 'Sample' Created
</message>
<dbid>
10802
</dbid>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri": "\/api\/abc@zylker.com/Employee",
"action": "CREATEBLANKDB",
"result":
{
"message": "Successfully Workspace 'Sample1' Created",
"dbid": "10803"
}
}
}
Create Workspace API allows the user to create a blank workspace on the Analytics Plus account.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | CREATEBLANKDB | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
ACTION SPECIFIC PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_DATABASE_NAME (mandatory) |
<workspace_name> |
The Name of the Analytics Plus Online Reporting workspace which can be taken from workspace URL. |
ZOHO_DATABASE_DESC (optional) |
<workspace_description> |
The Description of the workspace(can be null). |
Possible Error Codes In Create Workspace
Copy Workspace
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void copyDatabase(IReportClient RepClient)
{
string dbURI = RepClient.GetURI(EMAIL, DBNAME);
string newDBName = "newdbname";
string newDBDesc = "dbdesc";
bool withData = true;
string copyDBKey = "asd8272e9sadaczx0cqqd321as"
long dbid = RepClient.CopyDatabase(dbURI, newDBName, newDBDesc,
withData, copyDBKey, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.copyDatabase(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
authtoken = "************"
dbkey = "d6e443b4dc3cas421fcc54ff81cd3ad3"
)
func copydatabase() {
url := reportclient.GetDbUri(email, dbname)
newdbname := "Sample"
params := map[string]string{}
newid , err := reportclient.CopyDatabase(url, newdbname, dbkey, params)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(newid)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
copydatabase()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void copydatabase() throws Exception
{
String uri = rc.getURI(email,dbname);
config.put("ZOHO_DATABASE_NAME", "workspace");
config.put("ZOHO_COPY_DB_KEY", "d6e443b4dc3c85d51fcc54ff81cd3ad3");
long result = rc.copyDatabase(uri,config);
System.out.println(result);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.copydatabase();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getDbURI($EMAIL_ID, $DB_NAME);
$db_key = "d6e443b4dc3c85d5q34casdff81cd3ad3 ";
$db_name = "EmployeeDB";
$new_database_id = $report_client_request->copyDatabase($uri, $db_key, $db_name);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def CopyDatabase(self,rc):
uri = rc.getDBURI(self.LOGINEMAILID,self.DATABASENAME)
config = {"ZOHO_DATABASE_NAME":"new sales",
"ZOHO_COPY_DB_KEY":"d6e443b4dc3c85d51f5d3d3f81cd3ad3"}
result = rc.copyDatabase(self,uri,config)
obj = Sample()
obj.CopyDatabase(obj.rc)
curl -d "ZOHO_ACTION=COPYDATABASE&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46be2ewcd4cfa32a592f40101
&ZOHO_DATABASE_NAME=New database&ZOHO_COPY_DB_KEY=d6e443b4dc3c85d51fefrd3f81cd3ad3"
https://<hostname>:<webclientport>/api/abc@zylker.com/Employee
Sample Response XML Format:
<response uri="/api/abc@zylker.com/Employee" action="COPYDATABASE">
<result>
<message>
Successfully Workspace Copied
</message>
<dbid>
100000000000889
</dbid>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri": "\/api\/abc@zylker.com/Employee",
"action": "COPYDATABASE",
"result":
{
"message": "Successfully Workspace Copied",
"dbid": "10000000000889"
}
}
}
The Copy Workspace API is used to copy the workspace from one Analytics Plus Account to another Analytics Plus Account.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | COPYDATABASE | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_DATABASE_NAME (mandatory) |
<workspacename> |
This parameter holds the name of the destination workspace |
ZOHO_DATABASE_DESC (optional) |
<workspace description> |
This parameter holds the description of the description workspace |
ZOHO_COPY_WITHDATA (optional) |
true/false | true - The data present in all tables of source workspace will be copied into destination workspace.false - The data present in all tables of source workspace will not be copied into destination workspace |
COPY_WITH_IMPORT_SOURCE (optional) |
true/false | By default it will be false.true - Import sources present in the source workspace will be copied into destination workspace.false - Import sources present in the source workspace will not be copied into destination workspace |
ZOHO_COPY_DB_KEY (mandatory) |
<workspacekey> |
The secret key used for allowing the user to copy the workspace / reports. The source workspace owner has to invoke the below URL to get the Copy Workspace Secret Key. https://<hostname>:<webclientport>/api/abcd@zylker.com/SourceEmployeeDB?ZOHO_ACTION=GETCOPYDBKEY&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&authtoken=<source_db_owner_authtoken>&ZOHO_API_VERSION=1.0 .Note: You need to provide the appropriate values in the above URL to generate the corresponding Copy Workspace Key for your setup. |
POSSIBLE ERROR CODES IN COPY WORKSPACE
7101, 7103, 7138, 8024, 8506, 8516, 8533, 15007
Delete Workspace
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void deleteDatabase(IReportClient RepClient)
{
string userURI = RepClient.GetURI(EMAIL);
string databaseName = "workspaceName";
RepClient.DeleteDatabase(userURI, databaseName, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.deleteDatabase(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
authtoken = "************"
)
func deletedatabase() {
url := reportclient.GetUserUri(email)
dbname := "sample"
err := reportclient.DeleteDatabase(url, dbname)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
deletedatabase()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void deletedatabase() throws Exception
{
String uri = rc.getURI(email);
rc.deleteDatabase(uri,"workspace",config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.deletedatabase();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getUserURI($EMAIL_ID);
$db_name = "EmployeeDB";
$report_client_request->deleteDatabase($uri, $db_name);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def DeleteDatabase(self,rc):
uri = rc.getUserURI(self.LOGINEMAILID)
databaseName = "workspaceName"
rc.deleteDatabase(self,uri,databaseName)
obj = Sample()
obj.DeleteDatabase(obj.rc)
curl -d "ZOHO_ACTION=DELETEDATABASE&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46be276cd4cfaswa592f40101
&ZOHO_DATABASE_NAME=NEW"
https://<hostname>:<webclientport>/api/abc@zylker.com
Sample Response XML Format:
<response uri="/api/abc@zylker.com" action="DELETEDATABASE">
<result>
<message>
Workspace deleted successfully
</message>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri": "\/api\/abc@zylker.com",
"action": "DELETEDATABASE",
"result":
{
"message": "Workspace deleted successfully"
}
}
}
The Delete Workspace API is used to delete the workspace from your Analytics Plus Account. This API will delete the workspace present in the user account who is invoking this API, and not the workspace from other accounts. Please note that if a workspace is deleted using this API, the same workspace cannot be restored back.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | DELETEDATABASE | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_DATABASE_NAME (mandatory) |
Workspace name | This parameter holds the name of the workspace to be deleted |
POSSIBLE ERROR CODES IN DELETE WORKSPACE
7103, 7138, 7165, 8504, 8506, 8516, 8533
Create Table
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void createtable(IReportClient rc)
{
string uri = rc.GetURI(EMAIL, DBNAME);
string tabledesign = "{\"TABLENAME\":\"SysteTable\",\"TABLEDESCRIPTION\":\
"Testing Purpose\",\"SYSTEMTABLE\": true,\"FOLDERNAME\": \"NewFolder\",\
"COLUMNS\":[{\"COLUMNNAME\":\"SrNo\",\"DATATYPE\": \"NUMBER\",\"DEFAULT\":\
"null\",\"MANDATORY\" : \"Yes\",\"DESCRIPTION\" : \"Testing\"}]}";
rc.CreateTable(uri, tabledesign, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.createtable(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
authtoken = "************"
)
func createtable() {
url := reportclient.GetDbUri(email, dbname)
tableconfig := "{\"TABLENAME\": \"SystemTable\",\"TABLEDESCRIPTION\": \"Testing Purpose\",
\"SYSTEMTABLE\": true,\"FOLDERNAME\": \"NewFolder\",\"COLUMNS\":
[{\"COLUMNNAME\": \"Product Category\",\"DATATYPE\": \"PLAIN\",
\"DEFAULT\": \"Test\",\"MANDATORY\" : \"Yes\",\"DESCRIPTION\" :
\"Testing2\"}]}"
err := reportclient.CreateTable(url, tableconfig)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
createtable()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void createtable() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
String tableDesign = "{\"TABLENAME\":\"SysteTable\",\"TABLEDESCRIPTION\"
:\"Testing Purpose\",\"SYSTEMTABLE\": true,\"FOLDERNAME\": \"NewFolder\",
\"COLUMNS\":[{\"COLUMNNAME\":\"SrNo\",\"DATATYPE\": \"NUMBER\",\"DEFAULT\":
\"null\",\"MANDATORY\" : \"Yes\",\"DESCRIPTION\" : \"Testing\"}]}"
rc.createTable(uri,tableDesign,config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.createtable();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getDbURI($EMAIL_ID, $DB_NAME);
$table_design = '{
"TABLENAME": "SystemTable",
"TABLEDESCRIPTION": "Testing Purpose",
"SYSTEMTABLE": true,
"FOLDERNAME": "NewFolder",
"COLUMNS":
[
{
"COLUMNNAME": "SrNo",
"DATATYPE": "NUMBER",
"DEFAULT": "null",
"MANDATORY" : "Yes",
"DESCRIPTION" : "Testing"
},
{
"COLUMNNAME": "Product",
"DATATYPE": "null",
"DEFAULT": "null",
"MANDATORY" : "Yes",
"DESCRIPTION" : "Testing2"
},
{
"COLUMNNAME": "Product Category",
"DATATYPE": "PLAIN",
"DEFAULT": "Test",
"MANDATORY" : "Yes",
"DESCRIPTION" : "Testing2"
}
]
}';
$report_client_request->createTable($uri, $table_design);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def createtable(self,rc):
uri = rc.getDBURI(Config.LOGINEMAILID,Config.DATABASENAME)
tableDesign ='{\"TABLENAME\":\"SysteTable\",\"TABLEDESCRIPTION\"
:\"Testing Purpose\",\"SYSTEMTABLE\": true,\"FOLDERNAME\": \"NewFolder\",
\"COLUMNS\":[{\"COLUMNNAME\":\"SrNo\",\"DATATYPE\": \"NUMBER\",\"DEFAULT\":
\"null\",\"MANDATORY\" : \"Yes\",\"DESCRIPTION\" : \"Testing\"}]}'
rc.createTable(uri,tableDesign)
obj = Sample()
obj.createtable(obj.rc)
curl -d "ZOHO_ACTION=CREATETABLE&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&
ZOHO_API_VERSION=1.0&authtoken=************&
ZOHO_TABLE_DESIGN="table design in JSON""
https://<hostname>:<webclientport>/api/abc@zylker.com/Employee
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/Employee" action="CREATETABLE">
<result>
<message>Table created successfully!</message>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/abc@zylker.com\/Employee",
"action":"CREATETABLE",
"result":
{
"message":"Table created successfully!"
}
}
}
The Create table API is used to create a table in the specified workspace.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>
TABLE DESIGN
{
"TABLENAME": "Table Name",
"TABLEDESCRIPTION":"Table Description",
"FOLDERNAME": "Target Folder",
"COLUMNS":
[
{
"COLUMNNAME":"Column Name 1",
"DATATYPE": "Column DataType",
"DEFAULT":"Default Value",
"MANDATORY" : "Yes/No",
"DESCRIPTION" : "Column Description"
},
{
"COLUMNNAME":"Column Name 2",
"DATATYPE": "Column DataType",
"DEFAULT":"null",
"MANDATORY" : "Yes/No",
"DESCRIPTION" : "Column Description"
}
]
}
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | CREATETABLE | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_TABLE_DESIGN (mandatory) |
Design content in JSON format | Table structure in JSON format (includes table name, description, folder name, column and lookup details). |
POSSIBLE ERROR CODES IN CREATE TABLE
7103, 7111, 8504, 8506, 8516, 8533, 8534
Add Column
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void addColumn(IReportClient RepClient)
{
string tableURI = RepClient.GetURI(EMAIL, DBNAME, TBNAME);
string ColumnName = "columnname";
string DataType = "PLAIN";
bool HideColumn = false;
bool SkipSystemTableCheck = true;
RepClient.AddColumn(tableURI, ColumnName, DataType, HideColumn,
SkipSystemTableCheck, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.addColumn(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func addcolumn() {
url := reportclient.GetUri(email, dbname, tbname)
columnname := "Address"
datatype := "PLAIN"
err := reportclient.AddColumn(url, columnname, datatype)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
addcolumn()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void addcolumn() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
rc.addColumn(uri,"DOB","PLAIN",config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.addcolumn();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$column_name = "Employee Name";
$data_type = "PLAIN";
$report_client_request->addColumn($uri, $column_name, $data_type);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def AddColumn(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
columnName = "columnName"
dataType = "PLAIN"
rc.addColumn(self,uri,columnName,dataType)
obj = Sample()
obj.AddColumn(obj.rc)
curl -d "ZOHO_ACTION=ADDCOLUMN&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46be276cd4cfa32a5dws40101
&ZOHO_COLUMNNAME=Region&ZOHO_DATATYPE=PLAIN"
https://<hostname>:<webclientport>/api/abc@zylker.com/SalesDB/Sales
Sample Response XML Format:
<response uri="/api/abc@zylker.com/SalesDB/Sales" action="ADDCOLUMN">
<result>
Column created successfully
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/abc@zylker.com\/SalesDB\/Sales",
"action":"ADDCOLUMN",
"result": {"message":"Column created successfully"}
}
}
The Add Column API is used to add a column into Analytics Plus Table. The Server Administrator and the Workspace Owner alone can use this API to add a column in the Analytics Plus table.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Note:
In case of workspace owner adding a column, they need to specify the login E-mail ID of the Server Administrator only.
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | ADDCOLUMN | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_COLUMNNAME (mandatory) |
<columnname> |
The name of the column to be added into Analytics Plus Table. Example: ZOHO_COLUMNNAME=Region. Note: The column name should be url encoded if the column name contain space or any special characters. |
ZOHO_DATATYPE (mandatory) |
Supported data types are: |
The datatype of the column to be added into Analytics Plus Table. |
POSSIBLE ERROR CODES IN ADD VIEW
7103, 7128, 7138, 7161, 8504, 8506, 8516, 8533
Delete Column
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void deleteColumn(IReportClient RepClient)
{
string tableURI = RepClient.GetURI(EMAIL, DBNAME, TBNAME);
string ColumnName = "columnname";
bool DeleteDependentView = false;
bool SkipSystemTableCheck = true;
RepClient.DeleteColumn(tableURI, ColumnName, DeleteDependentView,
SkipSystemTableCheck, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.deleteColumn(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func deletecolumn() {
url := reportclient.GetUri(email, dbname, tbname)
columnname := "Address"
err := reportclient.DeleteColumn(url, columnname)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
deletecolumn()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void deletecolumn() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
rc.deleteColumn(uri,"vin",config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.deletecolumn();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$column_name = "Employee Name";
$report_client_request->deleteColumn($uri, $column_name);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def DeleteColumn(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
columnName = "columnName"
rc.deleteColumn(self,uri,columnName)
obj = Sample()
obj.DeleteColumn(obj.rc)
curl -d "ZOHO_ACTION=DELETECOLUMN&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46be276aswcfa32a592f40101
&ZOHO_COLUMNNAME=Experiance"
https://<hostname>:<webclientport>/api/abc@zylker.com/SalesDB/Sales
Sample Response XML Format:
<response uri="/api/abc@zylker.com/SalesDB/Sales" action="DELETECOLUMN">
<result>
Column deleted successfully
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/abc@zylker.com\/SalesDB\/Sales",
"action":"DELETECOLUMN",
"result": {"message":"Column deleted successfully"}
}
}
The Delete Column API is used to delete a column in Analytics Plus Table. The Server Administrator and the Workspace Owner alone can use this API to delete a column in a Analytics Plus table.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Note:
In case of workspace owner deleting a column, they need to specify the login E-mail ID of the Server Administrator only.
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | DELETECOLUMN | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_COLUMNNAME (mandatory) |
<columnname> |
The name of the column to be deleted in Analytics Plus Table. Example: ZOHO_COLUMNNAME=Region |
POSSIBLE ERROR CODES IN DELETE COLUMN
7103, 7107, 7138, 7159, 8504, 8506, 8516, 8533
Rename Column
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void renameColumn(IReportClient RepClient)
{
string tableURI = RepClient.GetURI(EMAIL, DBNAME, TBNAME);
string OldColumnName = "oldcolumn";
string NewColumnName = "newcolumn";
bool SkipSystemTableCheck = true;
RepClient.RenameColumn(tableURI, OldColumnName, NewColumnName,
SkipSystemTableCheck, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.renameColumn(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func renamecolumn() {
url := reportclient.GetUri(email, dbname, tbname)
oldcolumnname := "Id"
newcolumnname := "EmpId"
err := reportclient.RenameColumn(url, oldcolumnname, newcolumnname)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
renamecolumn()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void renamecolumn() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
rc.renameColumn(uri,"old","new",config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.renamecolumn();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$old_column_name = "Employee ID";
$new_column_name = "Emp ID";
$report_client_request->renameColumn($uri, $old_column_name, $new_column_name);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def RenameColumn(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
oldColumnName = "oldname"
newColumnName = "newname"
rc.renameColumn(self,uri,oldColumnName,newColumnName)
obj = Sample()
obj.RenameColumn(obj.rc)
curl -d "ZOHO_ACTION=RENAMECOLUMN&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=************
&OLDCOLUMNNAME=Region&NEWCOLUMNNAME=NewRegion"
https://<hostname>:<webclientport>/api/abc@zylker.com/SalesDB/Sales
Sample Response XML Format:
<response uri="/api/abc@zylker.com/SalesDB/Sales" action="RENAMECOLUMN">
<result>
Column renamed successfully
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/abc@zylker.com\/SalesDB\/Sales",
"action":"RENAMECOLUMN",
"result":
{
"message":"Column renamed successfully"
}
}
}
The Rename Column API is used to rename the column in Analytics Plus Table. The Server Administrator and the Workspace Owner alone can use this API to rename a column in the Analytics Plus table.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Note:
In case of workspace owner renaming a column, they need to specify the login E-mail ID of the Server Administrator only.
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | RENAMECOLUMN | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
OLDCOLUMNNAME (mandatory) |
<oldcolumnname> |
The name of the column to be renamed in Analytics Plus Table. Example: OLDCOLUMNNAME=Region |
NEWCOLUMNNAME (mandatory) |
<newcolumnname> |
The new name you wanted to give for the column.Example: NEWCOLUMNNAME=SalesRegion |
POSSIBLE ERROR CODES IN RENAME COLUMN
7103, 7107, 7138, 7128, 8504, 8506, 8516, 8533
Hide Column
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void hidecolumn(IReportClient rc)
{
try
{
string uri = rc.GetURI(EMAIL, DBNAME, TBNAME);
string[] columnNames = new string[3];
columnNames[0] = "cost";
columnNames[1] = "sales";
columnNames[2] = "cost1";
var result = rc.HideColumn(uri,columnNames,null);
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.hidecolumn(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func hidecolumn(){
url := reportclient.GetUri(email, dbname, tbname)
columnnames := []string{"Cost" , "Cost1" , "Sales"}
params := map[string]string{}
result , err := reportclient.HideColumn(url, columnnames, params)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(result)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
hidecolumn()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void hidecolumn() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
List columnNames = new ArrayList();
columnNames.add("Cost");
columnNames.add("Cost1");
Map result = rc.hideColumn(uri, columnNames, null);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.hidecolumn();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$columnNames = array("Cost","Cost1");
$response = $request->hideColumn($uri ,$columnNames);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def hidecolumn(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
params = []
params.append("Cost")
params.append("Cost1")
params.append("Sales")
result = rc.hideColumn(uri,params)
print result
obj = Sample()
obj.hidecolumn(obj.rc)
curl -d "ZOHO_ACTION=HIDECOLUMN&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=************
&ZOHO_COLUMNNAME=Region
https://<hostname>:<webclientport>/api/abc@zylker.com/SalesDB/Sales
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/user@zylker.com/Auto-Copy/Auto" action="HIDECOLUMN">
<result>
<column columnName="cost" status="Success" message="column hidden successfully"> </column>
</result>
</response>
Sample Response JSON Format:
{
"response": {
"uri": "/api/user@zylker.com/Auto-Copy/Auto",
"action": "HIDECOLUMN",
"result": [
{
"columnName": "cost",
"status": "Success",
"message": "column hidden successfully"
}
]
}
}
The Hide Column API is used to hide the column in Analytics Plus Table. The Server Administrator and the Workspace Owner alone can use this API to hide a column in the Analytics Plus table.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Note:
In case of workspace owner hiding a column, they need to specify the login E-mail ID of the Server Administrator only.
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | HIDECOLUMN | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_COLUMNNAME (mandatory) |
<columnname> |
The name of the column to be hidden in Analytics Plus Table. Example: ZOHO_COLUMNNAME=Region. Note:More than one param is allowed. |
POSSIBLE ERROR CODES IN HIDE COLUMN
7103, 7107, 7138, 8504, 8506, 8516, 8533
Show Column
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void showcolumn(IReportClient rc)
{
try
{
string uri = rc.GetURI(EMAIL, DBNAME, TBNAME);
string[] columnNames = new string[3];
columnNames[0] = "cost";
columnNames[1] = "sales";
columnNames[2] = "cost1";
var result = rc.ShowColumn(uri,columnNames,null);
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.showcolumn(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func showcolumn(){
url := reportclient.GetUri(email, dbname, tbname)
columnnames := []string{"Cost" , "Cost1" , "Sales"}
params := map[string]string{}
result , err := reportclient.ShowColumn(url, columnnames, params)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(result)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
showcolumn()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void showcolumn() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
List columnNames = new ArrayList();
columnNames.add("Cost");
columnNames.add("Cost1");
Map result = rc.showColumn(uri, columnNames, null);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.showcolumn();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$columnNames = array("Cost","Cost1");
$response = $request->showColumn($uri ,$columnNames);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def showcolumn(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
params = []
params.append("Cost")
params.append("Cost1")
params.append("Sales")
result = rc.showColumn(uri,params)
print result
obj = Sample()
obj.showcolumn(obj.rc)
curl -d "ZOHO_ACTION=SHOWCOLUMN&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=************
&ZOHO_COLUMNNAME=Region
https://<hostname>:<webclientport>/api/abc@zylker.com/SalesDB/Sales
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/user@zylker.com/Auto-Copy/Auto" action="SHOWCOLUMN">
<result>
<column columnName="cost" status="Success" message="column shown successfully"> </column>
</result>
</response>
Sample Response JSON Format:
{
"response": {
"uri": "/api/user@zylker.com/Auto-Copy/Auto",
"action": "SHOWCOLUMN",
"result": [
{
"columnName": "cost",
"status": "Success",
"message": "column shown successfully"
}
]
}
}
The Show Column API is used to show the column in Analytics Plus Table. The Server Administrator and the Workspace Owner alone can use this API to show the column in the Analytics Plus table.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Note:
In case of workspace owner showing a column, they need to specify the login E-mail ID of the Server Administrator only.
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | SHOWCOLUMN | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_COLUMNNAME (mandatory) |
<columnname> |
The name of the column to be shown in Analytics Plus Table. Example: ZOHO_COLUMNNAME=Region. Note:More than one param is allowed. |
POSSIBLE ERROR CODES IN SHOW COLUMN
7103, 7107, 7138, 8504, 8506, 8516, 8533
Autogenerate reports
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void autogenreports(IReportClient rc)
{
try
{
string uri = rc.GetURI(EMAIL,DBNAME,TBNAME);
Dictionary<string,string> param = new Dictionary<string,string>();
param.Add("ZOHO_CREATEAGAIN", "true");
string source = "TABLE";
var result = rc.AutoGenReports(uri, source, param);
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.autogenreports(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func autogenreports(){
url := reportclient.GetUri(email, dbname, tbname)
source := "TABLE"
params := map[string]string{}
params["ZOHO_COLUMN_NAME"] = "Region"
result , err := reportclient.AutoGenReports(url, source, params)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(result)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
autogenreports()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void autoGenReports() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
String source = "TABLE";
Map result = rc.autoGenReports(uri, source, null);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.autoGenReports();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$source = "TABLE";
$response = $request->autoGenReports($uri, $source);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def autogenreport(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
source = "TABLE"
result = rc.autoGenReports(uri,source)
print result
obj = Sample()
obj.autogenreport(obj.rc)
curl -d "ZOHO_ACTION=AUTOGENREPORTS&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=************
&ZOHO_SOURCE=TABLE
https://<hostname>:<webclientport>/api/abc@zylker.com/SalesDB/Sales
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/user@zylker.com/Auto-Copy/Auto" action="AUTOGENREPORTS">
<result>
<status>success</status>
<message>Reports generated successfully</message>
</result>
</response>
Sample Response JSON Format:
{
"response": {
"uri": "/api/user@zylker.com/Auto-Copy/Auto",
"action": "AUTOGENREPORTS",
"result": {
"status": "success",
"message": "Reports generated successfully"
}
}
}
The Autogen reports API is used to generate reports in Analytics Plus Table. The Server Administrator and the Workspace Owner alone can use this API to generate the reports.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | AUTOGENREPORTS | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_SOURCE (mandatory) |
TABLE/COLUMN | TABLE - Reports generate for the particular table. COLUMN - Reports generate for the particular column. |
ZOHO_CREATEAGAIN (optional) |
true/false | True - It will generate duplicate reports if reports generated before. False - It will throw error message if reports generated before. |
ZOHO_COLUMN_NAME (mandatory when SOURCE is COLUMN) |
' |
Column name which one wants to generate reports. |
POSSIBLE ERROR CODES IN AUTOGENERATE REPORTS
7103, 7107, 7138, 8504, 8506, 8516, 8533
Save As
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=SAVEAS&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&ZOHO_VIEWTOCOPY=Existing_View_Name
&ZOHO_NEW_VIEWNAME=New_View_Name&authtoken=************"
https://<hostname>:<webclientport>/api/EmailAddress/WorkspaceName
Sample Response XML Format:
<response uri="/api/EmailAddress/WorkspaceName" action="SAVEAS">
<result>
<message>Table copied successfully</message>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/EmailAddress\/WorkspaceName",
"action":"SAVEAS",
"result":
{
"message":"Table copied successfully"
}
}
}
The Save As API is used to copy a view within the workspace which is present in the Analytics Plus Account.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<workspacename>
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | SAVEAS | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
ACTION SPECIFIC PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_VIEWTOCOPY (mandatory) |
<existing_view_name> |
This parameter holds the name of the view which has to be copied. |
ZOHO_NEW_VIEWNAME (mandatory) |
<new_view_name> |
This parameter holds the name of the view which has to be created. |
ZOHO_FOLDERNAME (optional) |
<folder_name> |
The name of folder where the created view to be placed. |
ZOHO_DESCRIPTION (optional) |
<description> |
Description to the new view. |
ZOHO_COPYDATA (optional) |
true/false | true - The data present in view will be copied.false - Only the structure of view wil be copied. |
ZOHO_COPYLOOKUP (optional) |
true/false | true - The lookup details present in view will be copied.false - The lookup details won't get copied. |
ZOHO_HUGEDATACOPY (optional) |
true/false | true - Use when a table have more than two hundred thousand rows.false - Use when a table have less than two hundred thousand rows. |
Possible Error Codes In Save As
Create Similar Views
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void createsimilarviews(IReportClient rc)
{
try
{
string uri = rc.GetURI(EMAIL, "Auto-Copy", "Auto");
string refview = "Base view";
string foldername = "New folder";
string copycusformula = "false";
string copyaggformula = "false";
var result = rc.CreateSimilarViews(uri, refview, foldername, copycusformula, copyaggformula, null);
foreach (KeyValuePair<string, string> kvp in result)
{
Console.WriteLine(kvp.Key + " = " + kvp.Value);
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.createsimilarviews(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
authtoken = "************"
)
func CreateSimilarViews(){
url := reportclient.GetUri(email, "Workspace", "Auto")
refview := "Base table"
foldername := "New folder"
customformula := "false"
aggformula := "false"
params := map[string]string{}
result , err := reportclient.CreateSimilarViews(url, refview, foldername, customformula, aggformula, params)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(result)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
CreateSimilarViews()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String databaseName = "DB1";
String tableName = "New table";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void createSimilarViews() throws Exception
{
String uri = rc.getURI(emailId,databaseName,tableName);
String refView = "base view";
String folderName = "Folder 2";
boolean customFormula = false;
boolean aggFormula = false;
Map result = rc.createSimilarViews(uri, refView, folderName, customFormula, aggFormula, null);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.createSimilarViews();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$AUTHTOKEN = "05740fccfasdwe3425db0e8b2a09f6f8";
$DB_NAME = "Workspace";
$TABLE_NAME = "Tablename";
$request = new ReportClient($AUTHTOKEN);
$uri = $request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$ref_view = "Table1";
$folder_name = "Dummy";
$copy_customformula = false;
$copy_aggformula = false;
$response = $request->createSimilarViews($uri, $ref_view, $folder_name, $copy_customformula, $copy_aggformula);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
DATABASENAME="Dbname"
TABLENAME="table name"
AUTHTOKEN="************"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def createSimilarViews(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
refView = "Base table"
folderName = "New folder"
customFormula = "false"
aggFormula = "false"
result = rc.createSimilarViews(uri,refView,folderName,customFormula,aggFormula)
obj = Sample()
obj.createSimilarViews(obj.rc)
curl -d "ZOHO_ACTION=CREATESIMILARVIEWS&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46be276cd4cfaswa592f40101
&ZOHO_REFVIEW=old_table&ZOHO_FOLDERNAME=old_report&&ISCOPYCUSTOMFORMULA=false
&ISCOPYAGGFORMULA=false"
https://<hostname>:<webclientport>/api/abc@zylker.com/Workspace/Table
Sample Response XML Format:
<response uri="/api/abc@zylker.com/Workspace/Table" action="CREATESIMILARVIEWS">
<result>
<status>success</status>
<message>Reports created successfully</message>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri": "\/api\/abc@zylker.com\/Workspace\/Table",
"action": "CREATESIMILARVIEWS",
"result":
{
"status":"Success",
"message":"Reports created successfully"
}
}
}
The create similar views API is used to generate the reports from your Analytics Plus table.The views are created based on the reference table views.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<WorkspaceName>/<TableName>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | CREATESIMILARVIEWS | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_REFVIEW (mandatory) |
Reference view name | This parameter holds the name of the reference view name. |
ZOHO_FOLDERNAME (mandatory) |
Destination folder name | This parameter holds the folder name where the views to be saved. |
ISCOPYCUSTOMFORMULA (mandatory) |
True / False | True - Custom formulas are copied in the new views also. False - Custom formulas are not handled in new views. |
ISCOPYAGGFORMULA (mandatory) |
True / False | True - Aggregate formulas are copied in the new views also. False - Aggregate formulas are not handled in new views. |
POSSIBLE ERROR CODES IN CREATE SIMILAR VIEWS
7103, 7138, 7144, 8504, 8506, 8516, 8533
Delete View
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=DELETEVIEW&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&
ZOHO_API_VERSION=1.0&ZOHO_VIEW=View_Name&authtoken=************"
https://<hostname>:<webclientport>/api/EmailAddress/WorkspaceName
Sample Response XML Format:
<response uri="/api/EmailAddress/WorkspaceName" action="DELETEVIEW">
<result>
<message>View Deleted successfully!</message>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/EmailAddress\/WorkspaceName",
"action":"DELETEVIEW",
"result":
{
"message":"View Deleted successfully!"
}
}
}
The Delete View API is used to Remove the view which is present in the particular workspace on Analytics Plus Account.
Request URI
https://<hostname>:<webclientport>/api/OwnerEmailAddress/WorkspaceName
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | DELETEVIEW | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
ACTION SPECIFIC PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_VIEW (mandatory) |
ViewName | Name of the view to be deleted. |
ZOHO_DELETE_DEPEND_VIEWS (optional) |
true/false | (In case of deleting a table which has dependent views, this parameter is mandatory and set to be 'true') true - The views(except dashboards) which created based on the particular view as parent will also get deleted. false - The dependent views don't get deleted. |
Possible Error Codes In Delete View
Rename View
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void renameview(IReportClient rc)
{
string uri = rc.GetURI(EMAIL, DBNAME);
string viewname = "oldname";
string newviewname = "Newname";
string viewdesc = "Description";
rc.RenameView(uri, viewname, newviewname, viewdesc, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.renameview(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
authtoken = "************"
)
func renameview() {
url := reportclient.GetDbUri(email, dbname)
viewname := "Datalist"
newname := "Newlist"
newdesc := "description"
err := reportclient.RenameView(url, viewname, newname, newdesc)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
renameview()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void renameview() throws Exception
{
String uri = rc.getURI(email,dbname);
rc.renameView(uri,"Salary","Newsalary","Description",config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.renameview();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getDbURI($EMAIL_ID, $DB_NAME);
$view_name = "oldname";
$new_view_name = "new name";
$new_view_desc = "description";
$$report_client_request->renameView($uri, $view_name, $new_view_name, $new_view_desc);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def renameview(self,rc):
uri = rc.getDBURI(Config.LOGINEMAILID,Config.DATABASENAME)
rc.renameView(uri,"Old","New","description")
obj = Sample()
obj.renameview(obj.rc)
curl -d "ZOHO_ACTION=RENAMEVIEW&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&
ZOHO_API_VERSION=1.0&authtoken=************&
ZOHO_VIEWNAME="New"&ZOHO_NEW_VIEWNAME="new"&ZOHO_NEW_VIEWDESC="desc""
https://<hostname>:<webclientport>/api/abc@zylker.com/Employee
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/Employee" action="RENAMEVIEW">
<result>
<message>View renamed successfully!</message>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/abc@zylker.com\/Employee",
"action":"RENAMEVIEW",
"result":
{
"message":"View renamed successfully!"
}
}
}
The Rename view API is used to Rename the specified view with the new name and description.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | RENAMEVIEW | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_VIEWNAME (mandatory) |
View name | Current name of the view |
ZOHO_NEW_VIEWNAME (mandatory) |
New view name | New name for the view |
ZOHO_NEW_VIEWDESC (mandatory) |
View description | New description for the view |
POSSIBLE ERROR CODES IN RENAME VIEW
7103, 7105, 7111, 7138, 8504, 8506, 8516, 8533
Copy Reports
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void copyreports(IReportClient rc)
{
string uri = rc.GetURI(EMAIL, DBNAME);
string views = "Employee";
string dbname = "sample";
string dbkey = "d6e443b4dc3cad251fcc54ff81cd3ad3";
rc.CopyReports(uri, views, dbname, dbkey, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.copyreports(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
dbkey = "d6e443b4dc3cas421fcc54ff81cd3ad3"
)
func copyreports() {
url := reportclient.GetDbUri(email, dbname)
viewnames := "List"
destdbname := "sample"
err := reportclient.CopyReports(url, viewnames, destdbname, dbkey)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
copyreports()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String authtoken = "************";
String dbkey = "d6e443b4dc3c85d51fcc54ff81cd3ad3";
String destdb = "sample";
String views = "new";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void copyreports() throws Exception
{
String uri = rc.getURI(email,dbname);
rc.copyReport(uri,views,destdb,dbkey,config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.copyreports();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getDbURI($EMAIL_ID, $DB_NAME);
$views = "Employee";
$dbname = "New db";
$dbkey = "d6e443b4dc3c85d5q34casdff81cd3ad3";
$report_client_request->copyReports($uri, $views, $dbname, $dbkey);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def copyreports(self,rc):
uri = rc.getDBURI(self.LOGINEMAILID,self.DATABASENAME)
rc.copyReports(uri,"Employee","sample","d6e443b4dc3c85d51fcc54ff81cd3ad3")
obj = Sample()
obj.copyreports(obj.rc)
curl -d "ZOHO_ACTION=COPYREPORTS&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&
ZOHO_API_VERSION=1.0&authtoken=f7d016qw2be276cd4cfa32a592f40101&
ZOHO_VIEWTOCOPY=EmployeeDetails&ZOHO_DATABASE_NAME=sample&
ZOHO_COPY_DB_KEY=d6e443b4e34c85d51fcc54ff81cd3ad3"
https://<hostname>:<webclientport>/api/abc@zylker.com/Employee
Sample Response XML Format:
<response uri="/api/source_account@zylker.com/SourceEmployeeDB" action="COPYREPORTS">
<result>
<message>
Successfully View(s) Copied
</message>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/source_account@zylker.com\/SourceEmployeeDB",
"action":"COPYREPORTS",
"result":
{
"message": "Successfully View(s) Copied"
}
}
}
The source workspace administrator should generate and provide the Copy Workspace Key, the secret key used to authorize the destination workspace administrator. Copying the reports using this API will copy the report along with the relationships involved and the formula columns associated with the source report. It is necessary that the parent tables of the view in the source workspace should exists with the same name in the destination workspace.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | COPYREPORTS | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_VIEWTOCOPY (mandatory) |
view names | This parameter holds the list of view names. In case of more than one views, the view names should be separated by comma ( , ). Example: ZOHO_VIEWTOCOPY=View1,View2,View3,... |
ZOHO_DATABASE_NAME (mandatory) |
workspace name | This parameter holds the name of the workspace (destination workspace) where the reports (specified in ZOHO_VIEWSTOCOPY parameter) has to be copied |
ZOHO_COPY_DB_KEY (mandatory) |
Workspace key | The secret key used for allowing the user to copy the workspace / reports. The source workspace owner has to invoke the below URL to get the Copy Workspace Secret Key. https://<hostname>:<webclientport>/api/abcd@zylker.com/SourceEmployeeDB?ZOHO_ACTION=GETCOPYDBKEY&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&authtoken=<source_db_owner_authtoken>&ZOHO_API_VERSION=1.0 . Note: You need to provide the appropriate values in the above URL to generate the corresponding Copy Workspace Key for your setup |
POSSIBLE ERROR CODES IN COPY REPORTS
7103, 7138, 8504, 8506, 8516, 8533, 15000, 15001, 15002, 15005, 15007, 15012
Copy Formula
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void copyformula(IReportClient rc)
{
string uri = rc.GetURI(EMAIL, DBNAME, TBNAME);
string formula = "total";
string dbname = "sample";
string dbkey = "d6e443b4dc3c85dsswcc54ff81cd3ad3";
rc.CopyFormula(uri, formula, dbname, dbkey, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.copyformula(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
dbkey = "d6e443b4dc3cas421fcc54ff81cd3ad3"
)
func copyformula() {
url := reportclient.GetUri(email, dbname, tbname)
formulaname := "total"
destdbname := "sample"
err := reportclient.CopyFormula(url, formulaname, destdbname, dbkey)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
copyformula()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
String dbkey = "d6e443b4dc3c85d51fcc54ff81cd3ad3";
String destdb = "sample";
String formula = "total";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void copyformula() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
rc.copyFormula(uri,formula,destdb,dbkey,config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.copyformula();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$formula = "Total";
$dbname = "New db";
$dbkey = "d6e443b4dc3c85d5q34casdff81cd3ad3";
$report_client_request->copyFormula($uri, $formula, $dbname, $dbkey);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def copyformula(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
rc.copyFormula(uri,"total","sample","d6e443b4dc3c85d51fcc54ff81cd3ad3")
obj = Sample()
obj.copyformula(obj.rc)
curl -d "ZOHO_ACTION=COPYFORMULA&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&
ZOHO_API_VERSION=1.0&authtoken=f7d0162wqbe276cd4cfa32a592f40101&
ZOHO_FORMULATOCOPY=MyFormula1&ZOHO_DATABASE_NAME=SourceEmployeeDetails&
ZOHO_COPY_DB_KEY=d6e443b4dc3ceew51fcc54ff81cd3ad3"
https://<hostname>:<webclientport>/api/abc@zylker.com/Employee/Employee
Sample Response XML Format:
<response uri="/api/source_account@zylker.com/SourceEmployeeDB/SourceEmployeeDetails"
action="COPYFORMULA">
<result>
<message>
Successfully formula(s) Copied
</message>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/source_account@zylker.com\/SourceEmployeeDB\/SourceEmployeeDetails",
"action":"COPYFORMULA",
"result":
{
"message": "Successfully Formula(s) Copied"
}
}
}
The Copy Formula API is used to copy one or more formula columns from one table to another within the same workspace or across workspaces and even across one user account to another. The source workspace administrator should generate and provide the Copy Workspace Key, the secret key used to authorize the destination workspace administrator. It is necessary that the table and column name in the destination workspace should be the same as that of the table and column names in the source workspace on which the formula is dependent. Both Custom Formula and Aggregate Formula can be copied using this API.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | COPYFORMULA | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_FORMULATOCOPY | Formula name | This parameter holds the FORMULA NAME to be copied from the source workspace into another table in the destination workspace. In case more than one formulas are to be copied, the formula names should be separated by comma ( , ). Example: ZOHO_FORMULATOCOPY=MyFormula1,MyFormula2,MyFormulaN |
ZOHO_DATABASE_NAME | Workspace name | This parameter holds the name of the workspace (destination workspace) where the destination table is present. The specified formula are copied to the table which has same name (SourceEmployeeDetails) as specified in the API URL |
ZOHO_COPY_DB_KEY | Workspace key | The secret key used for allowing the user to copy the workspace / reports. The source workspace owner has to invoke the below URL to get the Copy Workspace Secret Key. https://<hostname>:<webclientport>/api/abcd@zylker.com/SourceEmployeeDB?ZOHO_ACTION=GETCOPYDBKEY&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&authtoken=<source_db_owner_authtoken>&ZOHO_API_VERSION=1.0 . Note: You need to provide the appropriate values in the above URL to generate the corresponding Copy Workspace Key for your setup |
POSSIBLE ERROR CODES IN COPY FORMULA
7103, 7138, 8504, 8506, 8516, 8533, 15002, 15007, 15009, 15010
Add Lookup
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void addlookup(IReportClient rc)
{
string uri = rc.GetURI(EMAIL, DBNAME, TBNAME);
string columnname = "Id";
string reftable = "sales";
string refcolumn = "Srno";
string onerror = "ABORT";
rc.AddLookup(uri, columnname, reftable, refcolumn, onerror, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.addlookup(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func addlookup() {
url := reportclient.GetUri(email, dbname, tbname)
columnname := "total"
refertable := "New"
refercolumn := "Count"
onerror := "ABORT"
err := reportclient.AddLookup(url, columnname, refertable, refercolumn, onerror)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
addlookup()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void addlookup() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
rc.addLookup(uri,"Id","New Db","Srno","ABORT",config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.addlookup();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$column_name = "Id";
$referred_table = "Sales";
$referred_column = "Srno";
$on_error = "ABORT";
$report_client_request->addLookup($uri, $column_name, $referred_table,
$referred_column, $on_error);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def addlookup(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
result = rc.addLookup(uri,"id","NewDb","srno","ABORT")
obj = Sample()
obj.addlookup(obj.rc)
curl -d "ZOHO_ACTION=ADDLOOKUP&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&
ZOHO_API_VERSION=1.0&authtoken=************&
ZOHO_COLUMNNAME="old"&ZOHO_REFERREDTABLE="new"&
ZOHO_REFERREDCOLUMN="old"&ZOHO_IFERRORONCONVERSION="ABORT""
https://<hostname>:<webclientport>/api/abc@zylker.com/Employee/Employee
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/Employee/Employee" action="ADDLOOKUP">
<result>SUCCESS</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/abc@zylker.com\/Employee\/Employee",
"action":"ADDLOOKUP",
"result":"SUCCESS"
}
}
The Add Lookup API is used to Adds the lookup in the specified child table.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | ADDLOOKUP | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_COLUMNNAME (mandatory) |
<columnname> |
The name of the column to be added into Analytics Plus Table. Example: ZOHO_COLUMNNAME=Region. Note: The column name should be url encoded if the column name contain space or any special characters. |
ZOHO_REFERREDTABLE (mandatory) |
Table name | The name of the referred table. |
ZOHO_REFERREDCOLUMN (mandatory) |
Column name | The name of the column in the referred table. |
ZOHO_IFERRORONCONVERSION (mandatory) |
ABORT/EMPTY | If error on conversion. |
POSSIBLE ERROR CODES IN ADD LOOKUP
7103, 7107, 7138, 8504, 8506, 8516, 8533
Remove Lookup
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void removelookup(IReportClient rc)
{
string uri = rc.GetURI(EMAIL, DBNAME, TBNAME);
string columnname = "Salary";
rc.RemoveLookup(uri, columnname, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.removelookup(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func removelookup() {
url := reportclient.GetUri(email, dbname, tbname)
columnname := "total"
err := reportclient.RemoveLookup(url, columnname)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
removelookup()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void removelookup() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
rc.removeLookup(uri,"EmpName",config);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.removelookup();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$column_name = "Id";
$report_client_request->removeLookup($uri, $column_name);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def removelookup(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
result = rc.removeLookup(uri,"Id")
obj = Sample()
obj.removelookup(obj.rc)
curl -d "ZOHO_ACTION=REMOVELOOKUP&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=JSON&
ZOHO_API_VERSION=1.0&authtoken=************&
ZOHO_COLUMNNAME="new""
https://<hostname>:<webclientport>/api/abc@zylker.com/Employee/Employee
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/abc@zylker.com/Employee/Employee" action="REMOVELOOKUP">
<result>SUCCESS</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/abc@zylker.com\/Employee\/Employee",
"action":"REMOVELOOKUP",
"result":"SUCCESS"
}
}
The Remove Lookup API is used to Removes the lookup for the specified column in the given table.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | REMOVELOOKUP | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_COLUMNNAME (mandatory) |
<columnname> |
The name of the column to be added into Analytics Plus Table. Example: ZOHO_COLUMNNAME=Region. Note: The column name should be url encoded if the column name contain space or any special characters. |
POSSIBLE ERROR CODES IN REMOVE LOOKUP
7103, 7138, 7165, 8504, 8506, 8516, 8533
Error Codes in Modeling API
This section explains about the error response sent from the Analytics Plus server on failure of Metadata APIs. You can use this for appropriate error handling.
Error Handling
Sample error XML Format:
<response uri="/api/abc@zylker.com/Employee" action="DATABASEMETADATA">
<error>
<code>7103</code>
<message>
Workspace not found! Please check whether the workspace exists
</message>
</error>
</response>
Sample error JSON Format:
{
"response":
{
"uri": "\/api\/abc@zylker.com\/Employee",
"action": "DATABASEMETADATA",
"error":
{
"code":7103,
"message": "Workspace not found! Please check whether the workspace exists"
}
}
}
Error Codes
Error Code | Reason | Solution |
---|---|---|
7101 | Workspace with the same name exists already. | Provide an alternate name. |
7103 | The workspace specified does not exists | Check the name of the workspace to be deleted. |
7105 | View name specified in the workspace does not exist. | Provide a valid view name. |
7107 | The column does not exists in the specified Analytics Plus Table | Provide the correct name of the column to be deleted in the ZOHO_COLUMNNAME parameter. |
7111 | A Table with the name already exists in this workspace. | Provide an alternate name. |
7128 | The column is already exists in the specified Analytics Plus Table | Provide a different name for the ZOHO_COLUMNNAME parameter. |
7138 | The view name specified in the API request URL does not exist. | Check the view name in the request URL and provide a valid name. |
7144 | Mentioned Folder is not present in the workspace. | Check if the mentioned folder is available. |
7159 | The column to be deleted is used in Reports, Formula Columns, Query Tables, etc. | The column with dependent views cannot be deleted. Please delete the dependent views and formula columns associated with this column before calling this delete column API. |
7161 | The Analytics Plus Table specified in this API is a system table (created for Service Integration) | Deleting columns in System Table is not allowed. You could only delete a column in a user created/defined table using this API. |
7165 | The workspace specified is a system workspace which cannot be deleted | The system workspace cannot be deleted. |
8023 | You do not have required permission to perform this operation. | Kindly contact our support team. |
8024 | Copy workspace operation not allowed. | Check the workspace key provided in the url. |
8504 | The required parameter is not proper or has not been sent. | Send the parameter with valid data. |
8506 | The mentioned parameter has been sent more than the required count. | Check and remove that extra parameter mentioned in the response. |
8516 | Invalid value passed in the mentioned parameter. | Provide the valid data to the mentioned parameter. |
8533 | The user email address provided in the URL is an improper format | Provide a valid email address. |
8534 | Invalid JSON format. | Provide valid JSON data. |
15000 | A table / view which is needed to copy the specified report is missing in the destination workspace | Check the destination workspace and create the missing table/view |
15001 | A column which is needed to copy the specified report is missing in the destination workspace | Check the destination workspace and create the column before copying the report |
15002 | A formula column which is needed to copy the specified report is missing in the destination workspace | Check the destination workspace and create the formula column before copying the report |
15005 | The report name specified already exists in the destination workspace | Check whether the report with the same name exists in the destination workspace. Try renaming the source report or the report in destination workspace and invoke the API again. |
15007 | Insufficient privileges to copy the report | Check whether the Copy Workspace Key is valid |
15009 | The formula column name specified already exists in the destination workspace | Check whether the formula column is already copied, otherwise, try renaming the formula column in the source table or in the destination workspace and invoke the API again. |
15010 | The Formula Column name specified in the API request is not present in the Source Workspace | Check the formula column name(s) specified in the ZOHO_FORMULATOCOPY parameter is correct |
15012 | The reports specified in the API request is not present in the Source Workspace. | Check the reports specified in the ZOHO_VIEWTOCOPY parameter are correct and are available. |
In case of any error other than the above said, mail the API request URL parameters and error response details to analyticsplus-support@manageengine.com . Analytics Plus will get back to you with the best possible solution.
Metadata API
This section lists all the metadata APIs. Metadata API’s can be used to fetch information about the workspaces, tables, reports and dashboards created in Analytics Plus.
Workspace Metadata
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "Email Address";
DBNAME = "Workspace Name";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void getDatabaseMetaData(IReportClient RepClient)
{
string dbURI = RepClient.GetURI(EMAIL, DBNAME);
string metaData = "ZOHO_CATALOG_INFO";
string format = "XML"
string result = RepClient.GetDatabaseMetaData(dbURI, metaData, format, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.getDatabaseMetaData(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "Email Address"
authtoken = "************"
)
func databasemetadata() {
url := reportclient.GetUserUri(email)
metadata := "DATABASEMETADATA"
data , err := reportclient.GetDatabaseMetadata(url, metadata)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(data)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
databasemetadata()
}
import java.util.HashMap;
import java.util.Map;
import org.w3c.dom.Document;
import com.adventnet.zoho.client.report.*;
public class Sample
{
String authtoken = "************";
String email = "Email Address";
Map<String, String> config = new HashMap<String, String>();
private ReportClient rc = new ReportClient(authtoken);
public void metadata() throws Exception
{
String uri = rc.getURI(email);
Document result = rc.getDatabaseMetaData(uri,"DATABASEMETADATA",config);
}
public static void main(String[] args)
throws Exception
{
Sample obj = new Sample();
obj.metadata();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "Email Address";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getUserURI($EMAIL_ID);
$metadata = "DATABASEMETADATA";
$report_client_response = $report_client_request->getDatabaseMetadata($uri, $metadata);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="Email Address"
AUTHTOKEN="************"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def getdatabasemetadata(self,rc):
uri = rc.getUserURI(self.LOGINEMAILID)
result = rc.getDatabaseMetadata(uri,"DATABASEMETADATA")
print result
obj = Sample()
obj.getdatabasemetadata(obj.rc)
curl -d "ZOHO_ACTION=DATABASEMETADATA&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=
XML&ZOHO_API_VERSION=1.0&authtoken=************
&ZOHO_METADATA=DATABASEMETADATA"
https://<hostname>:<webclientport>/api/EmailAddress
Sample Response XML Format:
<response URI="/api/EmailAddress" ACTION="DATABASEMETADATA">
<ZCATALOGS>
<ZCATALOG IS_DEFAULT="1" TABLE_CAT="SalesDB"></ZCATALOG>
<ZCATALOG IS_DEFAULT="0" TABLE_CAT="Super Store Sales"></ZCATALOG>
<ZCATALOG IS_DEFAULT="0" TABLE_CAT="Project Manager"></ZCATALOG>
</ZCATALOGS>
</response>
Sample Response JSON Format:
{
"response":
{
"uri": "\/api\/EmailAddress",
"action": "DATABASEMETADATA",
"result":
[
{
"isDefault": true,
"tableCat": "SalesDB"
},
{
"isDefault": false,
"tableCat": "Super Store Sales"
},
{
"isDefault": false,
"tableCat": "Project Manager"
}
]
}
}
Sample Responses for Catalog Information
XML Format:
<response URI="/api/EmailAddress/WorkspaceName" ACTION="ZOHO_CATALOG_INFO">
<ZCATALOG TABLE_CAT="SalesDB">
<ZVIEW REMARKS="\N" TABLE_NAME="SalesTable" TABLE_TYPE="TABLE">
<ZCOLUMNS>
<ZCOLUMN COLUMN_NAME="REGION" PKCOLUMN_NAME="\N" NULLABLE="true"
COLUMN_SIZE="100"PKTABLE_NAME="\N" DATA_TYPE="12" REMARKS="\N"
TYPE_NAME="Plain Text"
DECIMAL_DIGITS="-1" ORDINAL_POSITION="1"></ZCOLUMN>
<ZCOLUMN COLUMN_NAME="Order Date" PKCOLUMN_NAME="\N" NULLABLE="true"
COLUMN_SIZE="19"
PKTABLE_NAME="\N" DATA_TYPE="93" REMARKS="\N" TYPE_NAME="Date"
DECIMAL_DIGITS="-1" ORDINAL_POSITION="6"></ZCOLUMN>
</ZCOLUMNS>
</ZVIEW>
<ZVIEW REMARKS="\N" TABLE_NAME="Region" TABLE_TYPE="REPORT"></ZVIEW>
<ZVIEW REMARKS="\N" TABLE_NAME="SalesTabular" TABLE_TYPE="REPORT">
<ZVIEW REMARKS="\N" TABLE_NAME="SalesQuery" TABLE_TYPE="VIEW">
<ZCOLUMNS>
<ZCOLUMN COLUMN_NAME="Market Type" PKCOLUMN_NAME="\N"NULLABLE="false"
COLUMN_SIZE="100"
PKTABLE_NAME="\N" DATA_TYPE="12" REMARKS="\N" TYPE_NAME="Plain Text"
DECIMAL_DIGITS="-1" ORDINAL_POSITION="1"></ZCOLUMN>
<ZCOLUMN COLUMN_NAME="Order Date" PKCOLUMN_NAME="\N"NULLABLE="false"
COLUMN_SIZE="19"
PKTABLE_NAME="\N" DATA_TYPE="93" REMARKS="\N" TYPE_NAME="Date"
DECIMAL_DIGITS="-1" ORDINAL_POSITION="2"></ZCOLUMN>
</ZCOLUMNS>
</ZVIEW>
<ZVIEW REMARKS="\N" TABLE_NAME="SalesPivot" TABLE_TYPE="REPORT"></ZVIEW>
<ZVIEW REMARKS="\N" TABLE_NAME="SalesSummary" TABLE_TYPE="REPORT"></ZVIEW>
</response>
JSON Format:
{
"response":
{
"uri": "\/api\/EmailAddress\/WorkspaceName",
"action": "ZOHO_CATALOG_INFO",
"result":
{
"views":
[
{
"remarks": null,
"tableName": "SalesTable",
"tableType": "TABLE",
"columns":
[
{
"columnName": "REGION",
"pkcolumnName": null,
"nullable": true,
"columnSize": 100,
"pktableName": null,
"dataType": "12",
"remarks": null,
"typeName": "Plain Text",
"decimalDigits": -1,
"ordinalPosition": 1
},
{
"columnName": "Order Date",
"pkcolumnName": null,
"nullable": true,
"columnSize": 19,
"pktableName": null,
"dataType": "93",
"remarks": null,
"typeName": "Date",
"decimalDigits": -1,
"ordinalPosition": 6
}
]
},
{
"remarks": "Region wise chart for the year 2009",
"tableName": "Region",
"tableType": "REPORT",
"columns":
[
]
},
{
"remarks": null,
"tableName": "SalesTabular",
"tableType": "REPORT",
"columns":
[
]
},
{
"remarks": null,
"tableName": "SalesQuery",
"tableType": "VIEW",
"columns":
[
{
"columnName": "Market Type",
"pkcolumnName": null,
"nullable": false,
"columnSize": 100,
"pktableName": null,
"dataType": "12",
"remarks": null,
"typeName": "Plain Text",
"decimalDigits": -1,
"ordinalPosition": 1
},
{
"columnName": "Order Date",
"pkcolumnName": null,
"nullable": false,
"columnSize": 19,
"pktableName": null,
"dataType": "93",
"remarks": null,
"typeName": "Date",
"decimalDigits": -1,
"ordinalPosition": 2
}
]
},
{
"remarks": null,
"tableName": "SalesPivot",
"tableType": "REPORT",
"columns":
[
]
},
{
"remarks": null,
"tableName": "SalesSummary",
"tableType": "REPORT",
"columns":
[
]
}
],
"tableCat": "SalesDB"
}
}
}
Sample Responses for Datatype Information
XML Format:
<response URI="/api/EmailAddress" ACTION="ZOHO_DATATYPES">
<ZDATATYPES>
<ZDATATYPE LITERAL_PREFIX="'" MAXSIZE="19" MAXIMUM_SCALE="\N"
NULLABLE="1"
TYPE_NAME="Positive Number" DATA_TYPE="-5" MINIMUM_SCALE="\N"
SQL_DATA_TYPE="-5"
FIXED_PREC_SCALE="false" LOCAL_TYPE_NAME="\N" AUTO_INCREMENT="false"
SQL_DATETIME_SUB="0" PRECISION="-1" UNSIGNED_ATTRIBUTE="true" ID="5">
</ZDATATYPE>
<ZDATATYPE LITERAL_PREFIX="'" MAXSIZE="1" MAXIMUM_SCALE="\N"
NULLABLE="1"
TYPE_NAME="Yes/No Decision" DATA_TYPE="-7" MINIMUM_SCALE="\N"
SQL_DATA_TYPE="-7"
FIXED_PREC_SCALE="false" LOCAL_TYPE_NAME="\N" AUTO_INCREMENT="false"
SQL_DATETIME_SUB="0" PRECISION="-1" UNSIGNED_ATTRIBUTE="false" ID="10">
</ZDATATYPE>
</ZDATATYPES>
</response>
JSON Format
{
"response":
{
"uri": "\/api\/EmailAddress",
"action": "ZOHO_DATATYPES",
"result":
[
{
"literalPrefix": "\'",
"maxsize": 19,
"maximumScale": null,
"nullable": true,
"dataType": -5,
"minimumScale": null,
"sqlDataType": -5,
"fixedPrecScale": false,
"localTypeName": null,
"autoIncrement": false,
"searchable": false,
"literalSuffix": "\'",
"caseSensitive": true,
"numPrecRadix": "10",
"typeName": "Positive Number",
"createParams": "500",
"sqlDatetimeSub": "0",
"precision": -1,
"unsignedAttribute": true,
"id": "5"
},
{
"literalPrefix": "\'",
"maxsize": 1,
"maximumScale": null,
"nullable": true,
"dataType": -7,
"minimumScale": null,
"sqlDataType": -7,
"fixedPrecScale": false,
"localTypeName": null,
"autoIncrement": false,
"searchable": false,
"literalSuffix": "\'",
"caseSensitive": true,
"numPrecRadix": "10",
"typeName": "Yes\/No Decision",
"createParams": "500",
"sqlDatetimeSub": "0",
"precision": -1,
"unsignedAttribute": false,
"id": "10"
}
]
}
}
Sample Responses for Table Types
XML Format:
<response URI="/api/EmailAddress" ACTION="ZOHO_TABLETYPES">
<ZVIEWTYPES >
<ZVIEWTYPE TYPE="TABLE"></ZVIEWTYPE>
<ZVIEWTYPE TYPE="VIEW"></ZVIEWTYPE>
<ZVIEWTYPE TYPE="REPORT"></ZVIEWTYPE>
</ZVIEWTYPES>
</response>
JSON Format
{
"response":
{
"uri": "\/api\/EmailAddress",
"action": "ZOHO_TABLETYPES",
"result":
[
"TABLE",
"VIEW",
"REPORT"
]
}
}
Using the Workspace Metadata API, you can get the following meta information.
- List of Workspaces in your account
- List of Views and View Information in your Workspace
- Different views available in Analytics Plus
- Datatypes available in Analytics Plus
Request URI
https://<hostname>:<webclientport>/api/EmailAddress
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | DATABASEMETADATA | This parameter specifies the action to be performed by the API request. |
ZOHO_METADATA | The supported values are: |
specifies the information to be fetched. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
1.Getting Workspace (Catalog) List
To list the Analytics Plus Workspaces for the specified user
Request URI
https://<hostname>:<webclientport>/api/EmailAddress/
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | DATABASEMETADATA | This parameter specifies the action to be performed by the API request. |
ZOHO_METADATA | ZOHO_CATALOG_LIST | To list the Analytics Plus workspaces for the specified user |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
2.Getting Tables and Reports in a workspace (Catalog Information)
To fetch information about the tables & reports (view) present in the given reporting workspace in Analytics Plus.
Request URI
https://<hostname>:<webclientport>/api/EmailAddress/WorkspaceName
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | DATABASEMETADATA | This parameter specifies the action to be performed by the API request. |
ZOHO_METADATA | ZOHO_CATALOG_INFO | To fetch information about the tables & reports (view) present in the given reporting workspace in Analytics Plus. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
3.Getting Datatype Information
The following table lists the common DATA TYPE numbers and its corresponding TYPE NAMES.
Data Type Number | Type Name |
---|---|
12 | Plain Text / Multi Line Text / Email / URL |
-7 | Yes / No Decision |
8 | Percent / Currency / Decimal Number |
-5 | Number / Auto Number / Positive Number |
93 | Date |
Request URI
https://<hostname>:<webclientport>/api/OwnerEmailAddress
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | DATABASEMETADATA | This parameter specifies the action to be performed by the API request. |
ZOHO_METADATA | ZOHO_DATATYPES | To get the list of datatypes supported by Analytics Plus |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
4.Getting Table Types
The following table lists the common TABLETYPES.
Actual View | TABLETYPE Value |
---|---|
Tables | TABLE |
Query Tables | VIEW |
Charts / Pivots / Tabular Views / Summary Views / Dashboards | REPORT |
Request URI
https://<hostname>:<webclientport>/api/OwnerEmailAddress
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | DATABASEMETADATA | This parameter specifies the action to be performed by the API request. |
ZOHO_METADATA | ZOHO_TABLETYPES | Various view types available in Analytics Plus |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Response Attributes
In this section, we have described the detailed explanation of the attribute / property we used in DATABASEMETADATA APIs.
Attribute/Property | Description |
---|---|
IS_DEFAULT/isDefault | Indicates whether a Analytics Plus workspace is set as the default. Can be used to set default workspace for third party tools that loads Analytics Plus Workspaces using JDBC Driver. |
TABLE_CAT/tableCat | Analytics Plus workspace name (ex: SalesDB) |
COLUMN_NAME/columnName | Name of the column in table type views (ex: Region) |
LITERAL_PREFIX | Prefix character used when literal values found (ex: '45’) |
NULLABLE | Will be true if the column can contain null value, false otherwise. |
MAXSIZE | Maximum size of the column (ex: 20) |
TYPE_NAME | Analytics Plus name for the data type (ex: Positive Number) |
Note:
\N in XML response refer to the NULL value
Possible Error Codes In WORKSPACE METADATA
My Workspace List
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=MYWORKSPACELIST&ZOHO_OUTPUT_FORMAT=JSON&ZOHO_ERROR_FORMAT=JSON
&ZOHO_API_VERSION=1.0&authtoken=************"
https://analyticsapi.zoho.com/api/EmailAddress
Sample Response JSON Format:
{
"response": {
"uri": "/api/EmailAddress",
"action": "MYWORKSPACELIST",
"result": [{
"workspaceId": "888888888888888",
"workspaceName": "v1",
"workspaceDesc": "test",
"orgId": "121212121",
"createdTime": "1573041408109",
"createdBy": "email",
"isDefault": false
},
{
"workspaceId": "999999999999999",
"workspaceName": "v2",
"workspaceDesc": "test",
"orgId": "121212121",
"createdTime": "1570770871266",
"createdBy": "email",
"isDefault": false
}
]
}
}
This API returns the list of all owned workspaces present in the Analytics Plus account identified by the URI.
Request URI
https://<hostname>:<webclientport>/api/OwnerEmail
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | MYWORKSPACELIST | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0 |
ACTION SPECIFIC PARAMETERS
Parameter | Possible Values | Description |
---|---|---|
ZOHO_VALID_JSON (optional) |
true / false | By default it will be false. True - Returns a valid JSON data (with JSON escaping) False - Returns a JSON data with JS escaping. |
Possible Error Codes In MY WORKSPACE LIST
Shared Workspace List
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=SHAREDWORKSPACELIST&ZOHO_OUTPUT_FORMAT=JSON&ZOHO_ERROR_FORMAT=JSON
&ZOHO_API_VERSION=1.0&authtoken=************"
https://analyticsapi.zoho.com/api/EmailAddress
Sample Response JSON Format:
{
"response": {
"uri": "/api/EmailAddress",
"action": "SHAREDWORKSPACELIST",
"result": [{
"workspaceId": "888888888888888",
"workspaceName": "v1",
"workspaceDesc": "test",
"orgId": "121212121",
"createdTime": "1573041408109",
"createdBy": "email",
"isDefault": false
},
{
"workspaceId": "999999999999999",
"workspaceName": "v2",
"workspaceDesc": "test",
"orgId": "121212121",
"createdTime": "1570770871266",
"createdBy": "email",
"isDefault": false
}
]
}
}
This API returns the list of all shared workspaces present in the Analytics Plus account identified by the URI.
Request URI
https://<hostname>:<webclientport>/api/OwnerEmail
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | SHAREDWORKSPACELIST | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0 |
ACTION SPECIFIC PARAMETERS
Parameter | Possible Values | Description |
---|---|---|
ZOHO_VALID_JSON (optional) |
true / false | By default it will be false. True - Returns a valid JSON data (with JSON escaping) False - Returns a JSON data with JS escaping. |
Possible Error Codes In SHARED WORKSPACE LIST
Folder List
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=FOLDERLIST&ZOHO_OUTPUT_FORMAT=JSON&ZOHO_ERROR_FORMAT=JSON
&ZOHO_API_VERSION=1.0&authtoken=************"
https://analyticsapi.zoho.com/api/EmailAddress
Sample Response JSON Format:
{
"response":
{
"uri": "\/api\/email\/test",
"action": "FOLDERLIST",
"result": [{
"folderId": "99999999999999",
"folderName": "Tables & Reports",
"folderDesc": "Sample Folder",
"folderIndex": 1,
"isDefault": true,
"parentFolderId": "-1"
}, {
"folderId": "88888888888888",
"folderName": "Test Folder",
"folderDesc": "",
"folderIndex": 2,
"isDefault": false,
"parentFolderId": "-1"
}]
}
}
This API returns the list of all accessible folders present in the workspace identified by the URI.
Request URI
https://<hostname>:<webclientport>/api/OwnerEmail/WorkspaceName
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | FOLDERLIST | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0 |
ACTION SPECIFIC PARAMETERS
Parameter | Possible Values | Description |
---|---|---|
ZOHO_VALID_JSON (optional) |
true / false | By default it will be false. True - Returns a valid JSON data (with JSON escaping) False - Returns a JSON data with JS escaping. |
Possible Error Codes In FOLDER LIST
View List
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=VIEWLIST&ZOHO_OUTPUT_FORMAT=JSON&ZOHO_ERROR_FORMAT=JSON
&ZOHO_API_VERSION=1.0&authtoken=************"
https://analyticsapi.zoho.com/api/EmailAddress
Sample Response JSON Format:
{
"response":
{
"uri": "\/api\/email\/test",
"action": "VIEWLIST",
"result": [{
"viewId": "99999999999999",
"viewName": "xyz",
"viewDesc": "",
"viewType": "Table",
"parentViewId": "null",
"folderId": "7777777777777",
"createdTime": "1567063663794",
"createdBy": "email",
"lastModifiedTime": "1569509324895",
"lastModifiedBy": "email",
"isFavourite": false
}, {
"viewId": "8888888888888",
"viewName": "charts",
"viewDesc": "",
"viewType": "AnalysisView",
"parentViewId": "99999999999999",
"folderId": "7777777777777",
"createdTime": "1560838602827",
"createdBy": "email",
"lastModifiedTime": "1567780128258",
"lastModifiedBy": "email",
"isFavourite": false
}]
}
}
This API returns the list of all accessible views present in the workspace identified by the URI.
Request URI
https://<hostname>:<webclientport>/api/OwnerEmail/WorkspaceName
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | VIEWLIST | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0 |
ACTION SPECIFIC PARAMETERS
Parameter | Possible Values | Description |
---|---|---|
ZOHO_VALID_JSON (optional) |
true / false | By default it will be false. True - Returns a valid JSON data (with JSON escaping) False - Returns a JSON data with JS escaping. |
Possible Error Codes In VIEW LIST
View Metadata
Download client libraries :
C# |GO |JAVA |PHP |PYTHON |NODEJS
Sample Request:
curl -d "ZOHO_ACTION=VIEWMETADATA&ZOHO_OUTPUT_FORMAT=JSON
&authtoken=f7d016b46be2acsd4cfa32a592f40101&ZOHO_API_VERSION=1.0&ZOHO_ERROR_FORMAT=JSON"
https://<hostname>:<webclientport>/api/abc@zylker.com/Workspacename/Viewname
Sample Response For Table View Type:
{
"response": {
"uri": "/api/EmailAddress/WorkspaceName/ViewName",
"action": "VIEWMETADATA",
"result": {
"viewInfo": {
"viewId": "22222222222222",
"viewName": "Table Name",
"viewDesc": "View Desc",
"viewType": "Table",
"workspaceId": "9999999999999",
"columnList": [
{
"columnId": "555555555555555",
"columnName": "Date",
"dataTypeId": 93,
"dataTypeName": "Date",
"columnIndex": 1,
"columnDesc": "",
"columnMaxSize": 19,
"isNullable": true,
"defaultValue": "",
"pkTableName": "",
"pkColumnName": "",
"formulaDisplayName": "",
"dateFormat": "dd MMMM, yyyy"
},
{
"columnId": "666666666666666",
"columnName": "Region",
"dataTypeId": 12,
"dataTypeName": "Plain Text",
"columnIndex": 2,
"columnDesc": "",
"columnMaxSize": 100,
"isNullable": true,
"defaultValue": "",
"pkTableName": "",
"pkColumnName": "",
"formulaDisplayName": ""
}
]
}
}
}
}
Sample Response For All Other View Types:
{
"response": {
"uri": "/api/EmailAddress/WorkspaceName/ViewName",
"action": "VIEWMETADATA",
"result": {
"viewInfo": {
"viewId": "11111111111111",
"viewName": "View Name",
"viewDesc": "View Desc",
"viewType": "Dashboard",
"workspaceId": "9999999999999",
"involvedViews": [
{
"viewId": "22222222222222",
"viewName": "View1",
"viewType": "Chart View"
},
{
"viewId": "33333333333333",
"viewName": "View2",
"viewType": "Query Table"
}
]
}
}
}
}
This API returns metadata of the given view identified by the URI.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | VIEWMETADATA | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Possible Error Codes In View Metadata
Get Workspace Name
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBID = 1148746000003334001;
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void getdbname(IReportClient rc)
{
string uri = rc.GetURI(EMAIL);
string result = rc.GetDatabaseName(uri, DBID, null);
Console.WriteLine(result);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.getdbname(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com
.com"
authtoken = "************"
dbid = "1148746000000004001"
)
func getdatabasename() {
url := reportclient.GetUserUri(email)
databasename , err := reportclient.GetDatabaseName(url, dbid)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(databasename)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
getdatabasename()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String authtoken = "************";
long dbid = 1148746002350004001L;
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void getdbname() throws Exception
{
String uri = rc.getURI(email);
String result = rc.getDatabaseName(uri,dbid);
System.out.println(result);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.getdbname();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getUserURI($EMAIL_ID);
$db_id = 1148216975034504001;
$database_name = $report_client_request->getDatabaseName($uri, $db_id);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com
.com"
AUTHTOKEN="************"
DBID="1148746001230004001"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def getdatabasename(self,rc):
uri = rc.getUserURI(self.LOGINEMAILID)
result = rc.getDatabaseName(uri,self.DBID)
print result
obj = Sample()
obj.getdatabasename(obj.rc)
curl -d "ZOHO_ACTION=GETDATABASENAME&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=************&
DBID=1148746213000004001"
https://<hostname>:<webclientport>/api/abc@zylker.com
Sample Response XML Format:
<response uri="/api/abc@zylker.com" action="GETDATABASENAME">
<dbname>Employee</dbname>
</response>
Sample Response JSON Format:
{
"response":
{
"uri": "\/api\/abc@zylker.com",
"action": "GETDATABASENAME",
"result":
{
"dbname": "Employee"
}
}
}
This API returns the name of a workspace in Analytics Plus given its Workspace ID as input. Workspace IDs are unique identifiers that is associated with each workspace created in Analytics Plus. The administrator and all users to whom this workspace was shared can use this API.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | GETDATABASENAME | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
DBID (mandatory) |
A Long number like 9999999999999 | The DBID of the Analytics Plus Reporting Workspace which can be taken from workspace URL |
POSSIBLE ERROR CODES IN GET WORKSPACE NAME
7103, 7104, 8504, 8506, 8516, 8533
Get Workspace Id
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=GETDATABASEID&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=************
&ZOHO_DATABASE_NAME=Workspace_Name"
https://<hostname>:<webclientport>/api/EmailAddress
Sample Response XML Format:
<response uri="/api/EmailAddress" action="GETDATABASEID">
<result>
<dbid>99999999999999</dbid>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/EmailAddress",
"action":"GETDATABASEID",
"result":
{
"dbid":"99999999999999"
}
}
}
This API returns the ID of a workspace in Analytics Plus given its Workspace Name as input.
Request URI
https://<hostname>:<webclientport>/api/OwnerEmailAddress
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | GETDATABASEID | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0 |
ACTION SPECIFIC PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_DATABASE_NAME (mandatory) |
<workspacename> |
The Name of the Analytics Plus Online Reporting workspace which can be taken from workspace URL. |
Possible Error Codes In GET WORKSPACE NAME
Is Workspace Exist
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void isdbexist(IReportClient rc)
{
try
{
string uri = rc.GetURI(EMAIL);
bool result = rc.IsDbExist(uri, "Employee", null);
Console.WriteLine(result);
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.isdbexist(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com
.com"
authtoken = "************"
)
func isdbexist(){
url := reportclient.GetUserUri(email)
databasename := "Employee"
params := map[string]string{}
result , err := reportclient.IsDbExist(url, databasename, params)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(result)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
isdbexist()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String authtoken = "************";
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void isdbexist() throws Exception
{
String uri = rc.getURI(email);
boolean result = rc.isDbExist(uri, "Dummy", null);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.isdbexist();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $request->getUserURI($EMAIL_ID);
$dbname = "<db-name>";
$result = $request->isDbExist($uri, $dbname);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com
.com"
AUTHTOKEN="************"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def isdbexist(self,rc):
uri = rc.getUserURI(self.LOGINEMAILID)
dbname = "Dummy"
result = rc.isDbExist(uri,dbname)
print result
obj = Sample()
obj.isdbexist(obj.rc)
curl -d "ZOHO_ACTION=ISDBEXIST&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=************&ZOHO_DB_NAME=dummy
https://<hostname>:<webclientport>/api/abc@zylker.com
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/user@zylker.com
.com" action="ISDBEXIST">
<result>
<isdbexist>true</isdbexist>
</result>
</response>
Sample Response JSON Format:
{
"response": {
"uri": "/api/user@zylker.com
.com",
"action": "ISDBEXIST",
"result": {
"isdbexist": "true"
}
}
}
The Isdbexist API is used to check wheather the workspace is exist or not in Analytics Plus Account. The Server Administrator and the Workspace Owner alone can use this API to get check workspace in the Analytics Plus account.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | ISDBEXIST | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_DB_NAME (mandatory) |
<workspacename> |
This parameter holds the name of the workspace |
POSSIBLE ERROR CODES IN IS WORKSPACE EXIST
Get Workspace Key
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void copyDatabaseKey(IReportClient RepClient)
{
string dbURI = RepClient.GetURI(EMAIL, DBNAME);
string key = RepClient.GetCopyDBKey(dbURI, null);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.copyDatabaseKey(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com
.com"
dbname = "Employee"
authtoken = "************"
dbkey = "d6e443b4dc3cas421fcc54ff81cd3ad3"
)
func getcopydbkey() {
url := reportclient.GetDbUri(email, dbname)
dbkey , err := reportclient.GetCopyDbKey(url)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(dbkey)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
getcopydbkey()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void copydatabasekey() throws Exception
{
String uri = rc.getURI(email,dbname);
String key = rc.getCopyDBKey(uri, null);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.copydatabasekey();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $request->getDbURI($EMAIL_ID, $DB_NAME);
$database_key = $request->getCopyDbKey($uri);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com
.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def CopyDatabaseKey(self,rc):
uri = rc.getDBURI(self.LOGINEMAILID,self.DATABASENAME)
result = rc.getCopyDBKey(self,uri)
obj = Sample()
obj.CopyDatabaseKey(obj.rc)
curl -d "ZOHO_ACTION=GETCOPYDBKEY&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46be2ewcd4cfa32a592f40101
https://<hostname>:<webclientport>/api/abc@zylker.com/Employee
Sample Response XML Format:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/user@zylker.com
.com/Auto-Copy" action="GETCOPYDBKEY">
<result>
<copydbkey>42005e8f0a6804c8adfdffeda24d4f92</copydbkey>
</result>
</response>
Sample Response JSON Format:
{
"response": {
"uri": "/api/user@zylker.com
.com/Auto-Copy",
"action": "GETCOPYDBKEY",
"result": {
"copydbkey": "42005e8f0a6804aadawf3fada24d4f92"
}
}
}
The Copy Workspace Key API is used to copy the workspace key.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | GETCOPYDBKEY | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
POSSIBLE ERROR CODES IN GET WORKSPACE KEY
7102, 7103, 8504, 8506, 8516, 8533
Get View Name
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
OBJID = 1148746037400004006;
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void getviewname(IReportClient rc)
{
string uri = rc.GetURI(EMAIL);
string result = rc.GetViewName(uri, OBJID, null);
Console.WriteLine(result);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.getviewname(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com
.com"
authtoken = "************"
objid = "1148746000000004006"
)
func getviewname() {
url := reportclient.GetUserUri(email)
viewname , err := reportclient.GetViewname(url, objid)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(viewname)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
getviewname()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String authtoken = "************";
long objid = 1148746000033204006L;
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void getviewname() throws Exception
{
String uri = rc.getURI(email,dbname);
String result = rc.getViewName(uri,objid,config);
System.out.println(result);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.getviewname();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$AUTHTOKEN = "************";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getUserURI($EMAIL_ID);
$objid = 1148746000000001206;
$view_name = $report_client_request->getViewName($uri, $objid);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com
.com"
AUTHTOKEN="************"
ODBID="1148746001230004001"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def getviewname(self,rc):
uri = rc.getUserURI(self.LOGINEMAILID)
result = rc.getViewName(uri,self.OBJID)
print result
obj = Sample()
obj.getviewname(obj.rc)
curl -d "ZOHO_ACTION=GETVIEWNAME&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=f7d016b46be276as3cfa32a592f40101
&OBJID=1148746000000001206"
https://<hostname>:<webclientport>/api/abc@zylker.com
Sample Response XML Format:
<response uri="/api/abc@zylker.com" action="GETVIEWNAME">
<viewname>Employee Details</viewname>
</response>
Sample Response JSON Format:
{
"response":
{
"uri": "\/api\/abc@zylker.com",
"action": "GETVIEWNAME",
"result":
{
"viewname": "Employee Details"
}
}
}
This API returns the name of a view in Analytics Plus given its View ID as input. View ID's are unique identifiers that is associated with each view (tables, reports and dashboards) that is created in Analytics Plus.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | GETVIEWNAME | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Action Specific Parameters:
Parameter Name | Possible Values | Description |
---|---|---|
OBJID (mandatory) |
A Long number like 9999999999999 | The ID of the view which can be taken from the corresponding view URL. |
POSSIBLE ERROR CODES IN GET VIEW NAME
7104, 7106, 8504, 8506, 8516, 8533
Is View Exist
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=ISVIEWEXIST&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&
ZOHO_API_VERSION=1.0&ZOHO_VIEW_NAME=View Name&authtoken=************"
https://<hostname>:<webclientport>/api/EmailAddress/WorkspaceName
Sample Response XML Format:
<response uri="/api/EmailAddress/WorkspaceName" action="ISVIEWEXIST">
<result>
<isviewexist>true</isviewexist>
</result>
</response>
Sample Response JSON Format:
{
"response": {
"uri": "\/api\/EmailAddress\/WorkspaceName",
"action": "ISVIEWEXIST",
"result": {
"isviewexist": "true"
}
}
}
The Is View Exist API is used to check whether the View is exists or not in the paticular workspace of Analytics Plus Account.
Request URI
https://<hostname>:<webclientport>/api/OwnerEmailAddress/WorkspaceName
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | ISVIEWEXIST | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
ACTION SPECIFIC PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_VIEW_NAME (mandatory) |
<viewname> |
This parameter holds the name of the View. |
Possible Error Codes In Is View Exist
Is Column Exist
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=ISCOLUMNEXIST&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&
ZOHO_API_VERSION=1.0&ZOHO_COLUMN_NAME=Column_Name&authtoken=************"
https://<hostname>:<webclientport>/api/EmailAddress/WorkspaceName/TableName
Sample Response XML Format:
<response uri="/api/EmailAddress/WorkspaceName/TableName" action="ISCOLUMNEXIST">
<result>
<iscolumnexist>true</iscolumnexist>
</result>
</response>
Sample Response JSON Format:
{
"response": {
"uri": "\/api\/EmailAddress\/WorkspaceName\/TableName",
"action": "ISCOLUMNEXIST",
"result": {
"iscolumnexist": "true"
}
}
}
The Is Column Exist API is used to check whether the Column exists or not in the paticular table of workspace on Analytics Plus Account.
Request URI
https://<hostname>:<webclientport>/api/OwnerEmailAddress/WorkspaceName/TableName
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | ISCOLUMNEXIST | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
ACTION SPECIFIC PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_COLUMN_NAME (mandatory) |
<columnname> |
This parameter holds the name of the Column. |
Possible Error Codes In Is Column Exist
Get Info
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
TBNAME = "EmployeeTB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void getinfo(IReportClient rc)
{
string uri = rc.GetURI(EMAIL, DBNAME, TBNAME);
var result = rc.GetInfo(uri, null);
foreach (KeyValuePair<string, long> kvp in result)
{
Console.WriteLine(kvp.Key + " " + kvp.Value);
}
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.getinfo(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com
.com"
dbname = "Employee"
tbname = "sample"
authtoken = "************"
)
func getinfo() {
url := reportclient.GetUri(email, dbname, tbname)
info , err := reportclient.GetInfo(url)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println(info)
}
}
func main() {
reportclient.SetAuthToken(authtoken)
getinfo()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String tbname = "EmployeeTB";
String authtoken = "************";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<webclientport>/iam");
rc.setReportServerURL("https://<hostname>:<webclientport>");
public void getinfo() throws Exception
{
String uri = rc.getURI(email,dbname,tbname);
Map result = rc.getInfo(uri,config);
System.out.println(result);
}
public static void main(String[] args) throws Exception
{
Sample obj = new Sample();
obj.getinfo();
}
}
<?php
require 'ReportClient.php';
$EMAIL_ID = "abc@zylker.com";
$DB_NAME = "EmployeeDB";
$TABLE_NAME = "EmployeeTB";
$report_client_request = new ReportClient($AUTHTOKEN);
$uri = $report_client_request->getURI($EMAIL_ID, $DB_NAME, $TABLE_NAME);
$report_info = $report_client_request->getInfo($uri);
?>
from __future__ import with_statement
from ReportClient import ReportClient
import sys
class Sample:
LOGINEMAILID="abc@zylker.com
.com"
AUTHTOKEN="************"
DATABASENAME="Employee"
TABLENAME="Employee"
rc = None
rc = ReportClient(self.AUTHTOKEN)
def getinfo(self,rc):
uri = rc.getURI(self.LOGINEMAILID,self.DATABASENAME,self.TABLENAME)
result = rc.getInfo(uri)
print result
obj = Sample()
obj.getinfo(obj.rc)
curl -d "ZOHO_ACTION=GETINFO&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=************"
https://<hostname>:<webclientport>/api/abc@zylker.com/Employee/EmployeeDetails
Sample Response XML Format:
<response uri="/api/abc@zylker.com/Employee/EmployeeDetails" action="GETINFO">
<objid>99999999999999</objid>
<dbid>88888888888888</dbid>
</response>
Sample Response JSON Format:
{
"response":
{
"uri": "\/api\/abc@zylker.com\/Employee\/EmployeeDetails",
"action": "GETINFO",
"result":
{
"objid": "99999999999999",
"dbid": "88888888888888"
}
}
}
This API returns the Workspace ID (DBID) and View ID (OBJID) of the corresponding Workspace and View Name provided as input for the API.
Request URI
https://<hostname>:<webclientport>/api/<analyticsplusemailaddress>/<Workspacename>/<Tablename>
Common Parameters
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | GETINFO | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
POSSIBLE ERROR CODES IN GET INFO
7102, 7103, 7104, 8504, 8506, 8516, 8533
Get View Info
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=GETVIEWINFO&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=************
&ZOHO_VIEW_ID=9999999999999999"
https://<hostname>:<webclientport>/api/EmailAddress/WorkspaceName
Sample Response XML Format:
<response uri="/api/EmailAddress/WorkspaceName" action="GETVIEWINFO">
<result>
<dbid>888888888888888</dbid>
<viewname>Employee Details</viewname>
<viewdesc>Description</viewdesc>
<viewtype>0</viewtype>
</result>
</response>
Sample Response JSON Format:
{
"response":
{
"uri":"\/api\/EmailAddress\/WorkspaceName",
"action":"GETVIEWINFO",
"result":
{
"dbId":"888888888888888",
"viewName":"Employee Details",
"viewDesc":"Description",
"viewType":"0"
}
}
}
This API returns the basic information of a view in Analytics Plus given its View ID as input. View ID’s are unique identifiers that is associated with each view (tables, reports and dashboards) that is created in Analytics Plus.
Request URI
https://<hostname>:<webclientport>/api/OwnerEmailAddress/WorkspaceName
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | GETVIEWINFO | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0 |
ACTION SPECIFIC PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_VIEW_ID (mandatory) |
A Long number like 9999999999999 | The ID of the view which can be taken from the corresponding view URL. |
Possible Error Codes In Get View Info
Recent Items
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=RECENTITEMS&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=************"
https://<hostname>:<webclientport>/api/EmailAddress
Sample Response XML Format:
<response uri="/api/EmailAddress" action="RECENTITEMS">
<result>
<recentviews>
<view id="9999999999999999999" type="0" name="Sales data" dbid="7777777777777777777" dbname="Sales" modtime="1551706430418"> </view>
<view id="8888888888888888888" type="2" name="Sales Info" dbid="7777777777777777777" dbname="Sales" modtime="1551700629399"> </view>
</recentviews>
</result>
</response>
Sample Response JSON Format:
{
"response": {
"uri": "\/api\/EmailAddress",
"action": "RECENTITEMS",
"result": {
"recentviews": [{
"id": "9999999999999999999",
"type": 0,
"name": "Sales data",
"dbId": "7777777777777777777",
"dbName": "Sales",
"modTime": 1551706430418
}, {
"id": "8888888888888888888",
"type": 2,
"name": "Sales Info",
"dbId": "7777777777777777777",
"dbName": "Sales",
"modTime": 1551700629399
}]
}
}
}
Recent Items API is used to get the details on recently accessed views on the Analytics Plus account.
Request URI
https://<hostname>:<webclientport>/api/EmailAddress
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | RECENTITEMS | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
Possible Error Codes In Recent Items
Get Dashboards
Download client libraries :
C# |GO |JAVA |PHP |PYTHON
Sample Request:
curl -d "ZOHO_ACTION=GETDASHBOARDS&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML
&ZOHO_API_VERSION=1.0&authtoken=************"
https://<hostname>:<webclientport>/api/EmailAddress
Sample Response XML Format:
<response uri="/api/EmailAddress" action="GETDASHBOARDS">
<result>
<dashboards>
<dashboard id="7777777777777777777" name="Employee Dashboards" desc="Description" dbid="6666666666666666666" dbname="Employee" ownerzuid="111111111" createdTime="1533642808216" modifiedTime="1541249119000"> </dashboard>
<dashboard id="8888888888888888888" name="Sales Analysis Dashboards" desc="A complete analysis on Sales" dbid="9999999999999999999" dbname="Sales" ownerzuid="111111111" createdTime="1548914487999" modifiedTime="1548914487999"> </dashboard>
</dashboards>
</result>
</response>
Sample Response JSON Format:
{
"response": {
"uri": "\/api\/EmailAddress",
"action": "GETDASHBOARDS",
"result": {
"dashboards": [{
"id": "7777777777777777777",
"name": "Employee Dashboards",
"desc": "Description",
"dbId": "6666666666666666666",
"dbName": "Employee",
"ownerZuid": 111111111,
"createdTime": 1533642808216,
"modifiedTime": 1541249119000
}, {
"id": "8888888888888888888",
"name": "Sales Analysis Dashboards",
"desc": "A complete analysis on Sales",
"dbId": "9999999999999999999",
"dbName": "Sales",
"ownerZuid": 111111111,
"createdTime": 1548914487999,
"modifiedTime": 1548914487999
}]
}
}
}
Get Dashboards API is used to fetch all the owned/shared dashboards present in the Analytics Plus account.
Request URI
https://<hostname>:<webclientport>/api/EmailAddress
COMMON PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
ZOHO_ACTION | GETDASHBOARDS | This parameter specifies the action to be performed by the API request. |
ZOHO_OUTPUT_FORMAT | XML/JSON | This parameter specifies the output format for the response. |
ZOHO_ERROR_FORMAT | XML/JSON | Specifies the output format for the response in case an error occurs when trying to process the request. |
authtoken | user authtoken | Auth Token is an unique token that authenticates the user. |
ZOHO_API_VERSION | 1.0 | The API version of Analytics Plus based on which the application(/service) has been written. This parameter allows the Analytics Plus to handle applications based on the older versions.The current API version is 1.0. |
ACTION SPECIFIC PARAMETERS
Parameter Name | Possible Values | Description |
---|---|---|
LIST_TYPE (optional) |
OWNED/SHARED/ALL |
By default it will be ALL.OWNED - Gets the list of dashboards created by you on your Analytics Plus account.SHARED - Gets the list of dashboards shared to your Analytics Plus account.ALL - Gets the list of both owned and shared dashboards present in your Analytics Plus account. |
JSON Format
Parameter | Possible Values | Description |
---|---|---|
ZOHO_VALID_JSON (optional) |
true / false | By default it will be false. True - Returns a valid JSON data (with JSON escaping) False - Returns a JSON data with JS escaping. |
Possible Error Codes In Get Dashboards
Error Codes in Metadata API
This section explains about the error response sent from the Analytics Plus server on failure of Metadata APIs. You can use this for appropriate error handling.
Error Handling
Sample error XML Format:
<response uri="/api/abc@zylker.com/Employee" action="DATABASEMETADATA">
<error>
<code>7103</code>
<message>
Workspace not found! Please check whether the workspace exists
</message>
</error>
</response>
Sample error JSON Format:
{
"response":
{
"uri": "\/api\/abc@zylker.com\/Employee",
"action": "DATABASEMETADATA",
"error":
{
"code":7103,
"message": "Workspace not found! Please check whether the workspace exists"
}
}
}
Error Codes
Error Code | Reason | Solution |
---|---|---|
7102 | The workspace name specified in the API request URL is empty. | Check the API Request URL and provide the Workspace Name. |
7103 | The workspace name specified in the API request URL does not exist. | Check the workspace name in the request URL and provide a valid workspace name. |
7104 | The view name specified in the API request URL does not exist. | Check the view name in the request URL and provide a valid view name. |
7106 | View i not present in the workspace. | Provide a valid OBJID. |
8504 | The required parameter is not proper or has not been sent. | Send the parameter with valid data. |
8506 | The mentioned parameter has been sent more than the required count. | Check and remove that extra parameter mentioned in the response. |
8516 | Invalid value passed in the mentioned parameter. | Provide the valid data to the mentioned parameter. |
8533 | The user email address provided in the URL is an improper format | Provide a valid email address. |
In case of any error other than the above said, mail the API request URL parameters and error response details to analyticsplus-support@manageengine.com . Analytics Plus will get back to you with the best possible solution.
Sharing and Collaboration API
This section provides APIs for sharing & collaboration. You can share views (reports & dashboards) created in Analytics Plus with fine grained permission control to users through APIs. You can also manage sharing as well as remove sharing through APIs.
Share View(s)
Download client libraries : C# | GO | JAVA | PHP | PYTHON
Sample Request:
using ZReports;
namespace Test
{
AUTHTOKEN = "************";
EMAIL = "user@zylker.com";
DBNAME = "EmployeeDB";
class Program
{
public IReportClient getClient()
{
IReportClient RepClient = new ReportClient(AUTHTOKEN);
return RepClient;
}
public void shareview(IReportClient rc)
{
string uri = rc.GetURI(EMAIL, DBNAME);
string emails = "user1@zylker.com";
string views = "Employee";
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("ZOHO_READ", "true");
rc.ShareView(uri, emails, views, dic);
}
static void Main(string[] args)
{
Program obj = new Program();
IReportClient rc = obj.getClient();
obj.shareview(rc);
}
}
}
package main
import (
"fmt"
"zoho/pkg/reportclient"
)
var(
email = "user@zylker.com
.com"
dbname = "Employee"
authtoken = "************"
)
func shareview() {
url := reportclient.GetDbUri(email, dbname)
emailids := "user1@zylker.com"
views := "view1"
params := map[string]string{}
params["ZOHO_READ"] = "true"
err := reportclient.ShareView(url, emailids, views, params)
if(err != nil){
fmt.Println(err.ErrorMessage)
fmt.Println(err.ErrorCode)
fmt.Println(err.Action)
fmt.Println(err.HttpStatusCode)
}else{
fmt.Println("Success")
}
}
func main() {
reportclient.SetAuthToken(authtoken)
shareview()
}
import com.adventnet.zoho.client.report.*;
public class Sample
{
String email = "user@zylker.com";
String dbname = "EmployeeDB";
String authtoken = "************";
String emails = "abc@zylker.com";
String views = "new";
Map config = new HashMap();
private ReportClient rc = new ReportClient(authtoken);
rc.setIamServerURL("https://<hostname>:<web client port>/iam");
rc.setReportServerURL("https://<hostname>:<webclient port>");
public void shareview() throws Exception
{
String uri = rc.getURI(email,dbname);
config.put("ZOHO_READ", true);
rc.shareView(