THIS IS ONLY VALID FOR SMS SENT TO INDIAN DESTINATION NUMBERS (NOT APPLICABLE FOR ILDO / INTERNATIONAL ROUTE)
Video link:
As per the TRAI regulation for SMS in India, Phase 2 (Template scrubbing) of the DLT platform is planned to go live from April 1, 2021 (deadlines for each enforcement are detailed below).
To be compliant with DLT scrubbing guidelines and send SMS using Exotel, follow the steps listed below:
1. Register your SMS content templates with Brand Name(s) on the DLT operator portal
All of your SMS templates must be uploaded to an operator's DLT site. The templates will be synchronized across all other operator platforms after they have been authorized. The processes for registering your SMS templates are as follows.
Check Exotel for your current SMS templates here. You may also download your templates from Exotel, which has a suggested DLT format for them. Please keep in mind that before forwarding the suggested template format to DLT for approval, you should thoroughly evaluate it because the variable requirements may change. Read the FAQs below to learn more about Exotel and the DLT template format.
Add Brand Name(s) to your Content Templates on DLT
- Every Content Template registered by a Principal Entity should have the content field 'Brand Name(s)' (Complete business name/brand name/trademark). New templates registered from October 11, 2020, onwards should include 'Brand Name(s)', and if this is not done, the template may be refused.
- By October 31, 2020, any OTP templates expressly (Transaction and Service-related) that have been registered shall be updated with 'Brand Name(s)'.
- After October 31, 2020, Content Templates for OTP without 'Brand Name(s)' would be regarded as invalid.
Below are examples (as shared by VIL DLT Team) for your understanding in mentioning ‘Brand Name(s)’:
2. Update your templates on Exotel
Once you have updated your SMS templates on the DLT portal with Brand Names(s), make sure you update the same on Exotel (Settings -> SMS Templates) as well as add any missing Templates to avoid failures.
3. Configure your SMS API requests with DLT Parameters
You can comply by integrating the additional DLT Parameters while submitting messages to Exotel in our SMS API. ‘DltEntityId’ and ‘DltTemplateId’ are the new parameters added to our SMS API which you need to pass. Detailed documentation can be found here.
`DltEntityId` is mandatory to be provided from October 19, 2020 otherwise, your SMS may fail. If you are unable to accommodate the API changes, you can follow the next approach temporarily.
4. Add DLT information on Exotel
If you use the Exotel dashboard (Campaigns, SMS button or SMS applets) to send SMS or are unable to accommodate the API changes at the moment, you can update your DLT information on Exotel.
To configure your DLT Entity ID on Exotel, set it on the Dashboard Settings. This is mandatory to be provided by October 19, 2020, to avoid SMS failure. You can find the Entity ID on your DLT portal like VIL (Login->Account Setting->Entity ID).
Please Note: Double-check the Entity ID entered. In case of incorrect ID the SMSes will fail.
To configure template ID on Exotel, you can set it against each of your templates here.
Once you have configured, both DLT entity ID and template ID, these will be passed to the operators while sending SMSes to your account.
While adding a template, you can use {#var#} as a placeholder for replacing alphanumeric text similar to DLT. Alternatively, %s continued to be supported as well. Read the FAQs below to understand more about template format.
FAQs
How to map DLT SMS type on Exotel for SMS templates?
Exotel supports 3 SMS types, "transactional", "transactional opt-in" and "promotional". For backward compatibility, we will continue to support all 3 as of now. However, with DLT guidelines you can map your SMS types on Exotel as per the below table:
SMS Type on DLT | SMS Type on Exotel |
Banking OTP | Transactional |
Service Implicit | Transactional |
Service Explicit | Transactional / Transactional Opt-In |
Promotional | Promotional |
How to map the DLT template format on Exotel?
Exotel supports 3 variable placeholders - %d for numeric and %s for alphanumeric strings and {#var#} for both. Such a placeholder can be replaced with any number of characters. Whereas DLT supports variable format with {#var#} and it only allows a replacement of up to 30 characters.
Please do note, that your traffic so far might be replacing more than 30 characters for your SMS on Exotel as a replacement of the placeholder %s or %d. To be compliant on DLT, use multiple combinations of {#var#} to allow the number of character replacements your SMS would need.
What all changes are required if I'm using Exotel's Send SMS API?
- Below are the API parameters which you need to review and adhere to as per DLT guidelines:
- From: This should be the Sender ID or the ExoPhone (Linked to a Sender ID) present in your Exotel account and registered on the DLT portal.
- Body: This is the actual content of your SMS. Make sure the corresponding template is present in your Exotel account and exactly matches with the Template as registered on DLT.
- DltEntityId NEW: Entity Id of your business as registered with the DLT (Distributed Ledger Technology) portal in India.
- DltTemplateId NEW: Content Template Id against the SMS body registered with DLT (Distributed Ledger Technology) portal in India. Such a template body should be linked with the Sender ID (From) on the DLT portal
- To read the complete API documentation, refer here.
I send SMS using non-API methods - SMS Campaigns, SMS Applets or SMS Button, what should I do?
- SMS Template should be registered on DLT.
- SMS Template should be present on Exotel.
- DLT Template ID and Entity ID should be configured on Exotel as explained above.
How to identify if my SMS are going alright?
- Download SMS report from Exotel's Dashboard and identify SMSes where
- `DltTemplateId` or `DltEntityId` column is empty, indicating Template ID was not configured on Exotel Dashboard properly or not passed in the API request.
- If `DltTemplateId` and `DltEntityId` is set, but SMS Status is `failed` (post DLT enforcement), please validate the content exactly matches with the template registered on DLT.
Some common pointers to ensure template matching succeeds
- Ensure DltEntityId is passed in API or set on Exotel Dashboard.
- Ensure DltTemplateId is passed in API or set on Exotel Dashboard against each template.
- DON'T register templates with %s and %d on DLT, instead replace it with {#var#} or use download the templates (as mentioned in step 1) for the proposed format for DLT registration.
- Variable-length i.e. text replacing {#var#} placeholder on DLT should not exceed more than 30 characters. Use multiple variables like {#var#}{#var#} in your templates on DLT to ensure the template match doesn't fail.
- UPDATED 10/05/2021: Exotel now supports {#var#} as a placeholder to replace content similar to DLT along with %s and %d as placeholders for replacing string and digits respectively.
- The text should exactly match the Template registered on Exotel as well as on DLT. Even a single character mismatch of space or special characters can result in mismatches.
- Header (Sender ID) Mapping against each template should be verified. In case the ‘X’ header is mapped on the DLT platform with a ‘Y’ text, then it should be used accordingly. If you wish to use any other header, Changes on the DLT platform should be done accordingly.
[ To learn more about other DLT mandates, refer to this knowledge base or reach out to [email protected] ]
If you have any questions or concerns, please connect with us using the chat widget on your Exotel Dashboard or Whatsapp us on 08088919888.