# 订单扩展信息查询

# 1.概述

通过【订单扩展信息查询】接口,客户平台可以查询获取【订单详情接口】中不包含的扩展信息,目前仅支持查询订单餐券信息。

# 2.接口基本信息

名称 描述
请求方式 POST
调用地址 测试环境:https://waimai-openapi.apigw.test.meituan.com/api/sqt/open/order/queryExtraInfo
正式环境:https://bep-openapi.meituan.com/api/sqt/open/order/queryExtraInfo
调用方 客户平台
响应方 美团企业版
响应超时时间 5秒
调用限频 每分钟访问不超过100次,每天累计访问不超过100000次

# 2.1.请求体

名称 类型 是否必填 示例 说明
accessKey String B3GFJIEHNEM1RLV-TK 美团企业版分配给客户的接入秘钥
content String UgxoCGPQIzoP 请求体内容,将请求参数JSON序列化后进行加密的结果值,
参照:签名实例

# content加密前数据结构

名称 类型 是否必填 示例 说明
ts Long 1617085650321 13位时间戳。若请求发起时间与平台接受请求时间相差大于10分钟,平台将直接拒绝本次请求
entId Long 46574 企业ID
sqtBizOrderIdList List<Long> [12456] 美团企业版订单ID列表
scopeList List<String> ["multiStaffPay"] 查询数据类型范围,目前仅一个枚举值multiStaffPay,表示查询餐券信息

# 2.2.响应参数

名称 类型 是否必填 示例 说明
traceId String 56a0af18ae30a168d4006c7c 日志查询ID,用于排查问题
status Integer 0 接口响应编码,编码枚举值和解决方案详见第四章错误码
msg String 错误描述信息
data String UgxoCGPQIzoP 响应数据,将响应参数JSON序列化后进行加密的结果值,解密秘钥使用secretKey参数

# data解密后数据结构

名称 类型 是否必填 示例 说明
data List<OrderExtraInfoDTO> - 餐券信息

OrderExtraInfoDTO字段说明

名称 类型 是否必填 示例 说明
sqtBizOrderId Long 314442083816943618 美团企业版订单ID
multiStaffPayRecordList List<MultiStaffPayRecordDTO> - 餐券信息列表

MultiStaffPayRecordDTO字段说明

名称 类型 是否必填 示例 说明
staffName String 张三 员工姓名
staffNum String 42367 员工工号
staffId Long 54576984 美团企业版员工ID
orgNamePath String 美团-XX事业部-XX 部门名称路径,从公司层级开始到员工直属部门
ruleName String 加班餐券 餐券名称
roleName String 共享人 角色,值范围"共享人","被共享人","-"
payAmount String 23.45 支付金额,单位元,精确到小数点后两位(包含服务费)
refundAmount String 10.00 退款金额,单位元,精确到小数点后两位(包含服务费)
realtimeServiceFeePayAmount String 0.00 随单收服务费支付金额,单位元,精确到小数点后两位
realtimeServiceFeeRefundAmount String 0.00 随单收服务费退款金额,单位元,精确到小数点后两位
payTime Long 1686541770000 支付时间,13位时间戳
refundTime Long 1686541787000 退款时间,13位时间戳

# 3.示例

# 3.1.请求示例

# 3.1.1.请求示例

{
  "accessKey": "B3GFJIEHNEM1RLV-TK",
  "content": "rrOafExAmd7POx0y3djGgzmRVBAcAZmz8l0c2U8iqujkyexkJsI3-UIzDSJRRXaI4tIHjBFZBJUSkeRxHuSc0XxRVloiNXsJgjjsj02Zg1vpDgsC4JpnDRUhLJ2fguXaNh4tZyjhYYgM_T9GcdtqO_nLl6wCqlx2s1oyt9yU004"
}

# 3.1.2.请求参数content解析

{
  "ts": 1617085650321,
  "entId": 46574,
  "sqtBizOrderIdList": [1691740104994852942,1673969421665701977],
  "scopeList": ["multiStaffPay"]
}

# 3.2.响应示例

# 3.2.1.响应结果

