You are on page 1of 59

Service Delivery Platform

Interface Specification Content Providers Platforms

Interface Specifications CP-VAS Platforms

Contents
1 2 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.3 2.4 2.5 2.6 3 3.1 3.2 3.2.1 3.2.2 3.3 3.4 3.5 3.6 3.7 4 4.1 4.2 5 5.1 5.2 6 6.1 6.2 7 7.1 7.1.1 Introduction ................................ ................................ ................................ ................................ 4 Text SMS based integration ................................ ................................ ................................ ....... 5 Text Content Delivery Flow ................................ ................................ ................................ ....... 5 Content delivery for the message send by customer ................................ ................................ .... 5 Content is not available for the message send by customer ................................ .......................... 6 Invalid message send by customer ................................ ................................ ............................. 6 CP Application down ................................ ................................ ................................ ................ 6 Delivery Report................................ ................................ ................................ ......................... 6 TriggerDelivery ................................ ................................ ................................ ......................... 6 sendSMS ................................ ................................ ................................ ................................ .9 notifySMSDeliveryReceipt ................................ ................................ ................................ ...... 12 getIMEI ................................ ................................ ................................ ................................ .. 13 Binary SMS based integration ................................ ................................ ................................ . 15 Binary Content delivery for message send by customer ................................ .......................... 15 Binary Content is not available for message send by customer ................................ ............... 15 Invalid message send by customer ................................ ................................ ........................... 15 CP Application down ................................ ................................ ................................ .............. 15 Delivery Report................................ ................................ ................................ ....................... 15 TriggerDelivery ................................ ................................ ................................ ....................... 15 sendBinarySMS ................................ ................................ ................................ ...................... 16 notifySMSDeliveryReceipt ................................ ................................ ................................ ...... 19 getIMEI ................................ ................................ ................................ ................................ .. 19 Subscription based integration ................................ ................................ ............................... 20 NotifySubscription ................................ ................................ ................................ .................. 20 sendSMS ................................ ................................ ................................ ............................... 27 CP WAP Portal integration ................................ ................................ ................................ ....... 32 chargeAmount ................................ ................................ ................................ ........................ 32 refundAmount ................................ ................................ ................................ ......................... 37 Content Delivery via WAP PUSH UR L ................................ ................................ ..................... 40 chargeAmount ................................ ................................ ................................ ........................ 40 refundAmount ................................ ................................ ................................ ......................... 40 SMS to MMS integration ................................ ................................ ................................ .......... 40 MMS Content Delivery F low ................................ ................................ ................................ ... 40 Content delivery for the message send by customer ................................ ................................ .. 40

Confidential

Page 2 of 59

Interface Specifications CP-VAS Platforms


7.1.2 7.1.3 7.1.4 7.2 7.3 7.4 8 9 9.1 9.2 9.3 9.4 10 Content is not available for the message send by customer ................................ ........................ 41 Invalid message send by customer ................................ ................................ ........................... 41 CP Application down ................................ ................................ ................................ .............. 41 Delivery Report................................ ................................ ................................ ....................... 41 Trigger Delivery ................................ ................................ ................................ ...................... 41 sendMessage ................................ ................................ ................................ ......................... 42 MO MMS Integration ................................ ................................ ................................ ................. 45 Appendix ................................ ................................ ................................ ................................ .. 47 Uninor MSISDN series and circle name ................................ ................................ .................. 47 MCC and MNC code ................................ ................................ ................................ .............. 53 Off-deck Content Pricing ................................ ................................ ................................ ......... 53 List of Charge Codes ................................ ................................ ................................ .............. 54 Frequently Asked Questions ................................ ................................ ................................ ... 55 10.1 10.2 10.3 10.4 10.5 Trigger Delivery (MO) and SendSMS API (MT) ................................ ................................ ..... 55 Send Binary SMS API................................ ................................ ................................ ........... 57 Tunnel Parameters in SendSMS and SendBinary SMS ................................ ......................... 57 Charge Amount and WAP ................................ ................................ ................................ ..... 58 Subscription and Notify Subscription ................................ ................................ ..................... 59

Confidential

Page 3 of 59

Interface Specifications CP-VAS Platforms

1 Introduction
This document describes the Interface specifications of SDP for External Content Partners. It is intended as a guide for implementation team of content partner to develop and deploy the interface. It covers the Integration technicalities involved in Charging and Delivering the content to the end user over SMS P2A, Subscription and WAP. Our Integration Process works on the following key aspects: Single point centralized integration with SDP over web services (http based) for c harging as well as delivery Single billing methodology Billing is done at time of SMS / WAP delivery to the users handset. Thus MT Based billing is offered to the customer Subscription services are centrally managed at SDP. Entire Charging, renewal, SMS Notification is taken care at SDP end. Only the SMS scheduling is handled at Content Partners end.

Few Benefits of this approach is as follows: No need to maintain multiple connections and interfaces Flexibility in charging specially for the SMS (differential charging possible on same short-code) One-time integration, resulting in faster implementation of business requirements

Confidential

Page 4 of 59

Interface Specifications CP-VAS Platforms

2 Text SMS based integration


Below is a graphical representation for SMS Pull based Service. The diagram explains the step by step control flow for P2A request from users handset and how the SMS delivery is made back to it.

2.1 Text Content Delivery Flow


On receiving text based request from SDP through Trigger Delivery API, following activities should be performed by content partner: 2.1.1 Content delivery for the message send by customer

If request is valid and the CP has content, CP should call SendSMS API to send the text content to the user. Charging Info and DeliveryReceipt is embedded in SendSMS API in such case. In case of SendSMS failure, CP checks for error description in response body returned by SDP.

Confidential

Page 5 of 59

Interface Specifications CP-VAS Platforms


i. If error description contains Service error, CP will send a failure message as Sorry! We are unable to process your request at this moment. Please try again after some time. Thank You. using sendSMS API without charging info and DeliveryReceipt

2.1.2

Content is not available for the message send by customer

If request is valid and CP does not have content for such keyword, CP will send failure message as Sorry! We are unable to process your request at this moment. Please try again after some time. Thank You to the customer by calling SendSMS API. In this case, SendSMS API will not have charging Info and DeliveryReceipt embedded in it.

2.1.3

Invalid message send by customer

If the value of input parameter ContentID of trigger delivery URL is invalid in request, CP will return response code 200 to SDP and sends a help message Invalid keyword, Please enter correct keyword to the customer without charging Info and DeliveryReceipt. 2.1.4 CP Application down If CP returns error code 101 to SDP due to his service failure in the response of Trigger Delivery call, SDP sends a service message like Sorry! We are unable to process your request at this moment. Please try again after some time. Thank You to the subscriber

2.2 Delivery Report


If the content provider receives a delivery notification as DeliveryImpossible from SDP, It means the SMSC is not able to deliver this content to end user, and then CP will not perform any action. Refund activity will be performed by the SDP. All such transactions with DeliveryImpossible will be deducted from the total transactions for the purpose of reconciliation.

2.3 TriggerDelivery
Description: This API is invoked by SDP to trigger delivery of a content reques ted by customer (pull based delivery). Upon receiving this trigger, CP validates the request and sends response code in HTTP response. If request is valid then CP send text content via sendSMS API. The base URL of this API is expected to be provided by External CP which hosts the content and controls the delivery. Detail of the API specs. HTTP Method: Get URI: https://<cphost>:<port>/Resource?ShortCode=xxx&Keyword=&sI d=XYZ&TransactionID=ttt& ContentID=ABC&imei=1234

Example URL: Customer (9059134436) sends: PNR 67636235353 to short code 44444, SDP calls below

Confidential

Page 6 of 59

Interface Specifications CP-VAS Platforms


CP url: https://<cphost>:<port>/Resource?ShortCode=tel:44444&Keyword=&sId=tel:9059134436&TransactionID=121 212121212&ContentID=PNR 67636235353
Note: CP will ignore the parameters (Keywords) of above API

Consumer : Service Delivery Platform Request body: NONE Request headers: NONE Content Type : Text/HTML Response Body: Contains one of the below response code. Response codes: o o o o 200 Ok 101 Operation Failed 250 Invalid Parameter 223 Invalid Short Code

Note: Content Partner should return above response code (Integer value) in Http response body Input Data Short Code Data Type String Mandatory Mandatory Description Short Code to which Customer has send request to pull the content. Short code will be prefix with tel: e.g. tel:44444 Keyword String Conditional The value of this filed shall be blank. Not required for off deck partners. Message sends by the Customer to pull the content. E.G. PNR 67636235353 TransactionID String Mandatory Unique ID that can be used to corelates CDR/EDR in SDP with that same generated in External CP as a result of this delivery. The same ID is expected to be returned by the CP at the time of content delivery and/or charging through SDP. E.g. 121212121212

ContentID

String

Mandatory

Confidential

Page 7 of 59

Interface Specifications CP-VAS Platforms


sId String Mandatory 10 digits MSISDN of the Subscriber requesting the content/service. 10 Digits MSISDN will be prefix with tel: e.g. tel:9059134436 imei Number Optional IMEI value of the handset. This field helps the Content partners to determine the users handset. Description The error code or success code for the Request.

Output Data Response code

Data Type Int

Mandatory Mandatory

Confidential

Page 8 of 59

Interface Specifications CP-VAS Platforms

2.4 sendSMS
Description: Request to send a text message to a destination address Note: SDP will share sample code for this API Detail of the API specs. HTTP Method: Post URI: https://host:port/rest/sms/messages Consumer : External Content Provider Request Content Type: multipart/form-data Response Content Type: application/json Request headers: HTTP Basic Credentials

base64 [4] encoding of <application id> : <application instance password> Response Header: Contains one of the below response codes. o o 2xx OK 5xx internal server error

Response Body: Contains one of the below error code. Error Codes: o o SVC0001 Service error PLG-000004 Matching plug-in cannot be found because, for example, route has not been set up SMS-000001 Unable to perform action. Network error SMS-000005 GSM message format incorrect SVC0002 Invalid input value SVC0004 No valid addresses

