第三方渠道通过API接入美团企业版外卖服务时
接口交互流程如下:
和具体接口有关,请参考业务接口描述。
接入测试时,需要向美团企业版管理员或者项目经理申请获取token、sign、aesKey,其中token和sign填充到请求和公共请求参数中,通过aesKey对业务请求化结果进行AES加密,作为content。
假设分配得到的参数如下:
1、查询请求
{"sign":"sgW1bxc7oatFhOJXAeHnNg==","method":"waimai.poi.list","ts":1512963578,"longitude":116488645,"latitude":40007069}2、待加密的明文plainText
{"sign":"sgW1bxc7oatFhOJXAeHnNg==","ts":1512963655,"method":"waimai.poi.list","longitude":116488645,"latitude":40007069}3、业务请求明文通过AES进行加密,得到content
content=aesEncrypt(plainText,aesKey)4、构造请求参数设置Content-Type为application/x-www-form-urlencoded,将token、version、content按照key-value的方式填充到Body体中。
PoiProductDTO结构
PoiDiscountDTO结构
参数:
{"ts":1537240257,"method":"waimai.poi.list","sign":"zetMoLCXpFjUAwNGyAb44g==","page_index":1,"page_size":20,"latitude":"40010747","longitude":"116488629","idCardHash":"1111","bankCardHash":"2222","deviceHash":"3333","thirdUserIdHash":"4444","keyword":"王彩"}结果:
FoodSpuTag结构
Spu结构
Sku结构
AttrsDTO
AttrValuesDTO
PoiInfo结构
###接口说明
FoodSpuMutilAttrDTO结构
WmOrderingList结构
FoodListItem结构
WmOrderingUser结构
WmOrderingPreviewOrder结构
WmOrderingPreviewDetail结构
PreviewFoodSpuAttr结构
UnavaliableFood结构
MinCountFood结构
请求参数:{"sign":"xxxxxxxx","ts":1561008172,"method":"waimai.order.preview","deviceHash":"18010181062","thirdUserIdHash":"5b7c0ce223445f57b36d8ae7","user_phone":"18010181062","wm_ordering_list":{"wm_poi_id":"510161533434868","delivery_time":0,"pay_type":2,"food_list":[{"count":1,"wm_food_sku_id":1790491911,"food_spu_attr_ids":[#菜品food接口响应结果里的food_spu_tags.spus.attrs.values.id942757780,942757781,942757782]}]},"wm_ordering_user":{"user_address":"","user_longitude":0,"user_latitude":0,"addr_longitude":116451105,"addr_latitude":39915147}}结果:
UnavailableFood结构
PayParams结构
参数示例
{"ts":1537254896,"sign":"zetMoLCXpFjUAwNGyAb44g==","method":"waimai.order.submit","user_phone":"13811111111","pay_source":3,"return_url":"","wm_ordering_list":{"wm_poi_id":601637,"delivery_time":0,"pay_type":2,"food_list":[{"wm_food_sku_id":131042414,"count":10}]},"wm_ordering_user":{"user_phone":"13811111111","user_name":"胡波-外卖openApi-订单测试","user_address":"望京国际研发园FG座","addr_longitude":116488645,"addr_latitude":40007069},"token":"B33D2ECDA4A541DEACC1410EB882C207","idCardHash":"1111","bankCardHash":"2222","deviceHash":"3333","thirdUserIdHash":"4444"}示例:
Food结构
WmOrderCenterRefundDTO结构
注意:如果查询商家详情时,不传用户经纬度,则获取结果中用户与商家距离字段distance会展示为“9999+km”。
PoiUserComment结构
示例数据
假设用户选择了4个可售卖属性分别如下,其它的非售卖属性mode=1的不会出现在sku_attrs_map中,如果只有非售卖属性mode=1的多种属性按之前逻辑不变取skuId
{"id":8913219293,"value":"常规"},{"id":8913219271,"value":"原创0糖0卡糖"},{"id":8913219268,"value":"常规"},{"id":8913219277,"value":"不分装"}因此,用8913219293,8913219271,8913219268,8913219277这四个属性id去sku_attrs_map中查找唯一匹配的skuId,此skuId就是用来预览提单的skuId值
注:用户在选择规格属性,添加购物车时,前端根据sku_attrs_map数据匹配出skuId,mode=1的非售卖属性不用取