Edits history of script submission #22506 for ' Search Contacts (sendgrid)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    import sendgrid from "@sendgrid/client@^7.7.0";
    
    /**
     * @param query The search query in SGQL format. An example query to get
     * all contacts with a Gmail address would look like the following:
     * `email LIKE '%gmail.com'`
     *
     * You can read more about SGQL at
     * https://docs.sendgrid.com/for-developers/sending-email/segmentation-query-language.
     *
     * You can read more about the endpoint at
     * https://docs.sendgrid.com/api-reference/contacts/search-contacts.
     */
    type Sendgrid = {
      token: string;
    };
    export async function main(api_token: Sendgrid, query: string) {
      sendgrid.setApiKey(api_token.token);
    
      const request = {
        url: `/v3/marketing/contacts/search`,
        method: "POST",
        body: { query },
      };
    
      try {
        const [_, body] = await sendgrid.request(request);
        return body;
      } catch (error) {
        throw Error("\n" + JSON.stringify(error?.response?.body || error));
      }
    }
    

    Submitted by hugo989 3 days ago