首页 > 其他分享 >美团联盟怎么实现用户订单跟单功能

美团联盟怎么实现用户订单跟单功能

时间:2023-01-30 22:31:09浏览次数:68  
标签:String 美团 接口 订单 result mtOrder 单功能

大家好,我是小悟

​不管是电商cps,还是外卖cps,对接过这么多第三方cps接口,只有美团联盟提供了订单数据回推接口,而且只要订单状态改变,就会回推数据,这为我们自身系统实现用户跟单继而实现分销裂变的功能提供了极大的友好帮助。

登录美团联盟后台,在联盟API接口列表找到一个名称为【订单回推接口】的栏目。​

美团联盟怎么实现用户订单跟单功能_美团外卖

对,这个就是我们需要的接口,点进去查看详情。

美团联盟怎么实现用户订单跟单功能_美团外卖_02

​和大部分回调接口一样,这个接口不需要接入方主动调用,而是接入方提供一个接口给美团联盟平台调用的,平台会将订单数据post到这个接口上,从而我们就可以从数据中获取到下单时预先传入的sid,这个sid是能够唯一识别我们系统的用户。这样就可以实现订单跟踪的效果,继而做一些业务逻辑的处理。

为了安全,同样的需要对联盟平台post过来的数据进行验签操作,以确保是平台发送过来的数据。注意,验签用到的密钥和调用联盟平台其他接口用到的密钥不是同一个哦,这个密钥在如下位置,签名方式和其他接口一致。​

美团联盟怎么实现用户订单跟单功能_CPS_03

​看下service层的代码

注意,接收到推送的订单之后,需要按照下面的固定的格式进行返回,

数据正常,返回:

{"errcode":"0","errmsg":"ok"},

数据错误,返回: 

{"errcode":"1","errmsg":"err"}

@Override
public Map<String, String> mtOrderCallback(TreeMap<String, String> params) {
String data = JSON.toJSONString(params);
logger.info("美团回调参数:{}", data);
MtOrderModel mtOrder = JSONObject.parseObject(data, MtOrderModel.class);
String getSign = mtOrder.getSign();
String sign = MtSignUtils.genSign(params, model.getMtCallbackSecret());
Map<String, String> result = new HashMap<>(3);
if (sign.equals(getSign)) {
String userUuid = mtOrder.getSid();
UserMember member = userMemberService.getOne(Wrappers.<UserMember>lambdaQuery().eq(UserMember::getUuid, userUuid));
if (member != null) {
String orderId = mtOrder.getOrderid();
String status = mtOrder.getStatus();
String type = mtOrder.getType();
CpsOrder order = cpsOrderService.getOne(Wrappers.<CpsOrder>lambdaQuery()
.eq(CpsOrder::getOrderSn, orderId));
if (order == null) {
order = new CpsOrder();
// TODO
// 保存订单
// ......
cpsOrderService.save(order);
} else {
if (StringUtils.equals("8", status)) {
// 美团订单已完成
// ......
} else if (StringUtils.equals("9", status)) {
// 美团订单已退款或风控
// ......
}
cpsOrderService.updateById(order);
}
}
result.put("errcode", "0");
result.put("errmsg", "ok");
} else {
result.put("errcode", "1");
result.put("errmsg", "err");
}
logger.info("美团回调返回给美团的参数:{}", JSON.toJSONString(result));
return result;
}

看下controller层的代码

@PostMapping("mtOrderCallback")
public Map<String, String> mtOrderCallback(@RequestBody TreeMap<String, String> params){
return mtApiService.mtOrderCallback(params);
}

最后一定要记得把接口地址配置在联盟平台上,这样就大功告成了。

美团联盟怎么实现用户订单跟单功能_CPS_04

公众号后台回复【电商导购CPS】获取整个项目体验地址。


​您的一键三连,是我更新的最大动力,谢谢

山水有相逢,来日皆可期,谢谢阅读,我们再会

我手中的金箍棒,上能通天,下能探海

上一篇:​​电商导购CPS,这是最容易上手的创业项目了吧​

标签:String,美团,接口,订单,result,mtOrder,单功能
From: https://blog.51cto.com/wukongmazi/6027922

相关文章

  • Hive 刷题——订单金额趋势分析
    需求描述查询截止每天的最近3天内的订单金额总和以及订单金额日平均值,保留两位小数,四舍五入。期望结果如下:create_date (日期)total_3d<decimal(16,2)>(......
  • SQL271 牛客的课程订单分析(一)
    题目描述有一个订单信息表(order_info),请你写出一个sql语句查询在2025-10-15以后状态为购买成功的C++课程或者Java课程或者Python的订单,并且按照order_info的id升序排序......
  • 马帮对接打通金蝶云星空获取订单列表接口与销售出库新增接口
    接入系统:马帮马帮ERP旗下有马帮ERP3.0、马帮ERP亚马逊专用版、马帮WMS仓储管理系统、马帮云仓、马帮TMS、跨境分销、马帮供应链SCM管理系统等产品,为跨境电商卖家提供高......
  • 【提升团队运营效率】交易履约之订单中心实践
    本文作者:京东科技-市场与平台运营中心-平台研发部,晏银喜、张学君、袁宝龙、高传江、杨迎心、游斌平、付达。特别感谢:杨广兴、张然、姬英泽、赵宁、张彤,在系统建设过程中的......
  • 管易云与网易互客对接集成发货单查询2.0=>编辑订单
    管易云与网易互客对接集成发货单查询2.0=>编辑订单对接源平台:管易云管易云是金蝶旗下专注提供电商企业管理软件服务的子品牌,先后开发了C-ERP、EC-OMS、EC-WMS、E店管......
  • LibreOJ L6210 「美团 CodeM 决赛」tree
    链接难度:\(\texttt{?}\)有一颗\(n\)个点的树,每个点有权值\(x_i\),定义一条简单路径的权值为\(f(a_1\toa_2\to...\toa_k)=\frac{x_{a_1}\timesx_{a_2}\times...\t......
  • EBS: OM-订单类型之分配行流查询
    --OM-订单类型之分配行流查询.sql;select(SELECTOU.NAMEFROMHR_ORGANIZATION_UNITSOUWHEREOU.ORGANIZATION_ID=OTT.ORG_IDANDROWNUM=1)AS"组织OU",O......
  • SAP采购订单行项目客制化字段校验增强
    需求:在采购订单行项目中新增客制化字段,区分采购的项目中的物料是量产还是研发物料开发步骤主要使用二代增强出口:MM06E005创建增强项目事务码T-code:CMOD创建项目ZEMM......
  • 美团开放平台SDK自动生成技术与实践
    美团开放平台为整个美团提供了20+业务场景的开放API,为了使开发者能够快速且安全的接入美团开放平台,美团开放平台提供了多种语言的SDK来提高开发者的接入效率。本文介绍了美......
  • 学习笔记——书城项目之“我的订单”功能
    2023-01-07一、“我的订单”功能(1)找到“我的订单”的位置①购物车页面Cart.html中的第26行②结算完成页面Checkout.html中的第45行将两个位置中超链接的“href”改变......