//native
type Zoho = {
token: string;
};
/**
* Get timelines
*
*/
export async function main(
auth: Zoho,
record_id: string,
_module: string,
include_inner_details:
| "field_history.data_type"
| "field_history.enable_colour_code"
| "field_history.field_label"
| "field_history.pick_list_values"
| undefined,
sort_by: string | undefined,
sort_order: "asc" | "desc" | undefined,
include_timeline_type: string | undefined,
include: "extension" | "type" | undefined,
filters: string | undefined,
per_page: string | undefined,
page: string | undefined,
page_token: string | undefined,
) {
const url = new URL(
`https://zohoapis.com/crm/v8/${_module}/${record_id}/__timeline`,
);
for (const [k, v] of [
["include_inner_details", include_inner_details],
["sort_by", sort_by],
["sort_order", sort_order],
["include_timeline_type", include_timeline_type],
["include", include],
["filters", filters],
["per_page", per_page],
["page", page],
["page_token", page_token],
]) {
if (v !== undefined && v !== "" && k !== undefined) {
url.searchParams.append(k, v);
}
}
const response = await fetch(url, {
method: "GET",
headers: {
Authorization: "Zoho-oauthtoken " + auth.token,
},
body: undefined,
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 235 days ago