o o o o

Confidential

Page 9 of 59

Interface Specifications CP-VAS Platforms

Input Data addresses

Data Type URI[]

Mandatory Mandatory

Description Destination address for the Message send by SDP in sId field of trigger delivery. Example: tel:9059011453 Text content to be sent by CP Short-code of the sender of SMS. It accepts value with prefix tel: or without prefix. E.g. : tel:44444 Charging to apply to this message.

message senderName Charging ChargingInformati on: Description Currency Amount

String String ChargingInf ormation

Mandatory Optional Optional

String String BigDecimal

Mandatory Optional Optional

Code

String

Optional

receiptRequest SimpleReference: Endpoint

SimpleRefe rence URI

Optional

additional information about the charge: Example: charging for text content Currency identifier as defined in ISO 4217 [9] Example INR Amount to be charged Example: 3.0 Refer Section List of Charge Codes 9.4 Charging code, Example: code3 Refer Section List of Charge Codes 9.4 This information is used for Delivery Report.

Mandatory

Endpoint address <CP URL> to get SMS Delivery Report if message not delivered to customer: Example:https://CP_URL/SMSDelivery Name of interface notifySmsDeliveryReceipt Correlation information. Use same value as transaction ID.

interfaceName Correlator

String String

Mandatory Mandatory

Confidential

Page 10 of 59

Interface Specifications CP-VAS Platforms

Tunnel Parameters transactionId String serviceId String

Mandatory Mandatory

origContentOw nerId contentId

String

Mandatory

String

Mandatory

contentType

String

Mandatory

cpID senderMSISDN

String String

Mandatory Mandatory

PPL_FLAG contentName

String String

Mandatory Mandatory

channelType isRated
isLowBalMsgR equired

String String String

Mandatory Mandatory Mandatory Data Type String

Use same Transaction Id send by SDP in trigger delivery URL. Maximum Length can be 20 There should be unique service ID for each keyword. Service ID should be same for subscription and on demand keywords if keywords are of same category CP can set a default value as A. Original content owner id in case content is owned by some other Content Provider. E.g. T-Series Maximum Length can be 10 Content id if available as part of meta data CP can set a default value as A. Maximum Length can be 50 Content type: Text Premium SMS (If SMS is charged more than Rs 3 ) Unique identifier of content provider. SDP shares CPID value. Short code or Long code of CP without any prefix. Example: 44444. Maximum Length can be 10 If CP has copy right of the content then value will be TRUE else FALSE The possible values are TRUE/FALSE Name of the content Maximum Length can be 200 CP can set a default value as A. CP should set a default value as SMS. CP will send this value as No CP will put the value as True Description The request status and identifier.

Output Data Result

Mandatory Mandatory

Note: SDP does not support any Special character in the Tunnel Parameters as these values are used for CDR generation. The Content Partner must note that any character like Pipe (|) comma (,) semicolon (;) and colon (:) is not passed in the parameter value.

Confidential

Page 11 of 59

Interface Specifications CP-VAS Platforms JSON Sample Structure


Request Header: base64 [4] encoding of <application id> : <application instance password> -X-ParamKeys=transactionId,serviceId,origContentOwnerId,contentId,contentType,senderMSISDN,contentName,channe lType,isRated, PPL_FLAG,cpID,isLowBalMsgRequired -X-Param-Values=< transactionId>,<serviceId>,<Original Content Owner Id>, < contentId >, < contentType >,< senderMSISDN >,< contentName >,< channelType >,< isRated>, <PPL_FLAG>,<cpID>,<isLowBalMsgRequired> Request Body: { "addresses": ["URI"],<The recipient(s)> Message:String,<text to be sent as message> "charging": {<This entire attribute is optional> "description": "String",<Text to be used for information and billing> "amount": "BigDecimal",<The amount to be charged> "code": "String",<A charging code, from an existing contractual description> "currency": "String"<A currency identifier as defined in ISO 4217 [9]> }, "receiptRequest": {<This entire attribute is optional> "correlator" "String",<A correlator used to connect the receipt to the initial message> "endpoint": "URI",<The endpoint address to which the receipt should be delivered> "interfaceName": "String"<Descriptive only, a string to identify the type of receipt> }, senderName:String,<Name of the sender> } Response Header: key= Location value = host:port/rest/sms/delivery-status/${result} ${result}: The request identifier returned in the body The URI of the pub/sub server Response Body: {"result": "String"} The request identifier, a string used to identify the request for later correlation Error Response: [Serivce Exceptions/Policy Exceptions] Service Exception {"error":{ "type":"org.csapi.schema.parlayx.common.v3_1.ServiceException" "message":"String" }} Policy {"error" :{ "type" :"org.csapi.schema.parlayx.common.v3_1.PolicyException" "message" :"String" }}

2.5 notifySMSDeliveryReceipt
Description: This API is invoked by SDP to deliver the SMS delivery Report to content partner only if content was not delivered to customers HS. Detail of the API specs. HTTP Method: URI: https://CP_URL/SMSDelivery?Correlator=&DeliveryStatus= &Address=

Example:

Confidential

Page 12 of 59

Interface Specifications CP-VAS Platforms


https://CP_URL/SMSDelivery?Correlator=1593307636&DeliveryStatus=DeliveryImposible&Address=tel:9058111150

Consumer : Service Delivery Platform Request Content Type: Request headers: HTTP Basic Credentials

base64 [4] encoding of <application id> : <application instance password> Response Codes: Data Type String Mandatory Mandatory Description This correlator was provided by the application in sendSMS/sendBinary API call MSISDN of the Subscriber requesting the content/service. It lists the variations on the delivery status of the SMS to a terminal. Possible values are: o DeliveryImpossible

Input Data Correlator

deliveryStatus: Address String DeliveryStatus String

Mandatory Mandatory

2.6 getIMEI
Description: This API is used to get the IMEI number for a particular MSISDN

Detail of the API specs. Method: POST URI: https://host:port/rest/CustomDeviceManagement/CustomDeviceManagement/getIMEIByMSISDN Consumer : External Content Providers Request body: Contains the values for the input parameters mentioned below. Request headers: base64 [4] encoding of <application id> : <application instance password> Content Type : Text/XML Remote Method Name: getIMEI

Response Header: Contains one of the below response codes. o o 201 OK 500 Error

Confidential

Page 13 of 59

Interface Specifications CP-VAS Platforms


Response Body: Contains IMEI value in case of Success, or error description in case of Error. Error Codes o o 281- Invalid Identifier 282-IMEI not found.

Input Data msisdn maskflag Output Data Response code IMEI

Data Type String Boolean Data Type Int String

Mandatory Mandatory Optional Mandatory Mandatory Mandatory

Description MSISDN of Customer for which IMEI is requested Set to false if masked MSISDN is not used. Description The error code or success code for the Request. IMEI number of the corresponding MSISDN

JSON Sample Structure


Request Body: { "msisdn" : <MSISDN number of the user >, "maskflag" : <true, false > }

Confidential

Page 14 of 59

Interface Specifications CP-VAS Platforms

3 Binary SMS based integration


On receiving the user's request for Trigger Delivery for monotone, logo or picture message, following activities are performed by the CP to deliver the binary content.

3.1 Binary Content delivery for message send by customer


If request is valid and CP has content, CP calls SendBinarySMS API to send binary content. SendBinarySMS API will have charging Info and DeliveryReceipt embedded in it. In case of SendBinarySMS failure, CP will check error description in response body returned by SDP. For error description contains Service error, CP will send a failure message Sorry! We are unable to process your request at this moment. Please try again after some time. Thank You. using sendSMS API without charging info and DeliveryReceipt

3.2 Binary Content is not available for message send by customer


If request is valid and CP does not have content for such keyword, CP will send failure message Sorry! We are unable to process your request at this moment. Please try again after some time. Thank You . to customer by calling SendSMS API, but without charging Info and DeliveryReceipt embedded in it. 3.2.1 Invalid message send by customer If the value of input parameter ContentID of trigger delivery URL is invalid in request, CP will return response code 200 to SDP and sends a help message Invalid keyword, Please enter correct keyword to the customer without charging Info and DeliveryReceipt. 3.2.2 CP Application down If CP returns error code 101 to SDP due to his service failure in the response of Trigger Delivery call, SDP sends a service message like Sorry! We are unable to process your request at this moment. Please try again after some time. Thank You to the subscriber

3.3 Delivery Report


If the content provider receives a delivery notification as DeliveryImpossible from SDP, It means the SMSC is not able to deliver this content to end user, and then CP will not perform any action. Refund activity will be performed by the SDP.

3.4 TriggerDelivery
Please refer section 2.3

Confidential

Page 15 of 59

Interface Specifications CP-VAS Platforms

3.5 sendBinarySMS
Description: This API allows an application to send a binary SMS to customer. This API supports following binary contents: Operator Logos Picture messages Ringtones WAP Push URL (After sending this URL, refer section 5)

Note: SDP will share sample code for these API Detail of the API specs. HTTP Method: Post URI: http://host:port/rest/binary_sms/messages Consumer : External Content Provider Request Content Type: application/json Request headers: HTTP Basic Credentials

base64 [4] encoding of <application id> : <application instance password> Response Header: Contains one of the below response codes. o o 2xx OK 5xx internal server error

Response Body: Contains one of the below error code. Error Codes: o o o SVC0001 Service error SVC0002 Invalid input value PLG-000004 Matching plug-in cannot be found because, for example, route has not been set up SMS-000001 Unable to perform action. Network error SMS-000005 GSM message format incorrect SVC0004 No valid addresses

o o o

Confidential

Page 16 of 59

Interface Specifications CP-VAS Platforms

Input Data addresses

Data Type URI[]

Mandatory Mandatory

