Skip to main content

SMS Templates

Create reusable SMS templates with personalization variables for efficient messaging campaigns.

Overview​

SMS templates allow you to:

  • 📝 Reuse common messages without retyping
  • 🎯 Personalize messages with recipient-specific data
  • ⚡ Send faster by selecting pre-made templates
  • 📊 Maintain consistency across campaigns

Template Variables​

Use these variables in your templates to automatically insert recipient data:

VariableDescriptionExample
#phone#Phone number37061234567
#first-name#First nameJohn
#last-name#Last nameDoe
#middle-name#Middle nameMichael
#birthdate#Date of birth1990-05-15
#gender#GenderMale/Female
#note1#Custom field 1Premium customer
Missing Data

If a recipient doesn't have data for a variable, that part will be omitted from the message. For example, if #last-name# is missing, only the first name will appear.


Example Template​

Dear #first-name# #last-name#,

Thank you for using our services! Your loyalty means everything to us.

Best regards,
Your Company Team

Result for recipient with data:

Dear John Doe,

Thank you for using our services! Your loyalty means everything to us.

Best regards,
Your Company Team

Result for recipient without last name:

Dear John,

Thank you for using our services! Your loyalty means everything to us.

Best regards,
Your Company Team

Get All Templates​

Retrieve all templates in your account.

Endpoint:

GET https://www.lightsms.com/external/get/template.php

Required Parameters:

ParameterTypeDescription
loginstringYour LightSMS login
signaturestringMD5 hash signature
timestampintegerUTC timestamp

Optional Parameters:

ParameterTypeDescription
returnstringResponse format: json or xml

Example Request​

curl "https://www.lightsms.com/external/get/template.php?login=YourLogin&signature=generated_signature&timestamp=1732809600&return=json"

Response (JSON)​

{
"welcome": {
"template": "Welcome #first-name#! Thanks for joining us.",
"up_time": "2024-08-28 15:22:25"
},
"birthday": {
"template": "Happy birthday #first-name#! Enjoy 20% off today.",
"up_time": "2024-08-28 15:39:07"
}
}

Response (XML)​

<?xml version="1.0" encoding="utf-8"?>
<response>
<templates>
<template name="welcome" template="Welcome #first-name#! Thanks for joining us." up_time="2024-08-28 15:22:25" />
<template name="birthday" template="Happy birthday #first-name#! Enjoy 20% off today." up_time="2024-08-28 15:39:07" />
</templates>
</response>

Add Template​

Create a new template or update an existing one.

Endpoint:

GET https://www.lightsms.com/external/get/add_template.php

Required Parameters:

ParameterTypeDescription
loginstringYour LightSMS login
signaturestringMD5 hash signature
namestringTemplate name (identifier)
textstringTemplate text with variables
timestampintegerUTC timestamp

Optional Parameters:

ParameterTypeDescription
overridestring1 to update existing, 0 to fail if exists (default: 0)
returnstringResponse format: json or xml

Example Request​

curl "https://www.lightsms.com/external/get/add_template.php?login=YourLogin&signature=generated_signature&name=welcome&text=Welcome%20%23first-name%23!&timestamp=1732809600&return=json"

Response (JSON)​

{
"id": "4419373"
}

Response (XML)​

<?xml version="1.0" encoding="utf-8"?>
<response>
<id>4419374</id>
</response>

Delete Template​

Remove a template from your account.

Endpoint:

GET https://www.lightsms.com/external/get/del_template.php

Required Parameters:

ParameterTypeDescription
loginstringYour LightSMS login
signaturestringMD5 hash signature
namestringTemplate name to delete
timestampintegerUTC timestamp

Optional Parameters:

ParameterTypeDescription
returnstringResponse format: json or xml

Example Request​

curl "https://www.lightsms.com/external/get/del_template.php?login=YourLogin&signature=generated_signature&name=welcome&timestamp=1732809600&return=json"

Response (JSON)​

