Timesheet Reports
This module covers operations related to time log reports within Zoho Projects. Use this API to retrieve time log reports at the portal or project level.
This module covers operations related to time log reports within Zoho Projects. Use this API to retrieve time log reports at the portal or project level.
Retrieve time log reports from the Zoho Projects portal.
OAuth Scope:
ZohoProjects.timesheets.READ
String
requiredUnique, immutable identifier of the portal in Zoho Projects. You can obtain it from the Get Portals API (the "id" field in the response).
int
default : 1Enter the page number.
int
limit : 1-200Enter the number of entries to be displayed per page.
String
requiredReport Type Available Report Type are user,module
String
Type of view Available View Type are regex
String
Enter the start date.
JSONObject
Enter the filter criteria to narrow down the report results.
String
Enter the ID of the custom view to apply to the report.
JSONObject
Custom date range for report
boolean
Decides whether pagination occurs based on dependant entity.
Request Example
curl -X GET \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&is_module_based_pagination=-' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report";
filter_value = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"};
custom_range_value = {"start_date":"2023-12-20","end_date":"2024-12-20"};
params = Map();
params.put("page", "1");
params.put("per_page", "10");
params.put("report_type", "user");
params.put("view_type", "week");
params.put("start_date", "2023-12-20");
params.put("filter", filter_value);
params.put("view_id", "23806000074760021");
params.put("custom_range", custom_range_value);
params.put("is_module_based_pagination", "-");
response = invokeUrl
[
url: url
type: GET
parameters: params
connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report');
url.searchParams.append('page', '1');
url.searchParams.append('per_page', '10');
url.searchParams.append('report_type', 'user');
url.searchParams.append('view_type', 'week');
url.searchParams.append('start_date', '2023-12-20');
url.searchParams.append('filter', '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}');
url.searchParams.append('view_id', '23806000074760021');
url.searchParams.append('custom_range', '{"start_date":"2023-12-20","end_date":"2024-12-20"}');
url.searchParams.append('is_module_based_pagination', '-');
const options = {
hostname: url.hostname,
path: url.pathname + url.search,
method: 'GET',
headers: {
'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
}
};
const req = https.request(options, (res) => {
let data = '';
res.on('data', (chunk) => { data += chunk; });
res.on('end', () => { console.log(JSON.parse(data)); });
});
req.on('error', (err) => { console.error(err); });
req.end();
require 'net/http'
require 'uri'
require 'json'
url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report")
params = {
"page" => "1",
"per_page" => "10",
"report_type" => "user",
"view_type" => "week",
"start_date" => "2023-12-20",
"filter" => "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
"view_id" => "23806000074760021",
"custom_range" => "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
"is_module_based_pagination" => "-"
}
url.query = URI.encode_www_form(params)
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
response = http.request(request)
puts response.read_body
<?php
$params = [
'page' => '1',
'per_page' => '10',
'report_type' => 'user',
'view_type' => 'week',
'start_date' => '2023-12-20',
'filter' => '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
'view_id' => '23806000074760021',
'custom_range' => '{"start_date":"2023-12-20","end_date":"2024-12-20"}',
'is_module_based_pagination' => '-',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report" . "?" . http_build_query($params);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report"
params = {
"page": "1",
"per_page": "10",
"report_type": "user",
"view_type": "week",
"start_date": "2023-12-20",
"filter": "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
"view_id": "23806000074760021",
"custom_range": "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
"is_module_based_pagination": "-"
}
headers = {
"Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
int main(void) {
CURL *curl = curl_easy_init();
if (curl) {
char *enc_page = curl_easy_escape(curl, "1", 0);
char *enc_per_page = curl_easy_escape(curl, "10", 0);
char *enc_report_type = curl_easy_escape(curl, "user", 0);
char *enc_view_type = curl_easy_escape(curl, "week", 0);
char *enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
char *enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
char *enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
char *enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}", 0);
char *enc_is_module_based_pagination = curl_easy_escape(curl, "-", 0);
char url[2048];
snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report?page=%s&per_page=%s&report_type=%s&view_type=%s&start_date=%s&filter=%s&view_id=%s&custom_range=%s&is_module_based_pagination=%s", enc_page, enc_per_page, enc_report_type, enc_view_type, enc_start_date, enc_filter, enc_view_id, enc_custom_range, enc_is_module_based_pagination);
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
CURLcode res = curl_easy_perform(curl);
if (res != CURLE_OK)
fprintf(stderr, "curl failed: %s\n", curl_easy_strerror(res));
curl_free(enc_page);
curl_free(enc_per_page);
curl_free(enc_report_type);
curl_free(enc_view_type);
curl_free(enc_start_date);
curl_free(enc_filter);
curl_free(enc_view_id);
curl_free(enc_custom_range);
curl_free(enc_is_module_based_pagination);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
using System.Net.Http;
using System.Text;
using System.Web;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
var query = HttpUtility.ParseQueryString(string.Empty);
query["page"] = "1";
query["per_page"] = "10";
query["report_type"] = "user";
query["view_type"] = "week";
query["start_date"] = "2023-12-20";
query["filter"] = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}";
query["view_id"] = "23806000074760021";
query["custom_range"] = "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}";
query["is_module_based_pagination"] = "-";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report") { Query = query.ToString() };
var request = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);
var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
#include <iostream>
#include <string>
#include <curl/curl.h>
static size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) {
output->append((char*)contents, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl = curl_easy_init();
if (curl) {
std::string response;
char* enc_page = curl_easy_escape(curl, "1", 0);
char* enc_per_page = curl_easy_escape(curl, "10", 0);
char* enc_report_type = curl_easy_escape(curl, "user", 0);
char* enc_view_type = curl_easy_escape(curl, "week", 0);
char* enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
char* enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
char* enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
char* enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}", 0);
char* enc_is_module_based_pagination = curl_easy_escape(curl, "-", 0);
std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report";
url += "?page=" + std::string(enc_page);
url += "&per_page=" + std::string(enc_per_page);
url += "&report_type=" + std::string(enc_report_type);
url += "&view_type=" + std::string(enc_view_type);
url += "&start_date=" + std::string(enc_start_date);
url += "&filter=" + std::string(enc_filter);
url += "&view_id=" + std::string(enc_view_id);
url += "&custom_range=" + std::string(enc_custom_range);
url += "&is_module_based_pagination=" + std::string(enc_is_module_based_pagination);
struct curl_slist* headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
CURLcode res = curl_easy_perform(curl);
if (res == CURLE_OK)
std::cout << response << std::endl;
else
std::cerr << curl_easy_strerror(res) << std::endl;
curl_free(enc_page);
curl_free(enc_per_page);
curl_free(enc_report_type);
curl_free(enc_view_type);
curl_free(enc_start_date);
curl_free(enc_filter);
curl_free(enc_view_id);
curl_free(enc_custom_range);
curl_free(enc_is_module_based_pagination);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
(require '[clj-http.client :as client])
(let [enc-page (java.net.URLEncoder/encode "1" "UTF-8")
enc-per_page (java.net.URLEncoder/encode "10" "UTF-8")
enc-report_type (java.net.URLEncoder/encode "user" "UTF-8")
enc-view_type (java.net.URLEncoder/encode "week" "UTF-8")
enc-start_date (java.net.URLEncoder/encode "2023-12-20" "UTF-8")
enc-filter (java.net.URLEncoder/encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" "UTF-8")
enc-view_id (java.net.URLEncoder/encode "23806000074760021" "UTF-8")
enc-custom_range (java.net.URLEncoder/encode "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" "UTF-8")
enc-is_module_based_pagination (java.net.URLEncoder/encode "-" "UTF-8")
url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report" "?page=" enc-page "&per_page=" enc-per_page "&report_type=" enc-report_type "&view_type=" enc-view_type "&start_date=" enc-start_date "&filter=" enc-filter "&view_id=" enc-view_id "&custom_range=" enc-custom_range "&is_module_based_pagination=" enc-is_module_based_pagination)]
(def response
(client/get url
{:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
:as :json}))
(println (:body response))
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
req, _ := http.NewRequest("GET", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report", nil)
q := req.URL.Query()
q.Add("page", "1")
q.Add("per_page", "10")
q.Add("report_type", "user")
q.Add("view_type", "week")
q.Add("start_date", "2023-12-20")
q.Add("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
q.Add("view_id", "23806000074760021")
q.Add("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}")
q.Add("is_module_based_pagination", "-")
req.URL.RawQuery = q.Encode()
req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
GET https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&is_module_based_pagination=- HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&is_module_based_pagination=-
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
SSLContext sslContext = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = httpClientBuilder.setSSLSocketFactory(sslConnectionSocketFactory).build();
URIBuilder uriBuilder = new URIBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report");
uriBuilder.addParameter("page", "1");
uriBuilder.addParameter("per_page", "10");
uriBuilder.addParameter("report_type", "user");
uriBuilder.addParameter("view_type", "week");
uriBuilder.addParameter("start_date", "2023-12-20");
uriBuilder.addParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}");
uriBuilder.addParameter("view_id", "23806000074760021");
uriBuilder.addParameter("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}");
uriBuilder.addParameter("is_module_based_pagination", "-");
HttpUriRequest requestObj = new HttpGet(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
HttpResponse response = httpclient.execute(requestObj);
HttpEntity responseEntity = response.getEntity();
Object responseObject = EntityUtils.toString(responseEntity);
String responseString = responseObject.toString();
const url = 'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report';
const params = new URLSearchParams({
'page': '1',
'per_page': '10',
'report_type': 'user',
'view_type': 'week',
'start_date': '2023-12-20',
'filter': '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
'view_id': '23806000074760021',
'custom_range': '{"start_date":"2023-12-20","end_date":"2024-12-20"}',
'is_module_based_pagination': '-'
});
const options = {
method: 'GET',
headers: {
'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
}
};
fetch(url + '?' + params.toString(), options)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
page = "1"
per_page = "10"
report_type = "user"
view_type = "week"
start_date = "2023-12-20"
filter = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}
view_id = "23806000074760021"
custom_range = {"start_date":"2023-12-20","end_date":"2024-12-20"}
is_module_based_pagination = - import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl
fun main() {
val urlBuilder = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report".toHttpUrl().newBuilder()
urlBuilder.addQueryParameter("page", "1")
urlBuilder.addQueryParameter("per_page", "10")
urlBuilder.addQueryParameter("report_type", "user")
urlBuilder.addQueryParameter("view_type", "week")
urlBuilder.addQueryParameter("start_date", "2023-12-20")
urlBuilder.addQueryParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
urlBuilder.addQueryParameter("view_id", "23806000074760021")
urlBuilder.addQueryParameter("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}")
urlBuilder.addQueryParameter("is_module_based_pagination", "-")
val url = URL(urlBuilder.build().toString())
val conn = url.openConnection() as HttpURLConnection
conn.requestMethod = "GET"
conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
val response = conn.inputStream.bufferedReader().readText()
println(response)
}
NSString *encodedPage = [@"1" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedPer_page = [@"10" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedReport_type = [@"user" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_type = [@"week" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedStart_date = [@"2023-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFilter = [@"{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_id = [@"23806000074760021" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedCustom_range = [@"{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedIs_module_based_pagination = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report?page=%@&per_page=%@&report_type=%@&view_type=%@&start_date=%@&filter=%@&view_id=%@&custom_range=%@&is_module_based_pagination=%@", encodedPage, encodedPer_page, encodedReport_type, encodedView_type, encodedStart_date, encodedFilter, encodedView_id, encodedCustom_range, encodedIs_module_based_pagination];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
open Lwt
open Cohttp_lwt_unix
let () =
let enc_page = Uri.pct_encode "1" in
let enc_per_page = Uri.pct_encode "10" in
let enc_report_type = Uri.pct_encode "user" in
let enc_view_type = Uri.pct_encode "week" in
let enc_start_date = Uri.pct_encode "2023-12-20" in
let enc_filter = Uri.pct_encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" in
let enc_view_id = Uri.pct_encode "23806000074760021" in
let enc_custom_range = Uri.pct_encode "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" in
let enc_is_module_based_pagination = Uri.pct_encode "-" in
let uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report" ^ "?page=" ^ enc_page ^ "&per_page=" ^ enc_per_page ^ "&report_type=" ^ enc_report_type ^ "&view_type=" ^ enc_view_type ^ "&start_date=" ^ enc_start_date ^ "&filter=" ^ enc_filter ^ "&view_id=" ^ enc_view_id ^ "&custom_range=" ^ enc_custom_range ^ "&is_module_based_pagination=" ^ enc_is_module_based_pagination) in
let headers = Cohttp.Header.init ()
|> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
in
Lwt_main.run (
Client.get ~headers uri >>= fun (_, body) ->
Cohttp_lwt.Body.to_string body >|= fun s ->
print_endline s)
$headers = @{
"Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
}
$params = @{
page = "1"
per_page = "10"
report_type = "user"
view_type = "week"
start_date = "2023-12-20"
filter = "{`"project`":`"-`",`"assignee`":`"-`",`"billtype`":`"-`",`"approvaltype`":`"-`",`"tsheetperiod`":`"-`",`"clientcompany`":`"-`",`"content`":`"-`",`"invoicestatus`":`"-`",`"usergroups`":`"-`",`"criteria`":[{`"field_name`":`"project`",`"custom_feild`":`"-`",`"field_type`":`"-`",`"criteria_condition`":`"contains`",`"value`":[`"1752587000000097269`"]}],`"pattern`":`"1`",`"UDF_CHAR_Timesheet`":`"-`",`"UDF_USER_Timesheet`":`"-`",`"UDF_LONG_Timesheet`":`"-`",`"UDF_DATE_Timesheet`":`"-`",`"UDF_DOUBLE_Timesheet`":`"-`",`"UDF_TEXT_Timesheet`":`"-`",`"UDF_ENCRYPT_Timesheet`":`"-`"}"
view_id = "23806000074760021"
custom_range = "{`"start_date`":`"2023-12-20`",`"end_date`":`"2024-12-20`"}"
is_module_based_pagination = "-"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report" + "?" + $queryString
$response = Invoke-RestMethod -Uri $url -Method GET -Headers $headers
$response | ConvertTo-Json
library(httr)
url <- "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report"
params <- list(
page = "1",
per_page = "10",
report_type = "user",
view_type = "week",
start_date = "2023-12-20",
filter = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
view_id = "23806000074760021",
custom_range = "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
is_module_based_pagination = "-"
)
response <- GET(
url,
add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
query = params
)
content(response, "text")
import Foundation
var components = URLComponents(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report")!
components.queryItems = [
URLQueryItem(name: "page", value: "1"),
URLQueryItem(name: "per_page", value: "10"),
URLQueryItem(name: "report_type", value: "user"),
URLQueryItem(name: "view_type", value: "week"),
URLQueryItem(name: "start_date", value: "2023-12-20"),
URLQueryItem(name: "filter", value: "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"),
URLQueryItem(name: "view_id", value: "23806000074760021"),
URLQueryItem(name: "custom_range", value: "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}"),
URLQueryItem(name: "is_module_based_pagination", value: "-")
]
let url = components.url!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")
let semaphore = DispatchSemaphore(value: 0)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data, let result = String(data: data, encoding: .utf8) {
print(result)
}
semaphore.signal()
}
task.resume()
semaphore.wait()
Sample Input
Sample Response
Retrieve time log reports from a project
OAuth Scope:
ZohoProjects.timesheets.READ
String
requiredUnique, immutable identifier of the portal in Zoho Projects. You can obtain it from the Get Portals API (the "id" field in the response).
String
requiredUnique, immutable identifier of the project within the specified portal. You can obtain it from the Get Projects API (the "id" field in the response).
int
default : 1Enter the page number.
int
limit : 1-200Enter the number of entries to be displayed per page.
String
requiredSpecify the Report Type Available Report Type are user,module
String
Type of view Available view types are day,week,month
String
Enter the start date.
JSONObject
Enter the filter criteria to narrow down the report results.
String
Enter the custom view ID. You can obtain it from the Get Task Custom Views API (the "id" field in the response).
String
Enter the timelog group ID. You can obtain it from the Get Project Time Logs API (the "id" field in the response).
JSONObject
Custom date range for report
String
Enter the source page from which the report is being accessed. Accepted values: timeloggroup_draft, timeloggroup_update, timeloggroup_regenerate
boolean
Decides whether pagination occurs based on dependant entity.
Request Example
curl -X GET \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&timelog_group_id=-&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&frompage=timeloggroup_draft&is_module_based_pagination=-' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report";
filter_value = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"};
custom_range_value = {"start_date":"2023-12-20","end_date":"2024-12-20"};
params = Map();
params.put("page", "1");
params.put("per_page", "10");
params.put("report_type", "user");
params.put("view_type", "week");
params.put("start_date", "2023-12-20");
params.put("filter", filter_value);
params.put("view_id", "23806000074760021");
params.put("timelog_group_id", "-");
params.put("custom_range", custom_range_value);
params.put("frompage", "timeloggroup_draft");
params.put("is_module_based_pagination", "-");
response = invokeUrl
[
url: url
type: GET
parameters: params
connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report');
url.searchParams.append('page', '1');
url.searchParams.append('per_page', '10');
url.searchParams.append('report_type', 'user');
url.searchParams.append('view_type', 'week');
url.searchParams.append('start_date', '2023-12-20');
url.searchParams.append('filter', '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}');
url.searchParams.append('view_id', '23806000074760021');
url.searchParams.append('timelog_group_id', '-');
url.searchParams.append('custom_range', '{"start_date":"2023-12-20","end_date":"2024-12-20"}');
url.searchParams.append('frompage', 'timeloggroup_draft');
url.searchParams.append('is_module_based_pagination', '-');
const options = {
hostname: url.hostname,
path: url.pathname + url.search,
method: 'GET',
headers: {
'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
}
};
const req = https.request(options, (res) => {
let data = '';
res.on('data', (chunk) => { data += chunk; });
res.on('end', () => { console.log(JSON.parse(data)); });
});
req.on('error', (err) => { console.error(err); });
req.end();
require 'net/http'
require 'uri'
require 'json'
url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report")
params = {
"page" => "1",
"per_page" => "10",
"report_type" => "user",
"view_type" => "week",
"start_date" => "2023-12-20",
"filter" => "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
"view_id" => "23806000074760021",
"timelog_group_id" => "-",
"custom_range" => "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
"frompage" => "timeloggroup_draft",
"is_module_based_pagination" => "-"
}
url.query = URI.encode_www_form(params)
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
response = http.request(request)
puts response.read_body
<?php
$params = [
'page' => '1',
'per_page' => '10',
'report_type' => 'user',
'view_type' => 'week',
'start_date' => '2023-12-20',
'filter' => '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
'view_id' => '23806000074760021',
'timelog_group_id' => '-',
'custom_range' => '{"start_date":"2023-12-20","end_date":"2024-12-20"}',
'frompage' => 'timeloggroup_draft',
'is_module_based_pagination' => '-',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report" . "?" . http_build_query($params);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report"
params = {
"page": "1",
"per_page": "10",
"report_type": "user",
"view_type": "week",
"start_date": "2023-12-20",
"filter": "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
"view_id": "23806000074760021",
"timelog_group_id": "-",
"custom_range": "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
"frompage": "timeloggroup_draft",
"is_module_based_pagination": "-"
}
headers = {
"Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
int main(void) {
CURL *curl = curl_easy_init();
if (curl) {
char *enc_page = curl_easy_escape(curl, "1", 0);
char *enc_per_page = curl_easy_escape(curl, "10", 0);
char *enc_report_type = curl_easy_escape(curl, "user", 0);
char *enc_view_type = curl_easy_escape(curl, "week", 0);
char *enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
char *enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
char *enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
char *enc_timelog_group_id = curl_easy_escape(curl, "-", 0);
char *enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}", 0);
char *enc_frompage = curl_easy_escape(curl, "timeloggroup_draft", 0);
char *enc_is_module_based_pagination = curl_easy_escape(curl, "-", 0);
char url[2048];
snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report?page=%s&per_page=%s&report_type=%s&view_type=%s&start_date=%s&filter=%s&view_id=%s&timelog_group_id=%s&custom_range=%s&frompage=%s&is_module_based_pagination=%s", enc_page, enc_per_page, enc_report_type, enc_view_type, enc_start_date, enc_filter, enc_view_id, enc_timelog_group_id, enc_custom_range, enc_frompage, enc_is_module_based_pagination);
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
CURLcode res = curl_easy_perform(curl);
if (res != CURLE_OK)
fprintf(stderr, "curl failed: %s\n", curl_easy_strerror(res));
curl_free(enc_page);
curl_free(enc_per_page);
curl_free(enc_report_type);
curl_free(enc_view_type);
curl_free(enc_start_date);
curl_free(enc_filter);
curl_free(enc_view_id);
curl_free(enc_timelog_group_id);
curl_free(enc_custom_range);
curl_free(enc_frompage);
curl_free(enc_is_module_based_pagination);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
using System.Net.Http;
using System.Text;
using System.Web;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
var query = HttpUtility.ParseQueryString(string.Empty);
query["page"] = "1";
query["per_page"] = "10";
query["report_type"] = "user";
query["view_type"] = "week";
query["start_date"] = "2023-12-20";
query["filter"] = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}";
query["view_id"] = "23806000074760021";
query["timelog_group_id"] = "-";
query["custom_range"] = "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}";
query["frompage"] = "timeloggroup_draft";
query["is_module_based_pagination"] = "-";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report") { Query = query.ToString() };
var request = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);
var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
#include <iostream>
#include <string>
#include <curl/curl.h>
static size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) {
output->append((char*)contents, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl = curl_easy_init();
if (curl) {
std::string response;
char* enc_page = curl_easy_escape(curl, "1", 0);
char* enc_per_page = curl_easy_escape(curl, "10", 0);
char* enc_report_type = curl_easy_escape(curl, "user", 0);
char* enc_view_type = curl_easy_escape(curl, "week", 0);
char* enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
char* enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
char* enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
char* enc_timelog_group_id = curl_easy_escape(curl, "-", 0);
char* enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}", 0);
char* enc_frompage = curl_easy_escape(curl, "timeloggroup_draft", 0);
char* enc_is_module_based_pagination = curl_easy_escape(curl, "-", 0);
std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report";
url += "?page=" + std::string(enc_page);
url += "&per_page=" + std::string(enc_per_page);
url += "&report_type=" + std::string(enc_report_type);
url += "&view_type=" + std::string(enc_view_type);
url += "&start_date=" + std::string(enc_start_date);
url += "&filter=" + std::string(enc_filter);
url += "&view_id=" + std::string(enc_view_id);
url += "&timelog_group_id=" + std::string(enc_timelog_group_id);
url += "&custom_range=" + std::string(enc_custom_range);
url += "&frompage=" + std::string(enc_frompage);
url += "&is_module_based_pagination=" + std::string(enc_is_module_based_pagination);
struct curl_slist* headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
CURLcode res = curl_easy_perform(curl);
if (res == CURLE_OK)
std::cout << response << std::endl;
else
std::cerr << curl_easy_strerror(res) << std::endl;
curl_free(enc_page);
curl_free(enc_per_page);
curl_free(enc_report_type);
curl_free(enc_view_type);
curl_free(enc_start_date);
curl_free(enc_filter);
curl_free(enc_view_id);
curl_free(enc_timelog_group_id);
curl_free(enc_custom_range);
curl_free(enc_frompage);
curl_free(enc_is_module_based_pagination);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
(require '[clj-http.client :as client])
(let [enc-page (java.net.URLEncoder/encode "1" "UTF-8")
enc-per_page (java.net.URLEncoder/encode "10" "UTF-8")
enc-report_type (java.net.URLEncoder/encode "user" "UTF-8")
enc-view_type (java.net.URLEncoder/encode "week" "UTF-8")
enc-start_date (java.net.URLEncoder/encode "2023-12-20" "UTF-8")
enc-filter (java.net.URLEncoder/encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" "UTF-8")
enc-view_id (java.net.URLEncoder/encode "23806000074760021" "UTF-8")
enc-timelog_group_id (java.net.URLEncoder/encode "-" "UTF-8")
enc-custom_range (java.net.URLEncoder/encode "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" "UTF-8")
enc-frompage (java.net.URLEncoder/encode "timeloggroup_draft" "UTF-8")
enc-is_module_based_pagination (java.net.URLEncoder/encode "-" "UTF-8")
url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report" "?page=" enc-page "&per_page=" enc-per_page "&report_type=" enc-report_type "&view_type=" enc-view_type "&start_date=" enc-start_date "&filter=" enc-filter "&view_id=" enc-view_id "&timelog_group_id=" enc-timelog_group_id "&custom_range=" enc-custom_range "&frompage=" enc-frompage "&is_module_based_pagination=" enc-is_module_based_pagination)]
(def response
(client/get url
{:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
:as :json}))
(println (:body response))
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
req, _ := http.NewRequest("GET", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report", nil)
q := req.URL.Query()
q.Add("page", "1")
q.Add("per_page", "10")
q.Add("report_type", "user")
q.Add("view_type", "week")
q.Add("start_date", "2023-12-20")
q.Add("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
q.Add("view_id", "23806000074760021")
q.Add("timelog_group_id", "-")
q.Add("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}")
q.Add("frompage", "timeloggroup_draft")
q.Add("is_module_based_pagination", "-")
req.URL.RawQuery = q.Encode()
req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
GET https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&timelog_group_id=-&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&frompage=timeloggroup_draft&is_module_based_pagination=- HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&timelog_group_id=-&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&frompage=timeloggroup_draft&is_module_based_pagination=-
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
SSLContext sslContext = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = httpClientBuilder.setSSLSocketFactory(sslConnectionSocketFactory).build();
URIBuilder uriBuilder = new URIBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report");
uriBuilder.addParameter("page", "1");
uriBuilder.addParameter("per_page", "10");
uriBuilder.addParameter("report_type", "user");
uriBuilder.addParameter("view_type", "week");
uriBuilder.addParameter("start_date", "2023-12-20");
uriBuilder.addParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}");
uriBuilder.addParameter("view_id", "23806000074760021");
uriBuilder.addParameter("timelog_group_id", "-");
uriBuilder.addParameter("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}");
uriBuilder.addParameter("frompage", "timeloggroup_draft");
uriBuilder.addParameter("is_module_based_pagination", "-");
HttpUriRequest requestObj = new HttpGet(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
HttpResponse response = httpclient.execute(requestObj);
HttpEntity responseEntity = response.getEntity();
Object responseObject = EntityUtils.toString(responseEntity);
String responseString = responseObject.toString();
const url = 'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report';
const params = new URLSearchParams({
'page': '1',
'per_page': '10',
'report_type': 'user',
'view_type': 'week',
'start_date': '2023-12-20',
'filter': '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
'view_id': '23806000074760021',
'timelog_group_id': '-',
'custom_range': '{"start_date":"2023-12-20","end_date":"2024-12-20"}',
'frompage': 'timeloggroup_draft',
'is_module_based_pagination': '-'
});
const options = {
method: 'GET',
headers: {
'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
}
};
fetch(url + '?' + params.toString(), options)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
page = "1"
per_page = "10"
report_type = "user"
view_type = "week"
start_date = "2023-12-20"
filter = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}
view_id = "23806000074760021"
timelog_group_id = -
custom_range = {"start_date":"2023-12-20","end_date":"2024-12-20"}
frompage = "timeloggroup_draft"
is_module_based_pagination = - import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl
fun main() {
val urlBuilder = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report".toHttpUrl().newBuilder()
urlBuilder.addQueryParameter("page", "1")
urlBuilder.addQueryParameter("per_page", "10")
urlBuilder.addQueryParameter("report_type", "user")
urlBuilder.addQueryParameter("view_type", "week")
urlBuilder.addQueryParameter("start_date", "2023-12-20")
urlBuilder.addQueryParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
urlBuilder.addQueryParameter("view_id", "23806000074760021")
urlBuilder.addQueryParameter("timelog_group_id", "-")
urlBuilder.addQueryParameter("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}")
urlBuilder.addQueryParameter("frompage", "timeloggroup_draft")
urlBuilder.addQueryParameter("is_module_based_pagination", "-")
val url = URL(urlBuilder.build().toString())
val conn = url.openConnection() as HttpURLConnection
conn.requestMethod = "GET"
conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
val response = conn.inputStream.bufferedReader().readText()
println(response)
}
NSString *encodedPage = [@"1" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedPer_page = [@"10" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedReport_type = [@"user" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_type = [@"week" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedStart_date = [@"2023-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFilter = [@"{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_id = [@"23806000074760021" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedTimelog_group_id = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedCustom_range = [@"{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFrompage = [@"timeloggroup_draft" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedIs_module_based_pagination = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report?page=%@&per_page=%@&report_type=%@&view_type=%@&start_date=%@&filter=%@&view_id=%@&timelog_group_id=%@&custom_range=%@&frompage=%@&is_module_based_pagination=%@", encodedPage, encodedPer_page, encodedReport_type, encodedView_type, encodedStart_date, encodedFilter, encodedView_id, encodedTimelog_group_id, encodedCustom_range, encodedFrompage, encodedIs_module_based_pagination];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
open Lwt
open Cohttp_lwt_unix
let () =
let enc_page = Uri.pct_encode "1" in
let enc_per_page = Uri.pct_encode "10" in
let enc_report_type = Uri.pct_encode "user" in
let enc_view_type = Uri.pct_encode "week" in
let enc_start_date = Uri.pct_encode "2023-12-20" in
let enc_filter = Uri.pct_encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" in
let enc_view_id = Uri.pct_encode "23806000074760021" in
let enc_timelog_group_id = Uri.pct_encode "-" in
let enc_custom_range = Uri.pct_encode "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" in
let enc_frompage = Uri.pct_encode "timeloggroup_draft" in
let enc_is_module_based_pagination = Uri.pct_encode "-" in
let uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report" ^ "?page=" ^ enc_page ^ "&per_page=" ^ enc_per_page ^ "&report_type=" ^ enc_report_type ^ "&view_type=" ^ enc_view_type ^ "&start_date=" ^ enc_start_date ^ "&filter=" ^ enc_filter ^ "&view_id=" ^ enc_view_id ^ "&timelog_group_id=" ^ enc_timelog_group_id ^ "&custom_range=" ^ enc_custom_range ^ "&frompage=" ^ enc_frompage ^ "&is_module_based_pagination=" ^ enc_is_module_based_pagination) in
let headers = Cohttp.Header.init ()
|> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
in
Lwt_main.run (
Client.get ~headers uri >>= fun (_, body) ->
Cohttp_lwt.Body.to_string body >|= fun s ->
print_endline s)
$headers = @{
"Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
}
$params = @{
page = "1"
per_page = "10"
report_type = "user"
view_type = "week"
start_date = "2023-12-20"
filter = "{`"project`":`"-`",`"assignee`":`"-`",`"billtype`":`"-`",`"approvaltype`":`"-`",`"tsheetperiod`":`"-`",`"clientcompany`":`"-`",`"content`":`"-`",`"invoicestatus`":`"-`",`"usergroups`":`"-`",`"criteria`":[{`"field_name`":`"project`",`"custom_feild`":`"-`",`"field_type`":`"-`",`"criteria_condition`":`"contains`",`"value`":[`"1752587000000097269`"]}],`"pattern`":`"1`",`"UDF_CHAR_Timesheet`":`"-`",`"UDF_USER_Timesheet`":`"-`",`"UDF_LONG_Timesheet`":`"-`",`"UDF_DATE_Timesheet`":`"-`",`"UDF_DOUBLE_Timesheet`":`"-`",`"UDF_TEXT_Timesheet`":`"-`",`"UDF_ENCRYPT_Timesheet`":`"-`"}"
view_id = "23806000074760021"
timelog_group_id = "-"
custom_range = "{`"start_date`":`"2023-12-20`",`"end_date`":`"2024-12-20`"}"
frompage = "timeloggroup_draft"
is_module_based_pagination = "-"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report" + "?" + $queryString
$response = Invoke-RestMethod -Uri $url -Method GET -Headers $headers
$response | ConvertTo-Json
library(httr)
url <- "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report"
params <- list(
page = "1",
per_page = "10",
report_type = "user",
view_type = "week",
start_date = "2023-12-20",
filter = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
view_id = "23806000074760021",
timelog_group_id = "-",
custom_range = "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
frompage = "timeloggroup_draft",
is_module_based_pagination = "-"
)
response <- GET(
url,
add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
query = params
)
content(response, "text")
import Foundation
var components = URLComponents(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report")!
components.queryItems = [
URLQueryItem(name: "page", value: "1"),
URLQueryItem(name: "per_page", value: "10"),
URLQueryItem(name: "report_type", value: "user"),
URLQueryItem(name: "view_type", value: "week"),
URLQueryItem(name: "start_date", value: "2023-12-20"),
URLQueryItem(name: "filter", value: "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"),
URLQueryItem(name: "view_id", value: "23806000074760021"),
URLQueryItem(name: "timelog_group_id", value: "-"),
URLQueryItem(name: "custom_range", value: "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}"),
URLQueryItem(name: "frompage", value: "timeloggroup_draft"),
URLQueryItem(name: "is_module_based_pagination", value: "-")
]
let url = components.url!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")
let semaphore = DispatchSemaphore(value: 0)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data, let result = String(data: data, encoding: .utf8) {
print(result)
}
semaphore.signal()
}
task.resume()
semaphore.wait()
Sample Input
Sample Response
Get time log project report
OAuth Scope:
ZohoProjects.timesheets.READ
String
requiredUnique, immutable identifier of the portal in Zoho Projects. You can obtain it from the Get Portals API (the "id" field in the response).
int
Enter the index of the record.
int
Enter the number of records to retrieve.
String
Type of viewAvailable view types are day,week,month,customdate,fullreport
String
requiredEnter the start date.
String
Enter the end date.
JSONObject
Enter the filter criteria.
Request Example
curl -X GET \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport";
filter_value = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"};
params = Map();
params.put("index", "1");
params.put("range", "100");
params.put("view_type", "week");
params.put("start_date", "2023-12-20");
params.put("end_date", "2024-12-20");
params.put("filter", filter_value);
response = invokeUrl
[
url: url
type: GET
parameters: params
connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport');
url.searchParams.append('index', '1');
url.searchParams.append('range', '100');
url.searchParams.append('view_type', 'week');
url.searchParams.append('start_date', '2023-12-20');
url.searchParams.append('end_date', '2024-12-20');
url.searchParams.append('filter', '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}');
const options = {
hostname: url.hostname,
path: url.pathname + url.search,
method: 'GET',
headers: {
'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
}
};
const req = https.request(options, (res) => {
let data = '';
res.on('data', (chunk) => { data += chunk; });
res.on('end', () => { console.log(JSON.parse(data)); });
});
req.on('error', (err) => { console.error(err); });
req.end();
require 'net/http'
require 'uri'
require 'json'
url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport")
params = {
"index" => "1",
"range" => "100",
"view_type" => "week",
"start_date" => "2023-12-20",
"end_date" => "2024-12-20",
"filter" => "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"
}
url.query = URI.encode_www_form(params)
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
response = http.request(request)
puts response.read_body
<?php
$params = [
'index' => '1',
'range' => '100',
'view_type' => 'week',
'start_date' => '2023-12-20',
'end_date' => '2024-12-20',
'filter' => '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport" . "?" . http_build_query($params);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport"
params = {
"index": "1",
"range": "100",
"view_type": "week",
"start_date": "2023-12-20",
"end_date": "2024-12-20",
"filter": "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"
}
headers = {
"Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
int main(void) {
CURL *curl = curl_easy_init();
if (curl) {
char *enc_index = curl_easy_escape(curl, "1", 0);
char *enc_range = curl_easy_escape(curl, "100", 0);
char *enc_view_type = curl_easy_escape(curl, "week", 0);
char *enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
char *enc_end_date = curl_easy_escape(curl, "2024-12-20", 0);
char *enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
char url[2048];
snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport?index=%s&range=%s&view_type=%s&start_date=%s&end_date=%s&filter=%s", enc_index, enc_range, enc_view_type, enc_start_date, enc_end_date, enc_filter);
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
CURLcode res = curl_easy_perform(curl);
if (res != CURLE_OK)
fprintf(stderr, "curl failed: %s\n", curl_easy_strerror(res));
curl_free(enc_index);
curl_free(enc_range);
curl_free(enc_view_type);
curl_free(enc_start_date);
curl_free(enc_end_date);
curl_free(enc_filter);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
using System.Net.Http;
using System.Text;
using System.Web;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
var query = HttpUtility.ParseQueryString(string.Empty);
query["index"] = "1";
query["range"] = "100";
query["view_type"] = "week";
query["start_date"] = "2023-12-20";
query["end_date"] = "2024-12-20";
query["filter"] = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport") { Query = query.ToString() };
var request = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);
var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
#include <iostream>
#include <string>
#include <curl/curl.h>
static size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) {
output->append((char*)contents, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl = curl_easy_init();
if (curl) {
std::string response;
char* enc_index = curl_easy_escape(curl, "1", 0);
char* enc_range = curl_easy_escape(curl, "100", 0);
char* enc_view_type = curl_easy_escape(curl, "week", 0);
char* enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
char* enc_end_date = curl_easy_escape(curl, "2024-12-20", 0);
char* enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport";
url += "?index=" + std::string(enc_index);
url += "&range=" + std::string(enc_range);
url += "&view_type=" + std::string(enc_view_type);
url += "&start_date=" + std::string(enc_start_date);
url += "&end_date=" + std::string(enc_end_date);
url += "&filter=" + std::string(enc_filter);
struct curl_slist* headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
CURLcode res = curl_easy_perform(curl);
if (res == CURLE_OK)
std::cout << response << std::endl;
else
std::cerr << curl_easy_strerror(res) << std::endl;
curl_free(enc_index);
curl_free(enc_range);
curl_free(enc_view_type);
curl_free(enc_start_date);
curl_free(enc_end_date);
curl_free(enc_filter);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
(require '[clj-http.client :as client])
(let [enc-index (java.net.URLEncoder/encode "1" "UTF-8")
enc-range (java.net.URLEncoder/encode "100" "UTF-8")
enc-view_type (java.net.URLEncoder/encode "week" "UTF-8")
enc-start_date (java.net.URLEncoder/encode "2023-12-20" "UTF-8")
enc-end_date (java.net.URLEncoder/encode "2024-12-20" "UTF-8")
enc-filter (java.net.URLEncoder/encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" "UTF-8")
url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport" "?index=" enc-index "&range=" enc-range "&view_type=" enc-view_type "&start_date=" enc-start_date "&end_date=" enc-end_date "&filter=" enc-filter)]
(def response
(client/get url
{:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
:as :json}))
(println (:body response))
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
req, _ := http.NewRequest("GET", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport", nil)
q := req.URL.Query()
q.Add("index", "1")
q.Add("range", "100")
q.Add("view_type", "week")
q.Add("start_date", "2023-12-20")
q.Add("end_date", "2024-12-20")
q.Add("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
req.URL.RawQuery = q.Encode()
req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
GET https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
SSLContext sslContext = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = httpClientBuilder.setSSLSocketFactory(sslConnectionSocketFactory).build();
URIBuilder uriBuilder = new URIBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport");
uriBuilder.addParameter("index", "1");
uriBuilder.addParameter("range", "100");
uriBuilder.addParameter("view_type", "week");
uriBuilder.addParameter("start_date", "2023-12-20");
uriBuilder.addParameter("end_date", "2024-12-20");
uriBuilder.addParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}");
HttpUriRequest requestObj = new HttpGet(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
HttpResponse response = httpclient.execute(requestObj);
HttpEntity responseEntity = response.getEntity();
Object responseObject = EntityUtils.toString(responseEntity);
String responseString = responseObject.toString();
const url = 'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport';
const params = new URLSearchParams({
'index': '1',
'range': '100',
'view_type': 'week',
'start_date': '2023-12-20',
'end_date': '2024-12-20',
'filter': '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}'
});
const options = {
method: 'GET',
headers: {
'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
}
};
fetch(url + '?' + params.toString(), options)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
index = "1"
range = "100"
view_type = "week"
start_date = "2023-12-20"
end_date = "2024-12-20"
filter = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl
fun main() {
val urlBuilder = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport".toHttpUrl().newBuilder()
urlBuilder.addQueryParameter("index", "1")
urlBuilder.addQueryParameter("range", "100")
urlBuilder.addQueryParameter("view_type", "week")
urlBuilder.addQueryParameter("start_date", "2023-12-20")
urlBuilder.addQueryParameter("end_date", "2024-12-20")
urlBuilder.addQueryParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
val url = URL(urlBuilder.build().toString())
val conn = url.openConnection() as HttpURLConnection
conn.requestMethod = "GET"
conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
val response = conn.inputStream.bufferedReader().readText()
println(response)
}
NSString *encodedIndex = [@"1" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedRange = [@"100" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_type = [@"week" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedStart_date = [@"2023-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedEnd_date = [@"2024-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFilter = [@"{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport?index=%@&range=%@&view_type=%@&start_date=%@&end_date=%@&filter=%@", encodedIndex, encodedRange, encodedView_type, encodedStart_date, encodedEnd_date, encodedFilter];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
open Lwt
open Cohttp_lwt_unix
let () =
let enc_index = Uri.pct_encode "1" in
let enc_range = Uri.pct_encode "100" in
let enc_view_type = Uri.pct_encode "week" in
let enc_start_date = Uri.pct_encode "2023-12-20" in
let enc_end_date = Uri.pct_encode "2024-12-20" in
let enc_filter = Uri.pct_encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" in
let uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport" ^ "?index=" ^ enc_index ^ "&range=" ^ enc_range ^ "&view_type=" ^ enc_view_type ^ "&start_date=" ^ enc_start_date ^ "&end_date=" ^ enc_end_date ^ "&filter=" ^ enc_filter) in
let headers = Cohttp.Header.init ()
|> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
in
Lwt_main.run (
Client.get ~headers uri >>= fun (_, body) ->
Cohttp_lwt.Body.to_string body >|= fun s ->
print_endline s)
$headers = @{
"Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
}
$params = @{
index = "1"
range = "100"
view_type = "week"
start_date = "2023-12-20"
end_date = "2024-12-20"
filter = "{`"project`":`"-`",`"assignee`":`"-`",`"billtype`":`"-`",`"approvaltype`":`"-`",`"tsheetperiod`":`"-`",`"clientcompany`":`"-`",`"content`":`"-`",`"invoicestatus`":`"-`",`"usergroups`":`"-`",`"criteria`":[{`"field_name`":`"project`",`"custom_feild`":`"-`",`"field_type`":`"-`",`"criteria_condition`":`"contains`",`"value`":[`"1752587000000097269`"]}],`"pattern`":`"1`",`"UDF_CHAR_Timesheet`":`"-`",`"UDF_USER_Timesheet`":`"-`",`"UDF_LONG_Timesheet`":`"-`",`"UDF_DATE_Timesheet`":`"-`",`"UDF_DOUBLE_Timesheet`":`"-`",`"UDF_TEXT_Timesheet`":`"-`",`"UDF_ENCRYPT_Timesheet`":`"-`"}"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport" + "?" + $queryString
$response = Invoke-RestMethod -Uri $url -Method GET -Headers $headers
$response | ConvertTo-Json
library(httr)
url <- "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport"
params <- list(
index = "1",
range = "100",
view_type = "week",
start_date = "2023-12-20",
end_date = "2024-12-20",
filter = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"
)
response <- GET(
url,
add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
query = params
)
content(response, "text")
import Foundation
var components = URLComponents(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport")!
components.queryItems = [
URLQueryItem(name: "index", value: "1"),
URLQueryItem(name: "range", value: "100"),
URLQueryItem(name: "view_type", value: "week"),
URLQueryItem(name: "start_date", value: "2023-12-20"),
URLQueryItem(name: "end_date", value: "2024-12-20"),
URLQueryItem(name: "filter", value: "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
]
let url = components.url!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")
let semaphore = DispatchSemaphore(value: 0)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data, let result = String(data: data, encoding: .utf8) {
print(result)
}
semaphore.signal()
}
task.resume()
semaphore.wait()
Sample Input
Sample Response
Get time log client report
OAuth Scope:
ZohoProjects.timesheets.READ
String
requiredUnique, immutable identifier of the portal in Zoho Projects. You can obtain it from the Get Portals API (the "id" field in the response).
int
Enter the index of the record
int
Enter the number of records to retrieve.
String
Type of view Available view types are day,week,month,customdate,fullreport
String
requiredEnter the start date.
String
Enter the end date.
JSONObject
Enter the filter criteria.
String
Enter the custom view ID.
Request Example
curl -X GET \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport";
filter_value = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"};
params = Map();
params.put("index", "1");
params.put("range", "100");
params.put("view_type", "week");
params.put("start_date", "2023-12-20");
params.put("end_date", "2024-12-20");
params.put("filter", filter_value);
params.put("view_id", "23806000074760021");
response = invokeUrl
[
url: url
type: GET
parameters: params
connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport');
url.searchParams.append('index', '1');
url.searchParams.append('range', '100');
url.searchParams.append('view_type', 'week');
url.searchParams.append('start_date', '2023-12-20');
url.searchParams.append('end_date', '2024-12-20');
url.searchParams.append('filter', '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}');
url.searchParams.append('view_id', '23806000074760021');
const options = {
hostname: url.hostname,
path: url.pathname + url.search,
method: 'GET',
headers: {
'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
}
};
const req = https.request(options, (res) => {
let data = '';
res.on('data', (chunk) => { data += chunk; });
res.on('end', () => { console.log(JSON.parse(data)); });
});
req.on('error', (err) => { console.error(err); });
req.end();
require 'net/http'
require 'uri'
require 'json'
url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport")
params = {
"index" => "1",
"range" => "100",
"view_type" => "week",
"start_date" => "2023-12-20",
"end_date" => "2024-12-20",
"filter" => "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
"view_id" => "23806000074760021"
}
url.query = URI.encode_www_form(params)
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
response = http.request(request)
puts response.read_body
<?php
$params = [
'index' => '1',
'range' => '100',
'view_type' => 'week',
'start_date' => '2023-12-20',
'end_date' => '2024-12-20',
'filter' => '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
'view_id' => '23806000074760021',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport" . "?" . http_build_query($params);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport"
params = {
"index": "1",
"range": "100",
"view_type": "week",
"start_date": "2023-12-20",
"end_date": "2024-12-20",
"filter": "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
"view_id": "23806000074760021"
}
headers = {
"Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
int main(void) {
CURL *curl = curl_easy_init();
if (curl) {
char *enc_index = curl_easy_escape(curl, "1", 0);
char *enc_range = curl_easy_escape(curl, "100", 0);
char *enc_view_type = curl_easy_escape(curl, "week", 0);
char *enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
char *enc_end_date = curl_easy_escape(curl, "2024-12-20", 0);
char *enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
char *enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
char url[2048];
snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport?index=%s&range=%s&view_type=%s&start_date=%s&end_date=%s&filter=%s&view_id=%s", enc_index, enc_range, enc_view_type, enc_start_date, enc_end_date, enc_filter, enc_view_id);
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
CURLcode res = curl_easy_perform(curl);
if (res != CURLE_OK)
fprintf(stderr, "curl failed: %s\n", curl_easy_strerror(res));
curl_free(enc_index);
curl_free(enc_range);
curl_free(enc_view_type);
curl_free(enc_start_date);
curl_free(enc_end_date);
curl_free(enc_filter);
curl_free(enc_view_id);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
using System.Net.Http;
using System.Text;
using System.Web;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
var query = HttpUtility.ParseQueryString(string.Empty);
query["index"] = "1";
query["range"] = "100";
query["view_type"] = "week";
query["start_date"] = "2023-12-20";
query["end_date"] = "2024-12-20";
query["filter"] = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}";
query["view_id"] = "23806000074760021";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport") { Query = query.ToString() };
var request = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);
var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
#include <iostream>
#include <string>
#include <curl/curl.h>
static size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) {
output->append((char*)contents, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl = curl_easy_init();
if (curl) {
std::string response;
char* enc_index = curl_easy_escape(curl, "1", 0);
char* enc_range = curl_easy_escape(curl, "100", 0);
char* enc_view_type = curl_easy_escape(curl, "week", 0);
char* enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
char* enc_end_date = curl_easy_escape(curl, "2024-12-20", 0);
char* enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
char* enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport";
url += "?index=" + std::string(enc_index);
url += "&range=" + std::string(enc_range);
url += "&view_type=" + std::string(enc_view_type);
url += "&start_date=" + std::string(enc_start_date);
url += "&end_date=" + std::string(enc_end_date);
url += "&filter=" + std::string(enc_filter);
url += "&view_id=" + std::string(enc_view_id);
struct curl_slist* headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
CURLcode res = curl_easy_perform(curl);
if (res == CURLE_OK)
std::cout << response << std::endl;
else
std::cerr << curl_easy_strerror(res) << std::endl;
curl_free(enc_index);
curl_free(enc_range);
curl_free(enc_view_type);
curl_free(enc_start_date);
curl_free(enc_end_date);
curl_free(enc_filter);
curl_free(enc_view_id);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
(require '[clj-http.client :as client])
(let [enc-index (java.net.URLEncoder/encode "1" "UTF-8")
enc-range (java.net.URLEncoder/encode "100" "UTF-8")
enc-view_type (java.net.URLEncoder/encode "week" "UTF-8")
enc-start_date (java.net.URLEncoder/encode "2023-12-20" "UTF-8")
enc-end_date (java.net.URLEncoder/encode "2024-12-20" "UTF-8")
enc-filter (java.net.URLEncoder/encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" "UTF-8")
enc-view_id (java.net.URLEncoder/encode "23806000074760021" "UTF-8")
url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport" "?index=" enc-index "&range=" enc-range "&view_type=" enc-view_type "&start_date=" enc-start_date "&end_date=" enc-end_date "&filter=" enc-filter "&view_id=" enc-view_id)]
(def response
(client/get url
{:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
:as :json}))
(println (:body response))
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
req, _ := http.NewRequest("GET", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport", nil)
q := req.URL.Query()
q.Add("index", "1")
q.Add("range", "100")
q.Add("view_type", "week")
q.Add("start_date", "2023-12-20")
q.Add("end_date", "2024-12-20")
q.Add("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
q.Add("view_id", "23806000074760021")
req.URL.RawQuery = q.Encode()
req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
GET https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021 HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
SSLContext sslContext = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = httpClientBuilder.setSSLSocketFactory(sslConnectionSocketFactory).build();
URIBuilder uriBuilder = new URIBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport");
uriBuilder.addParameter("index", "1");
uriBuilder.addParameter("range", "100");
uriBuilder.addParameter("view_type", "week");
uriBuilder.addParameter("start_date", "2023-12-20");
uriBuilder.addParameter("end_date", "2024-12-20");
uriBuilder.addParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}");
uriBuilder.addParameter("view_id", "23806000074760021");
HttpUriRequest requestObj = new HttpGet(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
HttpResponse response = httpclient.execute(requestObj);
HttpEntity responseEntity = response.getEntity();
Object responseObject = EntityUtils.toString(responseEntity);
String responseString = responseObject.toString();
const url = 'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport';
const params = new URLSearchParams({
'index': '1',
'range': '100',
'view_type': 'week',
'start_date': '2023-12-20',
'end_date': '2024-12-20',
'filter': '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
'view_id': '23806000074760021'
});
const options = {
method: 'GET',
headers: {
'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
}
};
fetch(url + '?' + params.toString(), options)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
index = "1"
range = "100"
view_type = "week"
start_date = "2023-12-20"
end_date = "2024-12-20"
filter = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}
view_id = "23806000074760021"import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl
fun main() {
val urlBuilder = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport".toHttpUrl().newBuilder()
urlBuilder.addQueryParameter("index", "1")
urlBuilder.addQueryParameter("range", "100")
urlBuilder.addQueryParameter("view_type", "week")
urlBuilder.addQueryParameter("start_date", "2023-12-20")
urlBuilder.addQueryParameter("end_date", "2024-12-20")
urlBuilder.addQueryParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
urlBuilder.addQueryParameter("view_id", "23806000074760021")
val url = URL(urlBuilder.build().toString())
val conn = url.openConnection() as HttpURLConnection
conn.requestMethod = "GET"
conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
val response = conn.inputStream.bufferedReader().readText()
println(response)
}
NSString *encodedIndex = [@"1" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedRange = [@"100" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_type = [@"week" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedStart_date = [@"2023-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedEnd_date = [@"2024-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFilter = [@"{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_id = [@"23806000074760021" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport?index=%@&range=%@&view_type=%@&start_date=%@&end_date=%@&filter=%@&view_id=%@", encodedIndex, encodedRange, encodedView_type, encodedStart_date, encodedEnd_date, encodedFilter, encodedView_id];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
open Lwt
open Cohttp_lwt_unix
let () =
let enc_index = Uri.pct_encode "1" in
let enc_range = Uri.pct_encode "100" in
let enc_view_type = Uri.pct_encode "week" in
let enc_start_date = Uri.pct_encode "2023-12-20" in
let enc_end_date = Uri.pct_encode "2024-12-20" in
let enc_filter = Uri.pct_encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" in
let enc_view_id = Uri.pct_encode "23806000074760021" in
let uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport" ^ "?index=" ^ enc_index ^ "&range=" ^ enc_range ^ "&view_type=" ^ enc_view_type ^ "&start_date=" ^ enc_start_date ^ "&end_date=" ^ enc_end_date ^ "&filter=" ^ enc_filter ^ "&view_id=" ^ enc_view_id) in
let headers = Cohttp.Header.init ()
|> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
in
Lwt_main.run (
Client.get ~headers uri >>= fun (_, body) ->
Cohttp_lwt.Body.to_string body >|= fun s ->
print_endline s)
$headers = @{
"Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
}
$params = @{
index = "1"
range = "100"
view_type = "week"
start_date = "2023-12-20"
end_date = "2024-12-20"
filter = "{`"project`":`"-`",`"assignee`":`"-`",`"billtype`":`"-`",`"approvaltype`":`"-`",`"tsheetperiod`":`"-`",`"clientcompany`":`"-`",`"content`":`"-`",`"invoicestatus`":`"-`",`"usergroups`":`"-`",`"criteria`":[{`"field_name`":`"project`",`"custom_feild`":`"-`",`"field_type`":`"-`",`"criteria_condition`":`"contains`",`"value`":[`"1752587000000097269`"]}],`"pattern`":`"1`",`"UDF_CHAR_Timesheet`":`"-`",`"UDF_USER_Timesheet`":`"-`",`"UDF_LONG_Timesheet`":`"-`",`"UDF_DATE_Timesheet`":`"-`",`"UDF_DOUBLE_Timesheet`":`"-`",`"UDF_TEXT_Timesheet`":`"-`",`"UDF_ENCRYPT_Timesheet`":`"-`"}"
view_id = "23806000074760021"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport" + "?" + $queryString
$response = Invoke-RestMethod -Uri $url -Method GET -Headers $headers
$response | ConvertTo-Json
library(httr)
url <- "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport"
params <- list(
index = "1",
range = "100",
view_type = "week",
start_date = "2023-12-20",
end_date = "2024-12-20",
filter = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
view_id = "23806000074760021"
)
response <- GET(
url,
add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
query = params
)
content(response, "text")
import Foundation
var components = URLComponents(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport")!
components.queryItems = [
URLQueryItem(name: "index", value: "1"),
URLQueryItem(name: "range", value: "100"),
URLQueryItem(name: "view_type", value: "week"),
URLQueryItem(name: "start_date", value: "2023-12-20"),
URLQueryItem(name: "end_date", value: "2024-12-20"),
URLQueryItem(name: "filter", value: "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"),
URLQueryItem(name: "view_id", value: "23806000074760021")
]
let url = components.url!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")
let semaphore = DispatchSemaphore(value: 0)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data, let result = String(data: data, encoding: .utf8) {
print(result)
}
semaphore.signal()
}
task.resume()
semaphore.wait()
Sample Input
Sample Response
Retrieve time log report count.
OAuth Scope:
ZohoProjects.timesheets.READ
String
requiredUnique, immutable identifier of the portal in Zoho Projects. You can obtain it from the Get Portals API (the "id" field in the response).
String
requiredEnter the report type. Accepted values: user,module
String
regex : day|week|monthEnter the view type. Accepted values: day,week,month
String
Enter the start date. Format: YYYY-MM-DD
JSONObject
Enter the filter criteria.
String
Enter the custom view ID.
String
Enter the project ID to get report count for a specific project. You can obtain it from the Get Projects API (the "id" field in the response).
JSONObject
Custom date range for report
boolean
Decides whether the count is of dependant entities. When false, the count is of the entity the report paginates by: users for the user report, projects for the portal level module report.
Request Example
curl -X GET \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count?report_type=-&view_type=-&start_date=-&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22field_name%22%3A%22user%22%2C%22custom_field%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22is%22%2C%22value%22%3A%5B%224000000002411%22%5D%2C%22relative_columns%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22offset%22%3A%22-%22%2C%22unit%22%3A%22-%22%2C%22prior%22%3A%22-%22%7D%5D%7D%5D%2C%22pattern%22%3A%221+AND+2+AND+3+AND+4%22%2C%22cf_single_line%22%3A%22-%22%2C%22cf_user_picklist%22%3A%22-%22%2C%22cf_number%22%3A%22-%22%2C%22cf_date%22%3A%22-%22%2C%22cf_decimal%22%3A%22-%22%2C%22cf_multi_line%22%3A%22-%22%2C%22cf_email%22%3A%22-%22%7D&view_id=-&project_id=23806000097545166&custom_range=%7B%22start_date%22%3A%22-%22%2C%22end_date%22%3A%22-%22%7D&is_module_based_pagination=false' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count";
filter_value = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"cfid":"-","field_name":"user","custom_field":"-","field_type":"-","criteria_condition":"is","value":["4000000002411"],"relative_columns":[{"cfid":"-","offset":"-","unit":"-","prior":"-"}]}],"pattern":"1 AND 2 AND 3 AND 4","cf_single_line":"-","cf_user_picklist":"-","cf_number":"-","cf_date":"-","cf_decimal":"-","cf_multi_line":"-","cf_email":"-"};
custom_range_value = {"start_date":"-","end_date":"-"};
params = Map();
params.put("report_type", "-");
params.put("view_type", "-");
params.put("start_date", "-");
params.put("filter", filter_value);
params.put("view_id", "-");
params.put("project_id", "23806000097545166");
params.put("custom_range", custom_range_value);
params.put("is_module_based_pagination", false);
response = invokeUrl
[
url: url
type: GET
parameters: params
connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count');
url.searchParams.append('report_type', '-');
url.searchParams.append('view_type', '-');
url.searchParams.append('start_date', '-');
url.searchParams.append('filter', '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"cfid":"-","field_name":"user","custom_field":"-","field_type":"-","criteria_condition":"is","value":["4000000002411"],"relative_columns":[{"cfid":"-","offset":"-","unit":"-","prior":"-"}]}],"pattern":"1 AND 2 AND 3 AND 4","cf_single_line":"-","cf_user_picklist":"-","cf_number":"-","cf_date":"-","cf_decimal":"-","cf_multi_line":"-","cf_email":"-"}');
url.searchParams.append('view_id', '-');
url.searchParams.append('project_id', '23806000097545166');
url.searchParams.append('custom_range', '{"start_date":"-","end_date":"-"}');
url.searchParams.append('is_module_based_pagination', 'false');
const options = {
hostname: url.hostname,
path: url.pathname + url.search,
method: 'GET',
headers: {
'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
}
};
const req = https.request(options, (res) => {
let data = '';
res.on('data', (chunk) => { data += chunk; });
res.on('end', () => { console.log(JSON.parse(data)); });
});
req.on('error', (err) => { console.error(err); });
req.end();
require 'net/http'
require 'uri'
require 'json'
url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count")
params = {
"report_type" => "-",
"view_type" => "-",
"start_date" => "-",
"filter" => "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}",
"view_id" => "-",
"project_id" => "23806000097545166",
"custom_range" => "{\"start_date\":\"-\",\"end_date\":\"-\"}",
"is_module_based_pagination" => "false"
}
url.query = URI.encode_www_form(params)
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
response = http.request(request)
puts response.read_body
<?php
$params = [
'report_type' => '-',
'view_type' => '-',
'start_date' => '-',
'filter' => '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"cfid":"-","field_name":"user","custom_field":"-","field_type":"-","criteria_condition":"is","value":["4000000002411"],"relative_columns":[{"cfid":"-","offset":"-","unit":"-","prior":"-"}]}],"pattern":"1 AND 2 AND 3 AND 4","cf_single_line":"-","cf_user_picklist":"-","cf_number":"-","cf_date":"-","cf_decimal":"-","cf_multi_line":"-","cf_email":"-"}',
'view_id' => '-',
'project_id' => '23806000097545166',
'custom_range' => '{"start_date":"-","end_date":"-"}',
'is_module_based_pagination' => 'false',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count" . "?" . http_build_query($params);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count"
params = {
"report_type": "-",
"view_type": "-",
"start_date": "-",
"filter": "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}",
"view_id": "-",
"project_id": "23806000097545166",
"custom_range": "{\"start_date\":\"-\",\"end_date\":\"-\"}",
"is_module_based_pagination": "false"
}
headers = {
"Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
int main(void) {
CURL *curl = curl_easy_init();
if (curl) {
char *enc_report_type = curl_easy_escape(curl, "-", 0);
char *enc_view_type = curl_easy_escape(curl, "-", 0);
char *enc_start_date = curl_easy_escape(curl, "-", 0);
char *enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}", 0);
char *enc_view_id = curl_easy_escape(curl, "-", 0);
char *enc_project_id = curl_easy_escape(curl, "23806000097545166", 0);
char *enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"-\",\"end_date\":\"-\"}", 0);
char *enc_is_module_based_pagination = curl_easy_escape(curl, "false", 0);
char url[2048];
snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count?report_type=%s&view_type=%s&start_date=%s&filter=%s&view_id=%s&project_id=%s&custom_range=%s&is_module_based_pagination=%s", enc_report_type, enc_view_type, enc_start_date, enc_filter, enc_view_id, enc_project_id, enc_custom_range, enc_is_module_based_pagination);
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
CURLcode res = curl_easy_perform(curl);
if (res != CURLE_OK)
fprintf(stderr, "curl failed: %s\n", curl_easy_strerror(res));
curl_free(enc_report_type);
curl_free(enc_view_type);
curl_free(enc_start_date);
curl_free(enc_filter);
curl_free(enc_view_id);
curl_free(enc_project_id);
curl_free(enc_custom_range);
curl_free(enc_is_module_based_pagination);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
using System.Net.Http;
using System.Text;
using System.Web;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
var query = HttpUtility.ParseQueryString(string.Empty);
query["report_type"] = "-";
query["view_type"] = "-";
query["start_date"] = "-";
query["filter"] = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}";
query["view_id"] = "-";
query["project_id"] = "23806000097545166";
query["custom_range"] = "{\"start_date\":\"-\",\"end_date\":\"-\"}";
query["is_module_based_pagination"] = "false";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count") { Query = query.ToString() };
var request = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);
var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
#include <iostream>
#include <string>
#include <curl/curl.h>
static size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) {
output->append((char*)contents, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl = curl_easy_init();
if (curl) {
std::string response;
char* enc_report_type = curl_easy_escape(curl, "-", 0);
char* enc_view_type = curl_easy_escape(curl, "-", 0);
char* enc_start_date = curl_easy_escape(curl, "-", 0);
char* enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}", 0);
char* enc_view_id = curl_easy_escape(curl, "-", 0);
char* enc_project_id = curl_easy_escape(curl, "23806000097545166", 0);
char* enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"-\",\"end_date\":\"-\"}", 0);
char* enc_is_module_based_pagination = curl_easy_escape(curl, "false", 0);
std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count";
url += "?report_type=" + std::string(enc_report_type);
url += "&view_type=" + std::string(enc_view_type);
url += "&start_date=" + std::string(enc_start_date);
url += "&filter=" + std::string(enc_filter);
url += "&view_id=" + std::string(enc_view_id);
url += "&project_id=" + std::string(enc_project_id);
url += "&custom_range=" + std::string(enc_custom_range);
url += "&is_module_based_pagination=" + std::string(enc_is_module_based_pagination);
struct curl_slist* headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
CURLcode res = curl_easy_perform(curl);
if (res == CURLE_OK)
std::cout << response << std::endl;
else
std::cerr << curl_easy_strerror(res) << std::endl;
curl_free(enc_report_type);
curl_free(enc_view_type);
curl_free(enc_start_date);
curl_free(enc_filter);
curl_free(enc_view_id);
curl_free(enc_project_id);
curl_free(enc_custom_range);
curl_free(enc_is_module_based_pagination);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
(require '[clj-http.client :as client])
(let [enc-report_type (java.net.URLEncoder/encode "-" "UTF-8")
enc-view_type (java.net.URLEncoder/encode "-" "UTF-8")
enc-start_date (java.net.URLEncoder/encode "-" "UTF-8")
enc-filter (java.net.URLEncoder/encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}" "UTF-8")
enc-view_id (java.net.URLEncoder/encode "-" "UTF-8")
enc-project_id (java.net.URLEncoder/encode "23806000097545166" "UTF-8")
enc-custom_range (java.net.URLEncoder/encode "{\"start_date\":\"-\",\"end_date\":\"-\"}" "UTF-8")
enc-is_module_based_pagination (java.net.URLEncoder/encode "false" "UTF-8")
url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count" "?report_type=" enc-report_type "&view_type=" enc-view_type "&start_date=" enc-start_date "&filter=" enc-filter "&view_id=" enc-view_id "&project_id=" enc-project_id "&custom_range=" enc-custom_range "&is_module_based_pagination=" enc-is_module_based_pagination)]
(def response
(client/get url
{:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
:as :json}))
(println (:body response))
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
req, _ := http.NewRequest("GET", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count", nil)
q := req.URL.Query()
q.Add("report_type", "-")
q.Add("view_type", "-")
q.Add("start_date", "-")
q.Add("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}")
q.Add("view_id", "-")
q.Add("project_id", "23806000097545166")
q.Add("custom_range", "{\"start_date\":\"-\",\"end_date\":\"-\"}")
q.Add("is_module_based_pagination", "false")
req.URL.RawQuery = q.Encode()
req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
GET https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count?report_type=-&view_type=-&start_date=-&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22field_name%22%3A%22user%22%2C%22custom_field%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22is%22%2C%22value%22%3A%5B%224000000002411%22%5D%2C%22relative_columns%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22offset%22%3A%22-%22%2C%22unit%22%3A%22-%22%2C%22prior%22%3A%22-%22%7D%5D%7D%5D%2C%22pattern%22%3A%221+AND+2+AND+3+AND+4%22%2C%22cf_single_line%22%3A%22-%22%2C%22cf_user_picklist%22%3A%22-%22%2C%22cf_number%22%3A%22-%22%2C%22cf_date%22%3A%22-%22%2C%22cf_decimal%22%3A%22-%22%2C%22cf_multi_line%22%3A%22-%22%2C%22cf_email%22%3A%22-%22%7D&view_id=-&project_id=23806000097545166&custom_range=%7B%22start_date%22%3A%22-%22%2C%22end_date%22%3A%22-%22%7D&is_module_based_pagination=false HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count?report_type=-&view_type=-&start_date=-&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22field_name%22%3A%22user%22%2C%22custom_field%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22is%22%2C%22value%22%3A%5B%224000000002411%22%5D%2C%22relative_columns%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22offset%22%3A%22-%22%2C%22unit%22%3A%22-%22%2C%22prior%22%3A%22-%22%7D%5D%7D%5D%2C%22pattern%22%3A%221+AND+2+AND+3+AND+4%22%2C%22cf_single_line%22%3A%22-%22%2C%22cf_user_picklist%22%3A%22-%22%2C%22cf_number%22%3A%22-%22%2C%22cf_date%22%3A%22-%22%2C%22cf_decimal%22%3A%22-%22%2C%22cf_multi_line%22%3A%22-%22%2C%22cf_email%22%3A%22-%22%7D&view_id=-&project_id=23806000097545166&custom_range=%7B%22start_date%22%3A%22-%22%2C%22end_date%22%3A%22-%22%7D&is_module_based_pagination=false
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
SSLContext sslContext = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = httpClientBuilder.setSSLSocketFactory(sslConnectionSocketFactory).build();
URIBuilder uriBuilder = new URIBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count");
uriBuilder.addParameter("report_type", "-");
uriBuilder.addParameter("view_type", "-");
uriBuilder.addParameter("start_date", "-");
uriBuilder.addParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}");
uriBuilder.addParameter("view_id", "-");
uriBuilder.addParameter("project_id", "23806000097545166");
uriBuilder.addParameter("custom_range", "{\"start_date\":\"-\",\"end_date\":\"-\"}");
uriBuilder.addParameter("is_module_based_pagination", "false");
HttpUriRequest requestObj = new HttpGet(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
HttpResponse response = httpclient.execute(requestObj);
HttpEntity responseEntity = response.getEntity();
Object responseObject = EntityUtils.toString(responseEntity);
String responseString = responseObject.toString();
const url = 'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count';
const params = new URLSearchParams({
'report_type': '-',
'view_type': '-',
'start_date': '-',
'filter': '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"cfid":"-","field_name":"user","custom_field":"-","field_type":"-","criteria_condition":"is","value":["4000000002411"],"relative_columns":[{"cfid":"-","offset":"-","unit":"-","prior":"-"}]}],"pattern":"1 AND 2 AND 3 AND 4","cf_single_line":"-","cf_user_picklist":"-","cf_number":"-","cf_date":"-","cf_decimal":"-","cf_multi_line":"-","cf_email":"-"}',
'view_id': '-',
'project_id': '23806000097545166',
'custom_range': '{"start_date":"-","end_date":"-"}',
'is_module_based_pagination': 'false'
});
const options = {
method: 'GET',
headers: {
'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
}
};
fetch(url + '?' + params.toString(), options)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
report_type = -
view_type = -
start_date = -
filter = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"cfid":"-","field_name":"user","custom_field":"-","field_type":"-","criteria_condition":"is","value":["4000000002411"],"relative_columns":[{"cfid":"-","offset":"-","unit":"-","prior":"-"}]}],"pattern":"1 AND 2 AND 3 AND 4","cf_single_line":"-","cf_user_picklist":"-","cf_number":"-","cf_date":"-","cf_decimal":"-","cf_multi_line":"-","cf_email":"-"}
view_id = -
project_id = "23806000097545166"
custom_range = {"start_date":"-","end_date":"-"}
is_module_based_pagination = falseimport java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl
fun main() {
val urlBuilder = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count".toHttpUrl().newBuilder()
urlBuilder.addQueryParameter("report_type", "-")
urlBuilder.addQueryParameter("view_type", "-")
urlBuilder.addQueryParameter("start_date", "-")
urlBuilder.addQueryParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}")
urlBuilder.addQueryParameter("view_id", "-")
urlBuilder.addQueryParameter("project_id", "23806000097545166")
urlBuilder.addQueryParameter("custom_range", "{\"start_date\":\"-\",\"end_date\":\"-\"}")
urlBuilder.addQueryParameter("is_module_based_pagination", "false")
val url = URL(urlBuilder.build().toString())
val conn = url.openConnection() as HttpURLConnection
conn.requestMethod = "GET"
conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
val response = conn.inputStream.bufferedReader().readText()
println(response)
}
NSString *encodedReport_type = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_type = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedStart_date = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFilter = [@"{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_id = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedProject_id = [@"23806000097545166" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedCustom_range = [@"{\"start_date\":\"-\",\"end_date\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedIs_module_based_pagination = [@"false" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count?report_type=%@&view_type=%@&start_date=%@&filter=%@&view_id=%@&project_id=%@&custom_range=%@&is_module_based_pagination=%@", encodedReport_type, encodedView_type, encodedStart_date, encodedFilter, encodedView_id, encodedProject_id, encodedCustom_range, encodedIs_module_based_pagination];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
open Lwt
open Cohttp_lwt_unix
let () =
let enc_report_type = Uri.pct_encode "-" in
let enc_view_type = Uri.pct_encode "-" in
let enc_start_date = Uri.pct_encode "-" in
let enc_filter = Uri.pct_encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}" in
let enc_view_id = Uri.pct_encode "-" in
let enc_project_id = Uri.pct_encode "23806000097545166" in
let enc_custom_range = Uri.pct_encode "{\"start_date\":\"-\",\"end_date\":\"-\"}" in
let enc_is_module_based_pagination = Uri.pct_encode "false" in
let uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count" ^ "?report_type=" ^ enc_report_type ^ "&view_type=" ^ enc_view_type ^ "&start_date=" ^ enc_start_date ^ "&filter=" ^ enc_filter ^ "&view_id=" ^ enc_view_id ^ "&project_id=" ^ enc_project_id ^ "&custom_range=" ^ enc_custom_range ^ "&is_module_based_pagination=" ^ enc_is_module_based_pagination) in
let headers = Cohttp.Header.init ()
|> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
in
Lwt_main.run (
Client.get ~headers uri >>= fun (_, body) ->
Cohttp_lwt.Body.to_string body >|= fun s ->
print_endline s)
$headers = @{
"Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
}
$params = @{
report_type = "-"
view_type = "-"
start_date = "-"
filter = "{`"project`":`"-`",`"assignee`":`"-`",`"billtype`":`"-`",`"approvaltype`":`"-`",`"tsheetperiod`":`"-`",`"clientcompany`":`"-`",`"content`":`"-`",`"invoicestatus`":`"-`",`"usergroups`":`"-`",`"criteria`":[{`"cfid`":`"-`",`"field_name`":`"user`",`"custom_field`":`"-`",`"field_type`":`"-`",`"criteria_condition`":`"is`",`"value`":[`"4000000002411`"],`"relative_columns`":[{`"cfid`":`"-`",`"offset`":`"-`",`"unit`":`"-`",`"prior`":`"-`"}]}],`"pattern`":`"1 AND 2 AND 3 AND 4`",`"cf_single_line`":`"-`",`"cf_user_picklist`":`"-`",`"cf_number`":`"-`",`"cf_date`":`"-`",`"cf_decimal`":`"-`",`"cf_multi_line`":`"-`",`"cf_email`":`"-`"}"
view_id = "-"
project_id = "23806000097545166"
custom_range = "{`"start_date`":`"-`",`"end_date`":`"-`"}"
is_module_based_pagination = "false"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count" + "?" + $queryString
$response = Invoke-RestMethod -Uri $url -Method GET -Headers $headers
$response | ConvertTo-Json
library(httr)
url <- "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count"
params <- list(
report_type = "-",
view_type = "-",
start_date = "-",
filter = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}",
view_id = "-",
project_id = "23806000097545166",
custom_range = "{\"start_date\":\"-\",\"end_date\":\"-\"}",
is_module_based_pagination = "false"
)
response <- GET(
url,
add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
query = params
)
content(response, "text")
import Foundation
var components = URLComponents(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count")!
components.queryItems = [
URLQueryItem(name: "report_type", value: "-"),
URLQueryItem(name: "view_type", value: "-"),
URLQueryItem(name: "start_date", value: "-"),
URLQueryItem(name: "filter", value: "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}"),
URLQueryItem(name: "view_id", value: "-"),
URLQueryItem(name: "project_id", value: "23806000097545166"),
URLQueryItem(name: "custom_range", value: "{\"start_date\":\"-\",\"end_date\":\"-\"}"),
URLQueryItem(name: "is_module_based_pagination", value: "false")
]
let url = components.url!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")
let semaphore = DispatchSemaphore(value: 0)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data, let result = String(data: data, encoding: .utf8) {
print(result)
}
semaphore.signal()
}
task.resume()
semaphore.wait()
Sample Input
Sample Response