{
  "traceId": "56a0af18ae30a168d4006c7c",
  "status": 0,
  "data": "JLI7ytKbnotEapggt1QhNlM88_wOkjgGU9O9_dhxCWGiPuJBPbcfaCTNzoLjFFXZA1Y2QshttgoDs_KfzS-QdwsHqkEHZav1jm4i4h_Fxj5Gg_R14lUHYy3IvDyn8BmvCaDOSOpg9Knng5jy5ksIw1RANyDkRCPMFfv9nj0zHtj_wzB02metUpPy0jm3dLcFmduU4Rxkd1yXBUhKv83_z-0s6xkfKrGqv_jw8-jyQ_w9Tj0E_Q56VABYcby0oaOn_XYBljMN_d5XdIeonyEozU3Hrvyju377dWrPXKSvbr5UHrwIUM1QoFz7uYmjRzXo7F8WYWHYCl-rdT0tL-ZyPsSx11WcX7mJHM8wxM9b8pDTe0Sqb5kjrzYSSnRem9EvDIAPolY7K_ctGf3CrFlIQaHGmA__ERGmezYwRjXDiVoK1EDJDg-T-OZeTS_4UIO9Wy9jlCp-5J9073fm4RnE1u5Zw1B13jvjJU0Wx1EKRoB8Asvu1uO6yTEfkk9zRPSVc6Sny6TiAyF6IRYg_uz8E1WW6i5dgVcbHmacp1ivh-hfQ_W23xjE4TcN5mIqMMPEIfxmB3WWSev_qcmWujDDndsxQeSy-OcqwYjIS3T2e58mXw0U3Pss8X9917AM4l8gvk6lj482QnmgXRWMB7wA_X3l964nwmJs5rIoju7EZ36rZQDtF3QESE92gQxHf9M4BQkIJVgZQh5A2edkqcr2mPnDsm8cqwlm9is88bp2d_1P5XnY8hNuxiwGzFxXEZG_Wkrj7c33mgVEbpFwkaz8yiGGzwcxcUHB5djJRNmRkwqtazSQcJkkqdLa5duVwx43CpEimg_qKmKwqQLU0_4XzH6-GSPQeRXH6T94g2FbUpEJNTZoJLRrGZwfOdCqVup6qN8QrwMnM8dMwgurtTv33LS2dFF8PiskW5btppO22HcBuBMGeDcuEO1j3Dg2oL7v14xxHEmj1CeTh1Tr_8Gp_g"
}

# 3.2.2.响应参数data解析

{
  "status": 0,
  "message": null,
  "data": [{
    "sqtBizOrderId": 1691740104994852942,
    "multiStaffPayRecordList": [{
      "staffName": "测试2",
      "staffNum": "",
      "staffId": 20224256,
      "orgNamePath": "用餐规则测试",
      "ruleName": "测试",
      "roleName": "-",
      "payAmount": "50.00",
      "refundAmount": null,
      "realtimeServiceFeePayAmount": null,
      "realtimeServiceFeeRefundAmount": null,
      "payTime": 1692177355000,
      "refundTime": null
    }]
  }, {
    "sqtBizOrderId": 1668102407743082520,
    "multiStaffPayRecordList": [{
      "staffName": "测试1",
      "staffNum": "",
      "staffId": 20224006,
      "orgNamePath": "用餐规则测试",
      "ruleName": "自建餐补2",
      "roleName": "-",
      "payAmount": "30",
      "refundAmount": "30",
      "realtimeServiceFeePayAmount": "2.73",
      "realtimeServiceFeeRefundAmount": "2.73",
      "payTime": 1686541770000,
      "refundTime": 1686541787000
    }]
  }]
}

# 4.错误码

# 4.1.公共错误码

错误码 错误描述 解决方案
10010002 企业已停止合作,请联系客户经理进行确认 将接口调用的entId参数给到客户经理,由客户经理确认企业状态是否在合作中
10010003 content不合法 详细阅读content参数加密说明(签名实例),确认content加密方式和content解密前传参是否正确
10010004 ts缺失或ts时间已过期 确认ts是否传值并为13位时间戳,如果正确传值,则确认请求发起时间与美团接受请求的时间差是否超过10分钟
10010005 entId不能为空 entId参数不可为空,如果未拿到entId参数,可以咨询客户经理获取
20010001 accessKey不合法 检查accessKey是否为客户经理给到的值,如果accessKey值正确,确认调用环境是否和accessKey一致,如使用测试环境的accessKey调用线上的接口
20010002 请求path不合法 检查接口调用地址是否正确,如是否有非法字符
20010003 鉴权失败,无接口访问权限 将接口调用地址给到客户经理,由客户经理检查接口权限是否开通并保存成功
20010004 越权访问,无法访问该企业数据,请检查entId的正确性 检查accessKey和entId两个参数的对应关系是否正确
30010001 访问频率过高 请确认接口访问频率,每个接口默认调用限频为每分钟不超过100次,超出调用频率会调用此错误
30010002 访问次数超过配额 请确认接口的累计访问次数,每个接口的默认累计调用量为10w次,超出限额则会报错