{
"result": "deleted"
}

Response (XML)​

<?xml version="1.0" encoding="utf-8"?>
<response>
<result>deleted</result>
</response>

PHP Example​

<?php
class TemplateManager {
private $login;
private $apiKey;

public function __construct($login, $apiKey) {
$this->login = $login;
$this->apiKey = $apiKey;
}

private function getTimestamp() {
return trim(file_get_contents('https://www.lightsms.com/external/get/timestamp.php'));
}

private function createSignature($params) {
ksort($params);
return md5(implode($params) . $this->apiKey);
}

public function getAll() {
$timestamp = $this->getTimestamp();

$params = [
'login' => $this->login,
'timestamp' => $timestamp,
'return' => 'json'
];

$signature = $this->createSignature($params);
$params['signature'] = $signature;

$url = 'https://www.lightsms.com/external/get/template.php?' . http_build_query($params);
$response = file_get_contents($url);

return json_decode($response, true);
}

public function add($name, $text, $override = false) {
$timestamp = $this->getTimestamp();

$params = [
'login' => $this->login,
'name' => $name,
'text' => $text,
'timestamp' => $timestamp,
'return' => 'json'
];

if ($override) {
$params['override'] = '1';
}

$signature = $this->createSignature($params);
$params['signature'] = $signature;

$url = 'https://www.lightsms.com/external/get/add_template.php?' . http_build_query($params);
$response = file_get_contents($url);

return json_decode($response, true);
}

public function delete($name) {
$timestamp = $this->getTimestamp();

$params = [
'login' => $this->login,
'name' => $name,
'timestamp' => $timestamp,
'return' => 'json'
];

$signature = $this->createSignature($params);
$params['signature'] = $signature;

$url = 'https://www.lightsms.com/external/get/del_template.php?' . http_build_query($params);
$response = file_get_contents($url);

return json_decode($response, true);
}
}

// Usage
$templates = new TemplateManager('YourLogin', 'your_api_key');

// Get all templates
$allTemplates = $templates->getAll();
foreach ($allTemplates as $name => $info) {
echo "Template: {$name}\n";
echo "Text: {$info['template']}\n";
echo "Updated: {$info['up_time']}\n\n";
}

// Add new template
$result = $templates->add(
'welcome',
'Welcome #first-name#! Thanks for joining us.'
);
echo "Template added with ID: {$result['id']}\n";

// Update existing template
$result = $templates->add(
'welcome',
'Welcome #first-name# #last-name#! Thanks for choosing us.',
true // override = true
);
echo "Template updated with ID: {$result['id']}\n";

// Delete template
$result = $templates->delete('old_template');
echo "Delete result: {$result['result']}\n";
?>

Common Template Examples​

Welcome Message​

Welcome to #note1#, #first-name#!

We're excited to have you with us. Your journey starts now.

Order Confirmation​

Hi #first-name#!

Your order #note1# has been confirmed. Track it here: example.com/track

Thanks for shopping with us!

Appointment Reminder​

Reminder for #first-name# #last-name#:

Your appointment is tomorrow at #note1#.

Reply YES to confirm or CANCEL to reschedule.

Birthday Greeting​

Happy Birthday, #first-name#! 🎉

Celebrate with 25% off your next purchase. Use code: BDAY25

Valid until #note1#

Payment Reminder​

Hi #first-name#,

Your payment of #note1# EUR is due on #note2#.

Pay now: example.com/pay

Thank you!

Common Errors​

Error Code 21: No name​

Problem: Template name is missing or empty

Solution: Provide a valid template name

Error Code 22: Template already exists​

Problem: Template name is already in use and override is not set

Solutions:

  • Use a different template name
  • Set override=1 to update the existing template

Using Templates in Web Interface​

  1. Go to Lists > Templates in LightSMS platform
  2. Click Add template
  3. Enter template name and text with variables
  4. Save template
  5. When sending SMS, select template from SMS template dropdown

Next Steps​