Create Email Schedule
Create an email schedule in the specified workspace.
REQUEST URI
https://<ZohoAnalytics_Server_URI>/restapi/v2/workspaces/<workspace-id>/emailschedules
Post
oauthscope: ZohoAnalytics.modeling.create
QUERY PARAMETERS
| Description |
---|---|
CONFIG* | JSONObject Config parameter specifications are available in the below section. |
FIELDS FOR CONFIG JSON
Key | Description | |
---|---|---|
scheduleName* | String Name of the schedule. | |
viewIds* | JSONArray View ids which has to be shared. | |
exportType* | String Allowed Values: csv, xls, img, pdf, html | |
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. | |
weekDay | Integer 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. | |
weekDays | JSONArray 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. | |
weekNumber | Integer Specifies the week of the month when the email schedule should be triggered. Allowed values are 1 to 5. | |
monthDay | Integer 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. | |
monthDays | JSONArray 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. | |
months | JSONArray Specifies the months of the year when the email schedule should be triggered. Allowed values are 1 to 12. | |
emailIds | JSONArray The email address of the users to whom the views need to be shared. | |
groupIds | JSONArray 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 Sample: {"emailIds":["emailId1","emailId2"], "groupIds":["groupId1","groupId2"]} | |
applyShareCriteria | Boolean Default value - false. | |
applyDefaultUf | Boolean Default value - false. | |
subject | String Subject of the email. | |
message | String Message content of the email. |
POSSIBLE ERROR CODES
Sample Request:
Copiedcurl https://analyticsapi.zoho.com/restapi/v2/workspaces/<workspace-id>/emailschedules --data-urlencode 'CONFIG={"scheduleName":"Schedule1","viewIds":["5888000000394502","5888000000394502"],"emailIds":["user+1@zoho.com"],"scheduleDetails":{"calendarFrequency":"daily","hour":"08","minute":"30"},"exportType":"pdf","subject":"Daily Sales Report","message":"Check the sales data report"}'
-X 'POST'
-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 CreateEmailSchedule(IAnalyticsClient ac)
{
string scheduleName = "Schedule1";
string format = "CSV";
List<long> viewIds = new List<long>();
viewIds.Add(1148746000002578004);
viewIds.Add(1148746000002578002);
List<string> emailIds = new List<string>();
emailIds.Add("user_1@zoho.com");
Dictionary<string, object> scheduleDetails = new Dictionary<string, object>();
scheduleDetails.Add("calendarFrequency", "Daily");
scheduleDetails.Add("hour", 10);
scheduleDetails.Add("minute", 30);
//{"calendarFrequency":"Daily","hour":10, "minute":30}
Dictionary<string, object> config = new Dictionary<string, object>();
config.Add("subject", "Daily Sales Report");
IWorkspaceAPI ws = ac.GetWorkspaceInstance(orgId, workspaceId);
long scheduleId = ws.CreateEmailSchedule(scheduleName, viewIds, format, emailIds, scheduleDetails, config);
Console.WriteLine(scheduleId);
}
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.CreateEmailSchedule(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 CreateEmailSchedule(ac ZAnalytics.Client) {
schedulename := "Schedule1"
format := "CSV"
viewids := []int64{1148746000002578004, 1148746000002578002}
emailids := []string{"user_1@zoho.com"}
scheduledetails := map[string]interface{}{
"calendarFrequency": "Daily",
"hour": 10,
"minute": 30,
}
config := map[string]interface{}{
"subject": "Daily Sales Report",
}
workspace := ZAnalytics.GetWorkspaceInstance(&ac, orgId, workspaceId)
result, exception := workspace.CreateEmailSchedules(schedulename, viewids, format, emailids, scheduledetails, config)
if(exception != nil){
fmt.Println(exception.ErrorMessage)
}else{
fmt.Println(result)
}
}
func main() {
ac := ZAnalytics.GetAnalyticsClient(clientId, clientSecret, refreshToken)
CreateEmailSchedule(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.createEmailSchedule(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 createEmailSchedule(AnalyticsClient ac) throws Exception {
String scheduleName = "Schedule1";
String format = "CSV";
JSONArray viewIds = new JSONArray();
viewIds.put(1148746000002449002l);
JSONArray emailIds = new JSONArray();
emailIds.put("user+1@zoho.com");
emailIds.put("user+2@zoho.com");
JSONObject scheduleDetails = new JSONObject();
scheduleDetails.put("calendarFrequency", "Daily");
scheduleDetails.put("hour", 10);
scheduleDetails.put("minute", 30);
JSONObject config = new JSONObject();
config.put("subject", "Daily Sales Report");
WorkspaceAPI workspace = ac.getWorkspaceInstance(orgId, workspaceId);
long result = workspace.createEmailSchedule(scheduleName, viewIds, format, emailIds, scheduleDetails, 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 createEmailSchedule() {
$schedule_name = "Schedule1";
$format = "CSV";
$view_ids = array(1148746000002578004, 1148746000002578002);
$email_ids = array("user_1@zoho.com");
$schedule_details = array(
"calendarFrequency" => "Daily",
"hour" => 10,
"minute" => 30
);
$config = array(
"subject" => "Daily Sales Report"
);
$workspace = $this->ac->getWorkspaceInstance($this->org_id, $this->workspace_id);
$scheduleId = $workspace->createEmailSchedule($schedule_name, $view_ids, $format, $email_ids, $schedule_details, $config);
echo $scheduleId;
}
}
$test_obj = new Test();
try {
$test_obj->createEmailSchedule();
}
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 create_email_schedule(self, ac):
schedule_name = "Schedule1"
format = "CSV"
view_ids = ["1148746000002578004", "1148746000002578002"]
email_ids = ["user_1@zoho.com"]
schedule_details = {
"calendarFrequency": "Daily",
"hour": 10,
"minute": 30
}
config = {
"subject": "Daily Sales Report"
}
workspace = ac.get_workspace_instance(Config.ORGID, Config.WORKSPACEID)
schedule_id = workspace.create_email_schedule(schedule_name, view_ids, format, email_ids, schedule_details, config)
print(schedule_id)
try:
obj = sample()
obj.create_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 scheduleName = 'Schedule1';
const format = 'CSV';
const viewIds = ['1148746000002578004', '1148746000002578002'];
const emailIds = ['user_1@zoho.com'];
const scheduleDetails = {
calendarFrequency: 'Daily',
hour: 10,
minute: 30
};
const config = {
subject: 'Daily Sales Report'
};
workspace.createEmailSchedule(scheduleName, viewIds, format, emailIds, scheduleDetails, config)
.then((scheduleId) => {
console.log(scheduleId);
}).catch((error) => {
console.log('errorCode: ' + error.errorCode);
console.log('errorMessage: ' + error.errorMessage);
});
CopiedorgId = "55522777";
workspaceId = "35130000001055707";
headersMap = Map();
headersMap.put("ZANALYTICS-ORGID",orgId);
config = Map();
config.put("scheduleName","Schedule1");
viewIds = {};
viewIds.add("35130000001360048");
viewIds.add("35130000001360050");
config.put("viewIds",viewIds);
config.put("exportType","CSV");
emailIds = {};
emailIds.add("user+1@zoho.com");
emailIds.add("user+2@zoho.com");
config.put("emailIds",emailIds);
scheduleDetails = Map();
scheduleDetails.put("calendarFrequency","daily");
scheduleDetails.put("hour","10");
scheduleDetails.put("minute","30");
config.put("scheduleDetails",scheduleDetails);
paramsMap = Map();
paramsMap.put("CONFIG",config.toString());
response = invokeurl
[
url :"https://analyticsapi.zoho.com/restapi/v2/workspaces/" + workspaceId + "/emailschedules"
type :POST
parameters:paramsMap
headers:headersMap
connection:"analytics_oauth_connection"
];
info response;
Sample value for CONFIG parameter:
Copied{
"scheduleName": "Schedule1",
"viewIds": [
"5888000000394502",
"5888000000394502"
],
"emailIds": [
"user+1@zoho.com"
],
"scheduleDetails": {
"calendarFrequency": "daily",
"hour": "08",
"minute": "30"
},
"exportType": "pdf",
"subject": "Daily Sales Report",
"message": "Check the sales data report"
}
Sample Response:
CopiedHTTP/1.1 200 OK
Content-Type:application/json;charset=UTF-8
{
"status": "success",
"summary": "Create Email Schedule",
"data": {
"scheduleId": "1767024000010886001"
}
}