--- title: Primeiros Passos com a API de Mensagens da Zavu description: Configure a API unificada da Zavu em menos de 10 minutos. Envie SMS, WhatsApp e Email com uma unica integracao e codigo simples. date: 2025-01-15 author: Jennifer Villalobos locale: pt source: https://www.zavu.dev/pt/blog/getting-started-with-zavu-api tags: Tutorial, API, Primeiros Passos --- # Primeiros Passos com a API de Mensagens da Zavu A Zavu oferece uma API unificada para enviar mensagens em multiplos canais — SMS, WhatsApp e Email — usando a mesma integracao. Neste guia rapido voce configura o SDK, envia sua primeira mensagem e aprende os fluxos basicos. ## Pre-requisitos Antes de comecar, garanta que voce tenha: - Conta Zavu com credenciais de API - Node.js 18+ ou Bun instalado - Conhecimentos basicos de JavaScript/TypeScript ## Instalacao Instale o SDK oficial: ```bash npm install @zavudev/sdk ``` Ou com Bun: ```bash bun add @zavudev/sdk ``` ## Inicializando o Cliente Crie um arquivo e configure o cliente com a chave de API: ```typescript import Zavudev from '@zavudev/sdk'; const client = new Zavudev({ apiKey: process.env.ZAVUDEV_API_KEY, }); ``` ## Enviando sua Primeira Mensagem Vamos enviar um SMS simples: ```typescript async function sendWelcomeMessage() { try { const response = await client.messages.send({ to: '+1234567890', text: 'Bem-vindo a Zavu!', channel: 'sms', }); console.log('Message ID:', response.message.id); console.log('Status:', response.message.status); console.log('Channel:', response.message.channel); } catch (error) { console.error('Falha ao enviar mensagem:', error); } } sendWelcomeMessage(); ``` ## Enviando Mensagens no WhatsApp Mensagens dentro da janela de 24h funcionam assim: ```typescript const response = await client.messages.send({ to: '+1234567890', text: 'Seu pedido foi enviado!', channel: 'whatsapp', }); console.log('WhatsApp message sent:', response.message.id); ``` ## Adicionando Metadata Rastreie mensagens com dados customizados: ```typescript const response = await client.messages.send({ to: '+1234567890', text: 'Seu codigo e 123456', channel: 'sms', metadata: { orderId: 'ORD-12345', userId: 'user_abc', }, }); ``` ## Recuperando uma Mensagem Busque detalhes de uma mensagem enviada: ```typescript const response = await client.messages.retrieve('message_id_here'); console.log('Message details:', { id: response.message.id, to: response.message.to, status: response.message.status, channel: response.message.channel, createdAt: response.message.createdAt, }); ``` ## Listando Mensagens Aplique filtros com paginacao: ```typescript const page = await client.messages.list({ limit: 10, channel: 'sms', status: 'delivered', }); console.log('Messages:', page.items); if (page.hasNextPage()) { const nextPage = await page.getNextPage(); console.log('Next page:', nextPage.items); } ``` ## Iteracao Assincrona Percorra todas as mensagens com iteradores async: ```typescript for await (const message of client.messages.list({ limit: 5 })) { console.log('Message:', message.id, message.status); } ``` ## Tratando Erros Capture erros de API com clareza: ```typescript import Zavudev from '@zavudev/sdk'; try { const response = await client.messages.send({ to: '+1234567890', text: 'Ola!', }); } catch (error) { if (error instanceof Zavudev.APIError) { console.error('API Error:', error.status, error.message); } else { throw error; } } ``` ## Proximos Passos Agora que voce enviou a primeira mensagem, explore: - **[API Reference](https://docs.zavu.dev/api-reference/overview)** para todas as rotas - **Templates** para WhatsApp fora da janela - **Broadcasts** para envios em massa - **Contacts** para centralizar sua base Veja mais exemplos na [documentacao](https://docs.zavu.dev). **Precisa de ajuda?** [Fale com a gente](/contact-us) ou participe da [comunidade no Discord](https://discord.gg/ZxE8DYkveh).