订单审核接口
接口提供方
该接口由燃豆提供给开发者
接口说明
该接口用于审核在燃豆积分商城中产生且需要人工审核的订单,开发者可将该接口集成到自己的系统中实现兑换订单的审核。
使用场景
- 当用户在燃豆积分商城中发起兑换操作时;
- 燃豆服务端会发起积分预扣请求到开发者服务端,该请求中包含了need_review字段用于标记该笔兑换订单是否需要人工审核;
- 开发者可使用该接口对需要人工审核的订单发起审核操作,包括审核通过和审核不通过。
参数说明
该接口除了公共必传参数外,还包括以下参数:
参数 | 是否必须 | 类型[长度限制] | 说明 |
---|---|---|---|
orderNo | 否 | string[18,20] | 由燃豆生成的兑换订单号,如T575276639039344640,在预扣积分请求中会一并传递,orderNo和bizNo两个参数必传至少一个,建议两个都传 |
bizNo | 否 | string[10,32] | 由开发者生成的订单号,orderNo和bizNo两个参数必传至少一个,建议两个都传 |
pass | 是 | int | 审核结果:枚举值,1表示审核通过,2表示审核不通过 |
reason_type | 否 | int | 审核不通过的原因类别编号,枚举值,仅pass传2时有意义,默认为1,查看全部类别 |
reason_detail | 否 | string[0,158] | 审核不通过的文字描述,仅pass传2时有意义 |
reason_display | 否 | int | 审核不通过的文字描述是否给用户可见,仅pass传2时有意义。枚举值,1表示可见,2表示不可见,默认为1 |
审核不通过的原因
编号 | 原因类别 |
---|---|
1 | 商品库存不足 |
2 | 用户违规兑换 |
3 | 用户账号异常 |
4 | 其他 |
响应示例
正确返回值(http返回码为200)
{
orderNo: "T575276639039344640", // 由燃豆生成的兑换订单号
bizNo: "xxxxxxxxxxxxx" // 由开发者生成的订单号
}
错误返回值示例(http返回码为非200)
{
code: 100101,
error: "WRONG STAGE"
}
注意事项
- 该接口只能用于当前待审核的订单,订单审核事项介绍,请查看《燃豆产品文档》;
- 审核操作无法撤销,请谨慎审核;
- 如发货成功后需要修改快递信息,可前往开发者后台找到对应订单进行修改。
代码示例
PHP
use Randou\Exception\RdException;
use Randou\RdClient;
use Randou\RdClientBuilder;
use Randou\OrderReviewConstants;
$appid = 'aaaaaaaaaaaaaaaaaaaaaaaa';
$appsecret = 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';
// 审核通过参数示例
$pass_params = [
'orderNo' => 'T575276639039344640',
'bizNo' => 'xxxxxxxxxxxxx',
'pass' => OrderReviewConstants::PASS,
];
// 审核不通过参数示例
$unpass_params = [
'orderNo' => 'T575276639039344640',
'bizNo' => 'xxxxxxxxxxxxx',
'pass' => OrderReviewConstants::UNPASS,
'reason_type' => 2,
'reason_detail' => '这里是审核不通过的文字描述'
'reason_display' => 1,
];
try {
$client = RdClientBuilder::getClient($appid, $appSecret);
// 切换到沙箱环境
// $client->setDebug(true);
$result = $client->review($pass_params)->getDataSet();
} catch (RdException $e) {
print_r($e);
}
JAVA
import com.randou_tech.ClientBuilder;
import com.randou_tech.RdClient;
import com.randou_tech.RdException;
import com.randou_tech.result.Result;
import com.randou_tech.request.order.OrderReviewRequest;
import com.randou_tech.model.Order;
String appid = "aaaaaaaaaaaaaaaaaaaaaaaa";
String appsecret = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";
String orderNo = "T575276639039344640";
String bizNo = "xxxxxxxxxxxxx";
OrderReviewRequest request = new OrderReviewRequest();
request.setOrderNo(orderNo).setBizNo(bizNo);
// 审核通过示例
request.pass();
// 审核不通过示例
request.unPass().setReasonType(2).setReasonDetail("这里是审核不通过的文字描述").setReasonDisplay(2);
RdClient rdClient = ClientBuilder.build(appid, appsecret);
// 切换到沙箱环境
// rdClient.setDebug(true);
try {
Result<Order> hr = rdClient.orderReview(request);
if (hr.isSuc()) {
System.out.println("审核成功");
System.out.println(hr.getData().getDst());
} else {
System.out.println("审核失败");
System.out.println(hr.getError());
}
} catch (RdException e) {
e.printStackTrace();
}