Home
Support
SMS API
Sign Signature Rule
Generate Signature: Put API Key+API Secret + Timestamp(second) into string with 32 bit MD5 format.(Case Insensitive)For Example:
-
Parameters
Put API Key:bDqJFiq9API Secret:7bz1lzh9 Timestamp(second):1630468800 -
Method
MD5(bDqJFiq97bz1lzh91630468800)
-
Sign
05d7a50893e22a5c4bb3216ae3396c7c
Request Header Parameters:
| Header Parameter | Description | Type |
|---|---|---|
| Content-Type | application/json;charset=UTF-8 | String |
| Sign | Signature with encryption | String |
| Timestamp | Current system time stamp (second), it should be within half an hour of the system time | String |
| Api-Key | Setting -Account -API Management- API KEY | String |
status
Response status code description:
| status | reason |
|---|---|
| 0 | success |
| -1 | authentication error |
| -2 | IP access limited |
| -3 | SMS contents with sensitive characters |
| -4 | SMS content is empty |
| -5 | SMS content is over the length |
| -6 | SMS contents are out of template |
| -7 | numbers are over the limitation |
| -8 | number is empty |
| -9 | numbers are abnormal |
| -10 | insufficient balance which unable to support the task |
| -11 | incorrect timing format |
| -12 | due to platform issue, bulk submission has been failed, please contact Admin |
| -13 | users has been locked |
| -14 | field is empty or inquiry id is abnormal |
| -15 | query too frequently |
| -16 | timestamp expires |
| -17 | SMS template can not be empty |
| -18 | port program unusual |
| -19 | please contact our account manager for your SMS journey after the authentication |
Sending Messages
-
interface name
sendSMS
-
Description
The protocol is used to send SMS, supporting single number or multiple numbers
-
Request Method
Support GET or POST, GET can support 100 numbers once, POST can support 1000 numbers once
request URL:
Request Parameters Description:
| Parameters | Description | Required | type |
|---|---|---|---|
| appId | App ID (Account Management – App Management -appId properties) | Yes | String |
| numbers | receiving number, multiple numbers should be separated with comma GET can support 100 numbers once, POST can support 1000 numbers once) | Yes | String |
| content | SMS content,length should not be over the 1024 characters.(GET should use urlEncode) | Yes | String |
| senderId | sender number(name) | No | String |
Sample:use GET request to send content “hello world”:
Request URL:https://api.onbuka.com/v3/sendSms?appId=4luaKsL2&numbers=91856321412,91856321413&content=hello%20word&senderId=123
Request Method: GET
Request Headers:
Content-Type: application/json;charset=UTF-8
Sign: 05d7a50893e22a5c4bb3216ae3396c7c
Timestamp: 1630468800
Api-Key: bDqJFiq9Sample:use POST request to send content “hello world”:
Request URL: https://api.onbuka.com/v3/sendSms
Request Method:POST
Request Headers:
Content-Type: application/json;charset=UTF-8
Sign: 05d7a50893e22a5c4bb3216ae3396c7c
Timestamp: 1630468800
Api-Key: bDqJFiq9
Request Body:
{
"appId": "4luaKsL2",
"numbers": "91856321412,91856321413",
"content": "hello world",
"senderId": "123"
}Response Parameters Description:
| Parameters | Description | type |
|---|---|---|
| status | ”0”means successful,others than 0 means failure ,seeing Status code description. | String |
| reason | failure reason description | String |
| success | number of successful submitted numbers | String |
| fail | number of failure submitted numbers | String |
| array | the number of Successful Submitted Array. | JSONArray |
| msgId | submitted numbers id corresponding to platform | String |
| number | submitted numbers | String |
Note:After submitting messages successfully,system will generate one msgld correspond with each successful submission numbers.
Clients can use the msgld to check the number submission result.
Response Sample:
{
"status": "0",
"reason": "success",
"success": "2",
"fail": "0",
"array":[
{
"msgId": "2108021054011000095",
"number": "91856321412"
},
{
"msgId": "2108021059531000096",
"number": "91856321413"
}
]
}Balance Query
-
interface name
getBalance
-
Description
The protocol is used to get account balance
-
Request Method
GET
Request URL:
Request Sample:
Request URL: https://api.onbuka.com/v3/getBalance
Request Method: GET
Request Headers: Content-Type: application/json;charset=UTF-8
Sign: 05d7a50893e22a5c4bb3216ae3396c7c
Timestamp: 1630468800
Api-Key: bDqJFiq9Response Parameters Description:
| Parameters | Parameters | type |
|---|---|---|
| status | ”0”means successful,others than 0 means failure ,seeing Status code description. | String |
| reason | failure reason description | String |
| balance | actual account balance | String |
| gift | gifted account balance | String |
Response Sample:
{
"status": "0",
"reason": "success",
"balance": "99.990000",
"gift": "50.00000"
}Get Report
-
interface name
getReport
-
Description
The protocol is used to query the submission result of specific msgId array
-
Request Method
GET
Request URL:
Request Parameters Description:
| Parameters | Description | Required | type |
|---|---|---|---|
| appId | App ID (Account Management – App Management -appId properties) | Yes | String |
| msgIds | platform id returned by sendsms protocol response.multiple id should be separated with comma.200 msgId query can be supported once. | Yes | String |
Request Sample:
Request URL:https://api.onbuka.com/v3/getReport?appId=4luaKsL2&msgIds=2108021054011000095,2108021059531000096
Request Method: GET
Request Headers: Content-Type: application/json;charset=UTF-8
Sign: 05d7a50893e22a5c4bb3216ae3396c7c
Timestamp: 1630468800
Api-Key: bDqJFiq9Response Parameters Description:
| Response Parameters Description: | Description | type |
|---|---|---|
| status | ”0”means successful,others than 0 means failure ,seeing Status code description. | String |
| reason | failure reason description | String |
| success | number of successful submitted messages | String |
| fail | number of failure submitted messages | String |
| sending | number of sending messages | String |
| nofound | The number of nofound messages by ID | String |
| array | json array with submission results | JSONArray |
| msgId | submitted numbers id corresponding to platform | String |
| number | submitted nunbers | String |
| receiveTime | receive time ISO8601 standard tine format (2021-02-12T09:30:03+08:00) | String |
| status | messages status:0 sent successfully,2:sent failed | String |
Response Sample:
{
"status": "0",
"reason": "success",
"success": "2",
"fail": "0",
"sending": "0",
"nofound": "0",
"array":[
{
"msgId":"2108021054011000095",
"number":"91856321412",
"receiveTime":"2021-02-12T09:30:03+08:00",
"status":"0"
},
{
"msgId":"2108021059531000096",
"number":"91856321413",
"receiveTime":"2021-02-12T09:30:03+08:00",
"status":"0"
}
]
}Get SMS Report by Time Slot
-
interface name
getSentRcd
-
interface name
The protocol is used to get SMS report by time slot(from beginning time to ending time)
-
Request Method
GET
Request URL:
Request Parameters Description:
| Parameters | Description | Required | type |
|---|---|---|---|
| appId | App ID (Account Management – App Management -appId properties) | Yes | String |
| startTime | beginning time of query,ISO8601 standard time format UrlEncode(2021-02-12T00:00:00+08:00) | Yes | String |
| endTime | ending time of query,ISO8601 standard time format UrlEncode(2021-02-12T23:59:59+08:00) | Yes | String |
| startIndex | The starting subscript of the query ( Max 50,000 results can be returned by one query as default.This function and be used for multiple queries when results over 50,000) | No(Default 0) | Int |
Request Sample:
Request Method: GET
Request Headers: Content-Type: application/json;charset=UTF-8
Sign: 05d7a50893e22a5c4bb3216ae3396c7c
Timestamp: 1630468800
Api-Key: bDqJFiq9
Response parameters description:
| parameters | description | 类型 |
|---|---|---|
| status | ”0”means successful,others than 0 means failure ,seeing Status code description. | String |
| reason | failure reason description | String |
| success | number of successful submitted messages | String |
| fail | number of failure submitted messages | String |
| array | json array with submission results | JSONArray |
| msgId | submitted numbers id corresponding to platform | String |
| number | submitted nunbers | String |
| receiveTime | receive time ISO8601 standard tine format (2021-02-12T09:30:03+08:00) | String |
| status | messages status:0 sent successfully,2:sent failed | String |
Response parameters description:
{
"status":"0",
"reason":"success",
"success":"2",
"fail":"0",
"array":[
{
"msgId":"2108021054011000095",
"number":"91856321412",
"receiveTime":"2021-02-12T09:30:03+08:00",
"status":"0"
},
{
"msgId":"2108021059531000096",
"number":"91856321413",
"receiveTime":"2021-02-12T09:30:03+08:00",
"status":"0"
}
]
}Get SMS Report Pushed by Skline Platform
-
Description
user has set http address in the“account-app management” to receive the report, messages status reports will be pushed to user by SKYLINE platform.
-
Push Method
POST
-
Push URL
address set by users
Push Parameters Description:
Request URL:Http address set by users
Request Method: POST
Request Headers: Content-Type: application/json;charset=UTF-8
Request Body:
{
"appId":"4luaKsL2",
"msgId":"2108021059531000096",
"mobile":"91856321413",
"status":"0",
"timestamp":"1629801177192"
}Push Parameters Description:
| Parameters | Description | Required | type |
|---|---|---|---|
| appId | App ID (Account Management – App Management -appId properties) | Yes | String |
| msgId | submitted numbers id corresponding to platform | Yes | Long |
| mobile | submitted nunbers | Yes | String |
| status | messages status:0 sent successfully,2:sent failed | Yes | Int |
| timestamp | sent timestamp(millisecond) | Yes | Long |
Push Sample:
Sign Signature Rule
Generate Signature: Put API Key+API Secret + Timestamp(second) into string with 32 bit MD5 format.(Case Insensitive)For Example:
-
Parameters
Put API Key:bDqJFiq9API Secret:7bz1lzh9 Timestamp(second):1630468800 -
Method
MD5(bDqJFiq97bz1lzh91630468800)
-
Sign
05d7a50893e22a5c4bb3216ae3396c7c
Request Header Parameters:
| Header Parameter | Description | Type |
|---|---|---|
| Content-Type | application/json;charset=UTF-8 | String |
| Sign | Signature with encryption | String |
| Timestamp | Current system time stamp (second), it should be within half an hour of the system time | String |
| Api-Key | Setting -Account -API Management- API KEY | String |
status
Response status code description:
| status | reason |
|---|---|
| 0 | success |
| -1 | authentication error |
| -2 | IP access limited |
| -3 | SMS contents with sensitive characters |
| -4 | SMS content is empty |
| -5 | SMS content is over the length |
| -6 | SMS contents are out of template |
| -7 | numbers are over the limitation |
| -8 | number is empty |
| -9 | numbers are abnormal |
| -10 | insufficient balance which unable to support the task |
| -11 | incorrect timing format |
| -12 | due to platform issue,bulk submission has been failed,please contact Admin |
| -13 | users has been locked |
| -14 | Field is empty or inquiry id is abnormal |
| -15 | query too frequently |
| -16 | timestamp expires |
| -17 | SMS template can not be empty |
| -18 | port program unusual |
| -19 | Please contact our Account Manager for your SMS Journey after the authentication |
Sending Messages
-
interface name
sendSms
-
Description
The protocol is used to send SMS, supporting single number or multiple numbers
-
Request Method
Support GET or POST,GET can support 100 numbers once ,POST can support 1000 numbers once
request URL:
Request Parameters Description:
| Parameters | Description | Required or not | type |
|---|---|---|---|
| appId | App ID (Account Management - App Management -appId properties) | Yes | String |
| numbers | receiving number,multiple numbers should be separated with comma GET can support 100 numbers once ,POST can support 1000 numbers once) | Yes | String |
| content | SMS content,length should not be over the 1024 characters.(GET should use urlEncode) | Yes | String |
| senderId | sender number(name) | No | String |
Sample:use GET request to send content “hellow word”:
Sample:use POST request to send content “hellow word”:
Response Parameters Description:
| Parameters | Description | type |
|---|---|---|
| status | ”0”means successful,others than 0 means failure ,seeing Status code description. | String |
| reason | failure reason description | String |
| success | number of successful submitted numbers | String |
| fail | number of failure submitted numbers | String |
| array | the number of Successful Submitted Array. | JSONArray |
| msgId | submitted numbers id corresponding to platform | String |
| number | submitted numbers | String |
Note:After submitting messages successfully,system will generate one msgld correspond with each successful submission numbers.
Clients can use the msgld to check the number submission result.
Response Sample:
Balance Query
-
interface name
getBalance
-
Description
The protocol is used to get account balance
-
Request Method
GET
Request URL:
Request Sample:
Response Parameters Description:
| Parameters | Parameters | type |
|---|---|---|
| status | ”0”means successful,others than 0 means failure ,seeing Status code description. | String |
| reason | failure reason description | String |
| balance | failure reason description | String |
| gift | gifted account balance | String |
Response Sample:
Get Report
-
interface name
getReport
-
Description
The protocol is used to query the submission result of specific msgId array
-
Request Method
GET
Request URL:
Request Parameters Description:
| Parameters | Description | Required or not | type |
|---|---|---|---|
| appId | App ID (Account Management - App Management -appId properties) | Yes | String |
| msgIds | platform id returned by sendsms protocol response.multiple id should be separated with comma.200 msgId query can be supported once. | Yes | String |
Request Sample:
Response Parameters Description:
| Response Parameters Description: | Description | type |
|---|---|---|
| status | ”0”means successful,others than 0 means failure ,seeing Status code description. | String |
| reason | failure reason description | String |
| success | number of successful submitted messages | String |
| fail | number of failure submitted messages | String |
| sending | number of sending messages | String |
| nofound | The number of nofound messages by ID | String |
| array | json array with submission results | JSONArray |
| msgId | submitted numbers id corresponding to platform | String |
| number | submitted nunbers | String |
| receiveTime | receive time ISO8601 standard tine format (2021-02-12T09:30:03+08:00) | String |
| status | messages status:0 sent successfully,-1:sending,1:sent failed | String |
Response Sample:
Get SMS Report by Time Slot
-
interface name
getSentRcd
-
interface name
The protocol is used to get SMS report by time slot(from beginning time to ending time)
-
Request Method
GET
Request URL:
Request Parameters Description:
| Parameters | Description | Required or not | type |
|---|---|---|---|
| appId | App ID (Account Management - App Management -appId properties) | Yes | String |
| startTime | beginning time of query,ISO8601 standard time format UrlEncode(2021-02-12T00:00:00+08:00) | Yes | String |
| endTime | ending time of query,ISO8601 standard time format UrlEncode(2021-02-12T23:59:59+08:00) | Yes | String |
| startIndex | The starting subscript of the query ( Max 50,000 results can be returned by one query as default.This function and be used for multiple queries when results over 50,000) | NO(Default 0) | Int |
Request Sample:
Response parameters description:
| parameters | description | 类型 |
|---|---|---|
| status | ”0”means successful,others than 0 means failure ,seeing Status code description. | String |
| reason | failure reason description | String |
| success | number of successful submitted messages | String |
| fail | number of failure submitted messages | String |
| array | json array with submission results | JSONArray |
| msgId | submitted numbers id corresponding to platform | String |
| number | submitted nunbers | String |
| receiveTime | receive time ISO8601 standard tine format (2021-02-12T09:30:03+08:00) | String |
| status | messages status:0 sent successfully,-1:sending,1:sent failed | String |
Response parameters description:
Get SMS Report Pushed by Skline Platform
-
Description
user has set http address in the“account-app management” to receive the report, messages status reports will be pushed to user by SKYLINE platform.
-
Push Method
POST
-
Push URL
address set by users
Push Parameters Description:
Push Parameters Description:
| Parameters | Description | Required or not | type |
|---|---|---|---|
| appId | App ID (Account Management - App Management -appId properties) | Yes | String |
| msgId | submitted numbers id corresponding to platform | Yes | Long |
| mobile | submitted nunbers | Yes | String |
| status | messages status:0 sent successfully,-1:sending,1:sent failed | Yes | Int |
| timestamp | sent timestamp(millisecond) | Yes | Long |





