Skip to main content

SMS Setup

Before you can send SMS messages through Sendmator, you need to create and get approval for SMS templates for each country you want to send to.

Prerequisites

  • Active Sendmator account
  • Approved template for the countries of your recipient under each template key variation
  • Sufficient wallet balance

Step 1: Create SMS Templates

Create SMS templates for each country you plan to send to:

  1. Go to SMS Templates in your Sendmator dashboard
  2. Click "Create Template"
  3. Fill in template details:
    • Template Key: Unique identifier (e.g., otp-verification)
    • Country: Select target country (e.g., USA, India, UK)
    • Content: Message with variables (e.g., Your OTP is {{otp_code}}. Valid for {{expiry_minutes}} minutes.)
    • Category: Transactional or Promotional
  4. Click "Save"
Country Variations Required

Under each template key, you need to create variations for all the countries of your recipients. Sendmator will smartly route your messages using the recipient's country and use the appropriate template variation, resulting in no compliance issues.

If you send to a user in a country where there is no template variation, the SMS will fail for that user.

Example: If your template key is otp-verification, create:

  • otp-verification for USA
  • otp-verification for India
  • otp-verification for UK
  • ... (one for each country you send to)

Template Example

Template for USA:

Your verification code is {{otp_code}}. Valid for {{expiry_minutes}} minutes. - {{app_name}}

Template for India:

Your OTP for {{app_name}} is {{otp_code}}. Valid for {{expiry_minutes}} mins. Do not share with anyone.
India DLT Registration

For India templates, you need DLT registration. Contact us on Discord for assistance.

Template Variables

Use double curly braces for dynamic content:

Your OTP is {{otp_code}}. Valid for {{expiry_minutes}} minutes.

When sending:

{
"variables": {
"otp_code": "123456",
"expiry_minutes": "10"
}
}
India DLT Approval Required

For Indian users sending SMS to India, you need DLT (Distributed Ledger Technology) approval. Contact us on Discord for assistance with DLT setup.

Step 2: Submit Templates for Approval

After creating templates, submit them for approval:

  1. Select your template in the SMS Templates list
  2. Click "Submit for Approval"
  3. Wait for approval (can be in minutes or up to 3 business days)
  4. Approved templates show a green checkmark
  5. Rejected templates include reason for rejection
Template Approval Required

You cannot send SMS using unapproved templates. Ensure templates are approved before attempting to send.

Common Rejection Reasons

  • Spelling or grammar errors
  • Missing brand name
  • Variable at the end of the template
  • Missing sender identification
  • Unclear purpose
  • Prohibited content
  • Missing required disclaimers (India)

Step 3: Fund Your Wallet

SMS messages are charged per message based on destination country. You need to have sufficient wallet balance before sending:

  1. Go to Wallet
  2. Recharge your wallet with the desired amount
  3. Credits are added instantly
Multi-part Messages

Messages longer than 160 characters are split into multiple segments and charged accordingly.

Using Approved Templates

Once your templates are approved and wallet is funded, you can send SMS:

curl -X POST https://api.sendmator.com/api/v1/sms/send \
-H "X-API-Key: sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"template_key": "otp-verification",
"recipient_type": "direct_sms",
"direct_phone": "+1234567890",
"variables": {
"otp_code": "123456",
"expiry_minutes": "10",
"app_name": "YourApp"
}
}'

Troubleshooting

Template Not Approved

Issue: Template is still pending or rejected

Solutions:

  • Check template status in dashboard
  • Review rejection reason if rejected
  • Fix issues and resubmit
  • Contact support for clarification

SMS Delivery Failures

Issue: Messages not delivered

Solutions:

  • Verify phone number format (E.164 format: +[country code][number])
  • Check wallet balance is sufficient
  • Ensure template is approved for destination country
  • Verify template is active

Insufficient Balance Error

Issue: "Insufficient wallet balance" error

Solutions:

  • Add credits to your wallet
  • Check pricing for destination country
  • Account for multi-part message costs

Template Not Found

Issue: "Template not found" error

Solutions:

  • Verify template key is correct
  • Ensure template is created and approved
  • Check template is for the correct country

Compliance & Regulations

TCPA Compliance (USA/Canada)

  • Obtain explicit consent before sending SMS
  • Include opt-out instructions (e.g., "Reply STOP to unsubscribe")
  • Honor opt-out requests within 24 hours
  • Keep records of consent

GDPR Compliance (Europe)

  • Obtain clear consent for SMS marketing
  • Provide easy opt-out mechanism
  • Honor data deletion requests
  • Document consent records

General Best Practices

  • Only send to users who opted in
  • Respect quiet hours (no messages between 9 PM - 8 AM local time)
  • Include sender identification
  • Provide opt-out instructions for marketing messages
  • Maintain clean contact lists

Best Practices

1. Keep Messages Concise

# ✅ Good: Short and clear (under 160 characters)
"Your OTP: 123456. Valid for 10 mins."

# ❌ Avoid: Too long, will split into multiple messages
"Hello! Your one-time password for logging into your account is 123456. This code will expire in 10 minutes. Please do not share this code with anyone."

2. Include Branding

Always identify your brand in SMS:

"Your OTP is 123456. - YourApp"

3. Use Appropriate Template Categories

  • Transactional: OTPs, alerts, confirmations (higher priority)
  • Promotional: Marketing, offers (subject to more regulations)

4. Create Country-Specific Templates

Different countries have different requirements:

# USA Template
"Your code: {{otp}}. Expires in {{mins}} mins."

# India Template (includes "Do not share" requirement)
"Your OTP is {{otp}}. Valid for {{mins}} mins. Do not share with anyone."

5. Test Before Broadcasting

Always test with your own number first:

curl -X POST https://api.sendmator.com/api/v1/sms/send \
-H "X-API-Key: sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"template_key": "test-template",
"recipient_type": "direct_sms",
"direct_phone": "+your-number"
}'

Next Steps

Need help? Contact support for assistance with SMS setup.