0

Get all tasks

by
Published Apr 8, 2025
Script brevo Verified

The script

Submitted by hugo697 Bun
Verified 428 days ago
1
//native
2
type Brevo = {
3
  apiKey: string;
4
};
5
/**
6
 * Get all tasks
7
 *
8
 */
9
export async function main(
10
  auth: Brevo,
11
  filter_type_: string | undefined,
12
  filter_status_: "done" | "undone" | undefined,
13
  filter_date_: "overdue" | "today" | "tomorrow" | "week" | "range" | undefined,
14
  filter_assignTo_: string | undefined,
15
  filter_contacts_: string | undefined,
16
  filter_deals_: string | undefined,
17
  filter_companies_: string | undefined,
18
  dateFrom: string | undefined,
19
  dateTo: string | undefined,
20
  offset: string | undefined,
21
  limit: string | undefined,
22
  sort: "asc" | "desc" | undefined,
23
  sortBy: string | undefined,
24
) {
25
  const url = new URL(`https://api.brevo.com/v3/crm/tasks`);
26
  for (const [k, v] of [
27
    ["filter[type]", filter_type_],
28
    ["filter[status]", filter_status_],
29
    ["filter[date]", filter_date_],
30
    ["filter[assignTo]", filter_assignTo_],
31
    ["filter[contacts]", filter_contacts_],
32
    ["filter[deals]", filter_deals_],
33
    ["filter[companies]", filter_companies_],
34
    ["dateFrom", dateFrom],
35
    ["dateTo", dateTo],
36
    ["offset", offset],
37
    ["limit", limit],
38
    ["sort", sort],
39
    ["sortBy", sortBy],
40
  ]) {
41
    if (v !== undefined && v !== "" && k !== undefined) {
42
      url.searchParams.append(k, v);
43
    }
44
  }
45
  const response = await fetch(url, {
46
    method: "GET",
47
    headers: {
48
      "api-key": auth.apiKey,
49
    },
50
    body: undefined,
51
  });
52
  if (!response.ok) {
53
    const text = await response.text();
54
    throw new Error(`${response.status} ${text}`);
55
  }
56
  return await response.json();
57
}
58