Documentation

Comprehensive guides and API documentation to help you integrate and use Zuvo effectively

Quick Start Guide

Get up and running with Zuvo in minutes with our step-by-step guides

Account Setup

Create your account and configure your first SMS campaign in under 10 minutes.

API Integration

Integrate Zuvo's REST API into your applications with our comprehensive guides.

Advanced Configuration

Learn about advanced features like webhooks, automation, and compliance settings.

API Examples

Common API usage patterns and code examples in multiple programming languages

Send SMS Message

Send a single SMS message to a phone number using our REST API.

JavaScript

const response = await fetch('https://api.zuvo.com/v1/sms', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    to: '+1234567890',
    message: 'Hello from Zuvo!',
    from: 'Zuvo'
  })
});

const result = await response.json();

Python

import requests

response = requests.post(
    'https://api.zuvo.com/v1/sms',
    headers={
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json'
    },
    json={
        'to': '+1234567890',
        'message': 'Hello from Zuvo!',
        'from': 'Zuvo'
    }
)

result = response.json()

Create Campaign

Create a new SMS campaign with multiple recipients and scheduling options.

JavaScript

const campaign = await fetch('https://api.zuvo.com/v1/campaigns', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    name: 'Welcome Campaign',
    message: 'Welcome to our service!',
    recipients: ['+1234567890', '+0987654321'],
    scheduled_at: '2024-03-20T10:00:00Z'
  })
});

Python

campaign_data = {
    'name': 'Welcome Campaign',
    'message': 'Welcome to our service!',
    'recipients': ['+1234567890', '+0987654321'],
    'scheduled_at': '2024-03-20T10:00:00Z'
}

response = requests.post(
    'https://api.zuvo.com/v1/campaigns',
    headers={'Authorization': 'Bearer YOUR_API_KEY'},
    json=campaign_data
)

SDKs & Libraries

Official SDKs and community libraries to simplify your integration

JavaScript

Official Node.js and browser SDK

View on NPM

Python

Python client library

View on PyPI

PHP

PHP SDK for Laravel and more

View on Packagist

Ruby

Ruby gem for Rails apps

View on RubyGems

Webhooks

Receive real-time notifications about message delivery, opt-outs, and more

Setting Up Webhooks

Configure webhooks to receive real-time updates about your SMS campaigns and message delivery status.

// Webhook endpoint example
app.post('/webhooks/zuvo', (req, res) => {
  const { event, data } = req.body;
  
  switch (event) {
    case 'message.delivered':
      console.log('Message delivered:', data);
      break;
    case 'message.failed':
      console.log('Message failed:', data);
      break;
    case 'contact.opted_out':
      console.log('Contact opted out:', data);
      break;
  }
  
  res.status(200).send('OK');
});

Available Events

  • • message.delivered
  • • message.failed
  • • contact.opted_in
  • • contact.opted_out
  • • campaign.completed
  • • campaign.failed

Security

All webhook requests are signed with HMAC-SHA256. Verify the signature to ensure requests are from Zuvo.