Description Destination address for the Message send by SDP in sId field of trigger delivery. Example: tel:9059011453 Binary message to be sent. Binary message comprises of base64 encoded message and UDH. An UDH value differs as content wise. Actual UDH values for binary contents shall provide in sample client code. CP will set default value as 4 Short code of sender. It accepts value with prefix tel: or without prefix. E.g. tel:44444 Validity period of message Protocol Id Charging to apply to this message.

binaryMessag e

BinaryMessag e []

Mandatory

Dcs senderName

Byte String

Mandatory Optional

validityPeriod protocolId Charging ChargingInfor mation: description Currency Amount Code

String Byte ChargingInfor mation

Optional Optional Optional

String String BigDecimal String

Mandatory Optional Optional Optional

receiptReque st SimpleRefere nce: Endpoint

SimpleReferen ce

Conditional

additional information about the charge: Example: charging for text content Currency identifier as defined in ISO 4217 [9] Example INR Amount to be charged Example: 3.0 Charging code, Example: code3 for Picture Message and Logo code7 for Ringtone This information is used for Delivery Report.

URI

Mandatory

Endpoint address <CP URL> to get SMS Delivery Report if message not delivered to customer: Example: http://CP_URL/SMSDelivery Name of interface notifySmsDeliveryReceipt Correlation information. Use same value as transaction ID.

interfaceNam e Correlator

String String

Mandatory Mandatory

Confidential

Page 17 of 59

Interface Specifications CP-VAS Platforms

Tunnel Parameters transactionId String serviceId String

Mandatory Mandatory

origContentOw nerId contentId

String

Mandatory

String

Mandatory

contentType

String

Mandatory

Same Transaction Id sent by SDP in trigger delivery URL. Maximum Length can be 20 There should be unique service ID for each keyword. Service ID should be same for subscription and on demand keywords if keywords are of same category CP can set a default value as A. Original content owner id in case content is owned by some other Content Provider Maximum Length can be 10 Content id of ringtone, logo and picture message CP can set a default value as A if content ID is not applicable Maximum Length can be 20 Content type:
PictureMsg for picture message Logo for operator logo Monotones for ringtone

CpID SenderMSISDN

String String

Mandatory Mandatory

PPL_FLAG contentName

String String

Mandatory Mandatory

channelType isRated
isLowBalMsgR equired

String String String

Mandatory Mandatory Mandatory Data Type String

Unique identifier of content provider. SDP shares CPID value. Short code or Long code of CP without any prefix. Example: 44444 Maximum Length can be 10 If CP has copy right of the content then value will be TRUE else FALSE The possible values are TRUE/FALSE Content Name of ringtone(e.g. Maa Tujhe Salaam) , logo (e.g. Om) and picture message (e.g. lovely eyes) Maximum Length can be 50 CP can set a default value as A if content ID is not applicable CP should set a default value as SMS. CP will send this value as No CP will put the value as True Description The request status and identifier.

Output Data Result

Mandatory Mandatory

Note: SDP does not support any Special character in the Tunnel Parameters as these values are used for CDR generation. The Content Partner must note that any character like Pipe (|) comma (,) semicolon (;) and colon (:) is not passed in the parameter value.

Confidential

Page 18 of 59

Interface Specifications CP-VAS Platforms

JSON Sample Structure

Request Header: base64 [4] encoding of <application instance id> : <application instance password> Request Body: { "addresses": ["URI"], "binaryMessage": [{ "message": "base64Binary", "udh": "base64Binary" }], "dcs": "Byte", "charging": { "description": "String", "amount": "BigDecimal", "code": "String", "currency": "String" }, "protocolId": "Byte", "receiptRequest": { "correlator": "String", "endpoint": "URI", "interfaceName": "String" }, "senderName": "String", "validityPeriod": "String" } Response Body: {"result": "String"} Error Response: [Serivce Exceptions/Policy Exceptions] Service Exception {"error":{ "type":"org.csapi.schema.parlayx.common.v3_1.ServiceException" "message":"String" }} Policy {"error":{ "type":"org.csapi.schema.parlayx.common.v3_1.PolicyException" "message":"String" }}

3.6 notifySMSDeliveryReceipt
Please refer section 2.5

3.7 getIMEI
Please refer section 2.6

Confidential

Page 19 of 59

Interface Specifications CP-VAS Platforms

4 Subscription based integration


Below is a graphical representation for SMS Subscription based service. The diagram explains the step by step control flow for Subscription request from a User and how it gets activated at SDP & CP end.

4.1 NotifySubscription
Description: This API is invoked by Subscription engine to notify external content partner about subscriptions/un-subscriptions/renewals to a product. This API is expected to be provided by External CP who would like to get notified about any subscription to the services offered by them. Detail of the API specs. HTTP Method: GET URI: https://<cphost>:<port>/<ResourceName>?ProductName=<ProductName>&ServiceName=<ServiceName>&SID =<MSISDN>&NotifyType=<Type>&AmountCharged=<0.0>&SubscriptionValidity=<4 >

Confidential

Page 20 of 59

Interface Specifications CP-VAS Platforms

Exaple URL: http://CP_IP:Port/NotifySubscription/charge?SID=9059134436&ServiceName=News&NotifyType=Subscribe &AmountCharged=30.0&ProductName=News01&SubscriptionValidity=30

Consumer : Service Delivery Platform Request body: Contains the values for the input parameters mentioned below. Request headers: base64 [4] encoding of any authentication parameters provided by Content Provider Content Type : Text/HTML Response Body: Contains one of the below response code. Response codes: o o o o o o 200 Ok 101 Operation Failed 219 Invalid product Name 220 Invalid Service Name 260 Unknown customer 250 Invalid Parameter

Note: Content Partner should return above response code (Integer value) in Http response body

Confidential

Page 21 of 59

Interface Specifications CP-VAS Platforms

Input Data ProductName

Data Type String

Mandatory Mandatory

Description Name of the Subscription Product to which Customer has subscribed/unsubscribed. Service offered by this CMS/External CP which is part of this Product. Service Name will be shared with CP when Service offered by CP is configured in SDP. 10 digits MSISDN. Indicates whether this notify is for subscription, un-subscription or renewal. Possible Values: o Subscribe. o Unsubscribe. o Renew o Validate o Grace o Parking o ChangeMSISDN

ServiceName

String

Mandatory

SID NotifyType

String String

Mandatory Mandatory

Confidential

Page 22 of 59

Interface Specifications CP-VAS Platforms Subscribe: Notify Type


Subscribe is used to Notify CP about any new Subscription. Following parameters shall be present for Subscribe Notify Type. URI :
http://<cphost>:<port>/<Resourc eName>?NotifyType=Subscribe& SID=<SID>&SubID=<SubID>&S erviceName=<ServiceName>&A mountCharged=<AmountCharge d>&ProductName=<ProductNam e>&SubscriptionValidity=<Subscr iptionValidity>&ExpiryDate=<dd mm-yy hh:mm AM/PM>&ExtTxId=<TransactionI D>&ChannelType=<ChannelTyp e>&

SID SubID ServiceName AmountCharged ProductName SubscriptionValidity ChannelType ExtTxId ExpiryDate ServiceAttribute

ServiceAttribute=<ServiceData>

Unsubscribe: Notify Type


Unsubscribe is used to Notify CP about unsubscription to an existing

Confidential

Page 23 of 59

Interface Specifications CP-VAS Platforms


Subscription. Following parameters shall be present for Unsubscribe Notify Type. SID SubID ServiceName ProductName Reason ChannelType

URI: http://<cphost>:<port>/<Resour ceName>?NotifyType=Unsubscri be&SID=<SID>&SubID=<SubID>& ServiceName=<ServiceName>&P roductName=<ProductName>&R eason=<UnsubscriptionReason>


& ChannelType=<ChannelType>

Renew: Notify Type Renew is


used to Notify CP about Renewal to an existing subscription. Following parameters shall be present for Renew Notify Type. SID SubID ServiceName AmountCharged ProductName SubscriptionValidity ExpiryDate

URI: http://<cphost>:<port>/<Resour ceName>?NotifyType=Renew&SI D=<SID>&SubID=<SubID>&Servic eName=<ServiceName>&Amoun tCharged=<AmountCharged>&Pr oductName=<ProductName>&Su bscriptionValidity=<Subscription Validity>&ExpiryDate=<dd-mmyy hh:mm AM/PM>

Confidential

Page 24 of 59

Interface Specifications CP-VAS Platforms

Grace: Notify Type Grace is


used to Notify CP about any subscription entering into GRACE state due to insufficient balance. This is applicable at the time of new subscription as well renewal. Subscribers continue to get service during this state. Following parameters shall be present for Grace Notify Type. SID SubID ServiceName ProductName ExpiryDate

URL: http://<cphost>:<port>/<Resour ceName>?NotifyType=Grace&SI D=<SID>&SubID=<SubID>&


ExpiryDate=<dd-mm-yy hh:mm AM/PM>& ServiceName=<Service

Name>&ProductName=<Product Name>

Confidential

Page 25 of 59

Interface Specifications CP-VAS Platforms Parking: Notify Type Parking


is used to Notify CP about any subscription entering into Parking state due to insufficient balance. This is applicable at the time of new subscription as well renewal. Subscribers do not get any service during this state. Following parameters shall be present for Parking Notify Type. SID SubID ServiceName ProductName ExpiryDate

URL: http://<cphost>:<port>/<Resour ceName>?NotifyType=Parking&S ID=<SID>&SubID=<SubID>&


ExpiryDate=<dd-mm-yy hh:mm AM/PM>& ServiceName=<Service

Name>&ProductName=<Product Name>

ChangeMSISDN - Notify Type


ChangeMSISDN is used to Notify CP about any change in MSISDN for a subscriber. Following parameters shall be present for ChangeMSISDN Notify Type. OldMSISDN NewMSISDN

Sample URI : http://<cphost>:<port>/<Resour ceName>?NotifyType=ChangeM SISDN&OldMSISDN=<oldMSISDN >&NewMSISDN=<newMSISDN>

Confidential

Page 26 of 59

Interface Specifications CP-VAS Platforms


