下单
API-NAME: OrderCreate
Request
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
phone_number | 必填 | 手机号码 | 购买产品的手机号码 |
product_id | 必填 | 产品id | 可从产品列表的API获得,或登录后台在产品结算价查询 |
custom_number | 选填 | 自定义编号,长度50 | 对接方自定义,下单成功后原值返回,但不校验唯一性 |
serial_number | 选填 | 流水号,长度50 | 如有填写,校验唯一性,防止网络问题出现重复订单 |
notify_url | 选填 | 回调推送链接 | - |
重要提醒:
使用场景: 在出现网络延时或者劫持情况,请求方发出了一个下单请求,有可能本平台会接收到多个相同的请求,会造成本平台出现多张相同的订单。
校验原理: 使用API下单,传入此字段(serial_number),平台会校验流水号唯一性; 当重复请求发生时,会接受第一个请求,后续的请求会返回ack=failure,message=流水号重复。 若不传入serial_number或者传入为空,平台会使用平台单号作为流水号保存。
使用建议:
自定义编号(custom_number):不校验唯一性;
流水号(serial_number):校验唯一性。
以上二者根据对接方实际情况结合使用。
Response
名称 | 描述 | 取值说明 |
---|---|---|
order_number | 本平台订单号 | 成功后返回订单号 |
charge_amount | 订单结算价 | 返回当前订单的结算价格 |
shipping_status | 发货状态的值参考 | 下单成功只会返回1,下单请求可以无视此字段 |
shipping_status_desc | 发货状态的描述 | 对应shipping_status的文字描述,参考 |
custom_number | 自定义编号 | 按照所填写原样返回 |
serial_number | 流水号 | 请求传值且不为空,会原样返回;否则返回平台订单号 |
Example
{
"ack": "success", //下单成功是success,下单失败是failure
"message": "",
"code": "000",
"order_number": "LLW41.....",
"charge_amount": "1.00",
"shipping_status": 1,
"shipping_status_desc": "未充值",
"custom_number": "",
"serial_number": "LLW41.....",
}
结果回调
API-NAME: OrderNotify
在本平台订单处理结束后,也就是本平台订单状态处于结束状态时,且在调用下单接口时有传入notify_url参数时,本平台会把订单结果以POST或者GET形式推送到指定的notify_url,超时时间5秒,本平台不会对返回的信息进行判断。为了避免网络问题存在丢失,推送动作会重复三遍,每次相隔大概1-2分钟。
提示:
回调分开GET和POST两种方式,默认为GET。
登录到后台进行设置,在业务->账户->首页,找到API回调推送方式进行修改。
回调不对任何返回信息做要求,可以不返回数据。 在平台的后台有模拟回调的工具,请登录后台进行模拟回调,方便你开发回调接收的接口。
Header
API-USER-NAME: $USER_NAME
API-NAME: OrderNotify
API-TIMESTAMP: $TIMESTAMP
API-SIGNATURE: $SIGNATURE
名称 | 描述 | 取值说明 |
---|---|---|
API-USER-NAME | API调用的用户名 | 由本平台提供 |
API-NAME | 所请求的API名称 | 回调请求时为:OrderNotify |
API-TIMESTAMP | UNIX时间戳 | 2015-12-22 12:30:50+0800的时间戳为1450758650 |
API-SIGNATURE | 签名 | 签名方法,接收方可以用来验证推送者是否本平台 |
Body
GET的方式提现在URL上,会在所提供的回调推送地址中去除原有“?”后的参数,并会把以下参数进行urlencode出现在URL上。所以使用GET方式请不要在回调地址设置“?”后的参数。
POST的方式 body内容格式是multipart/form-data。(Python可用self.request.arguments)
名称 | 描述 | 取值说明 |
---|---|---|
order_number | 本平台订单号 | 成功后返回订单号 |
shipping_status | 发货状态的值 | 结束状态对应值,参考 |
shipping_status_desc | 发货状态的描述 | 对应shipping_status的文字描述,参考 |
shipping_status_message | 发货错误的描述 | - |
custom_number | 对接方自定义编号 | 按照下单所传原样返回 |
serial_number | 流水号 | 按照下单所传原样返回,若未传值则返回本平台单号 |
carrier_transaction_id | 透传流水号 | 存在则返回,否则为空字符串 |
查单
API-NAME: OrderQuery
Request
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
order_number | 二选一 优先order_number |
订单号 | 所查询的订单表 |
serial_number | 提交流水号 |
Response
名称 | 描述 | 取值说明 |
---|---|---|
order_number | 本平台订单号 | 成功后返回订单号 |
phone_number | 下单的手机号码 | |
charge_amount | 订单结算价 | 返回当前订单的结算价格 |
product_id | 订单的产品id | 可从产品列表的API获得,或登录后台在产品结算价查询 |
product_name | 订单的产品名称 | 产品列表 |
create_time | 订单创建时间 | |
shipping_status | 发货状态的值 | 为1、2、3、4几种值,参考 |
shipping_status_desc | 发货状态的描述 | 对应shipping_status的文字描述,参考 |
shipping_status_message | 发货错误的描述 | |
refund_flag | 退款标志 | 0、1两种,参考 |
refund_flag_desc | 退款标志的描述 | 对应refund_flag的文字描述,参考 |
custom_number | 对接方自定义编号 | 按照下单所传原样返回 |
serial_number | 流水号 | 按照下单所传原样返回,若未传值则返回本平台单号 |
Example
{
"ack": "success",
"message": "",
"code": "000",
"order": {
"order_number": "LLW41......",
"phone_number": "138....",
"charge_amount": "1.00",
"product_id": "150",
"create_time": "2016-09-07 22:21:30",
"shipping_status": "4",
"shipping_status_desc": "已充值",
"shipping_status_message": null,
"refund_flag": "0",
"refund_flag_desc": "无退款",
"custom_number": "",
"serial_number": "LLW41......"
}
}
产品列表
API-NAME: ProductQuery
Request
暂无参数
Response
名称 | 描述 | 取值说明 |
---|---|---|
product_id | 产品id | 可用于下单 |
product_name | 产品名称 | |
product_desc | 产品描述 | |
product_category | 产品分类 | |
product_price | 结算价 | 下单时结算的价格 |
carrier | 运营商 | 1 移动,2 联通,3 电信,4 视频会员 |
Example
{
"ack":"success",
"message":"",
"code":"000",
"product":[
{
"product_id":"1",
"product_name":"全国流量10M-3元",
"product_desc":"",
"product_category":"移动-流量-广东号码-全国流量-快充",
"product_price":"2.85",
"carrier":1
},
{
"product_id":"2",
"product_name":"全国流量30M-5元",
"product_desc":"",
"product_category":"移动-流量-广东号码-全国流量-快充",
"product_price":"4.75",
"carrier":1
}
]
}
余额查询
API-NAME: BalanceQuery
Request
暂无参数
Response
名称 | 描述 | 取值说明 |
---|---|---|
balance | 余额 | 当前可用余额 |
level | 等级 | 等级跟结算价有关 |
Example
{
"ack": "success",
"message": "",
"code":"",
"balance": "3.60",
"level": "2"
}
对账数据
API-NAME: BillQuery
Request
名称 | 描述 | 取值说明 |
---|---|---|
create_date | 日期 | 如:2017-02-22 |
日期说明,是订单在本平台创建的时间。 平台在每天的凌晨生成2天前的订单数据(例如当天为5号,则会生成3号的数据)。
Response
名称 | 描述 | 取值说明 |
---|---|---|
content | 文件内容 | 内容为base64编码 |
content内容说明:请求获得的content内容,进行base64 decode得到原始数据。 原始数据为纯文本内容,一行一个订单,订单每一列之间使用tab(制表符)分隔。
Example
{
"ack": "success",
"message": "",
"code":"000",
"content": "xxxxxxxx"
}