vestule-mail
v1.0.0
Published
Cliente oficial da API Vestule para Node.js - Sistema de email marketing
Maintainers
Readme
Vestule Mail
Cliente oficial da API Vestule para Node.js. Envie emails facilmente com o sistema de email marketing Vestule.
Instalação
npm install vestule-mailOu com yarn:
yarn add vestule-mailComeçe em segundos
import VestuleMail from 'vestule-mail';
const vestule = new VestuleMail({
apiKey: 'sua-chave-de-api-aqui'
});
// Enviar email simples
await vestule.send(
'[email protected]',
'Assunto do email',
'<h1>Olá!</h1><p>Este é um email de teste.</p>'
);
// Testar conexão
const isConnected = await vestule.test();
console.log('Conectado:', isConnected);Gerenciamento de Contatos
Listar Contatos
// Listar todos os contatos
const contacts = await vestule.getContacts();
// Listar contatos com parâmetros
const contacts = await vestule.getContacts({
list_id: 1,
limit: 50,
start_from: 0
});Criar Contato
const newContact = await vestule.createContact({
email: '[email protected]',
list_id: 1,
custom_fields: {
nome: 'João Silva',
telefone: '11999999999'
}
});Atualizar Contato
const updatedContact = await vestule.updateContact(123, {
custom_fields: {
nome: 'João Santos'
}
});Deletar Contato
const result = await vestule.deleteContact(123);
console.log(result.message); // "Contato deletado com sucesso"Gerenciamento de Listas
Listar Listas
const lists = await vestule.getLists();Criar Lista
const newList = await vestule.createList({
name: 'Newsletter Principal',
description: 'Lista principal de newsletter',
is_active: true
});Atualizar Lista
const updatedList = await vestule.updateList(1, {
name: 'Newsletter Atualizada'
});Gerenciamento de Campanhas
Listar Campanhas
const campaigns = await vestule.getCampaigns({
status: 'active',
limit: 20
});Criar Campanha
const newCampaign = await vestule.createCampaign({
name: 'Campanha de Boas-vindas',
subject: 'Bem-vindo à nossa newsletter!',
broadcast_id: 1,
template_id: 2,
tracking_enabled: true,
open_tracking: true,
click_tracking: true
});Obter Estatísticas da Campanha
const stats = await vestule.getCampaignStats(123);
console.log(`Taxa de abertura: ${stats.open_rate}%`);
console.log(`Taxa de cliques: ${stats.click_rate}%`);Gerenciamento de Templates
Listar Templates
const templates = await vestule.getTemplates({
type: 'email'
});Criar Template
const newTemplate = await vestule.createTemplate({
name: 'Template de Boas-vindas',
subject: 'Bem-vindo {{nome}}!',
content: '<h1>Olá {{nome}}!</h1><p>Obrigado por se inscrever.</p>',
type: 'email'
});Campos Personalizados
Listar Campos Personalizados
const customFields = await vestule.getCustomFields();Criar Campo Personalizado
const newField = await vestule.createCustomField({
name: 'telefone',
type: 'text',
is_required: false
});Grupos
Listar Grupos
const groups = await vestule.getGroups();Criar Grupo
const newGroup = await vestule.createGroup({
name: 'Clientes VIP',
type: 'premium',
is_active: true
});Tratamento de Erros
try {
const contacts = await vestule.getContacts();
} catch (error) {
if (error.status === 401) {
console.log('Chave de API inválida');
} else if (error.status === 403) {
console.log('API desabilitada');
} else {
console.log('Erro:', error.message);
}
}Configurações Avançadas
Configurar Timeout
const vestule = new VestuleClient({
apiKey: 'sua-chave-de-api',
timeout: 60000 // 60 segundos
});Alterar Chave de API
vestule.setApiKey('nova-chave-de-api');Alterar URL Base
vestule.setBaseUrl('https://meu-dominio.com/api');Tipos TypeScript
Este pacote inclui definições de tipos TypeScript completas:
import VestuleClient, { Contact, Campaign, Template } from 'vestule-api-client';
const vestule = new VestuleClient({
apiKey: 'sua-chave-de-api'
});
const contact: Contact = await vestule.getContact(123);Recursos
- ✅ Gerenciamento completo de contatos
- ✅ Gerenciamento de listas
- ✅ Gerenciamento de campanhas
- ✅ Gerenciamento de templates
- ✅ Campos personalizados
- ✅ Grupos de contatos
- ✅ Estatísticas de campanhas
- ✅ Tratamento de erros robusto
- ✅ Suporte completo ao TypeScript
- ✅ Logs detalhados para debugging
Suporte
Para suporte e documentação completa, visite: https://vestule.com/docs/api
Licença
MIT
