订单审核接口

接口提供方

该接口由燃豆提供给开发者

接口说明

该接口用于审核在燃豆积分商城中产生且需要人工审核的订单,开发者可将该接口集成到自己的系统中实现兑换订单的审核。

使用场景

  1. 当用户在燃豆积分商城中发起兑换操作时;
  2. 燃豆服务端会发起积分预扣请求到开发者服务端,该请求中包含了need_review字段用于标记该笔兑换订单是否需要人工审核;
  3. 开发者可使用该接口对需要人工审核的订单发起审核操作,包括审核通过和审核不通过。

参数说明

该接口除了公共必传参数外,还包括以下参数:

参数是否必须类型[长度限制]说明
orderNostring[18,20]由燃豆生成的兑换订单号,如T575276639039344640,在预扣积分请求中会一并传递,orderNo和bizNo两个参数必传至少一个,建议两个都传
bizNostring[10,32]由开发者生成的订单号,orderNo和bizNo两个参数必传至少一个,建议两个都传
passint审核结果:枚举值,1表示审核通过,2表示审核不通过
reason_typeint审核不通过的原因类别编号,枚举值,仅pass传2时有意义,默认为1,查看全部类别
reason_detailstring[0,158]审核不通过的文字描述,仅pass传2时有意义
reason_displayint审核不通过的文字描述是否给用户可见,仅pass传2时有意义。枚举值,1表示可见,2表示不可见,默认为1

审核不通过的原因

编号原因类别
1商品库存不足
2用户违规兑换
3用户账号异常
4其他

响应示例

正确返回值(http返回码为200)


{
    orderNo: "T575276639039344640",   // 由燃豆生成的兑换订单号
    bizNo: "xxxxxxxxxxxxx"   // 由开发者生成的订单号
}

错误返回值示例(http返回码为非200)

{
    code: 100101,
    error: "WRONG STAGE"
}

注意事项

  1. 该接口只能用于当前待审核的订单,订单审核事项介绍,请查看《燃豆产品文档》
  2. 审核操作无法撤销,请谨慎审核;
  3. 如发货成功后需要修改快递信息,可前往开发者后台找到对应订单进行修改。

代码示例

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();
}