0

Get Reward list

by
Published Apr 8, 2025

Returns a list of rewards for a given loyalty program

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 Reward list
7
 * Returns a list of rewards for a given loyalty program
8
 */
9
export async function main(
10
  auth: Brevo,
11
  loyaltyProgramId: string,
12
  limit: string | undefined,
13
  offset: string | undefined,
14
  rewardState:
15
    | "all"
16
    | "active"
17
    | "pending"
18
    | "disabled"
19
    | "expired"
20
    | undefined,
21
  rewardVersion: "active" | "draft" | undefined,
22
) {
23
  const url = new URL(
24
    `https://api.brevo.com/v3/loyalty/offer/programs/${loyaltyProgramId}/offers`,
25
  );
26
  for (const [k, v] of [
27
    ["limit", limit],
28
    ["offset", offset],
29
    ["rewardState", rewardState],
30
    ["rewardVersion", rewardVersion],
31
  ]) {
32
    if (v !== undefined && v !== "" && k !== undefined) {
33
      url.searchParams.append(k, v);
34
    }
35
  }
36
  const response = await fetch(url, {
37
    method: "GET",
38
    headers: {
39
      "api-key": auth.apiKey,
40
    },
41
    body: undefined,
42
  });
43
  if (!response.ok) {
44
    const text = await response.text();
45
    throw new Error(`${response.status} ${text}`);
46
  }
47
  return await response.json();
48
}
49