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

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

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

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

image.png

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

image.png

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

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

image.png

看下service层的代码
注意,接收到推送的订单之后,需要按照下面的固定的格式进行返回,
数据正常,返回:
{"errcode":"0","errmsg":"ok"},
数据错误,返回:
{"errcode":"1","errmsg":"err"}

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层的代码

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

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

image.png

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

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

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

相关文章
|
4月前
|
存储 运维 搜索推荐
重构支付宝商家账单问题之重构支付宝商家账单的目标是什么,如何实现
重构支付宝商家账单问题之重构支付宝商家账单的目标是什么,如何实现
|
设计模式 算法 Java
淘东电商项目(58) -聚合支付(基于设计模式自动跳转支付接口)
淘东电商项目(58) -聚合支付(基于设计模式自动跳转支付接口)
86 0
|
7月前
|
新零售 人工智能 供应链
排队免单返利商城系统开发|成熟源码部署|案例详情
新零售业是零售业发展的重要趋势,它通过技术的创新和变革,重新定义了传统零售业的模式和方式
|
XML Java API
87分布式电商项目 -微信扫码支付申请
87分布式电商项目 -微信扫码支付申请
97 0
87分布式电商项目 -微信扫码支付申请
|
7月前
|
存储 移动开发 算法
一文理解淘宝购物车背后的逻辑
提升用户的使用体验才是产品升级的核心,本文将从业务发展以及技术沉淀两个方面来总结淘宝购物车的产品升级之路。
832 0
一文理解淘宝购物车背后的逻辑
|
小程序
京东联盟-怎么跳转到京东购物小程序领券下单
我们在自己的小程序里接入京东联盟,实际上模式是用户点击商品详情页下单,然后跳转到“京东购物”小程序领券下单(像下面那样),但是这个接口是需要申请的,且自有小程序日均访问人数>1万。
475 0
京东联盟-怎么跳转到京东购物小程序领券下单
|
存储 移动开发 小程序
电商收付通,公众号H5合单支付同步存储openId
可以使用合单JSAPI(公众号H5支付)或者合单小程序支付,这两个接口都需要openId才能唤起,因此后台可以生成二维码,用户使用微信扫码,获取到用户openId存储下来,再使用openId唤起支付。
123 0
电商收付通,公众号H5合单支付同步存储openId
|
消息中间件 NoSQL JavaScript
面试官:淘宝七天自动确认收货,可以怎么实现?
面试官:淘宝七天自动确认收货,可以怎么实现?
面试官:淘宝七天自动确认收货,可以怎么实现?
|
安全 开发者
新能力|分账明白,账本清楚,商家超轻松
目前,商家分账 功能已经全面开放给企业商户,快来了解一下吧。
2537 12
新能力|分账明白,账本清楚,商家超轻松
|
存储 弹性计算 负载均衡
【云栖号案例 | 金融】利楚扫呗上云 支撑全国近70万商户的聚合支付方案
利楚扫呗业务在扩张,单体RDS的存储空间不够,流水增长,数据库读写性能下降。上云后支持并行计算,解决高并发、存储容量、在线计算的扩展性难题。
【云栖号案例 | 金融】利楚扫呗上云 支撑全国近70万商户的聚合支付方案

热门文章

最新文章