# 4.2.业务错误码

错误码 错误描述 解决方案
10210000 参数异常 请根据msg中内容排查传值情况,确认必填字段是否传值,如entId、sqtBizOrderIdList是否传值
10210001 参数不匹配 请根据msg中内容排查传值情况,确认字段传值是否正确,如scopeList在值范围中不存在
10210003 参数不支持 请求传入参数不支持,请根据接口调用返回结果确认异常具体原因,参考调用方与接口文档核对修正

# 5.代码实例

依赖SDK包地址:SDK下载地址

package com.meituan.sqt.demo.in.order;

import com.google.common.collect.Lists;
import com.meituan.sqt.client.SqtClient;
import com.meituan.sqt.constant.CommonConstants;
import com.meituan.sqt.enums.ResponseStatusEnum;
import com.meituan.sqt.exception.MtSqtException;
import com.meituan.sqt.request.in.order.OrderExtraQueryRequest;
import com.meituan.sqt.response.in.BaseApiResponse;
import com.meituan.sqt.response.in.order.OrderExtraInfoItem;

import java.util.List;
import java.util.Objects;


public class OrderExtraQueryDemo {

    private static final String invokeUrl = "https://waimai-openapi.apigw.test.meituan.com/api/sqt/open/order/queryExtraInfo";

    private static SqtClient sqtClient = null;

    static {
        // 初始化SqtClient,只需要初始化一次即可
        // entId,accessKey,secretKey需要根据不同环境动态的设置获取
        sqtClient = new SqtClient.Builder()
                .setEntId(CommonConstants.entId)
                .setAccessKey(CommonConstants.accessKey)
                .setSecretKey(CommonConstants.secretKey)
                .build();
    }

    public static void main(String[] args) throws MtSqtException {
        // 1. 构建请求对象
        OrderExtraQueryRequest queryRequest = new OrderExtraQueryRequest();
        queryRequest.setTs(System.currentTimeMillis());
        queryRequest.setEntId(sqtClient.getEntId());
        queryRequest.setSqtBizOrderIdList(Lists.newArrayList(1691740104994852942L,1668102407743082520L));
        queryRequest.setScopeList(Lists.newArrayList("multiStaffPay"));

        // 2. API调用
        // 注意:超时时间默认以请求对象中注解ApiMeta上设置的为准,也可以自定义传递对应的超时时间
        BaseApiResponse<List<OrderExtraInfoItem>> response = sqtClient.invokeApi(invokeUrl, queryRequest, null, null);

        // 3. 响应结果为空处理
        if (response == null) {
            // 处理响应结果为空情况
            // ...

        }

        // 4. 获取结果
        if(Objects.equals(ResponseStatusEnum.SUCCESS.getCode(), response.getStatus())) {
            // 4.1 请求成功,获取订单详情查询结果
            List<OrderExtraInfoItem> realData = response.getRealData();
            // 4.2 处理查询成功后的业务逻辑


        } else {
            // 处理请求失败场景
            handleRespFailResult(response);
        }
    }

    private static void handleRespFailResult(BaseApiResponse<List<OrderExtraInfoItem>> response) {
        // 访问频率过高
        if (ResponseStatusEnum.HIGH_FREQUENCY_ACCESS.getCode().intValue() == response.getStatus()) {
            // 解决方案参照:https://h5.dianping.com/app/bep-docs/open-platform-doc/guide/rate_limiting.html
        }
        // 访问次数超过配额
        if (ResponseStatusEnum.EXCEED_ACCESS_NUMBER.getCode().intValue() == response.getStatus()) {
            // 解决方案参照:https://h5.dianping.com/app/bep-docs/open-platform-doc/guide/rate_limiting.html
        }
        // 其它失败场景

    }

}


# 6.版本记录

版本号 版本日期 更新内容
v1.0 2023-01-19 新增订单拓展信息查询接口
上次更新: 6/29/2026, 7:56:38 PM