Wholesale Data API (1.0.0)
API documentation for Wholesale Data Partners.
https://enterprise-iot-portal.u.com.my/_mock/datapartner/wholesale_data_complete/
https://sandbox.zsmart.com/
https://api.zsmart.com/
- Mock server
https://enterprise-iot-portal.u.com.my/_mock/datapartner/wholesale_data_complete/partnerUserBusinessAcceptance
- Sandbox Server
https://sandbox.zsmart.com/partnerUserBusinessAcceptance
- Production Server
https://api.zsmart.com/partnerUserBusinessAcceptance
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://enterprise-iot-portal.u.com.my/_mock/datapartner/wholesale_data_complete/partnerUserBusinessAcceptance \
-H 'Content-Type: application/json' \
-d '{
"access_token": "abc123xyz",
"method": "partnerUserBusinessAcceptance",
"version": "1.0",
"content": {
"msgId": "MSG123456789",
"orderItem": {
"base": {
"serviceActionId": "1",
"orderItemId": "12345678",
"trigerSource": "SYSTEM_X"
},
"orderDetail": {
"resource": {
"dn": {
"current": {
"dn": "123456789012",
"org": "OrgName",
"prefix": "60"
}
},
"simCard": {
"current": {
"imsi": "123456789012345"
}
}
},
"products": {
"accessproducts": {
"product": {
"serviceType": "1"
}
},
"functionproducts": {
"product": [
{
"benefitList": {}
}
]
}
}
}
}
}
}'
{ "res_code": "00000", "res_message": "Success", "result": { "resultCode": "SUCCESS", "resultMsg": "Operation completed successfully." } }
- application/json
- responses
Refer to content for detail.
Value to be provided upon request. New value for Wholesale Data Partner. Note: trigerSource will be configurable and unique for each wholesale data partners and MVNO partners.
Malaysia mobile number with country code
Fixed value '1'. to query data package information via PCC.
Partner's organization Code.Unique. UM will define an organization for each wholesale data partner, and assign IMSI and MSISDN to partner's organization. System will check if inputted MSISDN and IMSI have been assigned to partner's organization. If not, system will reject the request.
- Mock server
https://enterprise-iot-portal.u.com.my/_mock/datapartner/wholesale_data_complete/pccDataInquiry
- Sandbox Server
https://sandbox.zsmart.com/pccDataInquiry
- Production Server
https://api.zsmart.com/pccDataInquiry
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://enterprise-iot-portal.u.com.my/_mock/datapartner/wholesale_data_complete/pccDataInquiry \
-H 'Content-Type: application/json' \
-d '{
"access_token": "abcdef1234567890",
"method": "getSubscriberInfo",
"version": "v1.0",
"content": {
"msgId": "ORD567890",
"trigerSource": "PTR_WD",
"msisdn": "60123456789",
"realTIMEFLAG": 1,
"org": "ORG_WHOLESALE_X"
}
}'
API Gateway access token
Refer to content for detail.
Unique Message ID generated by 3rd party system. Format: [AAAYYYYMMDDHH24MISSCCCC] AAA: Channel Identifier (3-digit), value to be provided by Zsmart. Datetime: YYYYMMDDHH24MISS. CCCC: Sequence number (4-digit), value range [0000-9999].
Value to be provided upon request. New value for Wholesale Data Partner. Note: trigerSource will be configurable and unique for each wholesale data partner and MVNO partner.
External Order ID. Numbers only, alphabet not supported. System will use orderItemId paired with trigerSource to form the unique key for order query. Zsmart SPN cannot perform uniqueness validation on orderItemId due to performance impact. Each partner must ensure orderItemId is unique on their end.
Partner's organization Code. Must be unique. UM will define an organization for each wholesale data partner, and assign IMSI and MSISDN to partner's organization. System will check if inputted MSISDN and IMSI have been assigned to partner's organization. If not, system will reject the request.
- Mock server
https://enterprise-iot-portal.u.com.my/_mock/datapartner/wholesale_data_complete/provStatusInquiry
- Sandbox Server
https://sandbox.zsmart.com/provStatusInquiry
- Production Server
https://api.zsmart.com/provStatusInquiry
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://enterprise-iot-portal.u.com.my/_mock/datapartner/wholesale_data_complete/provStatusInquiry \
-H 'Content-Type: application/json' \
-d '{
"access_token": "abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
"method": "getOrderStatus",
"version": "v1.0",
"content": {
"msgId": "WEB202504221200000001",
"trigerSource": "PTR_WD",
"orderItemId": "202404220001",
"org": "ORG_UM_PARTNER",
"msisdn": "60123456789"
}
}'
{ "res_code": "00000", "res_message": "Provisioning successful", "result": { "resultCode": "20001", "resultDescr": "Package activated successfully", "provStatus": 1 } }
Request
Zsmart to notify wholesale data partner the business provisioning result. MSISDN and SIM status maintenance: - After New Connection order archived, SPN will call SIC service to activate the resource for sync-up purpose: SIM = C (In Use), MSISDN = C (In Use).
- After Termination order archived, SPN will call SIC service to terminate the resource for sync-up purpose: SIM = D (Disable), MSISDN = T (Terminated).
- MSISDNs will be automatically recycled to the public pool as part of BAU. UM must manually transfer these recycled MSISDNs to the partner organization accordingly.
- No SIM recycle is handled by UM.
Asynchronous notification trigger time. Format: yyyy-MM-dd HH:mm:ss
Provisioning return code. Provisioning status. 0: Provisioning Success
Provisioning Response message from NE
orderItemId in wholesale data partner system. Numbers only, alphabet not supported. System will use orderItemId pair with trigerSource to be the unique key for order query. Zsmart SPN cannot do the unique validation on orderItemId since the validation will impact the performance. Need each partner to make sure the unique of orderItemId generated by itself.
- Mock server
https://enterprise-iot-portal.u.com.my/_mock/datapartner/wholesale_data_complete/synCallServiceActiveResult
- Sandbox Server
https://sandbox.zsmart.com/synCallServiceActiveResult
- Production Server
https://api.zsmart.com/synCallServiceActiveResult
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://enterprise-iot-portal.u.com.my/_mock/datapartner/wholesale_data_complete/synCallServiceActiveResult \
-H 'Content-Type: application/json' \
-d '{
"notifyTime": "2025-04-22 14:30:00",
"resultCode": "0",
"resultMsg": "Provisioning completed successfully.",
"orderItemId": "1234567890123456"
}'
{ "status": "success", "timestamp": "2025-04-22T14:30:01Z" }