# 对接流程
# 1.1 接入流程
- 企业对接美团企业版,在美团企业版开通企业账号,美团企业版为企业分配秘钥并分配接口权限
- 美团企业版提供API接入需要的
entId
、accessKey
、secretKey
。 - 企业阅读对接流程,按照接口说明完成开发
# 1.2 请求说明
美团企业版开放平台API接口为基于HTTP协议、RESTful风格的标准API接口,请求的编码方式为UTF-8编码。美团企业版开放平台地址为:
- 线上环境
API_HOST
= https://bep-openapi.meituan.com/api/sqt/openapi - 线下环境
API_HOST
= https://inf-openapi.apigw.test.meituan.com/api/sqt/openapi
每个请求都需要指定公共请求参数和业务请求参数,公共请求参数为每个向平台发起的请求都需包含的参数,业务请求参数与特定接口相关。
注: 1.线下环境无法完成支付,如需走通全流程,可联系对接人使用线上环境创建测试企业 2.接口请求有频率限制,每个接口默认限制为100次/分钟,100000次/天,如经评估不满足企业侧需求或是已经触发频率限制,请参考:限频说明。
# 请求体
名称 | 类型 | 说明 |
---|---|---|
token | String | 美团企业版分配的accessKey |
version | String | 接口版本,目前版本是1.0 |
content | String | 请求体内容,请求参数JSON序列化后进行加密 |
# 公共请求参数
名称 | 类型 | 说明 |
---|---|---|
method | String | 请求方法名,和具体业务请求相关 |
ts | Long | 10位时间戳。若请求发起时间与平台服务端接受请求的时间相差过大,平台将直接拒绝本次请求。 |
entId | Long | 企业id,美团企业版分配 |
# 业务请求参数
和具体接口有关,请参考业务接口描述。
# 1.3 响应说明
名称 | 类型 | 说明 |
---|---|---|
status | Integer | 0: 调用成功 其他值均为:调用失败 |
msg | String | 失败时的错误描述 |
data | JSON | 请求成功时的响应体,和具体业务有关,后文简称业务响应 |
# 1.4 签名方法
1.0版本的加密方式为:AES/ECB/PKCS5Padding
,加密流程如下:
1.构造业务请求 2.对业务请求Json序列化后 3.利用密钥secretKey对序列化后的明文进行加密
# 1.5 签名示例
假设分配得到的参数如下:
名称 | 取值 |
---|---|
entId | 617 |
accessKey | CESHI-TK |
secretKey | xxxx |
以查询订单列表页接口为例,签名流程如下:
1、查询请求 orderListQueryRequest
{
"method":"order.list.query",
"ts":1512963578,
"entId":617,
"pageNum":1,
"pageSize":20
}
2、待加密的明文plainText = JsonUtil.object2json(orderListQueryRequest)
"{\"method\":\"order.list.query\",\"ts\":1512963578,\"entId\":617,\"pageNum\":1,\"pageSize\":20}"
3、业务请求明文通过AES进行加密,得到content
content = EncryptUtil.aesEncrypt(plainText, secretKey)
4、构造请求参数
设置Content-Type
为application/x-www-form-urlencoded
, 将token、version、content按照key-value的方式
填充到Body体中。
- cURL发送示例
curl -v "https://inf-openapi.apigw.test.meituan.com/api/sqt/openapi/queryOrderList" -H "Accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -d "token=CESHI-POS&version=1.6&content=UgJn07uNgW7S7fJK0R0xVbaLxoCGPQIzoP-_K4Hmp4RduGszhm2mbUs2toZhCtXKP5JGXVTZ9kGts2Wx3IJQCd90ptMoJTDB0vu7mkedEr4KZCvZn77EZLssMC5SpXilmQ-5RXHzvMIT0ASH-IXepTP_O16U37QqCkEb5L1WLy4"
- postman发送示例