@vulture916/activepieces-piece-lemlist
Version:
Lemlist integration for ActivePieces - Email outreach and sales engagement platform
34 lines (31 loc) • 903 B
JavaScript
const { httpClient, HttpMethod, HttpRequest, QueryParams } = require('@activepieces/pieces-common');
const API_BASE_URL = 'https://api.lemlist.com/api';
exports.lemlistClient = {
async makeRequest<T = any>(
auth,
method: HttpMethod,
endpoint,
body?,
queryParams?: QueryParams
): Promise<T> {
const request: HttpRequest = {
method,
url: `${API_BASE_URL}${endpoint}`,
headers: {
'Authorization': `Basic ${Buffer.from(`:${auth}`).toString('base64')}`,
'Content-Type': 'application/json',
},
body,
queryParams,
};
try {
const response = await httpClient.sendRequest<T>(request);
return response.body;
} catch (error) {
if (error.response) {
throw new Error(`Lemlist API Error: ${error.response.status} - ${JSON.stringify(error.response.body)}`);
}
throw error;
}
},
};