Update Email Schedule

Update configurations of the specified email schedule in the workspace.

REQUEST URI

https://<ZohoAnalytics_Server_URI>/restapi/v2/workspaces/<workspace-id>/emailschedules/<schedule-id>

Put

oauthscopeZohoAnalytics.modeling.update

QUERY PARAMETERS

 

Parameter Name
Description
CONFIG*JSONObject

Config parameter specifications are available in the below section.

FIELDS FOR CONFIG JSON

KeyDescription
scheduleName*String

Name of the schedule.
scheduleDetails*JSONObject

Detailed information about the schedule, such as time, frequency, etc.
Structure of scheduleDetails attribute
calendarFrequency*String

Defines the frequency of calendar events. Allowed values are daily, weekly, monthly and yearly.
hour*Integer

Specifies the hour of the day (0-23) when the email schedule should be triggered.
minute*Integer

Specifies the minute within the hour (at five-minute intervals only, ranging from 0 to 59) at which the email schedule will be triggered. Allowed values include 0, 5, 10, 15, ..., 50, and 55.
weekDayInteger

Specifies a particular day of the week when the email schedule should be triggered. Allowed values are 1 to 7, where 1 represents Sunday and 7 represents Saturday.
weekDaysJSONArray

Specifies the days of the week when the email schedule should be triggered. Allowed values are 1 to 7, where 1 represents Sunday and 7 represents Saturday.
weekNumberInteger

Specifies the week of the month when the email schedule should be triggered. Allowed values are 1 to 5.
monthDayInteger

Specifies a particular day of the month when the email schedule should be triggered. Allowed values are 1 to 31 and 99 to specify the last day of the month. The value is a single integer.
monthDaysJSONArray

Specifies the days of the month when the email schedule should be triggered. Allowed values are 1 to 31 and 99 to specify the last day of the month.
monthsJSONArray

Specifies the months of the year when the email schedule should be triggered. Allowed values are 1 to 12.
emailIdsJSONArray

The email address of the users to whom the views need to be shared.
groupIdsJSONArray

IDs of the groups available in the workspace. These IDs ensure that the views are shared with all participants belonging to the specified groups.
cc

JSONArray

Contains both individual email addresses and group IDs for carbon copy recipients.

Sample: {"emailIds":["emailId1","emailId2"], "groupIds":["groupId1","groupId2"]}

subjectString

Subject of the email.
messageString

Message content of the email.

POSSIBLE ERROR CODES

710473017387, 7812, 8000, 8119, 8083, 8518, 8535

Sample Request:

Copiedcurl https://analyticsapi.zoho.com/restapi/v2/workspaces/<workspace-id>/emailschedules/<schedule-id> --data-urlencode 'CONFIG={"scheduleDetails":{"calendarFrequency":"daily","hour":"10","minute":"30"},"subject":"Daily Sales Overview"}' 
-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;

        public void UpdateEmailSchedule(IAnalyticsClient ac)
        {
            long scheduleId = 115674600000150007;

            Dictionary<string, object> scheduleDetails = new Dictionary<string, object>();
            scheduleDetails.Add("calendarFrequency", "Daily");
            scheduleDetails.Add("hour", 8);
            scheduleDetails.Add("minute", 30);

            Dictionary<string, object> config = new Dictionary<string, object>();
            config.Add("subject", "Daily Sales Overview");
            config.Add("scheduleDetails", scheduleDetails);

            IWorkspaceAPI ws = ac.GetWorkspaceInstance(orgId, workspaceId);
            long newScheduleId = ws.UpdateEmailSchedule(scheduleId, config);
            Console.WriteLine(newScheduleId);
        }

        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.UpdateEmailSchedule(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"
)

func UpdateEmailSchedule(ac ZAnalytics.Client) {
    scheduleid := "115674600000150007"

    scheduledetails := map[string]interface{}{
        "calendarFrequency": "Daily",
        "hour":              8,
        "minute":            30,
    }

    config := map[string]interface{}{
        "subject":          "Daily Sales Overview",
        "scheduleDetails": scheduledetails,
    }

    workspace := ZAnalytics.GetWorkspaceInstance(&ac, orgId, workspaceId)
    result, exception := workspace.UpdateEmailSchedule(scheduleid, config)
    if(exception != nil){
        fmt.Println(exception.ErrorMessage)
    }else{
        fmt.Println(result)
    }
}

func main() {

    ac := ZAnalytics.GetAnalyticsClient(clientId, clientSecret, refreshToken)
    UpdateEmailSchedule(ac)

}
Copiedimport com.zoho.analytics.client.*;
import org.json.*;

public class Test {