Validate If Notify Type is Set to Validate, CP shall validate the provided Service attribute as per the product & service name in the Notification URL. Response code 200 is returned if Service attribute is valid and response code 250 is returned in case Service data is invalid. For Validating the service data, URL will be: http://CP_IP:Port/NotifySubscriptio n/charge?ServiceAttribute=<Servic eAttribute>&ServiceName=<Servic eName>&NotifyType=Validate&Pro ductName=<Product Name> Any additional attribute passed during subscription. E.g. SIGN in case of ASTRO products. Amount charged (in Rs) to the subscriber to Subscribe/Renew the subscription to the product. Applicable only if the NotifyType is Subscribe or Renew. No. of days for which subscription is valid. Applicable only if the Notify Type is Subscribe or Renew. Description The error code or success code for the Request.

Service Attribute

String

Optional

AmountCharged

Double

Conditional

SubscriptionValidity

Integer

Conditional

Output Data Response code

Data Type Int

Mandatory Mandatory

4.2 sendSMS
Description: Request to send a alert message to a subscribed user Note: SDP will share sample code for this API Detail of the API specs. HTTP Method: Post URI: https://host:port/rest/sms/messages

Confidential

Page 27 of 59

Interface Specifications CP-VAS Platforms


Consumer : External Content Provider Request Content Type: multipart/form-data Response Content Type: application/json Request headers: HTTP Basic Credentials

base64 [4] encoding of <application id> : <application instance password> Response Header: Contains one of the below response codes. o o 2xx OK 5xx internal server error

Response Body: Contains one of the below error code. Error Codes: o o o o o o SVC0001 Service error PLG-00004 - No Active node found SMS-000001 SMSC request timeout SMS-000005 - GSM message format incorrect SVC0002 Invalid input value SVC0004 No valid addresses Data Type Mandatory Description

Input Data

Confidential

Page 28 of 59

Interface Specifications CP-VAS Platforms


addresses URI[] Mandatory Destination address for the Message send by SDP in sId field of trigger delivery. Example: tel:9059011453 Text content to be sent by CP Name of the sender of SMS. It accepts value with prefix tel: or without prefix. E.g. tel:44444 Charging to apply to this message.

Message senderName

String String

Mandatory Optional

Charging ChargingInfor mation: description Currency Amount Code

ChargingInfor mation

Optional

String String BigDecimal String

Mandatory Optional Optional Optional

additional information about the charge: Example: 0 amount charging for alert content Currency identifier as defined in ISO 4217 [9] Example INR Amount to be charged Example: 0.0 Charging code Example: code0

Tunnel Parameters

Confidential

Page 29 of 59

Interface Specifications CP-VAS Platforms


transactionId serviceId String String Mandatory Mandatory Transaction Id send by SDP in trigger delivery URL. Maximum Length can be 20 There should be unique service ID for each keyword. Service ID should be same for subscription and on demand keywords if keywords are of same category. CP needs to set service name shared by SDP corresponding to each product CP can set a default value as A. Original content owner id in case content is owned by some other Content Provider Maximum Length can be 10 Content id. CP needs to set service name shared by SDP corresponding to each product Maximum Length can be 50 Content type: Text Unique identifier of content provider. SDP shares CPID value. Short code or Long code of CP without any prefix. Example: 44444. Maximum Length can be 10 If CP has copy right of the content then value will be TRUE else FALSE The possible values are TRUE/FALSE Content Name Maximum Length can be 200 CP can set a default value as A. Channel on which the request came for service delivery CP should set a default value as SMS. CP should set this value as No CP will put the value as True Description It is a correlation identifier that is used in a getMessageDeliveryStatus operation invocation, i.e. to poll for the delivery status of all of the sent Messages.

origContentO wnerId contentId

String

Mandatory

String

Mandatory

contentType cpID senderMSISD N PPL_FLAG contentName

String String String

Mandatory Mandatory Mandatory

String String

Mandatory Mandatory

channelType isRated
isLowBalMsg Required

String String String

Manadatory Mandatory Mandatory Data Type String

Output Data Result

Mandatory Mandatory

Note: SDP does not support any Special character in the Tunnel Parameters as these values are used for CDR generation. The Content Partner must note that any character like Pipe (|) comma (,) semicolon (;) and colon (:) is not passed in the parameter value.

Confidential

Page 30 of 59

Interface Specifications CP-VAS Platforms JSON Sample Structure


Request Header: base64 [4] encoding of <application id> : <application instance password> -X-ParamKeys=transactionId,serviceId,origContentOwnerId,contentId,contentType,senderMSISDN,contentName,channe lType,isRated, PPL_FLAG,cpID,isLowBalMsgRequired -X-Param-Values=< transactionId>,<serviceId>,<Original Content Owner Id>, < contentId >, < contentType >,< senderMSISDN >,< contentName >,< channelType >,< isRated>, <PPL_FLAG>,<cpID>,<isLowBalMsgRequired> Request Body: { "addresses": ["URI"],<The recipient(s)> Message:String,<text to be sent as message> "charging": {<This entire attribute is optional> "description": "String",<Text to be used for information and billing> "amount": "BigDecimal",<The amount to be charged> "code": "String",<A charging code, from an existing contractual description> "currency": "String"<A currency identifier as defined in ISO 4217 [9]> }, senderName:String,<Name of the sender> }

Confidential

Page 31 of 59

Interface Specifications CP-VAS Platforms

5 CP WAP Portal integration


When user select the content from CP WAP site and try to download the content then CP shall call SDP API chargeAmount. i. If CP gets error code is CRG002 Insufficient balance, CP will display an insufficient balance message to the customer Sorry! We are unable to process your request for <Product Name> at this moment as there is not sufficient balance in your account. Please recharge your account and Try again. Thank You. For error code SVC0001 or SVC0270, CP will display a failure message Sorry! We are unable to process your request at this moment. Please Try again after some time. Thank You. In case the billing gets successful and CP receives 204 as response, User should be able to download the content. If CP can identify download fails scenario, then CP will call REFUND API with same transaction ID
which was used in ChargeAmount API .

ii.

5.1 chargeAmount
Description: This operation results in directly charging to the account indicated by the end user identifier. The charge is specified as a Charging Information data structure, consisting of information on the amount to be charged and a description. The reference code contains extra parameters required by SDP. It is the calling application's responsibility to provide a unique transaction id (in reference code field, as described below) within the scope of the application. This transaction id should be unique for all charging requests Detail of the API specs. HTTP Method: Post URI: https://host:port/rest/payment/charge-amount Consumer : External Content Provider Request Content Type: application/json Request headers: HTTP Basic Credentials

base64 [4] encoding of <application id> : <application instance password> Response Codes: o o o o o SVC0001 Service error (Permanent error, Retry with same transaction ID) CRG002 Insufficient balance SVC0002 Invalid input value CRG0004: Duplicate transaction ID. Charging already done (No Retry from client application) CRG0003 Charging was successful with same transaction ID in earlier transaction. Treat as success response

Confidential

Page 32 of 59

Interface Specifications CP-VAS Platforms


o o o o SVC0007 Invalid charging information SVC0270 Charge failed. POL0001 Policy error [Fault related to policies associated with the service] SVC0004 - No Valid address [e.g. endUserIdentifier i.e. MSISDN or SID provided in this message is unknown)

Confidential

Page 33 of 59

Interface Specifications CP-VAS Platforms

Input Data endUserIdentifi er referenceCode

Data Type URI String

Mandatory Mandatory Mandatory

Description The end user's account to be charged. It will be the MSISDN (sId). Example:- tel:9059876763 This will be a key value pair containing below information namely transactionId , serviced, origContentOwnerId contented, contentType, senderMSISDN contentName , channelType, isRated PPL_Flag, cpID, eventType Unique Transaction Id to be generated by Content Providers Maximum Length can be 20 There should be defined service ID for each keyword. Service ID should be same for subscription and on demand keywords if keywords are of same category. CP can set a default value as A. Original content owner id in case content is owned by some other Content Provider Maximum Length can be 10 ID of the content. Maximum Length can be 50 Content type (wallpaper, Polytone, TrueTone, Coloredlogo, Games, Videos, MCard, Animation, Theme, MP3) Short code or Long code of CP. This field accepts only digits. No prefix is required. E.g. 44444 Maximum Length can be 10 Content Name of Polytone(e.g. Maa Tujhe Salaam) , wallpaper (e.g. Om), Games (e.g. Run for nation) etc. CP can set a default value as A if content ID is not applicable Maximum Length can be 200 Channel on which the request came for delivery. E.g : WAP CP will send this value as No PPL_FLAG indicator which indicates if the content Provider for the content is PPL or Non PPL Content Partners. This flag will be used for revenue settlement, If Revenue share rates are linked to PPL and Non PPL content. The possible values are TRUE/FALSE

transactionId serviceId

String String

Mandatory Mandatory

origContentOw nerId contentId contentType senderMSISDN

String

Optional

String String String

Mandatory Mandatory Mandatory

contentName

String

Mandatory

channelType isRated PPL_FLAG

String String String

Mandatory Mandatory Optional

cpID

String

Mandatory

Unique identifier of content provider. In case CP is not an aggregator/application provider by itself and there is a revenue share agreement with the aggregator/application provider with UWL then CP must send the CPID along with Aggregator / Application Provider ID as part of the CPID parameter delimited by a :. E.g. CPID:AGGRID

Confidential

Page 34 of 59

Interface Specifications CP-VAS Platforms

eventType

String

Optional

eventType indicates if the Charging event triggered is for Subscription purchase ( News Subscription, CRBT Subscription etc ) or service consumption ( e.g. Song Change, Content download etc). Possible Values: subscription consumption

If the charging is done for any subscription request, set this attribute to subscription. If the charging is done for any service consumption , set this attribute to consumption If this attribute is not provided in the Refcode, the it shall be considered as Consumption by default. Charge ChargingInfor mation: Description ChargingInfor mation Mandatory Information on the charge to be made. ChargingInformation structure is described below.

String

Mandatory

