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