文档
测试

3.查询小票图片信息

POST
http://auditopenapitest.escase.cn/api/order/query

接口描述

此接口为审核结果查询接口,参数提交后,接口进行签名校验和消息体解密操作,解密后解析查询单号参数,根据单号查询订单审核信息,将审核结果响应调用者,这里的审核结果是经过AES256加密以后转为Base64赋值在响应对象的【Result】节点;调用者接受到消息后,请先对响应结果做签名校验,签名校验后反解密响应对象的【Result】节点,解析审核结果;

请求参数

参数名
类型
描述
必填
Appid
long
公共参数-接入方APPID,由接口提供方提供,示例:10060
必填
Timestamp
long
公共参数-时间戳(10位,示例:1596624142)
必填
Sign
string
公共参数-签名(方式见【签名计算】文档)
必填
Message
string
公共参数-消息体(请求参数的集合,除公共参数外所有请求参数都必须放在这个参数中传递)--AES256加密以后Base64
必填

消息体(Message包体内容)

参数名
类型
描述
必填
OrderNo
string
订单编号,下单时的订单编号
必填

响应参数

参数名
类型
描述
必填
Code
int
返回码:0 为成功,其他为失败
必填
Message
string
返回码描述
必填
Timestamp
long
-时间戳(10位,示例:1596624142)
必填
Sign
string
签名(方式见【签名计算】文档)
必填
Result
string
消息体,结果集消息体,数据是经过aes加密后转base64的,加密方式请参考【消息体加密】文档
必填

说明 / 示例

``` #region 订单查询 /// <summary> /// 订单查询 /// </summary> /// <param name="orderNo">订单编号</param> /// <returns></returns> [HttpGet] public async Task<OrderResonse> QueryOrder(string orderNo) { string requestUrl = apiUrl + "query"; _logger.LogInformation("订单查询"); QueryOrderInputDto queryOrder = new QueryOrderInputDto { OrderNo = orderNo }; OrderRequest orderRequest = new OrderRequest { Appid = appid, Message = AesHelper.Encrypt(queryOrder.ToJsonString(), aesKey).ToUrlEncode() }; orderRequest.Sign = SignRequest(orderRequest, aesKey); //请求参数进行签名计算 //进行数据查询 var result = await PostAsync(requestUrl, orderRequest); OrderResonse orderResonse = result.FromJsonString<OrderResonse>(); var mysign = SignRequest(orderResonse, aesKey); // 根据响应结果计算一个我的签名 var checkSign = mysign.Equals(orderResonse.Sign); //进行签名校验 if (checkSign) { var decryptJson = AesHelper.Decrypt(orderResonse.Result, aesKey); // 对响应结果进行消息解密,拿到审核结果内容 if (!string.IsNullOrWhiteSpace(decryptJson)) { var auditResultResponse = decryptJson.FromJsonString<AuditResultResponse>(); // 反序列化成审核对象值 if (null != auditResultResponse) { orderResonse.Message = decryptJson; } else { orderResonse.Message = "审核结果为空"; } } else { orderResonse.Message = "参数错误,消息体Message解密失败"; } } else { orderResonse.Message = "签名错误"; } return orderResonse; } #endregion ``` 订单审核结果对象定义如下: ``` /// <summary> /// 订单审核结果对象 /// </summary> public class AuditResultResponse { /// <summary> /// 订单编号 /// </summary> public string OrderCode { get; set; } /// <summary> /// 订单类型标识 (项目端标识,1、业务员、2、店主、3、店主申斥等) /// </summary> public int OrderType { get; set; } /// <summary> /// 审核状态 -1 作废 1 成功 /// </summary> public int AuditStatus { get; set; } /// <summary> /// 审核通过原因 /// </summary> public string SuccessReason { get; set; } /// <summary> /// 审核作废原因 /// </summary> public string FailReason { get; set; } /// <summary> /// 是否重传订单 /// </summary> public int IsRePush { get; set; } /// <summary> /// 重传订单时间戳标识 /// </summary> public string RePushTick { get; set; } /// <summary> /// 审核通过原因 /// </summary> public List<AuditCallBackGroupReasonResponse> SuccessReasonList { get; set; } /// <summary> /// 审核失败原因 /// </summary> public List<AuditCallBackGroupReasonResponse> FailReasonList { get; set; } /// <summary> /// 图片分组审核信息 /// </summary> public List<AuditCallBackImgGroupResponse> ImgGroupAuditData { get; set; } /// <summary> /// 小票订单信息Json /// </summary> public JObject OrderAuditJson { get; set; } /// <summary> /// 订单备注 /// </summary> public string OrderRemark { get; set; } } /// <summary> /// 审核回发组原因 /// </summary> public class AuditCallBackGroupReasonResponse { /// <summary> /// 原因类型 为项目端服务, 1:通过, -1:作废 /// </summary> public int ReasonType { get; set; } /// <summary> /// 原因类型名称 通过/作废 /// </summary> public string ReasonTypeName { get; set; } /// <summary> /// 原因id /// </summary> public long ReasonId { get; set; } /// <summary> /// 原因 /// </summary> public string ReasonName { get; set; } } /// <summary> /// 审核回发审核图片组信息 /// </summary> public class AuditCallBackImgGroupResponse { /// <summary> /// 分组编号 /// </summary> public int GroupId { get; set; } /// <summary> /// 分组名称 /// </summary> public string GroupName { get; set; } /// <summary> /// 审核信息 /// </summary> public List<AuditCallBackGroupReasonResponse> AuditJson { get; set; } } ```