Currency Amount Code Output Data None

String BigDecimal String

Optional Optional Optional

Include the (SMS) text that needs to be send to the Subscriber upon successful charging. SDP appends charging information to the text provided by CP/VAS-P and sends an SMS to the subscriber. If no text is provided in this field, no SMS will be sending. Currency identifier as defined in ISO 4217 [9] Example: INR Amount to be charged Example: 7.0 Charging code. Example: code7 Data Type Mandatory Description None N/A N/A

Note: SDP does not support any Special character in the Tunnel Parameters as these values are used for CDR generation. The Content Partner must note that any character like Pipe (|) comma (,) semicolon (;) and colon (:) is not passed in the parameter value.
JSON Sample Structure

Request Body: { "charge": { "description": "String", <Text to be used for information > "amount": "BigDecimal", <The amount to be charged> "code": "String", <A charging code, from an existing contractual description> "currency": "String" <A currency identifier as defined in ISO 4217 [9]> },

Confidential

Page 35 of 59

Interface Specifications CP-VAS Platforms


"endUserIdentifier": "URI",<The address of the end-user to be charged> "referenceCode": transactionId:< Unique transaction id> ; serviceId:< Service identifier for the content sent>;origContentOwnerId:< Original content owner id>; contentId: <Content id>;contentType:<Content type>; senderMSISDN:<short code or long code of CP>; contentName:<content name>; channelType:<Channel which has made request>; isRated:<Yes or No> ;PPL_FLAG:<PPL_FLAG>;cpID:<CP Id>;eventType:<eventType> } Response Body: None Error Response: [Service Exceptions/Policy Exceptions] Service Exception {"error":{ "type":"org.csapi.schema.parlayx.common.v3_1.ServiceException" "message":"String" }} Policy {"error":{ "type":"org.csapi.schema.parlayx.common.v3_1.PolicyException" "message":"String" }}

Confidential

Page 36 of 59

Interface Specifications CP-VAS Platforms

5.2 refundAmount
Description: This operation results in directly applying a refund to the account indicated by the end user identifier. The refund is specified as a currency amount. The reference code to contain extra parameters required by SDP. The reference code contains transactionId field which is expected to be same which is passed in the chargeAmount API. Detail of the API specs. HTTP Method: Post URI: https://host:port/rest/payment/refund-amount Consumer : External Content Provider/VAS Platforms Request Content Type: application/json Request headers: HTTP Basic Credentials

base64 [4] encoding of <application id> : <application instance password> Response Header: Contains one of the below response codes. o o 2xx OK 5xx internal server error

Response Body: Contains one of the below error code. Error codes: errorcode: <One of the Error codes below> o o o o SVC004 Invalid Customer SVC0001 Service error (Permanent error, Retry with same transaction ID) CRG0004: Duplicate transaction ID. Refund already done (No Retry from client application) CRG0003 Refund was successful with same transaction ID in earlier transaction. Consider it as success response CRG0005 Refund invoked while charging was not done for the transaction ID SVC0002 Invalid input value SVC0007 Invalid charging information SVC0270 Refund failed. POL0001 Policy error [Faults related to policies associated with the service]

o o o o o

Confidential

Page 37 of 59

Interface Specifications CP-VAS Platforms

Input Data endUserIdent ifier referenceCod e

Data Type URI String

Mandatory Mandatory Mandatory

Description The end user's account to be charged. It will be the MSISDN (sId). Example:- tel:9059876763 This will be a key value pair containing below information namely transactionId , serviced, origContentOwnerId contented, contentType, senderMSISDN contentName , channelType, isRated PPL_Flag, cpID Same Transaction Id used in charge amount for such content. Maximum Length can be 20 There should be defined service ID for each keyword. Service ID should be same for subscription and on demand keywords if keywords are of same category. CP can set a default value as A. Original content owner id in case content is owned by some other Content Provider Maximum Length can be 10 ID of the content. Maximum Length can be 50 Content type (wallpaper, Polytone, TrueTone, Coloredlogo, Games, Videos, MCard, Animation, Theme, MP3) Short code or Long code of CP. This field accepts only digits. E.g. 44444 Maximum Length can be 10 Content Name of Polytone(e.g. Maa Tujhe Salaam) , wallpaper (e.g. Om), Games (e.g. Run for nation) etc. CP can set a default value as A if content ID is not applicable Maximum Length can be 200 Channel on which the request came for delivery. E.g : WAP CP will send this value as No PPL_FLAG indicator which indicates if the content Provider for the content is PPL or Non PPL Content Partners. This flag will be used for revenue settlement, If Revenue share rates are linked to PPL and Non PPL content. The possible values are TRUE/FALSE

transactionId serviceId

String String

Mandatory Mandatory

origContentO wnerId contentId contentType senderMSISD N contentName

String

Optional

String String String

Mandatory Mandatory Mandatory

String

Mandatory

channelType isRated PPL_FLAG

String String String

Mandatory Mandatory Optional

cpID

String

Mandatory

Unique identifier of content provider. In case CP is not an aggregator/application provider by itself and there is a revenue share agreement with the aggregator/application provider with UWL then CP must send the CPID along with Aggregator / Application Provider ID as part of the CPID parameter delimited by a :. E.g. CPID:AGGRID

Confidential

Page 38 of 59

Interface Specifications CP-VAS Platforms

Charge ChargingInfor mation: Description

ChargingInfor mation

Mandatory

Information on the charge to be made. ChargingInformation structure is described below.

String

Mandatory

Currency Amount Code Output Data None

String BigDecimal String

Optional Optional Optional

Include the (SMS) text that needs to be send to the Subscriber upon successful charging. SDP appends charging information to the text provided by CP/VAS-P and sends an SMS to the subscriber. If no text is provided in this field, no SMS will be sending. Currency identifier as defined in ISO 4217 [9] Example: INR Amount to be charged Example: 7.0 Charging code. Example: code7 Data Type Mandatory Description None N/A N/A

Note: SDP does not support any Special character in the Tunnel Parameters as these values are used for C DR generation. The Content Partner must note that any character like Pipe (|) comma (,) semicolon (;) and colon (:) is not passed in the parameter value.

JSON Sample Structure

Request Body: { "charge": { "description": "String", <Text to be used for information and billing> "amount": "BigDecimal", <The amount to be refunded> "code": "String", <A charging code, from an existing contractual description> "currency": "String" ,<A currency identifier as defined in ISO 4217 [9]> }, "endUserIdentifier": "URI",<The address of the end-user to be refunded to> "referenceCode": transactionId:< Unique transaction id> ; serviceId:< Service identifier for the content sent>;origContentOwnerId:< Original content owner id>; contentId: <Content id>;contentType:<Content type>; senderMSISDN:<short code or long code of CP>; contentName:<content name>; channelType:<Channel which has made request>; isRated:<Yes or No>;PPL_FLAG:<PPL_FLAG>;cpID:<CP Id> } Response Body: None Error Response: [Service Exceptions/Policy Exceptions] Service Exception {"error":{ "type":"org.csapi.schema.parlayx.common.v3_1.ServiceException" "message":"String" }} Policy {"error":{ "type":"org.csapi.schema.parlayx.common.v3_1.PolicyException" "message":"String" }}

Confidential

Page 39 of 59

Interface Specifications CP-VAS Platforms

6 Content Delivery via WAP PUSH URL


To deliver the content via WAP PUSH URL, SDP API SendBinarySMS without DeliveryReceipt and Charging Info will be invoked by CP for delivering the WAP link to the user. The user can browse the URL and try to download the content; CP will call ChargeAmount API to charge the subscriber when the User tries to buy the contents . If billing fails, then CP will check the error code returned in the response body for this API. i. If error code is CRG002 Insufficient balance, CP will send an insufficient balance message to the customer Sorry! We are unable to process your request for <Product Name> at this moment as there is not sufficient balance in your account. Please recharge your account and Try again. Thank You. without any Charging Info and DeliveryReceipt. For error code SVC0001 or SVC0270, CP will send a failure message Sorry! We are unable to process your request at this moment. Please Try again after some time. Thank You. to customer without Charging Info and DeliveryReceipt.

ii.

In case the billing gets successful and CP receives 204 as response, User should be able to download the content. If CP can identify download fails scenario, then CP will call REFUND API with same transaction ID which was used in ChargeAmount API.

6.1 chargeAmount
Please refer section 5.1

6.2 refundAmount
Please refer section 5.2

7 SMS to MMS integration


7.1 MMS Content Delivery Flow
On receiving text based request from SDP through Trigger Delivery API, following activities should be performed by content partner: 7.1.1 Content delivery for the message send by customer

If request is valid and the CP has content, CP should call SendMessage API to send the MMS content to the user. Charging Info and DeliveryReceipt is embedded in SendSMS API in such case. In case of SendSMS failure, CP checks for error description in response body returned by SDP.

Confidential

Page 40 of 59

Interface Specifications CP-VAS Platforms


ii. If error description contains Service error, CP will send a failure message as Sorry! We are unable to process your request at this moment. Please try again after some time. Thank You. using sendSMS API without charging info and DeliveryReceipt

7.1.2

Content is not available for the message send by customer

If request is valid and CP does not have content for such keyword, CP will send failure message as Sorry! We are unable to process your request at this moment. Please try again after some time. Thank You to the customer by calling SendSMS API. In this case, SendSMS API will not have charging Info and DeliveryReceipt embedded in it.

7.1.3

Invalid message send by customer

If the value of input parameter ContentID of trigger delivery URL is invalid in request, CP will return response code 200 to SDP and sends a help message Invalid keyword, Please enter correct keyword to the customer without charging Info and DeliveryReceipt. 7.1.4 CP Application down

If CP returns error code 101 to SDP due to his service failure in the response of Trigger Delivery call, SDP sends a service message like Sorry! We are unable to process your request at this moment. Please try again after some time. Thank You to the subscriber

7.2 Delivery Report


