evolution-bridge
Version:
Biblioteca TypeScript para integração com a API do Evolution
80 lines (79 loc) • 2.63 kB
TypeScript
import { AxiosResponse } from 'axios';
import { EvolutionBridgeConfig, SendText } from '../types';
/**
* EvolutionBridge - Classe principal para interação com a API do Evolution
*
* @example
* ```typescript
* const bridge = new EvolutionBridge({
* url: 'https://api.evolution.com',
* apiKey: 'your-api-key',
* instance: 'your-instance'
* });
*
* // Enviar mensagem de texto
* await bridge.sendText({
* data: {
* number: '5511999999999',
* text: 'Hello World!'
* }
* });
* ```
*/
export declare class EvolutionBridge {
private client;
private instance;
/**
* Cria uma nova instância do EvolutionBridge
*
* @param config - Configuração necessária para inicialização
* @param config.url - URL base da API do Evolution
* @param config.apiKey - Chave de API para autenticação
* @param config.instance - Nome da instância do Evolution
*
* @throws {Error} Se alguma configuração obrigatória estiver faltando
*/
constructor(config: EvolutionBridgeConfig);
/**
* Método privado para realizar requisições POST
*
* @param params - Parâmetros da requisição
* @param params.url - Endpoint da API
* @param params.data - Dados a serem enviados
* @param params.config - Configurações adicionais do Axios
*
* @returns Promise com a resposta da API
*
* @private
*/
private post;
/**
* Envia uma mensagem de texto para um número específico
*
* @param params - Parâmetros para envio da mensagem
* @param params.data - Dados da mensagem
* @param params.data.number - Número do destinatário no formato internacional (ex: 5511999999999)
* @param params.data.text - Texto da mensagem
* @param params.data.delay - Delay em milissegundos antes do envio (opcional)
* @param params.data.quoted - Mensagem para citar (opcional)
* @param params.data.linkPreview - Habilitar preview de links (opcional)
* @param params.data.mentionsEveryOne - Mencionar todos no grupo (opcional)
* @param params.data.mentioned - Lista de números para mencionar (opcional)
* @param params.config - Configurações adicionais da requisição
*
* @returns Promise com a resposta da API
*
* @example
* ```typescript
* await bridge.sendText({
* data: {
* number: '5511999999999',
* text: 'Hello World!',
* delay: 1000,
* linkPreview: true
* }
* });
* ```
*/
sendText<T>({ data, config }: SendText): Promise<AxiosResponse<T>>;
}