Update Rows
You can also update rows in the specified table.
REQUEST URI
https://<ZohoAnalytics_Server_URI>/restapi/v2/workspaces/<workspace-id>/views/<view-id>/rows
Put
oauthscope: ZohoAnalytics.data.update
QUERY PARAMETERS
| Description |
---|---|
CONFIG* | JSONObject Config parameter specifications are available in the below section. |
FIELDS FOR CONFIG JSON
Key | Description |
---|---|
columns* | JSONObject JSONObject with column name as key and data as value. Sample: {"columnName1":"value1","columnName2":"value2"} |
criteria | String If criteria is sent, then the rows matching the criteria alone are updated. Sample: {"criteria":"\"SalesTable\".\"Region\"='East'"} Refer this |
updateAllRows | Boolean To update all the rows in the table. |
addIfNotExist | Boolean It controls whether to add a new row with the provided details if the provided criteria doesn't matches with the existing data. |
dateFormat | String Specify this in-case any date field is being added and its format cannot be auto recognized. Sample: dd-MMM-YYYY Refer this |
columnDateFormat | JSONObject Specify this in case multiple date fields are being imported having different format each. Column name as key and date format as value. Sample: {"columnName1":"dd-MMM-YYYY","columnName2":"MM/dd/yyyy"} |
POSSIBLE ERROR CODES
Sample Request
Copiedcurl https://analyticsapi.zoho.com/restapi/v2/workspaces/<workspace-id>/views/<view-id>/rows?CONFIG=<encoded_json_value>
-X 'PUT'
-H 'ZANALYTICS-ORGID: <org-id>'
-H 'Authorization: Zoho-oauthtoken <access_token>'
Copiedusing System;
using System.Collections.Generic;
using ZohoAnalytics;
using System.Text.Json;
namespace ZohoAnalyticsTest
{
class Program
{
long orgId = 55522777;
long workspaceId = 35130000001055707;
long viewId = 35730000007354002;
public void UpdateRow(IAnalyticsClient ac)
{
Dictionary<string, string> columnValues = new Dictionary<string, string>();
columnValues.Add("Product", "Test");
string criteria = "\"Region\"='East'";
IViewAPI view = ac.GetViewInstance(orgId, workspaceId, viewId);
JsonElement response = view.UpdateRow(columnValues, criteria, null);
Console.WriteLine(response);
}
static void Main(string[] args)
{
string clientId = "1000.xxxxxxx";
string clientSecret = "xxxxxxx";
string refreshToken = "1000.xxxxxxx.xxxxxxx";
try
{
IAnalyticsClient ac = new AnalyticsClient(clientId, clientSecret, refreshToken);
Program obj = new Program();
obj.UpdateRow(ac);
}
catch (ServerException ex)
{
Console.WriteLine("Server exception - " + ex.GetErrorMessage());
}
catch (Exception ex)
{
Console.WriteLine("Other exception - " + ex.Message);
}
}
}
}
Copiedpackage main
import (
"fmt"
ZAnalytics "zoho/pkg/analyticsclient"
)
var(
clientId = "1000.xxxxxxx"
clientSecret = "xxxxxxx"
refreshToken = "1000.xxxxxxx.xxxxxxx"
orgId = "55522777"
workspaceId = "35130000001055707"
viewId = "35730000007354002"
)
func UpdateRow(ac ZAnalytics.Client) {
config := map[string]interface{}{}
columnvalues := map[string]interface{}{}
columnvalues["Region"] = "Test"
columnvalues["Product Category"] = "Updated"
columnvalues["Product"] = "Updated"
criteria := "\"Region\"='Test'"
view := ZAnalytics.GetViewInstance(&ac, orgId, workspaceId, viewId)
result , err := view.UpdateRow(columnvalues, criteria, config)
if(err != nil){
fmt.Println("Error - " + err.ErrorMessage)
}else{
fmt.Println(result)
}
}
func main() {
ac := ZAnalytics.GetAnalyticsClient(clientId, clientSecret, refreshToken)
UpdateRow(ac)
}
Copiedimport com.zoho.analytics.client.*;
import org.json.*;
public class Test {
private long orgId = 55522777l;
private long workspaceId = 35130000001055707l;
private long viewId = 35730000007354002l;
public static void main(String args[]){
String clientId = "1000.xxxxxxx";
String clientSecret = "xxxxxxx";
String refreshToken = "1000.xxxxxxx.xxxxxxx";
Test tObj = new Test();
AnalyticsClient ac = new AnalyticsClient(clientId, clientSecret, refreshToken);
try {
tObj.updateRows(ac);
}
catch (ServerException ex) {
System.out.println("Server exception - ErrorCode : " + ex.getErrorCode() + ", ErrorMessage : " + ex.getErrorMessage());
}
catch (ParseException ex) {
System.out.println("Parser exception - ErrorMessage : " + ex.getResponseMessage());
}
catch (Exception ex) {
System.out.println("Other exception - ");
ex.printStackTrace();
}
}
public void updateRows(AnalyticsClient ac) throws Exception {
JSONObject columnValues = new JSONObject();
columnValues.put("Region", "UpdatedValue");
String criteria = "\"Region\"='East'";
ViewAPI view = ac.getViewInstance(orgId, workspaceId, viewId);
JSONObject result = view.updateRow(columnValues, criteria, null);
System.out.println(result);
}
}
Copied<?php
require 'AnalyticsClient.php';
class Test
{
public $ac = NULL;
public $client_id = "1000.xxxxxxx";
public $client_secret = "xxxxxxx";
public $refresh_token = "1000.xxxxxxx.xxxxxxx";
public $org_id = "55522777";
public $workspace_id = "35130000001055707";
public $view_id = "35730000007354002";
function __construct() {
$this->ac = new AnalyticsClient($this->client_id, $this->client_secret, $this->refresh_token);
}
function updateRow() {
$column_values = array();
$column_values["name"] = "Vincent";
$criteria = "\"age\"='30'";
$view = $this->ac->getViewInstance($this->org_id, $this->workspace_id, $this->view_id);
$response = $view->updateRow($column_values, $criteria);
print_r($response);
}
}
$test_obj = new Test();
try {
$test_obj->updateRow();
}
catch(ServerException $se) {
echo "Server exception : " . $se->getErrorMessage() . "\n";
}
catch(IOException $ioe) {
echo "IO exception : " . $ioe->getErrorMessage() . "\n";
}
catch(ParseException $pe) {
echo "Parser exception : " . $pe->getErrorMessage() . "\n";
}
catch(Exception $e) {
echo "Exception : " . $e->getErrorMessage() . "\n";
}
?>
Copiedfrom __future__ import with_statement
from AnalyticsClient import AnalyticsClient
import sys
import json
class Config:
CLIENTID = "1000.xxxxxxx";
CLIENTSECRET = "xxxxxxx";
REFRESHTOKEN = "1000.xxxxxxx.xxxxxxx";
ORGID = "55522777";
WORKSPACEID = "35130000001055707";
VIEWID = "35730000007354002";
class sample:
ac = AnalyticsClient(Config.CLIENTID, Config.CLIENTSECRET, Config.REFRESHTOKEN)
def update_row(self, ac):
column_values = {}
column_values["Region"] = "Updated East"
column_values["Product Category"] = "Updated Sample"
column_values["Product"] = "Updated Test"
criteria = "\"Region\"='East'"
view = ac.get_view_instance(Config.ORGID, Config.WORKSPACEID, Config.VIEWID)
result = view.update_row(column_values, criteria)
print(result)
try:
obj = sample()
obj.update_row(obj.ac);
except Exception as e:
print(str(e))
Copiedvar analyticsClient = require('./AnalyticsClient');
var clientId = '1000.xxxxxxx';
var clientSecret = 'xxxxxxx';
var refreshtoken = '1000.xxxxxxx.xxxxxxx';
var orgId = '55522777';
var workspaceId = '35130000001055707';
var viewId = '35730000007354002';
var ac = new analyticsClient(clientId, clientSecret, refreshtoken);
var columnValues = {};
columnValues['Date'] = '14/01/2021';
columnValues['Region'] = 'East';
columnValues["Product Category"] = 'Furniture';
var config = {};
var criteria = "\"Region\"='East'";
var view = ac.getViewInstance(orgId, workspaceId, viewId);
view.updateRow(columnValues, criteria, config).then((response) => {
console.log(response);
}).catch((error) => {
console.log('errorCode : '+error.errorCode);
console.log('errorMessage : '+error.errorMessage);
});
CopiedorgId = "55522777";
workspaceId = "35130000001055707";
viewId = "35730000007354002";
headersMap = Map();
headersMap.put("ZANALYTICS-ORGID",orgId);
columnsMap = Map();
columnsMap.put("Region","West");
columnsMap.put("Product","Clock");
config = Map();
config.put("columns",columnsMap);
criteria = "\"Region\"='East'";
config.put("criteria",criteria);
parameters = "CONFIG=" + config.toString();
response = invokeurl
[
url :"https://analyticsapi.zoho.com/restapi/v2/workspaces/" + workspaceId + "/views/" + viewId + "/rows" + "?" + parameters
type :PUT
headers:headersMap
connection:"analytics_oauth_connection"
];
info response;
Sample value for CONFIG parameter:
Copied{
"columns":{
"<column-name1>":"<column-value1>",
"<column-name2>":"<column-value2>"
},
"criteria":"\"<table-name>\".\"<column-name>\"='value'"
}
Download client libraries : C# | GO | JAVA | PHP | PYTHON | NodeJS
Sample Response
CopiedHTTP/1.1 200 OK
Content-Type:application/json;charset=UTF-8
{
"status": "success",
"summary": "Update row",
"data": {
"updatedColumns": {
"region": "East",
"Sales": "1000"
},
"updatedRows": 27,
"invalidColumns": {}
}
}