
Product
Secure Your AI-Generated Code with Socket MCP
Socket MCP brings real-time security checks to AI-generated code, helping developers catch risky dependencies before they enter the codebase.
elysium-api
Advanced tools
Uma biblioteca moderna e futurista para integração com o sistema Elysium. Esta API oferece uma interface elegante e eficiente para interagir com os serviços do Elysium.
npm install elysium-api
A API suporta tanto o formato CommonJS (require) quanto ES Modules (import):
const ElysiumApi = require("elysium-api");
const api = new ElysiumApi({
email: "seu-email@exemplo.com",
hash: "seu-hash-de-autenticacao",
});
import ElysiumApi from "elysium-api";
const api = new ElysiumApi({
email: "seu-email@exemplo.com",
hash: "seu-hash-de-autenticacao",
});
A autenticação é feita através de dois parâmetros:
email
: Seu email registrado no sistema Elysiumhash
: Sua chave de autenticação fornecida pelo sistema⚠️ IMPORTANTE: Nunca compartilhe suas credenciais ou as exponha no código fonte público.
// Exemplo básico de uso da API
const api = new ElysiumApi({
email: "seu-email@exemplo.com",
hash: "seu-hash",
});
// Exemplo de criação de um novo cliente
(async () => {
try {
const clientes = await api.createClient({
nome: "Fernando",
numero: "000000000",
plano_id: "264",
email_cliente: "teste@gmail.com", // email ou usuario
vencimento: "2025-10-31",
observacao: "Observação", // opcional
});
console.log(clientes);
} catch (error) {
if (error) {
console.error("Detalhes:", error);
}
}
})();
A API oferece duas formas flexíveis para deletar um cliente:
// Exemplo de deleção usando número de telefone
const deletarPorNumero = await api.deleteClient({
identificador_tipo: "numero",
identificador_valor: "11987654321",
});
// Exemplo de deleção usando email
const deletarPorEmail = await api.deleteClient({
identificador_tipo: "email",
identificador_valor: "teste@exemplo.com",
});
// Demonstração das duas formas de deleção
(async () => {
try {
// Deletando cliente por número
const resultadoNumero = await api.deleteClient({
identificador_tipo: "numero",
identificador_valor: "11987654321",
});
console.log("Cliente deletado por número:", resultadoNumero);
// Deletando cliente por email
const resultadoEmail = await api.deleteClient({
identificador_tipo: "email",
identificador_valor: "teste@exemplo.com",
});
console.log("Cliente deletado por email:", resultadoEmail);
} catch (error) {
console.error("Erro ao deletar cliente:", error);
}
})();
Parâmetro | Valores Possíveis | Descrição |
---|---|---|
identificador_tipo | 'numero' ou 'email' | Tipo de identificação do cliente |
identificador_valor | string | Valor do identificador (número ou email) |
A API permite consultar informações de um cliente de duas maneiras:
// Exemplo de consulta usando número de telefone
const clientePorNumero = await api.getClient({
identificador_tipo: "numero",
identificador_valor: "1198654321",
});
// Exemplo de consulta usando email
const clientePorEmail = await api.getClient({
identificador_tipo: "email",
identificador_valor: "cliente@exemplo.com",
});
// Demonstração de consulta de cliente
(async () => {
try {
// Consultando cliente por número
const cliente = await api.getClient({
identificador_tipo: "numero",
identificador_valor: "1198654321",
});
console.log("Dados do cliente:", cliente);
} catch (error) {
console.error("Erro ao consultar cliente:", error);
}
})();
Parâmetro | Valores Possíveis | Descrição |
---|---|---|
identificador_tipo | 'numero' ou 'email' | Tipo de identificação do cliente |
identificador_valor | string | Valor do identificador (número ou email) |
O método listClients permite buscar uma lista de clientes com filtros opcionais:
// Lista todos os clientes com configurações padrão
const clientes = await api.listClients();
// Lista clientes com filtros específicos
const clientesFiltrados = await api.listClients({
status: "vencidos", // Filtra por status
search: "cliente 1", // Busca por termo
page: 1, // Página atual
limit: 10, // Itens por página
});
(async () => {
try {
// Exemplo 1: Listagem básica
const todosClientes = await api.listClients();
console.log("Todos os clientes:", todosClientes);
// Exemplo 2: Listagem com filtros
const clientesFiltrados = await api.listClients({
status: "vencidos",
search: "cliente 1",
page: 1,
limit: 10,
});
console.log("Clientes filtrados:", clientesFiltrados);
} catch (error) {
console.error("Erro ao listar clientes:", error);
}
})();
Parâmetro | Tipo | Descrição | Obrigatório |
---|---|---|---|
status | string | Filtra por status do cliente (ex: 'vencidos') | Não |
search | string | Termo para busca de clientes | Não |
page | number | Número da página (padrão: 1) | Não |
limit | number | Quantidade de itens por página (padrão: 10) | Não |
O método updateClient permite atualizar os dados de um cliente de forma flexível:
// Atualiza apenas o vencimento do cliente
const atualizacaoMinima = await api.updateClient({
identificador_tipo: "email",
identificador_valor: "cliente@exemplo.com",
vencimento: "2025-10-31", // Apenas campo obrigatório
});
// Atualiza todos os campos disponíveis
const atualizacaoCompleta = await api.updateClient({
identificador_tipo: "email",
identificador_valor: "cliente@exemplo.com",
nome: "Cliente Atualizado",
email_cliente: "cliente@exemplo.com",
plano_id: "234",
vencimento: "2024-10-31",
observacao: "Observação",
});
(async () => {
try {
// Exemplo 1: Atualização mínima
const atualizacaoSimples = await api.updateClient({
identificador_tipo: "email",
identificador_valor: "cliente@exemplo.com",
vencimento: "2025-10-31",
});
console.log("Atualização simples:", atualizacaoSimples);
// Exemplo 2: Atualização completa
const atualizacaoCompleta = await api.updateClient({
identificador_tipo: "email",
identificador_valor: "cliente@exemplo.com",
nome: "Cliente Atualizado",
email_cliente: "cliente@exemplo.com",
plano_id: "234",
vencimento: "2024-10-31",
observacao: "Observação",
});
console.log("Atualização completa:", atualizacaoCompleta);
} catch (error) {
console.error("Erro ao atualizar cliente:", error);
}
})();
Parâmetro | Tipo | Descrição | Obrigatório |
---|---|---|---|
identificador_tipo | string | Tipo de identificação ('email' ou 'numero') | Sim |
identificador_valor | string | Valor do identificador | Sim |
vencimento | string | Data de vencimento (YYYY-MM-DD) | Sim |
nome | string | Nome do cliente | Não |
email_cliente | string | Email do cliente | Não |
plano_id | string | ID do plano | Não |
observacao | string | Observações adicionais | Não |
O método sendSingleMessage permite enviar mensagens personalizadas para um cliente específico, suportando texto e imagens:
// Exemplo de envio de mensagem de texto
const mensagemTexto = await api.sendSingleMessage({
identificador_tipo: "email",
identificador_valor: "cliente@exemplo.com",
mensagem: "Olá, tudo bem?",
tipo: "1", // tipo 1 = texto
delay: "1", // velocidade de envio (1 a 5)
});
// Exemplo de envio de mensagem com imagem
const mensagemImagem = await api.sendSingleMessage({
identificador_tipo: "numero",
identificador_valor: "11987654321",
mensagem: "Confira nossa promoção!",
tipo: "2", // tipo 2 = imagem
delay: "1",
imagem: "data:image/png;base64,...", // sua imagem em base64
});
(async () => {
try {
const envioMensagem = await api.sendSingleMessage({
identificador_tipo: "email",
identificador_valor: "cliente@exemplo.com",
mensagem: "Olá, tudo bem?",
tipo: "2",
delay: "0",
imagem: "data:image/png;base64,...", // necessário apenas para tipo 2
});
console.log("Status do envio:", envioMensagem);
} catch (error) {
console.error("Erro ao enviar mensagem:", error);
}
})();
Parâmetro | Tipo | Descrição | Obrigatório |
---|---|---|---|
identificador_tipo | string | Tipo de identificação ('email' ou 'numero') | Sim |
identificador_valor | string | Email ou número do cliente | Sim |
mensagem | string | Texto da mensagem | Sim |
tipo | string | Tipo de mensagem ('1' = texto, '2' = imagem) | Sim |
delay | string | Velocidade de envio (0 = mais rápido, 5 = mais lento) | Sim |
imagem | string | Imagem em formato base64 (apenas quando tipo = '2') | Condicional* |
*O parâmetro
imagem
é obrigatório apenas quandotipo = '2'
(mensagem com imagem)
Valor | Velocidade |
---|---|
0 | 10 a 20 segundos |
1 | 20 a 30 segundos |
2 | 30 a 40 segundos |
3 | 40 a 50 segundos |
4 | 50 a 60 segundos |
5 | 60 a 70 segundos |
// Exemplo de envio em massa
const envioMassivo = await api.sendMessageplan({
plano_id: "264", // obrigatório
mensagem: "teste", // obrigatório
tipo: "1", // 1 para texto, 2 para imagem
delay: "0", // 0 para mais rápido, 5 para mais lento
imagem: "data:image/png;base64,...", // obrigatório quando tipo = '2'
});
plano_id
: ID do plano (obrigatório)mensagem
: Texto da mensagem (obrigatório)tipo
: '1' para texto, '2' para imagemdelay
: 0 (mais rápido) a 5 (mais lento)imagem
: Base64 da imagem (obrigatório se tipo = '2')O método createPlan permite criar um novo plano no sistema:
// Exemplo de criação de plano
const novoPlan = await api.createPlan({
nome: "Plano Teste Premium", // Nome do plano
valor: 100, // Valor em reais
duracao: 30, // Duração em dias
hora_disparo: "00:00", // Hora de disparo das mensagens
});
(async () => {
try {
const plano = await api.createPlan({
nome: "Plano Teste Premium",
valor: 100,
duracao: 30,
hora_disparo: "00:00",
});
console.log("Plano criado:", plano);
} catch (error) {
console.error("Erro ao criar plano:", error);
}
})();
Parâmetro | Tipo | Descrição | Obrigatório |
---|---|---|---|
nome | string | Nome do plano | Sim |
valor | number | Valor do plano em reais | Sim |
duracao | number | Duração do plano em dias | Sim |
hora_disparo | string | Horário de disparo das mensagens (HH:mm) | Sim |
O método listPlans permite buscar e filtrar planos do sistema. Todos os parâmetros são opcionais:
// Lista todos os planos com configuração padrão
const planos = await api.listPlans();
// Lista planos com filtros específicos
const planosFiltrados = await api.listPlans({
search: "premium", // Busca por nome do plano
page: 1, // Página atual
limit: 10, // Itens por página
});
(async () => {
try {
// Exemplo de listagem com filtros
const planos = await api.listPlans({
search: "premium", // opcional: termo de busca
page: 1, // opcional: página (padrão: 1)
limit: 10, // opcional: itens por página (padrão: 10)
});
console.log("✨ Planos encontrados:", planos);
} catch (error) {
console.error("❌ Erro na busca:", error);
}
})();
Parâmetro | Tipo | Descrição | Obrigatório |
---|---|---|---|
search | string | Termo para buscar planos | Não |
page | number | Número da página | Não |
limit | number | Itens por página | Não |
search
para encontrar planos específicoslimit
conforme necessidade de visualizaçãoO método updatePlan permite atualizar as informações de um plano existente:
// Exemplo de atualização de plano
const planoAtualizado = await api.updatePlan("266", {
nome: "Plano Premium 2.0",
valor: 100,
duracao: 30,
hora_disparo: "00:00",
});
(async () => {
try {
const plano = await api.updatePlan("266", {
nome: "Plano Premium 2.0",
valor: 100,
duracao: 30,
hora_disparo: "00:00",
});
console.log("✨ Plano atualizado:", plano);
} catch (error) {
console.error("❌ Erro na atualização:", error);
}
})();
Parâmetro | Tipo | Descrição | Obrigatório |
---|---|---|---|
plano_id | string | ID do plano a ser atualizado | Sim |
nome | string | Novo nome do plano | Sim |
valor | number | Novo valor em reais | Sim |
duracao | number | Nova duração em dias | Sim |
hora_disparo | string | Novo horário de disparo (HH:mm) | Sim |
{
success: true,
message: "Plano atualizado com sucesso",
data: {
id: "266",
nome: "Plano Premium 2.0",
valor: 100,
duracao: 30,
hora_disparo: "00:00",
status: "ativo",
updated_at: "2025-02-08T01:01:02"
}
}
A API oferece funcionalidades para gerenciar agendamentos de mensagens para clientes.
O método createAgendamento permite criar um novo agendamento de mensagem:
// Exemplo de criação de agendamento
const novoAgendamento = await api.createAgendamento({
cliente_id: 123, // ID do cliente (obrigatório se não fornecer número)
numero: "5511999998888", // Número do cliente (obrigatório se não fornecer cliente_id)
data: "2023-11-15", // Data no formato YYYY-MM-DD
hora: "14:30", // Hora no formato HH:MM
mensagem: "Olá, confirmando seu agendamento!" // Opcional
});
(async () => {
try {
const agendamento = await api.createAgendamento({
cliente_id: 123,
data: "2023-11-15",
hora: "14:30",
mensagem: "Olá, confirmando seu agendamento!"
});
console.log("Agendamento criado:", agendamento);
} catch (error) {
console.error("Erro ao criar agendamento:", error);
}
})();
Parâmetro | Tipo | Descrição | Obrigatório |
---|---|---|---|
cliente_id | number | ID do cliente | Condicional* |
numero | string | Número do telefone | Condicional* |
data | string | Data do agendamento (YYYY-MM-DD) | Sim |
hora | string | Hora do agendamento (HH:MM) | Sim |
mensagem | string | Mensagem a ser enviada | Não |
* Obrigatório informar ou
cliente_id
ounumero
.
O método updateAgendamento permite atualizar um agendamento existente:
// Exemplo de atualização de agendamento
const agendamentoAtualizado = await api.updateAgendamento(456, {
cliente_id: 123,
data: "2023-11-16",
hora: "15:00",
status: "concluido" // pendente, concluido ou cancelado
});
Parâmetro | Tipo | Descrição | Obrigatório |
---|---|---|---|
agendamentoId | number | ID do agendamento a ser atualizado | Sim |
cliente_id | number | ID do cliente | Condicional* |
numero | string | Número do telefone | Condicional* |
data | string | Data do agendamento (YYYY-MM-DD) | Sim |
hora | string | Hora do agendamento (HH:MM) | Sim |
mensagem | string | Mensagem a ser enviada | Não |
status | string | Status do agendamento (pendente/concluido/cancelado) | Não |
* Obrigatório informar ou
cliente_id
ounumero
.
O método listAgendamentos permite buscar e filtrar agendamentos:
// Exemplo de listagem de agendamentos com filtros
const agendamentos = await api.listAgendamentos({
status: "pendente", // Filtrar por status
search: "cliente", // Busca por cliente
date_start: "2023-11-01", // Data inicial
date_end: "2023-11-30", // Data final
page: 1, // Página atual
limit: 20 // Itens por página
});
Parâmetro | Tipo | Descrição | Obrigatório |
---|---|---|---|
status | string | Filtro por status (pendente/concluido/cancelado) | Não |
search | string | Termo para busca | Não |
date_start | string | Data inicial do período (YYYY-MM-DD) | Não |
date_end | string | Data final do período (YYYY-MM-DD) | Não |
page | number | Número da página | Não |
limit | number | Itens por página | Não |
// Exemplo de exclusão de agendamento
const resultado = await api.deleteAgendamento(123); // ID do agendamento
// Exemplo de obtenção de um agendamento específico
const agendamento = await api.getAgendamento(123); // ID do agendamento
A API oferece funcionalidades para verificar o status da conexão com o WhatsApp.
O método getWhatsAppStatus permite verificar se o WhatsApp está conectado:
// Exemplo de verificação de status do WhatsApp
const statusWhatsApp = await api.getWhatsAppStatus();
// Quando conectado
{
success: true,
status: "connected",
number: "5511999999999",
name: "Nome do dispositivo"
}
// Quando desconectado
{
success: true,
status: "disconnected",
number: "5511999999999"
}
(async () => {
try {
const status = await api.getWhatsAppStatus();
console.log("Status do WhatsApp:", status);
if (status.status === "connected") {
console.log("WhatsApp conectado no dispositivo:", status.device);
} else {
console.log("WhatsApp desconectado");
}
} catch (error) {
console.error("Erro ao verificar status do WhatsApp:", error);
}
})();
FAQs
API moderna e futurista para integração com o sistema Elysium
The npm package elysium-api receives a total of 12 weekly downloads. As such, elysium-api popularity was classified as not popular.
We found that elysium-api demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket MCP brings real-time security checks to AI-generated code, helping developers catch risky dependencies before they enter the codebase.
Security News
As vulnerability data bottlenecks grow, the federal government is formally investigating NIST’s handling of the National Vulnerability Database.
Research
Security News
Socket’s Threat Research Team has uncovered 60 npm packages using post-install scripts to silently exfiltrate hostnames, IP addresses, DNS servers, and user directories to a Discord-controlled endpoint.