SDP Solution API Reference (DataSync, SOAP)
SDP Solution API Reference (DataSync, SOAP)
Issue 01
Date 2014-01-04
All other trademarks and trade names mentioned in this document are the property of their respective
holders.
Notice
The purchased products, services and features are stipulated by the contract made between Huawei and
the customer. All or part of the products, services and features described in this document may not be
within the purchase scope or the usage scope. Unless otherwise specified in the contract, all statements,
information, and recommendations in this document are provided "AS IS" without warranties, guarantees
or representations of any kind, either express or implied.
The information in this document is subject to change without notice. Every effort has been made in the
preparation of this document to ensure accuracy of the contents, but all statements, information, and
recommendations in this document do not constitute a warranty of any kind, express or implied.
Website: http://www.huawei.com
Email: [email protected]
Contents
1 Overview.........................................................................................................................................1
1.1 API Functions....................................................................................................................................................1
1.2 Level of Requirement for Parameters................................................................................................................1
1.3 Request Format..................................................................................................................................................2
1.4 Response Format................................................................................................................................................3
1.5 Namespace.........................................................................................................................................................4
1.6 SOAPAction.......................................................................................................................................................4
1 Overview
Partners are the enterprises and individuals who sign a contract and cooperate with carriers in utilizing
the SDP. Partners include SPs, CPs, Developers, and Enterprises. In this document, partners are mainly
the SPs, Developers, and Enterprises who use APIs for secondary development.
Table 1-1 describes functions of DataSync capability APIs provided by the SDP.
Element Description
When Apps invoke SDP APIs, requests cannot contain the following XML characters: & > < ' "
If the preceding characters are really required, you must add escape characters before such characters.
Otherwise, SDP APIs will fail to be invoked.
<detail>
<parameter>…</parameter>
…
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
1.5 Namespace
Partners must follow the specified namespaces of data types when developing DataSync
capability APIs.
Table 1-6 describes the namespaces of DataSync capability APIs.
The namespace of data types used by the DataSync capability APIs is
http://www.csapi.org/schema/parlayx/data/v1_0.
http://www.csapi.org/wsdl/ SyncOrderRelation
parlayx/data/sync/v1_0
1.6 SOAPAction
Leave the SOAPAction parameter empty.
The following is an example of the SOAPAction parameter setting in an HTTP header:
SOAPAction: ""
2.1 Process
When a user subscription relationship is generated or modified on the SDP, the SDP uses the
SyncOrderRelation interface to synchronize the subscription relationship to App.
The SDP uses the SyncOrderRelation interface to synchronize subscription relationships
when:
A user subscribes to a product on the portal or using an SMS message.
The carrier subscribes to or unsubscribes from a product for a user.
Automatic renewal of subscription to a product fails.
A user unsubscribes from a product on the portal or using an SMS message.
Figure 2-1 shows the process of synchronizing a subscription relationship.
2.2 SyncOrderRelation
2.2.1 API Function
The SDP (functioning as the client) invokes an API to synchronize subscription relationships
to the App (functioning as the server).
Partners must code the App based on the API field requirements so that the App can correctly
parse and respond to requests received from the SDP. The App must send a response to the
SDP within 30 seconds.
2.2.3 Request
The SDP functions as the client and sends a SyncOrderRelationRequest message to the App.
Example
Subscription example:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:syncOrderRelation
xmlns:ns1="http://www.csapi.org/schema/parlayx/data/sync/v1_0/local">
<ns1:userID>
<ID>8619800000001</ID>
<type>0</type>
</ns1:userID>
<ns1:spID>001100</ns1:spID>
<ns1:productID>1000000423</ns1:productID>
<ns1:serviceID>0011002000001100</ns1:serviceID>
<ns1:serviceList>0011002000001100</ns1:serviceList>
<ns1:updateType>1</ns1:updateType>
<ns1:updateTime>20130723082551</ns1:updateTime>
<ns1:updateDesc>Addition</ns1:updateDesc>
<ns1:effectiveTime>20130723082551</ns1:effectiveTime>
<ns1:expiryTime>20361231160000</ns1:expiryTime>
<ns1:extensionInfo>
<item>
<key>accessCode</key>
<value>20086</value>
</item>
<item>
<key>chargeMode</key>
<value>0</value>
</item>
<item>
<key>MDSPSUBEXPMODE</key>
<value>1</value>
</item>
<item>
<key>objectType</key>
<value>1</value>
</item>
<item>
<key>isFreePeriod</key>
<value>false</value>
</item>
<item>
<key>payType</key>
<value>0</value>
</item>
<item>
<key>transactionID</key>
<value>504016000001307231624304170004</value>
</item>
<item>
<key>orderKey</key>
<value>999000000000000194</value>
</item>
<item>
<key>keyword</key>
<value>sub</value>
</item>
<item>
<key>cycleEndTime</key>
<value>20130822160000</value>
</item>
<item>
<key>durationOfGracePeriod</key>
<value>-1</value>
</item>
<item>
<key>serviceAvailability</key>
<value>0</value>
</item>
<item>
<key>channelID</key>
<value>1</value>
</item>
<item>
<key>TraceUniqueID</key>
<value>504016000001307231624304170005</value>
</item>
<item>
<key>operCode</key>
<value>zh</value>
</item>
<item>
<key>rentSuccess</key>
<value>true</value>
</item>
<item>
<key>try</key>
<value>false</value>
</item>
<item>
<key>shortMessage</key>
<value>Hello world.</value>
</item>
</ns1:extensionInfo>
</ns1:syncOrderRelation>
</soapenv:Body>
</soapenv:Envelope>
Unsubscription example:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:syncOrderRelation
xmlns:ns1="http://www.csapi.org/schema/parlayx/data/sync/v1_0/local">
<ns1:userID>
<ID>8619800000001</ID>
<type>0</type>
</ns1:userID>
<ns1:spID>001100</ns1:spID>
<ns1:productID>1000000423</ns1:productID>
<ns1:serviceID>0011002000001100</ns1:serviceID>
<ns1:serviceList>0011002000001100</ns1:serviceList>
<ns1:updateType>2</ns1:updateType>
<ns1:updateTime>20130723094953</ns1:updateTime>
<ns1:updateDesc>Deletion</ns1:updateDesc>
<ns1:effectiveTime>20130723082551</ns1:effectiveTime>
<ns1:expiryTime>20130723094952</ns1:expiryTime>
<ns1:extensionInfo>
<item>
<key>updateReason</key>
<value>1</value>
</item>
<item>
<key>payType</key>
<value>0</value>
</item>
<item>
<key>transactionID</key>
<value>504016000001307231748315161003</value>
</item>
<item>
<key>orderKey</key>
<value>999000000000000194</value>
</item>
<item>
<key>MDSPSUBEXPMODE</key>
<value>1</value>
</item>
<item>
<key>objectType</key>
<value>1</value>
</item>
<item>
<key>chargeMode</key>
<value>0</value>
</item>
<item>
<key>accessCode</key>
<value>20086</value>
</item>
<item>
<key>keyword</key>
<value>unsub</value>
</item>
<item>
<key>channelID</key>
<value>1</value>
</item>
<item>
<key>TraceUniqueID</key>
<value>504016000001307231748315161006</value>
</item>
<item>
<key>rentSuccess</key>
<value>true</value>
</item>
<item>
<key>try</key>
<value>false</value>
</item>
<item>
<key>shortMessage</key>
<value>Hello world.</value>
</item>
</ns1:extensionInfo>
</ns1:syncOrderRelation>
</soapenv:Body>
</soapenv:Envelope>
yyyyMMddHHmmss
[Example]
20130227000000
expiryTim String 14 Optional Time when the subscription relationship
e expires (UTC time).
[Format]
yyyyMMddHHmmss
[Example]
20130327000000
extensionI NamedP - Optional Extended information.
nfo arameter For the NamedParameterList
List information, see Table 2-3.
For the extended fields transmitted by
NamedParameterList, see Table 2-5.
accessCo String 30 Product access code. The SDP obtains the value during
de subscription relationship synchronization.
When a third party releases a subscribable product on
the SDP management portal, the third party sets product
access code if the product can be subscribed to by SMS
message.
[Example]
1
chargeM int 4 Charging period of the product.
ode The value is set when a third party releases a
subscribable product on the SDP management portal.
0: month
10: multiday
13: multimonth
Key Value
Key Value
Key Value
[Example]
1
serviceA String 10 Indicates whether users can use the service in the grace
vailabilit period.
y 0: yes
1: no
NOTE
This parameter is displayed only when updateType is set to 1
and updateType is set to 3.
If the grace period is not set, set this parameter to -1.
[Example]
0
channelI Int 4 Operation channel.
D 1: web
2: SMS
3: USSD
4: IVR
5: CC (CRM)
6: PDA
7: XHTML (WAP 2) (This value is used in the SDP
baseline version.)
10: Promotion (This value is used for requests sent by
the Promotion.)
21: ODP
99: Other
100: SP website
101: UE(User Equipment)
102: MDSP CC Portal
105: PCClient
110: IVR Call Out
111: SDP Web Tool (CS)
112: SDP Web Tool (Admin)
113: SDP Web Tool (CP)
115: MMS
120: channel of unsubscription caused by user
deregistration
124: channel of unsubscription caused by the blacklist
125: SP website (added channel type in the MTN
project, which is used for subscription on the SP
Key Value
website.)
[Example]
1
TraceUni String 30 Transaction ID.
queID The ID is automatically generated by the SDP and is
used only to trace messages during the SDP
commissioning. The SP ignores this parameter.
[Example]
100001200101110623021721000011
operCod String 40 Operation code.
e This parameter specifies the subscription language type.
zh
en
The parameter is automatically set based on the language
selected by the user during subscription on the portal.
[Example]
zh
rentSucc boolean N/A Indicates whether the monthly rental is successfully
ess deducted.
true: yes
false: no
This parameter is valid only when updateType is set to
3.
[Example]
true
try boolean N/A Indicates whether the product is in the trial user period.
true: yes
false: no
A trial use period can be set when an SP releases a
subscribable product supporting automatic subscription
renewal.
[Example]
true
shortMes String 512 Content of the SMS message or the product command
sage word.
[Example]
Hello world.
2.2.4 Response
The App functions as the server, processes SyncOrderRelation messages received from the
SDP, and sends SyncOrderRelationResponse messages to the SDP.
This topic provides a success response example and describes parameters in the response. If a
request fails, the App sends an error response that contains an error code. For details about
error responses, see API Error Responses.
Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:loc="http://www.csapi.org/schema/parlayx/data/sync/v1_0/local">
<soapenv:Header/>
<soapenv:Body>
<loc:syncOrderRelationResponse>
<loc:result>0</loc:result>
<loc:resultDescription>OK</loc:resultDescription>
</loc:syncOrderRelationResponse>
</soapenv:Body>
</soapenv:Envelope>
1211 The field format is incorrect or the The Format value is incorrect or in
Error Cause
Code Description
Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>SVC0001</faultcode>
<faultstring>Waiting for response timed out, message type is
OutwardGetLocReq</faultstring>
<detail>
<ns1:ServiceException
xmlns:ns1="http://www.csapi.org/schema/parlayx/common/v2_1">
<messageId>SVC0001</messageId>
<text>Waiting for response timed out, message type is
OutwardGetLocReq.</text>
<variables>OutwardGetLocReq</variables>
</ns1:ServiceException>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Parameter Description
Table 3-1 describes parameters in a service error response.
Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>POL0006</faultcode>
<faultstring>GroupAddr is not supported</faultstring>
<detail>
<ns1:PolicyException
xmlns:ns1="http://www.csapi.org/schema/parlayx/common/v2_1">
<messageId>POL0006</messageId>
<text>GroupAddr is not supported</text>
<variables>GroupAddr</variables>
</ns1:PolicyException>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Parameter Description
Table 3-2 describes parameters in a policy error response.