Search Contacts

Script sendgrid Verified

by aurelievets2t ยท 6/6/2022

The script

Submitted by hugo989 Bun
Verified 3 days ago
1
import sendgrid from "@sendgrid/client@^7.7.0";
2

3
/**
4
 * @param query The search query in SGQL format. An example query to get
5
 * all contacts with a Gmail address would look like the following:
6
 * `email LIKE '%gmail.com'`
7
 *
8
 * You can read more about SGQL at
9
 * https://docs.sendgrid.com/for-developers/sending-email/segmentation-query-language.
10
 *
11
 * You can read more about the endpoint at
12
 * https://docs.sendgrid.com/api-reference/contacts/search-contacts.
13
 */
14
type Sendgrid = {
15
  token: string;
16
};
17
export async function main(api_token: Sendgrid, query: string) {
18
  sendgrid.setApiKey(api_token.token);
19

20
  const request = {
21
    url: `/v3/marketing/contacts/search`,
22
    method: "POST",
23
    body: { query },
24
  };
25

26
  try {
27
    const [_, body] = await sendgrid.request(request);
28
    return body;
29
  } catch (error) {
30
    throw Error("\n" + JSON.stringify(error?.response?.body || error));
31
  }
32
}
33

Other submissions
  • Submitted by adam186 Deno
    Created 395 days ago
    1
    import sendgrid from "npm:@sendgrid/client@^7.7.0";
    2
    
    
    3
    /**
    4
     * @param query The search query in SGQL format. An example query to get
    5
     * all contacts with a Gmail address would look like the following:
    6
     * `email LIKE '%gmail.com'`
    7
     *
    8
     * You can read more about SGQL at
    9
     * https://docs.sendgrid.com/for-developers/sending-email/segmentation-query-language.
    10
     *
    11
     * You can read more about the endpoint at
    12
     * https://docs.sendgrid.com/api-reference/contacts/search-contacts.
    13
     */
    14
    type Sendgrid = {
    15
      token: string;
    16
    };
    17
    export async function main(api_token: Sendgrid, query: string) {
    18
      sendgrid.setApiKey(api_token.token);
    19
    
    
    20
      const request = {
    21
        url: `/v3/marketing/contacts/search`,
    22
        method: "POST",
    23
        body: { query },
    24
      };
    25
    
    
    26
      try {
    27
        const [_, body] = await sendgrid.request(request);
    28
        return body;
    29
      } catch (error) {
    30
        throw Error("\n" + JSON.stringify(error?.response?.body || error));
    31
      }
    32
    }
    33