SDK JavaScript
O SDK JavaScript oficial do Brevo fornece uma forma simples de integrar os serviços Brevo nas suas aplicações Node.js.
Instalação
npm install @brevo/api# ouyarn add @brevo/apiInício Rápido
const brevo = require('@brevo/api');
// Configurar chave de APIlet apiInstance = new brevo.TransactionalEmailsApi();apiInstance.setApiKey(brevo.TransactionalEmailsApiApiKeys.apiKey, 'YOUR_API_KEY');
// Enviar e-mail transacionallet sendSmtpEmail = new brevo.SendSmtpEmail();sendSmtpEmail.subject = "Olá do Brevo";sendSmtpEmail.htmlContent = "<html><body><h1>Olá Mundo</h1></body></html>";
apiInstance.sendTransacEmail(sendSmtpEmail).then( data => console.log('E-mail enviado com sucesso:', data), error => console.error('Erro:', error));Configuração
Variáveis de Ambiente
// ficheiro .envBREVO_API_KEY=your_api_key_here
// Configuraçãoconst brevo = require('@brevo/api');const apiInstance = new brevo.TransactionalEmailsApi();apiInstance.setApiKey( brevo.TransactionalEmailsApiApiKeys.apiKey, process.env.BREVO_API_KEY);APIs Disponíveis
E-mails Transacionais
const emailApi = new brevo.TransactionalEmailsApi();const smsApi = new brevo.TransactionalSMSApi();const contactsApi = new brevo.ContactsApi();const campaignsApi = new brevo.EmailCampaignsApi();const accountApi = new brevo.AccountApi();Exemplos
Enviar E-mail com Template
const sendTemplateEmail = async (templateId, recipientEmail, templateData) => { let sendSmtpEmail = new brevo.SendSmtpEmail();
sendSmtpEmail.templateId = templateId; sendSmtpEmail.to = [{ email: recipientEmail }]; sendSmtpEmail.params = templateData;
try { const result = await emailApi.sendTransacEmail(sendSmtpEmail); return result; } catch (error) { console.error('Falha ao enviar e-mail:', error); throw error; }};Criar Contacto
const createContact = async (email, firstName, lastName) => { let createContactData = new brevo.CreateContact();
createContactData.email = email; createContactData.attributes = { FIRSTNAME: firstName, LASTNAME: lastName };
try { const result = await contactsApi.createContact(createContactData); return result; } catch (error) { console.error('Falha ao criar contacto:', error); throw error; }};Tratamento de Erros
const handleBrevoError = (error) => { if (error.response) { // Resposta de erro da API console.log('Estado:', error.response.status); console.log('Dados:', error.response.body); } else { // Erro de rede ou outro console.log('Erro:', error.message); }};
// Utilizaçãotry { await emailApi.sendTransacEmail(sendSmtpEmail);} catch (error) { handleBrevoError(error);}