//native
type Salesflare = {
apiKey: string;
};
/**
* List opportunities
* default date filter (from/to) is on close_datesetting scope to user gives back all opportunities from the user
*/
export async function main(
auth: Salesflare,
search: string | undefined,
id: string | undefined,
name: string | undefined,
status: string | undefined,
stage: string | undefined,
stage_name: string | undefined,
owner: string | undefined,
team_member: string | undefined,
owner_group: string | undefined,
assignee_group: string | undefined,
team_member_group: string | undefined,
account: string | undefined,
assignee: string | undefined,
min_value: string | undefined,
max_value: string | undefined,
close_after: string | undefined,
close_before: string | undefined,
creation_after: string | undefined,
creation_before: string | undefined,
closed: string | undefined,
done: string | undefined,
tag: string | undefined,
tag_name: string | undefined,
hotness: string | undefined,
limit: string | undefined,
offset: string | undefined,
order_by: string | undefined,
pipeline: string | undefined,
custom: string | undefined,
details: string | undefined,
_export: string | undefined,
q: string | undefined,
) {
const url = new URL(`https://api.salesflare.com/opportunities`);
for (const [k, v] of [
["search", search],
["id", id],
["name", name],
["status", status],
["stage", stage],
["stage.name", stage_name],
["owner", owner],
["team_member", team_member],
["owner_group", owner_group],
["assignee_group", assignee_group],
["team_member_group", team_member_group],
["account", account],
["assignee", assignee],
["min_value", min_value],
["max_value", max_value],
["close_after", close_after],
["close_before", close_before],
["creation_after", creation_after],
["creation_before", creation_before],
["closed", closed],
["done", done],
["tag", tag],
["tag.name", tag_name],
["hotness", hotness],
["limit", limit],
["offset", offset],
["order_by", order_by],
["pipeline", pipeline],
["custom", custom],
["details", details],
["export", _export],
["q", q],
]) {
if (v !== undefined && v !== "" && k !== undefined) {
url.searchParams.append(k, v);
}
}
const response = await fetch(url, {
method: "GET",
headers: {
Authorization: "Bearer " + auth.apiKey,
},
body: undefined,
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.text();
}
Submitted by hugo697 235 days ago