If the content provider receives a delivery notification as DeliveryImpossible from SDP, It means the SMSC is not able to deliver this content to end user, and then CP will not perform any action. Refund activity will be performed by the SDP. All such transactions with DeliveryImpossible will be deducted from the total transactions for the purpose of reconciliation.

7.3 Trigger Delivery


Please refer section 2.3

Confidential

Page 41 of 59

Interface Specifications CP-VAS Platforms

7.4 sendMessage
Request to send a multimedia message to a destination address, The content is sent as one or more HTTP attachments as MMS. The content must have the following MIME header: Content-ID: messagePart ContentType: application/json. Detail of the API specs. HTTP Method: Post URI: https://host:port/rest/multimedia_messaging/messages Consumer : External Content Provider Request Content Type: multipart/form-data Response Content Type: application/json Request headers: HTTP Basic Credentials

base64 [4] encoding of <application id> : <application instance password> Response Header: Contains one of the below response codes. o o 2xx OK 5xx internal server error

Response Body: Contains one of the below error code. Error Codes: o o o o o o o o o o SVC0001 Service error MMS-000001 Network node Timeout SVC0002 Invalid input value SVC0004 No valid addresses SVC0006 Invalid group SVC0283 Delivery Receipt Notification not supported PLG0004 No Active node found POL0001 Policy errorPOL0006 Groups not allowed POL0007 Nested groups not allowed POL0008 Charging not supported

Confidential

Page 42 of 59

Interface Specifications CP-VAS Platforms


Input Data addresses Data Type URI[] Mandatory Mandatory Description Destination address for the Message. In case there is more than one address, then the request shall be rejected. Eg : tel:905912345 , tel: is address Schema for the SDP Message sender address. This parameter is not allowed for all Content Providers. Parlay X server needs to handle this according to a SLA for the Specific application and its use can therefore result in a Policy Exception. Eg tel:50007 Message subject Priority of the message. If this not present, network will assign a priority based on an operator policy. Charging to apply to this message. It defines the application endpoint, interfaceName and correlator that will be used to notify the application when the message has been delivered to a terminal or If delivery is impossible. SDP will not expose this notification listener to External Content Providers Enumeration with following values: -------------------------------------------------Enumeration value Description -------------------------------------------------Default message priority Low - Low message priority Normal - Normal message priority High - High message priority

senderAddress

String

Optional

subject priority charging receiptReques t

String Message Priority ChargingInform ation SimpleReferenc e

Optional Optional Optional Optional

MessagePriori ty

ChargingInfor mation: description currency amount Code

String String BigDecimal String

Mandatory Optional Optional Optional

additional information about the charge Currency identifier as defined in ISO 4217 [9] Amount to be charged Charging code, referencing a contract under which the charge is applied

SimpleRefere nce: endpoint URI interfaceNam String e correlator String Tunnel Parameters

Mandatory Mandatory Mandatory

Endpoint address Name of interface Correlation information

Confidential

Page 43 of 59

Interface Specifications CP-VAS Platforms


transactionId serviceId String String Mandatory Mandatory Unique Transaction Id to be generated by VAS Platforms/ Content Providers There should be unique service ID for each keyword. Service ID should be same for subscription and on demand keywords if keywords are of same category Original content owner id in case content is owned by some other Content Provider Unique Content id for each keyword Content type Unique identifier of content provider. In case CP is not an aggregator/application provider by itself and there is a revenue share agreement with the aggregator/application provider with UWL then CP must send the CPID along with Aggregator / Application Provider ID as part of the CPID parameter delimited by a :. E.g. CPID:AGGRID Short code or Long code of CP Name of content which should be unique for each keyword. Channel on which the request came for service delivery For e.g. : SMS, This field has possible values: Yes: signifies that Rating Engine processing is applicable on this content No: signifies that Rating Engine processing is non-applicable on this content The field has value No when CP calls the charging API PPL_FLAG indicator which indicates if the content Provider for the content is PPL or Non PPL Content Partners. This flag will be used for revenue settlement, If Revenue share rates are linked to PPL and Non PPL content. The possible values are TRUE /FALSE Description It is a correlation identifier that is used in a getMessageDeliveryStatus operation invocation, i.e. to poll for the delivery status of all of the sent Messages.

origContentO wnerId contentId contentType cpID

String String String String

Optional Mandatory Mandatory Mandatory

senderMSISD N contentName channelType isRated

String String String String

Mandatory Mandatory Mandatory Mandatory

PPL_FLAG

String

Optional

Output Data Result

Data Type String

Mandatory Mandatory

Request Header: base64 [4] encoding of <application id> : <application instance password> -X-ParamKeys=transactionId,serviceId,origContentOwnerId,contentId,contentType,senderMSISDN,contentName,channelT ype,isRated, PPL_FLAG,cpID,isLowBalMsgRequired -X-Param-Values=< transactionId>,<serviceId>,<Original Content Owner Id>, < contentId >, < contentType >,< senderMSISDN >,< contentName >,< channelType >,< isRated>, <PPL_FLAG>,<cpID>,<isLowBalMsgRequired> Request Body: { "addresses": ["URI"],<The recipient(s)>

Confidential

Page 44 of 59

Interface Specifications CP-VAS Platforms


"charging": {<This entire attribute is optional> "description": "String",<Text to be used for information and billing> "amount": "BigDecimal",<The amount to be charged> "code": "String",<A charging code, from an existing contractual description> "currency": "String"<A currency identifier as defined in ISO 4217 [9]> }, "priority": "Default|Low|Normal|High", <The message priority> "receiptRequest": {<This entire attribute is optional> "correlator" "String",<A correlator used to connect the receipt to the initial message> "endpoint": "URI",<The endpoint address to which the receipt should be delivered> "interfaceName": "String"<Descriptive only, a string to identify the type of receipt> }, "senderAddress": "String",<The sender of the MMS> "subject": "String" <The subject line of the MMS> } Response Header: key= Location value = host:port/rest/multimedia_messaging/delivery -status/${result} ${result}: The request identifier returned in the body The URI of the pub/sub server Response Body: {"result": "String"} The request identifier, a string used to identify the request for later correlation Error Response: [Serivce Exceptions/Policy Exceptions] Service Exception {"error":{ "type":"org.csapi.schema.parlayx.common.v3_1.ServiceException" "message":"String" }} Policy {"error":{ "type":"org.csapi.schema.parlayx.common.v3_1.PolicyException" "message":"String" }} Note: SDP does not support any Special character in the Tunnel Parameters as these values are used for CDR generation. The Content Partner must note that any character like Pipe (|) comma (,) semicolon (;) and colon (:) is not passed in the parameter value.

8 MO MMS Integration
Description: This API is invoked by SDP to trigger delivery of a content requested by custo mer (pull based delivery). Upon receiving this trigger, CP validates the request and sends response code in HTTP response. If request is valid then CP send text content via sendSMS API. The base URL of this API is expected to be provided by External CP whi ch hosts the content and controls the delivery. Detail of the API specs. HTTP Method: Get URI: https://<cphost>:<port>/Resource?ShortCode=xxx&Keyword=&sI d=XYZ&TransactionID=ttt& ContentID=ABC

Example URL: Customer (9059134436) sends: PNR 67636235353 to short code 44444, SDP calls below CP url: https://<cphost>:<port>/Resource?ShortCode=tel:44444&Keyword=&sId=tel:9059134436&TransactionID=121

Confidential

Page 45 of 59

Interface Specifications CP-VAS Platforms


212121212&ContentID=PNR 67636235353
Note: CP will ignore the parameters (Keywords)of above API

Consumer : Service Delivery Platform Request body: NONE Request headers: NONE Content Type : Text/HTML Response Body: Contains one of the below response code. Response codes: o o o o 200 Ok 101 Operation Failed 250 Invalid Parameter 223 Invalid Short Code

Note: Content Partner should return above response code (Integer value) in Http response body Input Data Short Code Data Type String Mandatory Mandatory Description Short Code to which Customer has send request to pull the content. Short code will be prefix with tel: e.g. tel:44444 Keyword String Conditional The value of this filed shall be blank. Not required for off deck partners. Message sends by the Customer to pull the content. E.G. PNR 67636235353 TransactionID String Mandatory Unique ID that can be used to corelates CDR/EDR in SDP with that same generated in External CP as a result of this delivery. The same ID is expected to be returned by the CP at the time of content delivery and/or charging through SDP. E.g. 121212121212 10 digits MSISDN of the Subscriber requesting the content/service.

ContentID

String

Mandatory

sId

String

Mandatory

Confidential

Page 46 of 59

Interface Specifications CP-VAS Platforms


10 Digits MSISDN will be prefix with tel: e.g. tel:9059134436 contentid String Conditional It will be same as ContentID but need to be ignored by Off-Deck partner. Description The error code or success code for the Request.

Output Data Response code

Data Type Int

Mandatory Mandatory

9 Appendix
9.1 Uninor MSISDN series and circle name
Service Area West Bengal West Bengal West Bengal West Bengal West Bengal West Bengal West Bengal West Bengal West Bengal West Bengal Andhra Pradesh Andhra Pradesh Andhra Pradesh Andhra Pradesh Andhra Pradesh Andhra Pradesh Andhra Pradesh Andhra Pradesh Andhra Pradesh Andhra Pradesh Assam Assam Assam MSISDN Code 91260 xxxxx 91261 xxxxx 91262 xxxxx 91263 xxxxx 91264 xxxxx 91265 xxxxx 91266 xxxxx 91267 xxxxx 91268 xxxxx 91269 xxxxx 90590 xxxxx 90591 xxxxx 90592 xxxxx 90593 xxxxx 90594 xxxxx 90595 xxxxx 90596 xxxxx 90597 xxxxx 90598 xxxxx 90599 xxxxx 91210 xxxxx 91211 xxxxx 91212 xxxxx

Confidential

Page 47 of 59

Interface Specifications CP-VAS Platforms


