0% found this document useful (0 votes)
96 views

BRPS API Reference Manual

Uploaded by

sumanctd91
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views

BRPS API Reference Manual

Uploaded by

sumanctd91
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 73

BSNL Retail Push SMS (BRPS) Service

API Reference Manual


1

About The Document

Version 1.4

Created Date 15/09/2021

Updated Date 05/07/2022

Author BRPS Support Team, BSNL Kerala Circle

Email brps_support@bsnl.co.in

Purpose

To provide a detailed overview on how to consume the BSNL Retail Push SMS Service (BRPS)
API. This document can be used by a customer meaning to use the BRPS service.
2

Table of Contents

About The Document 1


Purpose 1

Table of Contents 2

Introduction 4

BSNL Retail Push SMS Service (BRPS) - Overview 5

API Structure 6

API Operations 7
Authentication 7
Create New API Token 7
Get Token Status 7
Content Template Management 8
Get Content Template Details 8
Name Content Template Variables 8
Reset Named Content Template 8
Send SMS 9
Generate Request Body for Send SMS Operations 9
Send SMS 9
Send SMS Bulk 10
Send SMS Bulk Individual 10
Push SMS 10
Push Message 11
Push Multiple Messages 11
Schedules 11
Schedule SMS 11
Cancel Schedule 12
Reports 12
Message Status Report 12
Get Account Balance 12

API Access Details 13


HTTP Request Methods 13
Authentication 13
Rate Limit 13
JSON Requests 14
3

Create New API Token 14


Get Token Status 15
Get Content Template Details 16
Name Content Template Variables 19
Reset Named Content Template 21
Generate Request Body for Send SMS Operations 22
Send SMS 26
Send Bulk SMS 28
Send Individualized Bulk SMS 30
Push Message 32
Push Multiple Messages 33
Schedule SMS 35
Cancel Scheduled SMS 37
Message Status Report 38
Get Account Balance 41
XML Requests 42
Create New API Token 42
Get Token Status 43
Get Content Template Details 44
Name Content Template Variables 47
Reset Named Content Template 49
Send SMS 50
Send Bulk SMS 52
Send Individualized Bulk SMS 54
Push Message 56
Push Multiple Messages 58
Schedule SMS 60
Cancel Scheduled SMS 62
Message Status Report 63
Get Account Balance 67
DLT Platform Scrubbing - Error Codes Descriptions 69
4

Introduction
BSNL Retail Push SMS (BRPS) service is a Push SMS platform for Principal Entities registered in
BSNL DLT Portal. BRPS Service provides the retail customer with seamless and hassle-free SMS
Push service at affordable rates. The service can be accessed through Web Portal and API.
5

BSNL Retail Push SMS Service (BRPS) - Overview


BSNL Retail Push SMS Service (BRPS) is available as a prepaid service model for the end users.
The service is for retail customers and reselling is not allowed.

Complying with the Telecom Commercial Communication Customer Preference Regulation


(TCCCPR) 2018 Regulations, all customers of BRPS are required to register as Principal Entities
in BSNL Distributed Ledger Technology (DLT) portal https://www.ucc-bsnl.co.in/. Headers
(Sender-names) and Templates of Principal Entities have to be registered and approved in the
DLT portal.

To use the service, Principal Entities have to be onboard into BRPS through the Customer
Web Portal https://bulksms.bsnl.in by entering the Principal Entity ID and the Mobile Number
/Email Address linked to the Principal Entity. On successful validation a new account will be
created in the name of Principal Entity. Also Username and Password to access the service will
be provided as SMS to the mobile number linked to the Principal Entity.

After the account creation, a registration fee payment has to be made to activate the BRPS
service. On successful registration fees payment, the templates and headers owned by the
customer in the DLT portal will be made available in the BRPS portal. Available Prepaid SMS
Packs can be purchased to consume the service either through Webportal or API.

Each user is identified by a unique Service Id. Service Id along with Username and Password
are required to access API.
6

API Structure

The structure of a BRPS API operation is given below.

<Base URL><Endpoint>

<Base URL> is the API server address and <Endpoint> is the API operation.

For example, in the API operation give below

https://bulksms.bsnl.in:5010/api/Create_New_API_Token

https://bulksms.bsnl.in:5010 is the API server and /api/Create_New_API_Token is the


endpoint.

All API endpoints are relative to the base URL.

The Base URL and Service Id can be found by logging into BRPS Customer Web Portal
(bulksms.bsnl.in) and navigating to the menu API Details.
7

API Operations
BRPS API operations(API EndPoints) are categorized as given below.

● Authentication
● Content Template Management
● Send SMS
● Push SMS
● Schedules
● Reports

Description of supported operations given below.

● Authentication

JWT (JSON Web Token) is used for Authentication of API operations.

○ Create New API Token

This is the operation to create API Token.

JSON bearer token is given as the response. The validity of the token is for a
year from the date of creation of the token.

Five active tokens can be created per account. Each token can be IP
whitelisted upto a maximum of five IPs each. Token Id is ranging from 1 to 5

If no whitelisting is required, the input field of IP_Addresses can be left as null.

The tokens generated with whitelisted IPs will only accept requests from that
specified IPs. Renewal of token before or after token validity can be done with
no limitation, same API operation to be used for it.

JSON Request>>

XML Request>>

○ Get Token Status

For Checking the Active Tokens Status. Token Id has to be given as input.

JSON Request>>

XML Request>>
8

● Content Template Management

The DLT system Content Templates owned by the Principal Entity will be made
available in BRPS.

○ Get Content Template Details

Details of a Template owned by the Principal Entity can be accessed using this
operation.

The input Template ID and Template name are optional, and can be passed as
empty strings.

JSON Request>>

XML Request>>

○ Name Content Template Variables

