Skip to main content

DLT Template Registration

Every SMS sent in India must match a pre-approved DLT content template. This guide covers how to create templates, format variables, navigate the approval process, and avoid common rejection reasons.

What Are DLT Templates?

A DLT template is a pre-registered message format that defines the exact structure of your SMS. When you send a message, the telecom operator compares it against your registered templates. Only messages that match an approved template are delivered.

Template Components

ComponentDescriptionExample
Template NameInternal identifierorder_shipped_notification
Template TypeCategory of the messageTransactional
Content TypeText or UnicodeText
Header (Sender ID)Associated sender identityEXOTL
Template BodyMessage content with placeholdersYour order {#var#} has been shipped.
Template IDUnique ID assigned after approval1107160000000012345

Template Types

TypeCodeDescriptionDND BypassDelivery Window
TransactionalTTime-sensitive alerts, OTPs, account updatesYes24/7
Service ImplicitSIService messages to existing customersYes24/7
Service ExplicitSEService messages to users with explicit consentPartial24/7
PromotionalPMarketing, offers, campaignsNo9 AM - 9 PM IST
tip

Use Transactional for OTPs and critical alerts, Service Implicit for account-related updates to existing customers, and Promotional for marketing campaigns.

Variable Placeholders

DLT templates use {#var#} as the placeholder syntax for dynamic content:

Dear {#var#}, your order #{#var#} has been shipped via {#var#}.
Track at {#var#}. Expected delivery by {#var#}.

Variable Rules

RuleDetails
SyntaxMust use {#var#} exactly (case-sensitive)
CountNo strict limit, but minimize for better approval chances
PositionCan appear anywhere in the message
ContentThe variable is replaced with actual values when sending
LengthNo fixed limit per variable, but the final message must fit within SMS limits

What Variables Can Replace

Variables can be substituted with:

  • Customer names
  • Order IDs, tracking numbers
  • OTP codes
  • Dates and times
  • URLs and links
  • Amounts and quantities
  • Any dynamic content

What Variables Cannot Replace

Variables should not replace the entire static meaning of the message. DLT portals may reject templates where:

  • Variables make up more than 30-40% of the total message
  • The template has only variables and no meaningful static text
  • Variables could change the intent of the message

Creating a Template: Step-by-Step

Step 1: Plan Your Template

Before registering, plan the following:

DecisionDetails
Template purposeWhat message does this template serve?
Template typeTransactional, promotional, or service?
Static textWhat text remains constant in every message?
VariablesWhat data changes per recipient?
Content typePlain text (English) or Unicode (regional language)?
HeaderWhich approved sender ID will use this template?

Step 2: Register on Your DLT Portal

The process is similar across portals. Using Jio TrueConnect as an example:

  1. Log in to https://trueconnect.jio.com.
  2. Navigate to Templates > Content Template.
  3. Click Add New Template.

Step 3: Fill Template Details

FieldHow to FillExample
Template NameDescriptive, snake_caseotp_login_verification
Template TypeSelect from dropdownTransactional
Content TypeText or UnicodeText
HeaderSelect an approved headerEXOTL
Template BodyMessage with {#var#} placeholdersSee examples below

Step 4: Enter the Template Body

Write the message body with {#var#} for each dynamic value:

OTP Template:

Your OTP for {#var#} is {#var#}. Valid for {#var#} minutes. Do not share this with anyone. - Exotel

Order Update Template:

Dear {#var#}, your order #{#var#} has been shipped via {#var#}. Track at {#var#}. Expected delivery: {#var#}.

Payment Confirmation Template:

Hi {#var#}, payment of Rs. {#var#} received for invoice {#var#}. Transaction ID: {#var#}. Thank you. - {#var#}

Step 5: Submit for Approval

  1. Review the template carefully for spelling and grammar.
  2. Ensure {#var#} placeholders are correctly placed.
  3. Click Submit.
  4. Note the submission reference number.

Step 6: Track Approval

StatusMeaning
PendingSubmitted, awaiting review
ApprovedTemplate approved; note the Template ID
RejectedTemplate rejected; review the reason and resubmit
BlacklistedTemplate blocked for policy violations

Approval typically takes 1-3 business days.

Content Approval Guidelines

What Gets Approved

  • Messages with clear, specific business purpose
  • Templates with adequate static text (at least 60% static content)
  • Proper grammar and punctuation
  • Relevant sender ID association
  • Correct template type classification

What Gets Rejected

Rejection ReasonExampleFix
Too many variables{#var#} {#var#} {#var#} {#var#} {#var#}Add more static text between variables
Misleading contentTemplate that could be used for phishingEnsure content is clearly from a legitimate business
Wrong template typeMarketing offer registered as transactionalUse the correct template type (Promotional for offers)
Offensive languageInappropriate or obscene contentRemove offensive content
ImpersonationContent mimicking a government or bankEnsure content clearly identifies your business
URL without contextJust a link with no explanationAdd descriptive text around the URL
Vague static text{#var#} message from {#var#} about {#var#}Provide specific, meaningful static text
warning

Once a template is rejected, you must create a new template with the corrected content and resubmit. Most portals do not allow editing of submitted templates.

Template Examples by Category

Transactional Templates

# OTP
Your OTP is {#var#}. It is valid for {#var#} minutes. Do not share it with anyone. - {#var#}

# Order Shipped
Hi {#var#}, your order {#var#} has been shipped. Track it here: {#var#}. - {#var#}

# Payment Alert
Dear {#var#}, Rs. {#var#} has been debited from your account on {#var#}. Ref: {#var#}. - {#var#}

# Appointment Reminder
Reminder: You have an appointment with {#var#} on {#var#} at {#var#}. Contact: {#var#}. - {#var#}

Service Implicit Templates

# Account Update
Dear {#var#}, your account has been updated. New plan: {#var#}. Effective from {#var#}. - {#var#}

# Bill Reminder
Hi {#var#}, your bill of Rs. {#var#} is due on {#var#}. Pay now at {#var#} to avoid late fees. - {#var#}

Promotional Templates

# Sale Announcement
Flat {#var#}% off on all {#var#}! Shop now at {#var#}. Offer valid till {#var#}. T&C apply. Reply STOP to opt out. - {#var#}

# Product Launch
Introducing {#var#}! Starting at Rs. {#var#}. Order now at {#var#}. Reply STOP to unsubscribe. - {#var#}
tip

For promotional templates, always include opt-out instructions (e.g., "Reply STOP to unsubscribe"). This is a DLT requirement and improves approval chances.

Unicode Templates

For regional language templates, select Unicode as the content type:

# Hindi OTP
आपका OTP {#var#} है। यह {#var#} मिनट के लिए वैध है। इसे किसी के साथ साझा न करें। - {#var#}

# Tamil Order Update
வணக்கம் {#var#}, உங்கள் ஆர்டர் {#var#} அனுப்பப்பட்டது. - {#var#}

See Unicode SMS for encoding details and character limits.

Using Approved Templates with Exotel

Once a template is approved, use it with the Exotel API by passing the DltTemplateId:

curl -X POST "https://<api_key>:<api_token>@api.exotel.com/v1/Accounts/<account_sid>/Sms/send" \
-d "From=EXOTL" \
-d "To=+919876543210" \
-d "Body=Your OTP is 456789. It is valid for 10 minutes. Do not share it with anyone. - Exotel" \
-d "DltEntityId=1101567890000012345" \
-d "DltTemplateId=1107160000000012345"

The Body must match the template exactly, with {#var#} placeholders replaced by actual values. The static text must be identical character-for-character.

Managing Templates

Viewing Registered Templates

Log in to your DLT portal and navigate to the Templates section to view all your templates, their statuses, and template IDs.

Deactivating a Template

If a template is no longer needed:

  1. Navigate to the template in your DLT portal.
  2. Click Deactivate or Disable.
  3. The template will no longer be valid for sending.

Updating a Template

DLT portals do not allow editing approved templates. To change a template:

  1. Create a new template with the updated content.
  2. Submit for approval.
  3. After approval, update your application to use the new template ID.
  4. Deactivate the old template.

Common Issues

IssueCauseResolution
FAILED_DLT_TEMPLATEMessage body does not match templateEnsure the sent message exactly matches the template; only {#var#} values differ
Template rejectedContent does not meet guidelinesReview rejection reason; fix and resubmit as a new template
Template pending too longPortal processing delayFollow up with DLT portal support after 3 business days
Template works on one operator but not anotherCross-portal sync delayAllow 5-7 days for DLT blockchain synchronization

Next Steps