Assam Assam Assam Assam Assam Assam Assam Bihar Bihar Bihar Bihar Bihar Bihar Bihar Bihar Bihar Bihar Gujarat Gujarat Gujarat Gujarat Gujarat Gujarat Gujarat Gujarat Gujarat Gujarat Haryana Haryana Haryana Haryana Haryana Haryana Haryana Haryana Haryana Haryana Himachal Pradesh Himachal Pradesh Himachal Pradesh 91213 xxxxx 91214 xxxxx 91215 xxxxx 91216 xxxxx 91217 xxxxx 91218 xxxxx 91219 xxxxx 91220 xxxxx 91221 xxxxx 91222 xxxxx 91223 xxxxx 91224 xxxxx 91225 xxxxx 91226 xxxxx 91227 xxxxx 91228 xxxxx 91229 xxxxx 91730 xxxxx 91731 xxxxx 91732 xxxxx 91733 xxxxx 91734 xxxxx 91735 xxxxx 91736 xxxxx 91737 xxxxx 91738 xxxxx 91739 xxxxx 90530 xxxxx 90531 xxxxx 90532 xxxxx 90533 xxxxx 90534 xxxxx 90535 xxxxx 90536 xxxxx 90537 xxxxx 90538 xxxxx 90539 xxxxx 90540 xxxxx 90541 xxxxx 90542 xxxxx

Confidential

Page 48 of 59

Interface Specifications CP-VAS Platforms


Himachal Pradesh Himachal Pradesh Himachal Pradesh Himachal Pradesh Himachal Pradesh Himachal Pradesh Himachal Pradesh Jammu & Kashmir Jammu & Kashmir Jammu & Kashmir Jammu & Kashmir Jammu & Kashmir Jammu & Kashmir Jammu & Kashmir Jammu & Kashmir Jammu & Kashmir Jammu & Kashmir Karnataka Karnataka Karnataka Karnataka Karnataka Karnataka Karnataka Karnataka Karnataka Karnataka Kerala Kerala Kerala Kerala Kerala Kerala Kerala Kerala Kerala Kerala Madhya Pradesh Madhya Pradesh Madhya Pradesh 90543 xxxxx 90544 xxxxx 90545 xxxxx 90546 xxxxx 90547 xxxxx 90548 xxxxx 90549 xxxxx 90550 xxxxx 90551 xxxxx 90552 xxxxx 90553 xxxxx 90554 xxxxx 90555 xxxxx 90556 xxxxx 90557 xxxxx 90558 xxxxx 90559 xxxxx 90600 xxxxx 90601 xxxxx 90602 xxxxx 90603 xxxxx 90604 xxxxx 90605 xxxxx 90606 xxxxx 90607 xxxxx 90608 xxxxx 90609 xxxxx 90610 xxxxx 90611 xxxxx 90612 xxxxx 90613 xxxxx 90614 xxxxx 90615 xxxxx 90616 xxxxx 90617 xxxxx 90618 xxxxx 90619 xxxxx 91740 xxxxx 91741 xxxxx 91742 xxxxx

Confidential

Page 49 of 59

Interface Specifications CP-VAS Platforms


Madhya Pradesh Madhya Pradesh Madhya Pradesh Madhya Pradesh Madhya Pradesh Madhya Pradesh Madhya Pradesh Maharashtra Maharashtra Maharashtra Maharashtra Maharashtra Maharashtra Maharashtra Maharashtra Maharashtra Maharashtra North East North East North East North East North East North East North East North East North East North East Orissa Orissa Orissa Orissa Orissa Orissa Orissa Orissa Orissa Orissa Punjab Punjab Punjab 91743 xxxxx 91744 xxxxx 91745 xxxxx 91746 xxxxx 91747 xxxxx 91748 xxxxx 91749 xxxxx 91750 xxxxx 91751 xxxxx 91752 xxxxx 91753 xxxxx 91754 xxxxx 91755 xxxxx 91756 xxxxx 91757 xxxxx 91758 xxxxx 91759 xxxxx 91230 xxxxx 91231 xxxxx 91232 xxxxx 91233 xxxxx 91234 xxxxx 91235 xxxxx 91236 xxxxx 91237 xxxxx 91238 xxxxx 91239 xxxxx 91240 xxxxx 91241 xxxxx 91242 xxxxx 91243 xxxxx 91244 xxxxx 91245 xxxxx 91246 xxxxx 91247 xxxxx 91248 xxxxx 91249 xxxxx 90560 xxxxx 90561 xxxxx 90562 xxxxx

Confidential

Page 50 of 59

Interface Specifications CP-VAS Platforms


Punjab Punjab Punjab Punjab Punjab Punjab Punjab Rajasthan Rajasthan Rajasthan Rajasthan Rajasthan Rajasthan Rajasthan Rajasthan Rajasthan Rajasthan Tamilnadu (+ Chennai) Tamilnadu (+ Chennai) Tamilnadu (+ Chennai) Tamilnadu (+ Chennai) Tamilnadu (+ Chennai) Tamilnadu (+ Chennai) Tamilnadu (+ Chennai) Tamilnadu (+ Chennai) Tamilnadu (+ Chennai) Tamilnadu (+ Chennai) Uttar Pradesh (West) Uttar Pradesh (West) Uttar Pradesh (West) Uttar Pradesh (West) Uttar Pradesh (West) Uttar Pradesh (West) Uttar Pradesh (West) Uttar Pradesh (West) Uttar Pradesh (West) Uttar Pradesh (West) Uttar Pradesh (East) Uttar Pradesh (East) Uttar Pradesh (East) 90563 xxxxx 90564 xxxxx 90565 xxxxx 90566 xxxxx 90567 xxxxx 90568 xxxxx 90569 xxxxx 90570 xxxxx 90571 xxxxx 90572 xxxxx 90573 xxxxx 90574 xxxxx 90575 xxxxx 90576 xxxxx 90577 xxxxx 90578 xxxxx 90579 xxxxx 91710 xxxxx 91711 xxxxx 91712 xxxxx 91713 xxxxx 91714 xxxxx 91715 xxxxx 91716 xxxxx 91717 xxxxx 91718 xxxxx 91719 xxxxx 90580 xxxxx 90581 xxxxx 90582 xxxxx 90583 xxxxx 90584 xxxxx 90585 xxxxx 90586 xxxxx 90587 xxxxx 90588 xxxxx 90589 xxxxx 91250 xxxxx 91251 xxxxx 91252 xxxxx

Confidential

Page 51 of 59

Interface Specifications CP-VAS Platforms


Uttar Pradesh (East) Uttar Pradesh (East) Uttar Pradesh (East) Uttar Pradesh (East) Uttar Pradesh (East) Uttar Pradesh (East) Uttar Pradesh (East) Delhi Delhi Delhi Delhi Delhi Delhi Delhi Delhi Delhi Delhi Kolkata Kolkata Kolkata Kolkata Kolkata Kolkata Kolkata Kolkata Kolkata Kolkata Mumbai Mumbai Mumbai Mumbai Mumbai Mumbai Mumbai Mumbai Mumbai Mumbai
Karnataka Bihar

91253 xxxxx 91254 xxxxx 91255 xxxxx 91256 xxxxx 91257 xxxxx 91258 xxxxx 91259 xxxxx 90840 xxxxx 90841 xxxxx 90842 xxxxx 90843 xxxxx 90844 xxxxx 90845 xxxxx 90846 xxxxx 90847 xxxxx 90848 xxxxx 90849 xxxxx 90620 xxxxx 90621 xxxxx 90622 xxxxx 90623 xxxxx 90624 xxxxx 90625 xxxxx 90626 xxxxx 90627 xxxxx 90628 xxxxx 90629 xxxxx 91720 xxxxx 91721 xxxxx 91722 xxxxx 91723 xxxxx 91724 xxxxx 91725 xxxxx 91726 xxxxx 91727 xxxxx 91728 xxxxx 91728 xxxxx
7899 xxxxxx 7870 xxxxxx

Confidential

Page 52 of 59

Interface Specifications CP-VAS Platforms


Tamil Nadu 7871 xxxxxx

9.2 MCC and MNC code


Circle Delhi Assam Bihar North East Orissa UP (East) West Bengal Kolkata Mumbai Haryana Himachal Pradesh Jammu & Kashmir Punjab Rajasthan UP (West) Andhra Pradesh Karnataka Kerala Tamil Nadu Gujarat Madhya Pradesh Maharashtra TADIG Code MCC MNC 405 405 405 405 405 405 405 405 405 405 405 405 405 405 405 405 405 405 405 405 405 405 844 875 876 877 878 879 880 822 926 813 814 815 816 817 818 819 820 821 925 927 928 929

BJ OR UP WB

UK AP KA KE TN

9.3 Off-deck Content Pricing


Off-deck Pricing : On Demand SMS Category SMS Ringtones Picture Message Operator Logos Sub-Category SMS MONOTONE PM OL SMS Price (Rs.) 0 0 0 0 Content Price (Rs.) 3 7 3 3 EUP (Rs.) 3 7 3 3

Confidential

Page 53 of 59

Interface Specifications CP-VAS Platforms

Off-deck Pricing : SMS Subscription Services Flexi Charging Monthly 30 Fortnightly 15 Weekly 7 Daily 1

Off-deck Pricing : WAP Based Downloads Categories wallpaper Animation Polytone True Tone/ MP3 Theme Videos Games 10/10/10/15/30/15/25/50/99/Pay per use/ Download Non Premium Premium 15/Advanced

9.4 List of Charge Codes


ChargeCode code0 code1 code2 code3 code4 code5 code7 code10 code12 code15 code20 code25 code30 code35 code40 code45 code50 code55 code60 code65 Price 0 1 2 3 4 5 7 10 12 15 20 25 30 35 40 45 50 55 60 65

Confidential

Page 54 of 59

Interface Specifications CP-VAS Platforms


code70 code75 code80 code85 code90 code95 code99 code100 code105 code110 code115 code120 code125 code130 code135 code140 code145 code150 70 75 80 85 90 95 99 100 105 110 115 120 125 130 135 140 145 150

10 Frequently Asked Questions