Variables in a DLT Content Template are in the format {#var#}. A Content


Template can be created in DLT portal by inserting {#var#} in all variable places.

In BRPS the format of variable is {#<variable name>#} where variable name is the
distinguishable name of the variable. Different names have to be given for
different variables for easy identification. This Process is called Variable Naming.

SMS Push/Send operations are possible only with named content templates.

This operation can be used to name the variables of content templates.

JSON Request>>

XML Request>>

It is also possible to name the variables without using the API, through
Customer web portal.

○ Reset Named Content Template


9

This operation can be used to reset the named content templates. On reset the
all named variables in the content template will be changed to {#var#} as
available in the DLT System.

The reset done content templates have to be named again for pushing SMS.

JSON Request>>

XML Request>>

● Send SMS

These are the operations to send the SMS using the target numbers and corresponding
variables values as input. Instead of accepting the actual message this API operation
will accept the values of named variables with Content Template Id and corresponding
target mobile numbers. The API will create actual message from the supplied variable
values and content template.

Full validation of inputs are available for these operations and hence DLT content
scrubbing at DLT scrubbing system will not be failed.

○ Generate Request Body for Send SMS Operations

The Request Body Format required for the Send SMS operations (Send SMS/
Send SMS Bulk/ Send SMS Bulk Individual) can be created by using this
operation.

JSON Request>>

XML response is not supported for this operation.

○ Send SMS

To Send High Priority Message (Like OTP) SMS with lower latency. Only one
target (mobile number) is allowed in a single transaction.

The operation will return a message id of the message created, which can be
used to view the details and status of the message pushed.

JSON Request>>
10

XML Request>>

○ Send SMS Bulk

Up to a maximum of 1000 mobile numbers can be included in a single


transaction. A common message will be delivered to all the target numbers.

The operation will return message id(s) of the message(s) created. The returned
message Ids can be stored to query details of messages submitted.

JSON Request>>

XML Request>>

○ Send SMS Bulk Individual

Used for sending multiple messages to multiple target numbers. Maximum


number of targets in a request is limited to 1,000.

In this operation, different values can be added for the same variables in the
template for each target number.

The operation will return message id(s) of the message(s) created. The returned
message Ids can be used to query the details of messages submitted.

JSON Request>>

XML Request>>

● Push SMS

These are the operations to send the SMS using the target numbers and corresponding
message texts.

For Push SMS operations, input texts will not be validated with content templates by
BRPS system and hence content scrubbing at the DLT scrubbing system may be failed
in case of any mismatch. It is recommended to use Send SMS Operations instead of
Push SMS operations unless content validation is done at client side.
11

○ Push Message

The actual message along with target mobile number and content template id
can be inputted into the API operation for pushing the message.

The operation will return a message id of the message created, which can be
used to view the details and status of the message pushed.

JSON Request>>

XML Request>>

○ Push Multiple Messages

Used for sending multiple messages to multiple target numbers. Target


numbers and corresponding messages can be inputted to this operation.

Instead of variables actual messages can be given as input. Maximum Number


of SMSs in a request is limited to 1000.

JSON Request>>

XML Request>>

● Schedules

This operation can be used to create a schedule message to a target number.


The message will be pushed by the system at the time inputted during schedule
creation.

○ Schedule SMS

A schedule can be created by inputting the variable values along with content
template, target number and schedule time. Number of schedules is limited to
1,000 SMS per day per user.
12

The operation will return a message id of the message created, which can be
used to track the details and status of the schedule.

JSON Request>>

XML Request>>

○ Cancel Schedule

Users can cancel a scheduled SMS half an hour before the scheduled time for
the transaction.

JSON Request>>

XML Request>>

● Reports

Following reports are available in BRPS API

○ Message Status Report

The status of the message can be accessed by inputting the message Id.

JSON Request>>

XML Request>>

○ Get Account Balance

To see the remaining SMS balance and list of recharge history for the account at
the request time.

No input parameter is required for this operation

JSON Request>>

XML Request>>
13

API Access Details


HTTP Request Methods
HTTP POST is only supported in the API operations.

The input requests can be in JSON or XML format. The default response will be sent in JSON
format. (If XML response is required, in the header component add application/xml for the
accept field.)

Authentication
JSON Web Token (JWT) authorization is used to provide a secure channel of communication.
With JWT the user credentials are passed through the HTTP header to the server as a cryptic
string. For every request sent, the token has to be attached with an Authorization header as
shown in the example.

POST base_url/api//approve?expenseId=abc123 HTTP/1.1

Host: your-domain.com

Authorization: Bearer AbCdEf123456.sg253464564g.5756uythj

Content-Type: application/x-www-form-urlencoded

User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions)

It is possible to bind a token to a maximum of five public IP addresses. Also it is possible to


create five active tokens per username. Different IP address binded Tokens can be used for
different applications.

It is highly recommended to bind the token with static public IP address(es) to ensure
maximum security. However it is also possible to Not Bind the token with any IP address in
case of unavailability of Static Public IP address.

Rate Limit
The number of SMSs pushed per Hour by a user is limited by the Maximum SMS per Hour
Values of opted plan(s) and available SMS balance count at the time of SMS pushing. SMSs
pushed after exhausting the hourly limit will get dropped by the API operations until the start
of next hour.
14

JSON Requests
This section details how to send requests in JSON format. Only POST base_url/api/operations
are supported.

1. Create New API Token

Request Format For Create New API Token

Link POST base_url/api/Create_New_API_Token

Key Value

Headers Content-Type application/json; charset=utf-8

{
"Service_Id": "XXXX",
"Username": "YYYY",
"Password": "******",
Body "Token_Id":"1/2/3/4/5"
"IP_Addresses":[
"ww.xx.yy.zz",
"aaa.bbb.ccc.ddd"]
}

Response

Body "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbnNubC5pbjo1ODk
wIiwiYXVkIjoiMTAwMSJ9.lmvxsMDsGv8"
15

2. Get Token Status

Request Format For Name Content Template

Link POST base_url/api/Get_Token_Status

Key Value

Bearer
Headers Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394hf
pbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

application/json; charset=utf-8
Content-Type

{
Body "Token_Id": "1/2/3/4/5"
}

Response

{
"Error": null,
"Token_Id": "X",
Body
"Validity_Left_In_Days": "XXX",
"Expiry_Time": "XX-XX-XXXX XX:XX:XX XM"
}
16

3. Get Content Template Details

Request Format For Get Request Sample (Send SMS)

Link POST base_url/api/Get_Content_Template_Details

Key Value

Bearer
Headers Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

Content-Type application/json; charset=utf-8

{
"Content_Template_Id": "XXXXXXXXX",
Body
"Content_Template_Name": "XXXXXXXXXX"
}

Response

{
"Error": "sample string 1",
"Content_Template_Ids": [
{
"Template_Id": "1XXXXXXXX1",
"Header": "XXXXXX",
"Message_Type": "PML/SE/SI/TXN",
"Template_Name": "SAMPLE NAME 1",
"Template_Message_DLT": "xxxxx{#var#}xxxxx{#var#}",
"Template_Message": xxxxx{#yyyy#}xxxxx{#zzzz#}",
"Template_Keys": [
Body "yyyy",
"zzzz"
],
"Non_Variable_Text_Length": "XX",
"Max_Length_Permitted": "XX",
17

"Count_Of_Keys": "2",
"Create_Date": "DD/MM/YYYY HH:MM:SS",
"Is_Unicode": "0/1",
"Entity_Id": "1XXXXXXXXX",
"Template_Status": "0/1",
"Template_Status_Description": "Template Variables Naming
Pending/Template Variables Named"
},
{
"Template_Id": "1XXXXXXXXX2",
"Header": "XXXXXXXXX",
"Message_Type": "PML/SE/SI/TXN",
"Template_Name": "SAMPLE NAME 2",
"Template_Message_DLT": "aaaaa {#var#} cccc {#var#} eee
{#var#}",
"Template_Message": "aaaaa {#bbbbb#} cccc {#ddddd#} eee
{#ff#}",
"Template_Keys": [
"bbbbb",
"ddddd",
"ff"
],
"Non_Variable_Text_Length": "XX",
"Max_Length_Permitted": "XX",
"Count_Of_Keys": "3",
"Create_Date": "DD/MM/YYYY HH:MM:SS",
"Is_Unicode": "0/1",
"Entity_Id": "1XXXXXXXXXXXX",
"Template_Status": "0/1",
"Template_Status_Description": "Template Variables Naming
Pending/Template Variables Named"
}
]
}
18

Value Descriptions

Name Value Description

Template Variables All Template variables are


Named named in BRPS System
Template_Status_Description Template variables are not
Template Variables
yet named and pending in
Naming Pending
BRPS System

Template Variables Naming


0
Pending
Template_Status
1 Template Variables Named

PML Promotional

SE Service Explicit
Message_Type
SI Service Implicit

TXN Transactional
19

4. Name Content Template Variables

Request Format For Name Content Template

Link POST base_url/api/Name_Content_Template_Variables

Key Value

Bearer
Headers Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394hf
pbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

application/json; charset=utf-8
Content-Type

{
"Template_ID": "1XXXXXXXX",
"Entity_ID": "1############",
Body
"Template_Message_Named": "Dear {#Customer Name#}, Your TXN ID
is {#ID#}"
}

The value of key Template_Message_Named in the request can be generated using


the value of Key Template_Message obtained from the operation Get Content
Template Details.

In the given example DLT system content template "Dear {#var#}, Your TXN ID is {#var#}" is
modified as "Dear {#Customer Name#}, Your TXN ID is {#ID#}"
20

Response

{
"Error": null,
"Template_Keys": [
Body "Customer Name",
"ID"
]
}

The unique named variables in the request will be returned in the value field of the key
Template_Keys.
21

5. Reset Named Content Template

Request Format For Reset Named Content Template

POST base_url/api/Reset_Named_Content_Template
Link

Key Value

Bearer
Headers Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394hf
pbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

Content-Type application/json; charset=utf-8

{
"Template_ID": "xxxxxxxxxxxxxx",
Body
"Entity_ID": "xxxxxxxxxxxxxx"
}

Response

{
"Error": null,
Body
"Success": "Variables reset for template ID: xxxxxxxxxxxxxx"
}
22

6. Generate Request Body for Send SMS Operations

This operation can be used to generate the request body of following SMS Push
Operations:

Send SMS (For a single mobile number)

Send SMS Bulk (For sending SMS to upto a number list of 1000 numbers with a
common SMS template variable value)

Send SMS Bulk Individual (For sending SMS to upto a number list of 1000 numbers with
SMS template variable value unique for each number)

An approved content template should be used to generate request bodies of the above
operations. Consent_Template_Id is optional.

Request Format For Get Request Sample (Send SMS)

Link POST base_url/api/Get_Send_Request_Sample

Key Value

Bearer
Headers Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

Content-Type application/json; charset=utf-8

{
"Content_Template_Id": "xxxxxxxx",
Body "Consent_Template_Id": "yyyyyyy",
"Operation_Name": "Send_SMS"
}

Response

{
"Header": "######",
"Target": "9XXXXXXXXX",
"Is_Flash": "0/1",
"Entity_Id": "****",
23

"Is_Unicode": "0/1",
"Message_Type": "PML/SI/SE/TXN",
"Consent_Template_Id": "yyyyyyy",
Body "Content_Template_Id": "xxxxxxxx",
"Template_Keys_and_Values": [
{
"Key": "Key 1",
"Value": "Value of Key 1"
},
{
"Key": "Key 2",
"Value": "Value of Key 2"
}
]
}

Request Format For Get Request Sample (Send Bulk SMS - Common Message)

Link POST base_url/api/Get_Send_Request_Sample

Key Value

Bearer
Headers Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

Content-Type application/json; charset=utf-8

{
"Content_Template_Id": "xxxxxxxx",
Body "Consent_Template_Id": "yyyyyyy",
"Operation_Name": "Send_SMS_Bulk"
}

Response

{
"Header": "######",
Body
"Targets": [
"9XXXXXXXXX",
24

"8XXXXXXXXX"
],
"Is_Flash": "0/1",
"Entity_Id": "****",
"Is_Unicode": "0/1",
"Message_Type": "PML/SI/SE/TXN",
"Consent_Template_Id": "yyyyyyy",
"Content_Template_Id": "xxxxxxxx",
"Template_Keys_and_Values": [
{
"Key": "Key 1",
"Value": "Value of Key 1"
},
{
"Key": "Key 2",
"Value": "Value of Key 2"
}
]
}

Request Format For Get Request Sample (Send Bulk SMS - Individualized
Message)

Link POST base_url/api/Get_Send_Request_Sample

Key Value

Bearer
Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd13
Headers 94hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bk
j8

Content-Type application/json; charset=utf-8

{
"Content_Template_Id": "xxxxxxxx",
Body "Consent_Template_Id": "yyyyyyy",
"Operation_Name": "Send_SMS_Bulk_Individual"
}
25

Response

{
"Header": "######",
"Is_Unicode": "0/1",
"Is_Flash": "0/1",
"Message_Type": "PML/SE/SI/TXN",
"Entity_Id": "***********",
"Consent_Template_Id": "yyyyyyy",
"Content_Template_Id": "xxxxxxxx",
"Targets_and_Messages": [
{
"Target": "9XXXXXXXXX",
"Template_Keys_and_Values": [
{
"Key": "Variable 1",
"Value": "Value of Variable 1 for 9XXXXXXXXX"
Body
}
]
},
{
"Target": "7XXXXXXXXX",
"Template_Keys_and_Values": [
{
"Key": "Variable 1",
"Value": "Value of Variable 1 for 7XXXXXXXXX"
}
]
}
],
"Consent_Template_Id": "******"
}
26

7. Send SMS

Consent_Template_Id can be given as null, if not applicable/ available.

Request Format For Send Message

Link POST base_url/api/Send_SMS

Key Value

Bearer
Headers eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
Authorization
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

Content-Type application/json; charset=utf-8

{
"Header": "######",
"Target": "**********",
"Is_Unicode": "0/1",
"Is_Flash": "0/1",
"Message_Type": "PML/SE/SI/TXN",
"Entity_Id": "******",
"Content_Template_Id": "******",
Body "Consent_Template_Id": "******",
"Template_Keys_and_Values": [
{
"Key":"KEY 1",
"Value":"Value for KEY 1"
}
]
}

Response

{
"Error": null,
Body
"Message_Id": "************"
}
27

Value Descriptions

Name Value Description

0 Text Message

Is_Unicode
1 Unicode Message (Malayalam / Hindi etc..)

0 Normal SMS
Is_Flash
1 Flash SMS

TXN Transactional SMS

SE Service Explicit SMS


Message_Type
SI Service Implicit SMS

PML Promotional SMS


28

8. Send Bulk SMS

Consent_Template_Id can be given as null, if not applicable/ available.


.

Request Format For Send Bulk Message

Link POST base_url/api/Send_SMS_Bulk

Key Value

Bearer
Headers eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd139
Authorization
4hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

Content-Type application/json; charset=utf-8

{
"Header": "######",
"Targets": [
"9XXXXXXXXX",
"8XXXXXXXXX"
],
"Is_Unicode": "0/1",
"Is_Flash": "0/1",
"Message_Type":"PML/SE/SI/TXN",
"Entity_Id":"#############",
"Content_Template_Id": "******",
Body "Consent_Template_Id":"******",
"Template_Keys_and_Values": [
{
"Key": "Variable 1",
"Value": "Value for Variable 1"
},
{
"Key": "Variable 2",
"Value": "Value for Variable 2"
}
]
}
29

Response

{
"Error": null,
Body "Starting_Message_Id": XXXXXXXXX1",
"Ending_Message_Id": XXXXXXXXX2"
}

The Is_Unicode, Is_Flash and Message_Type are the same as the Send_SMS operation.
30

9. Send Individualized Bulk SMS

Consent_Template_Id can be given as null, if not applicable/ available.

Request Format For Send Individualized Bulk Message

Link POST base_url/api/Send_SMS_Bulk_Individual

Key Value

Bearer
Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/json; charset=utf-8

{
"Header": "######",
"Is_Unicode": "0/1",
"Is_Flash": "0/1",
"Message_Type": "PML/SE/SI/TXN",
"Entity_Id": "***********",
"Content_Template_Id": "******",
"Targets_and_Messages": [
{
"Target": "9XXXXXXXXX",
"Template_Keys_and_Values": [
Body {
"Key": "Variable 1",
"Value": "Value of Variable 1 for 9XXXXXXXXX"
}]
},
{
"Target": "7XXXXXXXXX",
"Template_Keys_and_Values": [
{
"Key": "Variable 1",
"Value": "Value of Variable 1 for 7XXXXXXXXX"
}]
}
],
"Consent_Template_Id": "******"
31

Response

{
"Error": null,
"Starting_Message_Id": XXXXXXXXX1",
Body
"Ending_Message_Id": XXXXXXXXX2"
}
32

10.Push Message

Request Format For Push Message

Link POST base_url/api/Push_Message

Key Value

Bearer
Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/json; charset=utf-8

{
"Header": "######",
"Target": "9XXXXXXXXX",
"Is_Unicode": "0/1",
"Is_Flash": "0/1",
"Message_Type": "PML/SE/SI/TXN",
"Entity_Id": "******",
"Content_Template_Id": "******",
"Message": "******"
}

Body

Response

{
"Error": null,
Body "Message_Id": XXXXXXXXX"
}
33

11.Push Multiple Messages

Request Format For Push Multiple Messages

Link POST base_url/api/Push_Multiple_Messages

Key Value

Bearer
Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/json; charset=utf-8

{
"Targets_Headers_Templates_And_Messages": [
{
"Target": "######",
"Header": "******",
"Content_Template_Id": "**********",
"Message": "******************************"
},
{
"Target": "#######",
"Header": "******",
Body "Content_Template_Id": "*****************",
"Message": "*******************************"
}
],
"Is_Flash": "0/1",
"Entity_Id": "*************"
}
34

Response

{
"Error": null,
"Starting_Message_Id": XXXXXXXXX1",
Body
"Ending_Message_Id": XXXXXXXXX2"
}
35

12.Schedule SMS

Consent_Template_Id can be given as null, if not applicable/ available.

Date Time Format of schedule time is DD-MM-YYYY hh:mm:ss

To schedule a message for the current time, leave Schedule_Time as NULL

Request Format For Send Individualized Bulk Message

Link POST base_url/api/Schedule_SMS

Key Value

Bearer
Headers Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

Content-Type application/json; charset=utf-8

{
"Header": "XXXXX",
"Target": "9XXXXXXXXX",
"Is_Unicode": "0/1",
"Is_Flash": "0/1",
"Message_Type": "PML/SE/SI/TXN",
"Entity_Id": "XXXXXXXXXXXXXXXXXXX",
"Content_Template_Id": "XXXXXXXXXXXXXXX",
"Template_Keys_and_Values": [
{
Body "Key": "Key 1",
"Value": "Value for Key 1"
},
{
"Key": "Key 2",
"Value": "Value for Key 2"
}
],
"Consent_Template_Id": "",
"Scheduled_Time": "DD-MM-YYYY hh:mm:ss"
}
36

Response

{
Body "Error": null,
"Message_Id": XXXXXXXXXX
}
37

13.Cancel Scheduled SMS

Request Format For Cancel Scheduled Message

Link POST base_url/api/Cancel Schedule Request

Key Value

Bearer
Headers Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

Content-Type application/json; charset=utf-8

{
Body "Message_Id": "XXXXX"
}

Response

{
"Error": null,
Body
"Success": "Cancelled the Message Id: XXXXX"
}
38

14.Message Status Report

Request Format For Search Messages with Target Number

Link POST base_url/api/Message_Status_Report

Key Value

Bearer
Headers Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd139
4hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

Content-Type application/json; charset=utf-8

{
Body "Message_id": "XXXXXXXX"
}

Response

{
"Error": null,
"Message_Id": "XXXXXXXXXXXXXX",
"Header": "XXXXXX",
"Receiver": "9XXXXXXXXX",
"Message": "Sample Template Message",
"Message_Category": "Text/Unicode",
Body "Flash": "0/1",
"Message_Type": "PML/SE/SI/TXN",
"Entity_Id": "XXXXXXXXXX",
"Content_Template_Id": "XXXXXXXXXXXX",
"Consent_Template_Id": "XXXXXXXXXXXX",
"Content_Template_Keys_And_Values": [
{
"Key": "Key 1",
"Value": "Value for Key 1"
},
{
"Key": "Key 2",
"Value": "Value for Key 2"
39

}
],
"SMS_Count": "XX",
"Create_Time": "DD-MM-YYYY hh:mm:ss",
"Queue_Insert_Time": "DD-MM-YYYY hh:mm:ss",
"SMSC_Submit_Time": "DD-MM-YYYY hh:mm:ss",
"SMSC_Reject_Time": "DD-MM-YYYY hh:mm:ss",
"Carrier_Accept_Time": "DD-MM-YYYY hh:mm:ss",
"Delivery_Success_Time": "DD-MM-YYYY hh:mm:ss",
"Delivery_Failure_Time": "DD-MM-YYYY hh:mm:ss",
"Closed_Time": "DD-MM-YYYY hh:mm:ss",
"Message_Status": "7",
"Message_Status_Description": "Message Delivered",
"Process_Status": "1",
"Process_Status_Description": "Closed",
"DLR_Error_Code": null
}

Value Descriptions

Name Value Description

0 Text Message

Message Category
1 Unicode Message (Malayalam / Hindi etc..)

0 Normal SMS
Is_Flash
1 Flash SMS

0 Message Created

1 Message Input Error

2 Message Inserted in Queue


Message_Status
3 Message Submitted to SMSC

4 Message Rejected by SMSC


40

5 Message Accepted by Carrier

6 Message Delivery Failed

7 Message Delivered

0 Open

Process_Status 1 Closed

2 Error

DLR Error Code 600-671 Error code as received from DLT system.
41

15.Get Account Balance

Request Format For Get Account Balance

Link POST base_url/api/Get_SMS_Count

Key Value
Headers

Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
Authorization
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8

application/json; charset=utf-8
Content-Type

Body

Response

{
"Error": "sample string 1",
"Recharge_Details": [
{
"Recharge_Id": "sample string 1",
"Plan_Id": "sample string 2",
"Recharge_Time": "sample string 3",
"SMS_Balance_Count": "sample string 4",
"Balance_Expiry_Time": "sample string 5",
"Balance_Updated_Time": "sample string 6"
Body },
{
"Recharge_Id": "sample string 1",
"Plan_Id": "sample string 2",
"Recharge_Time": "sample string 3",
"SMS_Balance_Count": "sample string 4",
"Balance_Expiry_Time": "sample string 5",
"Balance_Updated_Time": "sample string 6"
}
]
}
42

XML Requests

1. Create New API Token

Request Format For Create New API Token

Link POST base_url/api/Create_New_API_Token

Key Value

Headers Content-Type application/xml

Accept application/xml

<New_Token_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_A
PI.Models">
<IP_Addresses
xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arr
ays">
Body <d2p1:string>www.xxx.yyy.zzz</d2p1:string>
<d2p1:string>aa.bb.cc.dd</d2p1:string>
</IP_Addresses>
<Password>demo password</Password>
<Service_Id>XXXXXX</Service_Id>
<Token_Id>1/2/3/4/5</Token_Id>
<Username>Demo Username</Username>
</New_Token_Request>

Response

"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbnNubC5pbjo1ODk
Body
wIiwiYXVkIjoiMTAwMSJ9.lmvxsMDsGv8"
43

2. Get Token Status

Request Format For Name Content Template

Link POST base_url/api/Get_Token_Status

Key Value

Bearer
Authorization eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394hf
pbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers

Content-Type application/xml

Accept application/xml

<Token_Status_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Body
Models">
<Token_Id>1/2/3/4/5</Token_Id>
</Token_Status_Request>

Response

<Token_Status
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Models">
<Error i:nil="true" />
Body
<Expiry_Time>XX-XX-XXXX XX:XX:XX XM</Expiry_Time>
<Token_Id>X</Token_Id>
<Validity_Left_In_Days>XXX</Validity_Left_In_Days>
</Token_Status>
44

3. Get Content Template Details

Request Format For Get Request Sample (Send SMS)

Link POST base_url/api/Get_Content_Template_Details

Key Value

Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
Authorization
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/json; charset=utf-8

Accept application/xml

<Content_Template_Details_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API
.Models">
Body
<Content_Template_Id>1XXXXXXXXXXXX</Content_Template_Id>
<Content_Template_Name>Sample Template
Name</Content_Template_Name>
</Content_Template_Details_Request>

Response

<Content_Template_Details
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Models">
<Content_Template_Ids>
Body <Content_Template_Ids>
<Count_Of_Keys>XX</Count_Of_Keys>
<Create_Date>DD-MM-YYYY hh:mm:ss</Create_Date>
<Entity_Id>XXXXXXXXXXXXX</Entity_Id>
<Header>ABCDEF</Header>
<Is_Unicode>0/1</Is_Unicode>
45

<Max_Length_Permitted>XX</Max_Length_Permitted>
<Message_Type>PML/SI/SE/TXN</Message_Type>
<Non_Variable_Text_Length>XX</Non_Variable_Text_Length>
<Template_Id>XXXXXXXXXXXX</Template_Id>
<Template_Keys
xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arra
ys">
<d4p1:string>Key 1</d4p1:string>
<d4p1:string>Key 2</d4p1:string>
</Template_Keys>
<Template_Message>Sample Message with keys {#Key 1#} and
{#Key 2#}</Template_Message>
<Template_Message_DLT>Sample Message with keys {#var#} and
{#var#}</Template_Message_DLT>
<Template_Name>Sample Template Name</Template_Name>
<Template_Status>0/1</Template_Status>
<Template_Status_Description>Template Variables Named
/Template Variables Naming Pending</Template_Status_Description>
</Content_Template_Ids>
<Error>null</Error>
</Content_Template_Details>
46

Value Descriptions

Name Value Description

Template Variables All Template variables are


Named named in BRPS System
Template_Status_Description Template variables are not
Template Variables
yet named and pending in
Naming Pending
BRPS System

Template Variables Naming


0
Pending
Template_Status
1 Template Variables Named

PML Promotional

SE Service Explicit
Message_Type
SI Service Implicit

TXN Transactional
47

4. Name Content Template Variables

Request Format For Name Content Template

Link POST base_url/api/Name_Content_Template_Variables

Key Value

Authorization Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/xml

Accept application/xml

<Name_Content_Template_Variables_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API
.Models">
Body <Entity_ID>XXXXXX</Entity_ID>
<Template_ID>xxxxxxxxx</Template_ID>
<Template_Message_Named>Dear {#Customer Name#}, Your TXN ID
is {#ID#}</Template_Message_Named>
</Name_Content_Template_Variables_Request>

The value of key Template_Message_Named in the request can be generated using


the value of Key Template_Message obtained from the operation Get Content
Template Details.

In the given example DLT system content template "Dear {#var#}, Your TXN ID is {#var#}" is
modified as "Dear {#Customer Name#}, Your TXN ID is {#ID#}"
48

Response

Body <Name_Content_Template_Variables_Response
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Models">
<Error>null</Error>
<Template_Keys
xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arra
ys">
<d2p1:string>Customer Name</d2p1:string>
<d2p1:string>ID</d2p1:string>
</Template_Keys>
</Name_Content_Template_Variables_Response>
49

5. Reset Named Content Template

Request Format For Reset Named Content Template

POST base_url/api/Reset_Named_Content_Template
Link

Key Value

Authorization Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/xml

Accept application/xml

<Reset_Name_Content_Template_Variables_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API
Body .Models">
<Entity_ID>xxxxxxxxxxxxxx</Entity_ID>
<Template_ID>xxxxxxxxxxxxxx</Template_ID>
</Reset_Name_Content_Template_Variables_Request>

Response

Body <Reset_Name_Content_Template_Variables
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Models">
<Error i:nil="true" />
<Success>Variables reset for template ID:
xxxxxxxxxxxxxxxx</Success>
</Reset_Name_Content_Template_Variables>
50

6. Send SMS

Consent_Template_Id can be given as null, if not applicable/ available.

Request Format For Send Message

Link POST base_url/api/Send_SMS

Key Value

Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
Authorization
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/xml

Accept application/xml

<Send_SMS_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API
.Models">
<Consent_Template_Id>****************</Consent_Template_Id>
<Content_Template_Id>************</Content_Template_Id>
<Entity_Id>************</Entity_Id>
<Header> ######</Header>
<Is_Flash>0/1</Is_Flash>
<Is_Unicode>0/1</Is_Unicode>
<Message_Type>PML/SE/SI/TXN</Message_Type>
Body <Target>**********</Target>
<Template_Keys_and_Values>
<Template_Data>
<Key>KEY 1</Key>
<Value>Value for KEY 1</Value>
</Template_Data>
<Template_Data>
<Key>KEY 2</Key>
<Value>Value for KEY 2</Value>
</Template_Data>
</Template_Keys_and_Values>
</Send_SMS_Request>
51

Response

<Send_SMS xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Models">
Body
<Error>sample string 1</Error>
<Message_Id>sample string 2</Message_Id>
</Send_SMS>

Value Descriptions

Name Value Description

0 Text Message

Is_Unicode
1 Unicode Message (Malayalam / Hindi etc..)

0 Normal SMS
Is_Flash
1 Flash SMS

TXN Transactional SMS

SE Service Explicit SMS


Message_Type
SI Service Implicit SMS

PML Promotional SMS


52

7. Send Bulk SMS

Consent_Template_Id can be given as null, if not applicable/ available.

Request Format For Send Bulk Message

Link POST base_url/api/Send_SMS_Bulk

Key Value

Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd139
Authorization
4hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/xml

Accept application/xml

<Send_SMS_Bulk_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API
.Models">

<Consent_Template_Id>******************</Consent_Template_Id>
<Content_Template_Id>************</Content_Template_Id>
<Entity_Id>#############</Entity_Id>
<Header>######</Header>
<Is_Flash>0/1</Is_Flash>
<Is_Unicode>0/1</Is_Unicode>
Body
<Message_Type>PML/SE/SI/TXN</Message_Type>
<Targets
xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arr
ays">
<d2p1:string>9XXXXXXXXX</d2p1:string>
<d2p1:string>8XXXXXXXXX</d2p1:string>
</Targets>
<Template_Keys_and_Values>
<Template_Data>
<Key>KEY 1</Key>
<Value>Value for KEY 1</Value>
53

</Template_Data>
<Template_Data>
<Key>KEY 2</Key>
<Value>Value for KEY 2</Value>
</Template_Data>
</Template_Keys_and_Values>
</Send_SMS_Bulk_Request>

Response

<Send_SMS_Bulk
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Models">
Body
<Ending_Message_Id>sample string 3</Ending_Message_Id>
<Error>sample string 1</Error>
<Starting_Message_Id>sample string 2</Starting_Message_Id>
</Send_SMS_Bulk>

The Is_Unicode, Is_Flash and Message_Type are the same as the Send_SMS operation.
54

8. Send Individualized Bulk SMS


Consent_Template_Id can be given as null, if not applicable/ available.

Request Format For Send Individualized Bulk Message

Link POST base_url/api/Send_SMS_Bulk_Individual

Key Value

Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd139
Authorization
4hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/xml

Accept application/xml

<Send_SMS_Bulk_Individual_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API
.Models">
<Consent_Template_Id>************</Consent_Template_Id>
<Content_Template_Id>************</Content_Template_Id>
<Entity_Id>**********************</Entity_Id>
<Header>######</Header>
<Is_Flash>0/1</Is_Flash>
<Is_Unicode>0/1</Is_Unicode>
<Message_Type>PML/SE/SI/TXN</Message_Type>
Body
<Targets_and_Messages>
<Template_Data_and_Target>
<Target>9XXXXXXXXX</Target>
<Template_Keys_and_Values>
<Template_Data>
<Key>KEY 1</Key>
<Value>Value for KEY 1</Value>
</Template_Data>
<Template_Data>
<Key>KEY 2</Key>
<Value>Value for KEY 2</Value>
55

</Template_Data>
</Template_Keys_and_Values>
</Template_Data_and_Target>
<Template_Data_and_Target>
<Target>7XXXXXXXXX</Target>
<Template_Keys_and_Values>
<Template_Data>
<Key>KEY 1</Key>
<Value>Value for KEY 1</Value>
</Template_Data>
<Template_Data>
<Key>KEY 2</Key>
<Value>Value for KEY 2</Value>
</Template_Data>
</Template_Keys_and_Values>
</Template_Data_and_Target>
</Targets_and_Messages>
</Send_SMS_Bulk_Individual_Request>

Response

<Send_SMS_Bulk_Individual
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Models">
Body
<Ending_Message_Id>sample string 3</Ending_Message_Id>
<Error>sample string 1</Error>
<Starting_Message_Id>sample string 2</Starting_Message_Id>
</Send_SMS_Bulk_Individual>
56

9. Push Message

Request Format For Push Message

POST base_url/api/Push_Message
Link

Key Value

Authorization Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/xml

Accept application/xml

<Push_Message_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API
.Models">
<Content_Template_Id>xxxxxxxxxx</Content_Template_Id>
<Entity_Id>xxxxxxxxx</Entity_Id>
Body <Header>xxxxx</Header>
<Is_Flash>0/1</Is_Flash>
<Is_Unicode>0/1</Is_Unicode>
<Message>xxxxxxxxx.</Message>
<Message_Type>SI/SE/TXN/PML</Message_Type>
<Target>xxxxxxxxxx</Target>
</Push_Message_Request>
57

Response

Body <Push_Message
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Models">
<Error i:nil="true" />
<Message_Id>xxxxxxxxxxx</Message_Id>
</Push_Message>
58

10.Push Multiple Messages

Request Format For Reset Push Multiple Messages

Link POST base_url/api/Push_Multiple_Messages

Key Value

Authorization Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/xml

Accept application/xml

<Push_Multiple_Messages_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API
.Models">
<Entity_Id>xxxxxxxxxxxxx</Entity_Id>
<Is_Flash>0/1</Is_Flash>
<Targets_Headers_Templates_And_Messages>
<Target_Header_Template_And_Message>
<Content_Template_Id>xxxxxxxxxxxxx</Content_Template_Id>
<Header>xxxxxxxxxxxxx</Header>
Body <Message>xxxxxxxxxxxxx</Message>
<Target>xxxxxxxxxxxxx</Target>
</Target_Header_Template_And_Message>
<Target_Header_Template_And_Message>
<Content_Template_Id>xxxxxxxxxxxxx</Content_Template_Id>
<Header>xxxxxxxxxxxxx</Header>
<Message>xxxxxxxxxxxxx</Message>
<Target>xxxxxxxxxxxxx</Target>
</Target_Header_Template_And_Message>
</Targets_Headers_Templates_And_Messages>
</Push_Multiple_Messages_Request>
59

Response

Body <Push_Multiple_Messages
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Models">
<Ending_Message_Id>xxxxxxxxxx</Ending_Message_Id>
<Error i:nil="true" />
<Starting_Message_Id>xxxxxxxxxx</Starting_Message_Id>
</Push_Multiple_Messages>
60

11.Schedule SMS

Consent_Template_Id can be given as null, if not applicable/ available.

Date Time Format of schedule time is DD-MM-YYYY hh:mm:ss

To schedule a message for the current time, leave Schedule_Time as NULL.

Request Format For Send Individualized Bulk Message

Link POST base_url/api/Schedule_SMS

Key Value

Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd139
Authorization
4hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/xml

Accept application/xml

<Schedule_SMS_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API
.Models">
<Consent_Template_Id>XXXXXXXXXXXXXXX</Consent_Template_Id>
<Content_Template_Id>XXXXXXXXXXXXXXX</Content_Template_Id>
<Entity_Id>XXXXXXXXXXXXXXXXXXX</Entity_Id>
<Header>XXXXXX</Header>
<Is_Flash>0/1</Is_Flash>
Body <Is_Unicode>0/1</Is_Unicode>
<Message_Type>PML/SE/SI/TXN</Message_Type>
<Scheduled_Time>DD-MM-YYYY hh:mm:ss</Scheduled_Time>
<Target>9XXXXXXXXX</Target>
<Template_Keys_and_Values>
<Template_Data>
<Key>Key 1</Key>
<Value>Value for Key 1</Value>
</Template_Data>
<Template_Data>
61

<Key>Key 2</Key>
<Value>Value for Key 2</Value>
</Template_Data>
</Template_Keys_and_Values>
</Schedule_SMS_Request>

Response

<Schedule_SMS
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Body Models">
<Error>sample string 1</Error>
<Message_Id>sample string 2</Message_Id>
</Schedule_SMS>
62

12.Cancel Scheduled SMS

Users can cancel a scheduled SMS half an hour before the scheduled time for the
transaction.

Request Format For Cancel Scheduled SMS

Link POST base_url/api/Cancel_Schedule

Key Value

Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1OD
Authorization
kwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/xml

Accept application/xml

<Cancel_SMS_Schedule_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Body
Models">
<Message_Id>XXXXXXXX</Message_Id>
</Cancel_SMS_Schedule_Request>

Response

<Cancel_SMS_Schedule
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Body Models">
<Error>sample string 1</Error>
<Success>sample string 2</Success>
</Cancel_SMS_Schedule>
63

13.Message Status Report

Status of SMS sent can be checked by supplying the message-id.

Request Format For Search Messages with Target Number

Link POST base_URL/api/Message_Status_Report

Key Value

Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
Authorization
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/xml

Accept application/xml

<Message_Status_Report_Request
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Body
Models">
<Message_id>sample string 1</Message_id>
</Message_Status_Report_Request>
64

Response

<Message_Status_Report
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Models">
<Carrier_Accept_Time>DD-MM-YYYY
hh:mm:ss</Carrier_Accept_Time>
<Closed_Time>DD-MM-YYYY hh:mm:ss</Closed_Time>
<Consent_Template_Id>XXXXXXXXXXXX</Consent_Template_Id>
<Content_Template_Id>XXXXXXXXXXXX</Content_Template_Id>
<Content_Template_Keys_And_Values>
<Content_Template_Keys_And_Values>
<Key>Key 1</Key>
<Value>Value for Key 1</Value>
</Content_Template_Keys_And_Values>
<Content_Template_Keys_And_Values>
<Key>Key 2</Key>
<Value>Value for Key 2</Value>
</Content_Template_Keys_And_Values>
</Content_Template_Keys_And_Values>
<Create_Time>DD-MM-YYYY hh:mm:ss</Create_Time>
Body
<DLR_Error_Code>null</DLR_Error_Code>
<Delivery_Failure_Time>DD-MM-YYYY
hh:mm:ss</Delivery_Failure_Time>
<Delivery_Success_Time>DD-MM-YYYY
hh:mm:ss</Delivery_Success_Time>
<Entity_Id>XXXXXXXXXXX</Entity_Id>
<Error>null</Error>
<Flash>0/1</Flash>
<Header>XXXXXX</Header>
<Message>Sample Template Message</Message>
<Message_Category>Text/Unicode</Message_Category>
<Message_Id>XXXXXXXXXXXXXX</Message_Id>
<Message_Status>0/1/2/3/4/5/6/7</Message_Status>
<Message_Status_Description>Sample Delivered
</Message_Status_Description>
<Message_Type>PML/SE/SI/TXN</Message_Type>
<Process_Status>0/1/2</Process_Status>
<Process_Status_Description>Closed</Process_Status_Description>
<Queue_Insert_Time>DD-MM-YYYY hh:mm:ss</Queue_Insert_Time>
<Receiver>9XXXXXXXXX</Receiver>
65

<SMSC_Reject_Time>DD-MM-YYYY hh:mm:ss</SMSC_Reject_Time>
<SMSC_Submit_Time>DD-MM-YYYY hh:mm:ss</SMSC_Submit_Time>
<SMS_Count>XX</SMS_Count>
</Message_Status_Report>
66

Value Descriptions

Name Value Description

0 Text Message

Message Category
1 Unicode Message (Malayalam / Hindi etc..)

0 Normal SMS
Is_Flash
1 Flash SMS

0 Message Created

1 Message Input Error

2 Message Inserted in Queue

3 Message Submitted to SMSC


Message_Status
4 Message Rejected by SMSC

5 Message Accepted by Carrier

6 Message Delivery Failed

7 Message Delivered

0 Open

Process_Status 1 Closed

2 Error

Error code as received from DLT scrubbing


DLR Error Code 600-671
system.
67

14.Get Account Balance

Request Format For Get Account Balance

Link POST base_url/api/Get_SMS_Count

Key Value

Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxd1394
Authorization
hfpbjo1ODkwIiwiYXVkIjoiMTAwMSJ9.lmvxsM13bkj8
Headers
Content-Type application/xml

Accept application/xml

Body
68

Response

<SMS_Balance
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Bulk_Push_SMS_API.
Models">
<Error>null</Error>
<Recharge_Details>
<Recharge_Details>
<Balance_Expiry_Time>DD-MM-YYYY hh:mm:ss</Balance_Expiry_Time>
<Balance_Updated_Time>sample string
6</Balance_Updated_Time>
<Plan_Id>Plan ID 1</Plan_Id>
<Recharge_Id>1XXXXXX</Recharge_Id>
<Recharge_Time>DD-MM-YYYY hh:mm:ss</Recharge_Time>
Body <SMS_Balance_Count>XXXXX</SMS_Balance_Count>
</Recharge_Details>
<Recharge_Details>
<Balance_Expiry_Time>DD-MM-YYYY
hh:mm:ss</Balance_Expiry_Time>
<Balance_Updated_Time>sample string
6</Balance_Updated_Time>
<Plan_Id>Plan ID 2</Plan_Id>
<Recharge_Id>1XXXX</Recharge_Id>
<Recharge_Time>DD-MM-YYYY hh:mm:ss</Recharge_Time>
<SMS_Balance_Count>XXXXX</SMS_Balance_Count>
</Recharge_Details>
</Recharge_Details>
</SMS_Balance>
69

DLT Platform Scrubbing - Error Codes Descriptions

Error
Error Status Error Description
Code

0 SUCCESS No Error

600 ENTITY_NOT_FOUND No record found with EID as primary key

601 ENTITY_NOT_REGISTERED No entry of entity on the platform

602 ENTITY_INACTIVE Entity is Inactive on the platform

603 ENTITY_BLACKLISTED Entity is blacklisted on all platforms

Received wrong entity id format or no


604 INVALID_ENTITY_ID
entity id tag.

605 ENTITY_RESERVED Reserved

606 ENTITY_RESERVED Reserved

607 ENTITY_RESERVED Reserved

608 ENTITY_RESERVED Reserved

609 ENTITY_RESERVED Reserved

610 TELEMARKETER_NOT_REGISTERED No entry of TelemarketerID on the platform

611 TELEMARKETER_INACTIVE Telemarketer is Inactive on the platform

612 TELEMARKETER_BLACKLISTED Telemarketer is blacklisted on all platforms

613 TELEMARKETER_RESERVED Reserved for Telemarketer

614 TELEMARKETER_RESERVED Reserved for Telemarketer

615 TELEMARKETER_RESERVED Reserved for Telemarketer


70

616 TELEMARKETER_RESERVED Reserved for Telemarketer

617 TELEMARKETER_RESERVED Reserved for Telemarketer

618 TELEMARKETER_RESERVED Reserved for Telemarketer

619 TELEMARKETER_RESERVED Reserved for Telemarketer

No record found with header (case


620 HEADER_NOT_FOUND
sensitive) as primary key

621 HEADER_INACTIVE Header is inactive on the platform

622 HEADER_BLACKLISTED Header is blacklisted on all platforms

PEID_NOT_MATCHED_WITH_HEADE Principal Entity Id not matched with Header


623
R Id

624 HEADER_RESERVED Reserved for Header

625 HEADER_RESERVED Reserved for Header

626 HEADER_RESERVED Reserved for Header

627 HEADER_RESERVED Reserved for Header

628 HEADER_RESERVED Reserved for Header

629 HEADER_RESERVED Reserved for Header

No record found with Template Id as


630 TEMPLATE_NOT_FOUND
primary key/No template found

631 TEMPLATE_INACTIVE Template is inactive on the platform

632 TEMPLATE_BLACKLISTED Template is blacklisted on all platforms

Template not matched for the given


633 TEMPLATE_NOT_MATCHED
Template Id

HEADER_NOT_REGISTERED_FOR_TE
634 Header is not registered for the template
MPLATE
71

TEMPLATE_VARIABLE_EXCEEDED_ Variable length exceeded the max


635
MAX_LENGTH configured length

636 ERROR_IDENTIFYING_TEMPLATE Error in identifying the Template

Received wrong Template id format or no


637 INVALID_TEMPLATE_ID
Template tag

638 TEMPLATE_RESERVED Reserved for Template

639 TEMPLATE_RESERVED Reserved for Template

640 TEMPLATE_RESERVED Reserved for Template

641 TEMPLATE_RESERVED Reserved for Template

642 TEMPLATE_RESERVED Reserved for Template

643 TEMPLATE_RESERVED Reserved for Template

644 TEMPLATE_RESERVED Reserved for Template

645 TEMPLATE_RESERVED Reserved for Template

646 TEMPLATE_RESERVED Reserved for Template

647 TEMPLATE_RESERVED Reserved for Template

648 TEMPLATE_RESERVED Reserved for Template

649 TEMPLATE_RESERVED Reserved for Template

Blocked in preferences with MSISDN as


650 PREFERENCE_NOT_MATCHED
Primary Key

651 PREFERENCE_RESERVED Reserved for Preference

659 PREFERENCE_RESERVED Reserved for Preference

660 CONSENT_FAILED General error code for Consent

661 CONSENT_RESERVED Reserved for Consent

662 CONSENT_RESERVED Reserved for Consent


72

663 CONSENT_RESERVED Reserved for Consent

664 CONSENT_RESERVED Reserved for Consent

665 CONSENT_RESERVED Reserved for Consent

666 CONSENT_RESERVED Reserved for Consent

667 CONSENT_RESERVED Reserved for Consent

668 CONSENT_RESERVED Reserved for Consent

669 CONSENT_RESERVED Reserved for Consent

General error code in case of any


670 SCRUBBING_FAILED
exceptions

671 SCRUBBING_RESERVED Reserved for Scrubbing

You might also like