Help Center SMS Messages

SMS Messages

Send standard text messages using SMSBAT API. SMS is the most universal messaging channel with the highest delivery rates across all mobile devices.

Overview

SMS (Short Message Service) is ideal for:

  • Time-critical notifications
  • Fallback for Viber/RCS messages
  • Reaching users without smartphones
  • Universal compatibility across all mobile networks
  • High delivery rates (95%+)

Basic SMS Message

Request

{
  "from": "YourSender",
  "to": "+380XXXXXXXXX",
  "type": "sms",
  "text": "Your SMS message text"
}

Parameters

ParameterTypeRequiredDescription
fromstringYesAlphanumeric sender ID (up to 11 characters)
tostringYesRecipient phone number in E.164 format
typestringYesSet to "sms"
textstringYesMessage content
customerMessageIdstringNoYour internal tracking ID
ttlintegerNoTime-to-live in seconds

Examples

Simple SMS

curl -X POST https://restapi.smsbat.com/bat/messagelist \
  -H "X-Authorization-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [{
      "from": "YourBrand",
      "to": "+380XXXXXXXXX",
      "type": "sms",
      "text": "Hello! This is a test SMS message."
    }]
  }'

SMS with Customer ID

{
  "messages": [{
    "from": "YourStore",
    "to": "+380XXXXXXXXX",
    "type": "sms",
    "text": "Your order #12345 has been shipped.",
    "customerMessageId": "order-12345-notification"
  }]
}

SMS with TTL

{
  "messages": [{
    "from": "YourApp",
    "to": "+380XXXXXXXXX",
    "type": "sms",
    "text": "Your verification code is: 123456",
    "ttl": 300
  }]
}

Character Encoding

GSM 7-bit Encoding

Standard GSM alphabet (160 characters per SMS):

A-Z a-z 0-9
@ £ $ ¥ è é ù ì ò Ç Ø ø Å å
Δ _ Φ Γ Λ Ω Π Ψ Σ Θ Ξ
! " # % & ' ( ) * + , - . / : ; < = > ?

Extended GSM Characters

These characters count as 2 characters:

| ^ € { } [ ] ~ \

Unicode (UCS-2) Encoding

Messages with special characters use Unicode encoding (70 characters per SMS):

  • Emoji: 😀 🎉 ❤️
  • Cyrillic: А Б В Г Д Е Ж
  • Special symbols: ✓ ✗ ★ ♥

Message Length

Single SMS

  • GSM 7-bit: 160 characters
  • Unicode: 70 characters

Multi-part SMS

When your message exceeds the limit, it’s split into multiple parts:

  • GSM 7-bit: 153 characters per part
  • Unicode: 67 characters per part

Example

{
  "messages": [{
    "from": "YourBrand",
    "to": "+380XXXXXXXXX",
    "type": "sms",
    "text": "This is a very long message that will be split into multiple parts. Each part will be delivered separately but will appear as a single message on the recipient's phone. The system automatically handles the splitting and reassembly."
  }]
}

This message (201 characters) will be split into 2 parts.

Response

Success Response

{
  "messagelistId": 123456,
  "messages": [
    {
      "messageId": "abc123def456",
      "status": "accepted",
      "parts": 2,
      "customerMessageId": "order-12345-notification",
      "to": "+380XXXXXXXXX"
    }
  ]
}

Response Fields

FieldDescription
messageIdUnique identifier for tracking
statusMessage status (accepted, rejected)
partsNumber of SMS parts
toRecipient phone number

Sender ID

Alphanumeric Sender

Use your brand name as sender (up to 11 characters):

{
  "from": "YourBrand",
  "to": "+380XXXXXXXXX",
  "type": "sms",
  "text": "Hello from YourBrand!"
}

Restrictions:

  • Maximum 11 characters
  • Letters and numbers only
  • No spaces or special characters
  • Recipient cannot reply to alphanumeric senders

Numeric Sender

Use a phone number as sender (for two-way SMS):

{
  "from": "+380123456789",
  "to": "+380XXXXXXXXX",
  "type": "sms",
  "text": "Hello! You can reply to this message."
}

Use Cases

OTP Verification

{
  "from": "YourApp",
  "to": "+380XXXXXXXXX",
  "type": "sms",
  "text": "Your verification code is: 123456. Valid for 5 minutes.",
  "ttl": 300
}

Order Notifications

{
  "from": "YourStore",
  "to": "+380XXXXXXXXX",
  "type": "sms",
  "text": "Your order #12345 has been delivered. Thank you for shopping with us!"
}

Appointment Reminders

{
  "from": "YourClinic",
  "to": "+380XXXXXXXXX",
  "type": "sms",
  "text": "Reminder: Your appointment is scheduled for tomorrow at 2:00 PM."
}

Payment Confirmations

{
  "from": "YourBank",
  "to": "+380XXXXXXXXX",
  "type": "sms",
  "text": "Payment of 100 USD to Merchant ABC was successful. Transaction ID: 789xyz"
}

Best Practices

Message Content

  • ✅ Keep messages concise and clear
  • ✅ Include sender identification
  • ✅ Add call-to-action if needed
  • ✅ Use proper grammar and spelling
  • ❌ Avoid excessive punctuation!!!
  • ❌ Don’t use all CAPS
  • ❌ Avoid URL shorteners that look suspicious

Character Usage

  • Check character count before sending
  • Be aware of extended GSM characters (count as 2)
  • Test with special characters before bulk sending
  • Consider using GSM encoding for longer messages

Phone Numbers

  • Always use E.164 format: +380XXXXXXXXX
  • Validate phone numbers before sending
  • Remove invalid numbers from your list
  • Keep your contact list updated

Timing

  • Respect local time zones
  • Avoid sending at night (10 PM - 8 AM)
  • Consider business hours for commercial messages
  • Set appropriate TTL for time-sensitive messages

Compliance

  • Obtain consent before sending marketing messages
  • Include opt-out instructions for promotional SMS
  • Follow local regulations (GDPR, etc.)
  • Respect “Do Not Disturb” lists

Error Handling

Common Errors

ErrorCauseSolution
INVALID_RECIPIENTWrong phone formatUse E.164 format
INVALID_SENDERInvalid sender IDCheck sender ID rules
MESSAGE_TOO_LONGExceeds max lengthSplit or shorten message
INVALID_ENCODINGUnsupported charactersUse GSM or Unicode

Cost Optimization

Reduce Message Parts

  • Keep messages under 160 characters (GSM) or 70 (Unicode)
  • Avoid special characters that trigger Unicode
  • Use abbreviations when appropriate
  • Remove unnecessary spaces

Example Optimization

Before (171 characters, 2 SMS):

Hello John! Your order #12345 has been successfully delivered to your address at 123 Main Street. Thank you for shopping with us! We hope to see you again soon.

After (156 characters, 1 SMS):

Hi John! Order #12345 delivered to 123 Main St. Thanks for shopping with us! Visit example.com/order/12345 for details.

Bulk Sending

Send multiple messages in one request:

{
  "messages": [
    {
      "from": "YourBrand",
      "to": "+380111111111",
      "type": "sms",
      "text": "Message 1"
    },
    {
      "from": "YourBrand",
      "to": "+380222222222",
      "type": "sms",
      "text": "Message 2"
    },
    {
      "from": "YourBrand",
      "to": "+380333333333",
      "type": "sms",
      "text": "Message 3"
    }
  ]
}

Next Steps