10.1 Trigger Delivery (MO) and SendSMS API (MT)
Ques 1. Answer. How content partner will get the MO request. SDP calls content partners URL to send MO request. Content Partners are expected to provide the highlighted URL below. Rest of the parameters would be same. https://<cphost>:<port>/Resource ?ContentID=ABC&ShortCode=xxx&Keyword=&sId=XYZ&TransactionID =ttt&imei=1233445566 Ques 2. Answer. What is MT charging or How Content partner will charge the customer for content delivery? Content partner use the below API exposed by SDP for content delivery along with charging information SendSMS API (MT PUSH) : To delivery the Text Content. Content Partner passes charging details in same API. SDP does the charging based on the information provided by content partner. If charging fails, SDP returns the appropriate error code to CP. SendBinarySMS API (MT PUSH) : To delivery the Binary Content. Content Partner passes charging details in same API. SDP does the charging based on the information provided by content partner. If charging fails, SDP returns the appropriate error code to CP.

Confidential

Page 55 of 59

Interface Specifications CP-VAS Platforms


Ques 3. Answer. How does CP gets the Delivery Notificatio n. What is its significance? Content partner pass endpoint URL in SendSMS API to get delivery report from SDP. SDP push the delivery report on this URL, only if the content could not be delivered to H andset. receiptRequest object should be used fo r sendsms/sendbinary SMS when the CP wants to the delivery status of the SMS. This is a JSON Object which consists of 3 key -value pair. Correlator -> Unique for every request (Can be the transaction ID) used to correlate/identify the request for sms delivery notification. Endpoint -> This URL should be prepared by Content partners to get the Delivery Status over HTTP. SDP will invoke this URL with 3 parameters. Interface Name -> Refers to the interface specified in NotifySmsDeliveryReceipt.java file.

Ques 4. What will be the error code for Insufficient Balance returned by sendSMS? Do we get error code or string service error or insufficient balance? Answer. Response would be CRG002 Insufficient balance embedded in Service Error (SVC00001) as a part of response body message. The HTTP header response would be 500.

Ques 5. Answer.

In which cases, the Charging API should not be invoked? Charging is done only when the content is delivered to the subscriber. In case it is an informative message like invalid keywo rd or content is not available, the charging info should not be invoked . Will the destination number be 10 digit or 12 digit (with 91) number. Destination number has to be 10 digit MSISDN. (Without 91). What should be the Charge Code used in ca se a Text Keyword is charged for Rs. 5 or Rs. 7 There may be a case where the user is charged more than Rs. 3 for a Text Message. In such cases the Content Type should be Premium SMS (instead of Text) and code should be as per the charge code li st provided by Uninor. For e.g. code5 (Rs. 5) or code7 (Rs.7)

Ques 6. Answer. Ques 7. Answer.

Ques 8. Answer.

What happens when more than 1 content is sent along with keyword? The whole message from an end user is treated as content id in Trigger Delivery URL For eg: if the user sends pm 143 hi the following URL is invoked: http://cpip:port/GatewayManager/uninor.jsp?ContentID=pm%20143%20hi&ShortCode=tel:52211&Key word=&sId=tel:BJ%23116937&TransactionID=SDP -DM-200005&imei=12434

Ques 9. Answer.

What is the length of correlator in Reciept request. Can i t be alpha numeric. Yes it can be alpha numeric. Better to keep it similar to Transaction ID for better reference of MO -MT flow. What can be the maximum length of keyword? There is no Maximum length specified for a Keyword.

Ques 10. Answer.

Confidential

Page 56 of 59

Interface Specifications CP-VAS Platforms


Ques 11. Answer. What happens when the end users balance is low? While sending an SMS to the end user using SendSMS who has low balance, the Content Partner shall received an error with response as CRG002 Insufficient balance as a part of response body message. The HTTP header response would be 500 in this case. To handle this scenario, the Content Partners are expected add "isLowBalMsgRequired" parameter in the Tunnel Parameters. The value is put as TRUE/FALSE as per CPs convenience isLowBalMsgRequired = TRUE - In this case, SDP shall take care of informing the end user about Insufficient Balance. CP does not have to send any SMS. isLowBalMsgRequired = FALSE - In this case, CP will take care of sending an SMS to the end user for Insufficient Balance using SendSMS A PI, but without any Charging Information. SDP will not send the SMS to the end user.

Ques 12. Answer.

I am getting Response Code 201 in case of sendSMS /sendBinarySMS, what is the meaning of this? This the success code for sendSMS/sendBinarySMS. The response is received as a part of HTTP Response Body. If an error occurs during send SMS, the res ponse header would be 500 and body shall contain the actual reason for failure. When should the response been made for Trigger Delivery URL. Before calling SendSMS API a nd after SendSMS API is called? As mentioned in section 2, the call to Trigger Delivery URL and SendSMS API is asynchronous. They should be called in different session. The CP is expected to validate the Trigger Delivery URL and return the correct Integer Response Code. Separately, a call should be made to SendSMS API to send the content to the user.

Ques 13. Answer.

10.2 Send Binary SMS API


Ques 14. While sending picture and logo message, do we need to send complete hex content at once or need to break into chunk of 240 octets. If yes then what will be the correlator id for different chunks of same content? It should in chunks of 140. There will be only one request to send a picture or logo message and Correlator ID is unique to every SendSMS/SendBinarySMS request. How to implement the MCC and MNC code? Content Partner must make a note of it before sending the Operator Logo to the Customer What will be the Charging amount and charging codes for services like Ringtone, picture and logo messaging? Refer to section 9.3 and 9.4 for Price Code defined for each service

Answer.

Ques 15. Answer. Ques 16. Answer.

10.3 Tunnel Parameters in SendSMS and SendBinary SMS


Ques 17. Answer What is the cpID? CP Id is a Unique identifier for each Content Partner . It will provided by Uninor before integration. It forms an integral part of CDR generated to charge the users. All the SendSMS/SendBinary (MT) requests made by CP must contain CPID in Tunnel Parameters.

Confidential

Page 57 of 59

Interface Specifications CP-VAS Platforms


Ques 18. What do you mean by serviceID in sendSMS APIs parameter list? Is it given to us for each service created at our end e.g. once JOKE service created it have unique ID, for SHAYARI service there will another ID? (Used while sendSMS ) Yes, each service will have unique ServiceID What is the use and length of Transaction ID Transaction ID is used to uniquely identify a SendSMS Request. Content Partners are expected to use the same Transaction ID sent by SDP in Trigger Delivery URL. As of now, its maximum length is 20. Refer section 2.4 for more details Ques 20. Answer. What is Content ID in Tunnel parameters (XParam)? Content ID is the unique identifier for each content category. For example if the content delivered is News, the content id can be news001

Answer. Ques 19. Answer.

10.4 Charge Amount and WAP


Ques 21. Answer. I am getting Response Code 204 in case of chargeAmount, what i s the meaning of this? It is the HTTP response code for Success in ChargeAmount and Refund Amount API

Ques 22. Answer.

How are the end users charged? What are the price points used to charge the end user. Content Partner shall set the charging informati on with proper Charge Code and amount in the SendSMS and SendBinarySMS API. SDP shall then take care of billing the user based on the information set by CP. Following is the list of Charge Code and Content Type to be set for different types of Co ntent.

Message
Text Premium Text Message Picture Message RingTone Non Nokia Monotone Operator Logo

Content Type
Text Premium SMS PictureMsg Monotones Monotones Logo

Charge Code
code3 code5/7(As per CP Services) code3 code7 code7 code3

Ques 23. Answer. Ques 24. Answer.

How is the user charged when the user accesses a WAP Link. Charging will only be done when user starts downloading the content. User is charged using ChargeAmount API. What are transaction details? Who generates the T ransaction ID? There is a unique transaction ID generated by CP to identify each request. Please note that in case of refund amount, the transaction id is same as charge amount for a particular request.

Confidential

Page 58 of 59

Interface Specifications CP-VAS Platforms


Ques 25. Answer. When is the RefundAmount API invoked by the ContentPartner? When the CP identifies a failure during the download, it should invoke the RefundAmount API to refund the user. This API must be invoked with the same Transaction ID as used in ChargeAmount API to charge the user

10.5 Subscription and Notify Subscription


Ques 26. Answer. Ques 27. Answer. Ques 28. Answer. Ques 29. Answer. Do we need a transaction Id for Notify Subscription API? No, there is no transaction id in Notify Subscription API. Will the transaction id for Delete Subscription and Create Subscription for a product be same? No, but the Product Name will be same. What happens if the response received is operation failed? Is there any retry? As of now, there is no retrial for SendSMS with the same Transaction ID . Who will do the charging in case of Subscription services (IVR , SMS and WAP subscriptions)? SDP will invoke the charging API internally and Notify the CP of the same through the Notification URL. CP need not call the charging API explicitly. What parameters are sent with the Subscription Notification URL? Refer to section 4.1 of this document. What if the products and services are not registered at Content partners end or vice versa? Products and Services must be in sync at SDP and CP end. Content Partner is expected to verify the product and its corresponding se rvice, when Notify Subscription API is called to notify the CP. In case the subscribed service / product are not registered in CP, it should throw a response as 219/ 220 as HTTP response body for this API. Ques 32. Answer. Ques 33. Answer. How are alerts delivered for a subscribed product ? Is the content delivered with charging info or not? Alerts are delivered using SendSMS API to all the subscribed users. The charging info is passed with code0and without ant delivery receipt object. How is the charging done for subscription pr oducts? SDP shall take care of the Charging the user for Subscribed product. Once the subscription is created at SDP end, it will invoke NotifySubscription API to inform the Content Partner about the subscription. Content Partner will not charge the users.

Ques 30. Answer. Ques 31. Answer.

Ques 34. Answer.

Who takes care of renewal process for a Subscribed user? SDP will take care of the charging the user during renewal process and inform the Content Partner using NotifySubscription API with parameter NotifyType=Renew.

Confidential

Page 59 of 59