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

本文介绍了如何利用美团联盟提供的订单回推接口实现用户订单跟踪和分销裂变功能。通过接收并验证美团联盟的POST数据,根据订单状态更新系统内的订单信息,确保数据安全并进行相应的业务处理。同时,展示了服务层和控制器层的代码实现,以及配置接口地址的步骤。
摘要由CSDN通过智能技术生成

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

登录美团联盟后台,在联盟API接口列表找到一个名称为【订单回推接口】的栏目。
在这里插入图片描述
对,这个就是我们需要的接口,点进去查看详情。
在这里插入图片描述
和大部分回调接口一样,这个接口不需要接入方主动调用,而是接入方提供一个接口给美团联盟平台调用的,平台会将订单数据post到这个接口上,从而我们就可以从数据中获取到下单时预先传入的sid,这个sid是能够唯一识别我们系统的用户。这样就可以实现订单跟踪的效果,继而做一些业务逻辑的处理。

为了安全,同样的需要对联盟平台post过来的数据进行验签操作,以确保是平台发送过来的数据。注意,验签用到的密钥和调用联盟平台其他接口用到的密钥不是同一个哦,这个密钥在如下位置,签名方式和其他接口一致。
在这里插入图片描述
看下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);
}

最后一定要记得把接口地址配置在联盟平台上,这样就大功告成了。
在这里插入图片描述
美团联盟怎么实现用户订单跟单功能

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

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

上一篇:从短视频中找到你的潜在客户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟空码字

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值