0

Update a contact

by
Published Apr 8, 2025

There are 2 ways to update a contact Option 1- https://api.

Script brevo Verified

The script

Submitted by hugo697 Bun
Verified 428 days ago
1
//native
2
type Brevo = {
3
  apiKey: string;
4
};
5
/**
6
 * Update a contact
7
 * There are 2 ways to update a contact  Option 1- https://api.
8
 */
9
export async function main(
10
  auth: Brevo,
11
  identifier: string,
12
  identifierType:
13
    | "email_id"
14
    | "contact_id"
15
    | "ext_id"
16
    | "phone_id"
17
    | "whatsapp_id"
18
    | "landline_number_id"
19
    | undefined,
20
  body: {
21
    attributes?: {};
22
    ext_id?: string;
23
    emailBlacklisted?: false | true;
24
    smsBlacklisted?: false | true;
25
    listIds?: number[];
26
    unlinkListIds?: number[];
27
    smtpBlacklistSender?: string[];
28
  },
29
) {
30
  const url = new URL(`https://api.brevo.com/v3/contacts/${identifier}`);
31
  for (const [k, v] of [["identifierType", identifierType]]) {
32
    if (v !== undefined && v !== "" && k !== undefined) {
33
      url.searchParams.append(k, v);
34
    }
35
  }
36
  const response = await fetch(url, {
37
    method: "PUT",
38
    headers: {
39
      "Content-Type": "application/json",
40
      "api-key": auth.apiKey,
41
    },
42
    body: JSON.stringify(body),
43
  });
44
  if (!response.ok) {
45
    const text = await response.text();
46
    throw new Error(`${response.status} ${text}`);
47
  }
48
  return await response.text();
49
}
50