--- title: Primeros Pasos con la API de Mensajería de Zavu description: Comienza con la API de mensajería unificada de Zavu en menos de 10 minutos. Envia SMS, WhatsApp y Email con una sola integración y código simple. date: 2025-01-15 author: Jennifer Villalobos locale: es source: https://www.zavu.dev/es/blog/getting-started-with-zavu-api tags: Tutorial, API, Primeros Pasos --- # Primeros Pasos con la API de Mensajería de Zavu Zavu proporciona una API unificada que te permite enviar mensajes a través de múltiples canales—SMS, WhatsApp y Email—con una sola integración. En esta guía, te mostraremos la configuración básica y como enviar tu primer mensaje. ## Requisitos Previos Antes de comenzar, asegurate de tener: - Una cuenta de Zavu con credenciales de API - Node.js 18+ o Bun instalado - Conocimientos básicos de JavaScript/TypeScript ## Instalacion Instala el SDK de Zavu usando tu gestor de paquetes preferido: ```bash npm install @zavudev/sdk ``` O con bun: ```bash bun add @zavudev/sdk ``` ## Inicializar el Cliente Crea un nuevo archivo e inicializa el cliente de Zavu con tu clave API: ```typescript import Zavudev from '@zavudev/sdk'; const client = new Zavudev({ apiKey: process.env.ZAVUDEV_API_KEY, }); ``` ## Enviando tu Primer Mensaje Ahora enviemos un mensaje SMS simple: ```typescript async function sendWelcomeMessage() { try { const response = await client.messages.send({ to: '+1234567890', text: 'Bienvenido a Zavu!', channel: 'sms', }); console.log('ID del Mensaje:', response.message.id); console.log('Estado:', response.message.status); console.log('Canal:', response.message.channel); } catch (error) { console.error('Error al enviar mensaje:', error); } } sendWelcomeMessage(); ``` ## Enviando Mensajes de WhatsApp Envia mensajes via WhatsApp (dentro de la ventana de conversación de 24h): ```typescript const response = await client.messages.send({ to: '+1234567890', text: 'Tu pedido ha sido enviado!', channel: 'whatsapp', }); console.log('Mensaje de WhatsApp enviado:', response.message.id); ``` ## Agregando Metadatos Rastrea mensajes con metadatos personalizados: ```typescript const response = await client.messages.send({ to: '+1234567890', text: 'Tu código de verificación es 123456', channel: 'sms', metadata: { orderId: 'ORD-12345', userId: 'user_abc', }, }); ``` ## Recuperando un Mensaje Obtiene detalles sobre un mensaje enviado: ```typescript const response = await client.messages.retrieve('message_id_here'); console.log('Detalles del mensaje:', { id: response.message.id, to: response.message.to, status: response.message.status, channel: response.message.channel, createdAt: response.message.createdAt, }); ``` ## Listando Mensajes Lista mensajes con filtrado y páginacion: ```typescript // Obtener una página de mensajes const page = await client.messages.list({ limit: 10, channel: 'sms', status: 'delivered', }); console.log('Mensajes:', page.items); // Verificar si hay más páginas if (page.hasNextPage()) { const nextPage = await page.getNextPage(); console.log('Siguiente página:', nextPage.items); } ``` ## Iteración Asincrona Itera a través de todos los mensajes usando iteradores asincronos: ```typescript for await (const message of client.messages.list({ limit: 5 })) { console.log('Mensaje:', message.id, message.status); } ``` ## Manejo de Errores Maneja errores de la API de forma elegante: ```typescript import Zavudev from '@zavudev/sdk'; try { const response = await client.messages.send({ to: '+1234567890', text: 'Hola!', }); } catch (error) { if (error instanceof Zavudev.APIError) { console.error('Error de API:', error.status, error.message); } else { throw error; } } ``` ## Siguientes Pasos Ahora que has enviado tu primer mensaje, explora estos recursos: - **[Referencia de API](https://docs.zavu.dev/api-reference/overview)**: Documentación completa de la API - **Templates**: Crea plantillas reútilizables de WhatsApp - **Broadcasts**: Envia mensajes a múltiples destinatarios - **Contactos**: Administra tu base de datos de contactos Consulta nuestra [documentación](https://docs.zavu.dev) para más ejemplos. **Necesitas ayuda para comenzar?** [Contáctaños](/es/contact-us) o unete a nuestra [comúnidad de Discord](https://discord.gg/ZxE8DYkveh) para soporte y actualizaciones.