    private long orgId = 55522777l;
    private long workspaceId = 35130000001055707l;

    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.updateEmailSchedule(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 updateEmailSchedule(AnalyticsClient ac) throws Exception {

        long scheduleId = 115674600000150007l;

        JSONObject scheduleDetails = new JSONObject();
        scheduleDetails.put("calendarFrequency", "Daily");
        scheduleDetails.put("hour", 8);
        scheduleDetails.put("minute", 30);

        JSONObject config = new JSONObject();
        config.put("subject", "Daily Sales Overview");
        config.put("scheduleDetails", scheduleDetails);


        WorkspaceAPI workspace = ac.getWorkspaceInstance(orgId, workspaceId);
        long result = workspace.updateEmailSchedule(scheduleId, config);
        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";

        function __construct() {
            $this->ac =  new AnalyticsClient($this->client_id, $this->client_secret, $this->refresh_token);
        }

        function updateEmailSchedule() {
            $schedule_id = 115674600000150007;

            $schedule_details = array(
                "calendarFrequency" => "Daily",
                "hour" => 8,
                "minute" => 30
            );

            $config = array(
                "subject" => "Daily Sales Overview",
                "scheduleDetails" => $schedule_details
            );

            $workspace = $this->ac->getWorkspaceInstance($this->org_id, $this->workspace_id);
            $newScheduleId = $workspace->updateEmailSchedule($schedule_id, $config);
            echo $newScheduleId;
        }
    }

    $test_obj = new Test();

    try {
        $test_obj->updateEmailSchedule();
    }
    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";

class sample:

    ac = AnalyticsClient(Config.CLIENTID, Config.CLIENTSECRET, Config.REFRESHTOKEN)

    def update_email_schedule(self, ac):
        schedule_id = "115674600000150007"

        schedule_details = {
            "calendarFrequency": "Daily",
            "hour": 8,
            "minute": 30
        }

        config = {
            "subject": "Daily Sales Overview",
            "scheduleDetails": schedule_details
        }

        workspace = ac.get_workspace_instance(Config.ORGID, Config.WORKSPACEID)
        new_schedule_id = workspace.update_email_schedule(schedule_id, config)
        print(new_schedule_id)

try:
    obj = sample()
    obj.update_email_schedule(obj.ac);

except Exception as e:
    print(str(e))
Copiedconst analyticsClient = require('./AnalyticsClient');

const clientId = '1000.xxxxxxx';
const clientSecret = 'xxxxxxx';
const refreshToken = '1000.xxxxxxx.xxxxxxx';
const orgId = '55522777';
const workspaceId = '35130000001055707';

const ac = new analyticsClient(clientId, clientSecret, refreshToken);
const workspace = ac.getWorkspaceInstance(orgId, workspaceId);

const scheduleId = '115674600000150007';
const scheduleDetails = {
    calendarFrequency: 'Daily',
    hour: 8,
    minute: 30
};
const config = {
    subject: 'Daily Sales Overview',
    scheduleDetails: scheduleDetails
};

workspace.updateEmailSchedule(scheduleId, config)
    .then((newScheduleId) => {
        console.log(newScheduleId);
    }).catch((error) => {
        console.log('errorCode: ' + error.errorCode);
        console.log('errorMessage: ' + error.errorMessage);
    });
CopiedorgId = "55522777";
workspaceId = "35130000001055707";
scheduleId = "35130000001077708";

headersMap = Map();
headersMap.put("ZANALYTICS-ORGID",orgId);


config = Map();

scheduleDetails = Map();
scheduleDetails.put("calendarFrequency","daily");
scheduleDetails.put("hour","08");
scheduleDetails.put("minute","20");
config.put("scheduleDetails",scheduleDetails);

paramsMap = Map();
paramsMap.put("CONFIG",config.toString());

response = invokeurl
[
  url :"https://analyticsapi.zoho.com/restapi/v2/workspaces/" + workspaceId + "/emailschedules/" + scheduleId
  type :PUT
  parameters:paramsMap
  headers:headersMap
  connection:"analytics_oauth_connection"
];

info response;

Download SDKs:  C# | GO | JAVA | PHP | PYTHON | NodeJS

Sample value for CONFIG parameter:

Copied{
    "scheduleDetails": {
        "calendarFrequency": "daily",
        "hour": "10",
        "minute": "30"
    },
    "subject": "Daily Sales Overview"
}

Sample Response:

CopiedHTTP/1.1 200 OK
Content-Type:application/json;charset=UTF-8

{
    "status": "success",
    "summary": "Update email schedule",
    "data": {
        "scheduleId": "1767024000010887001"
    }
}