Skip to main content
SMS (Short Message Service) is the most universal messaging channel, reaching virtually any mobile phone without requiring an internet connection or app installation.

When to Use SMS

  • Verification codes: OTPs, 2FA
  • Transactional alerts: Order confirmations, shipping updates
  • Time-sensitive notifications: Appointment reminders
  • Universal reach: When you need to reach users without smartphones

Sending an SMS

You can optionally specify a sender by passing zavuSender (TypeScript), zavu_sender (Python), or the Zavu-Sender header (cURL). If omitted, your project’s default sender is used.

Message Length

SMS messages are limited to 160 characters (GSM-7 encoding) or 70 characters (Unicode). Longer messages are split into multiple segments.
Keep messages under 160 characters when possible to avoid multi-segment charges.

Character Encoding

GSM-7 supports basic Latin characters. Using emojis, accents, or non-Latin scripts triggers Unicode encoding:

GSM-7 Character Set

Any character outside this set triggers Unicode encoding.

Sender ID

Some countries support alphanumeric sender IDs (e.g., “ZAVU” instead of a phone number).
Alphanumeric sender IDs cannot receive replies. Use a phone number if you need two-way SMS.

Supported Countries

SMS Templates

Send pre-defined templates via SMS by specifying channel: "sms" and messageType: "template":
If the template has an smsBody, it will be used instead of the default body. Contact variables like {{contact.first_name}} are automatically resolved from the recipient’s contact metadata.

Delivery Status

Check message status by ID:

Common Errors

Compliance

SMS messaging is regulated. Ensure you have consent before sending messages.

Requirements

  • Opt-in consent: Users must explicitly agree to receive SMS
  • Opt-out mechanism: Include instructions to unsubscribe (e.g., “Reply STOP to unsubscribe”)
  • Business identification: Identify your business in the message
  • Time restrictions: Avoid sending during quiet hours (typically 9 PM - 9 AM local time)

Example Compliant Message

Best Practices

  1. Keep it short - Aim for under 160 characters
  2. Identify yourself - Start with your brand name
  3. Be actionable - Include clear next steps or links
  4. Respect timing - Send during business hours in the recipient’s timezone
  5. Provide opt-out - Always include unsubscribe instructions for marketing messages