精华内容
下载资源
问答
  • 首先注册并登录订单侠开放平台:https://www.dingdanxia.com/user/register/index.html 淘宝联盟API接口对接步骤

    首先注册并登录订单侠开放平台:https://www.dingdanxia.com/user/register/index.html

    淘宝联盟API接口对接步骤

    首先需要有淘宝联盟账号,没有的需要先注册并登录:https://pub.alimama.com/,新注册的用户需要等审核通过之后方可进入后台,耐心等待即可。

    登录之后,需要进入推广管理=》媒体备案管理,创建一个媒体备案,没有自有平台的可以创建他方平台不影响使用,审核简单快速通过。审核通过之后,需要创建推广位,在推广位管理里面。

    上述完成之后,来到订单侠开放平台=》个人中心=》授权管理=》淘宝授权 https://www.dingdanxia.com/service/pid 进行账号的授权并且添加推广位,这里设置的推广位是mm_开头的三段

    说明:这里授权账号,只是为了后期的返佣可以直接返到自己的联盟账号里面,平台并不会处理结算。

    授权添加推广位之后,就可以进行接口的测试和调用,这里的饿了么和淘宝联盟是同样的设置方法,饿了么的佣金也是在淘宝进行结算查询。

    淘宝联盟接口地址:https://www.dingdanxia.com/taobao

    饿了么活动接口地址:https://www.dingdanxia.com/doc/122/173

    京东联盟API接口对接步骤

     首先需要有京东联盟账号,没有的需要先注册并登录:https://union.jd.com/index 

    京东联盟的这里我们不用创建任何内容,认证成为推客之后即可正常使用,这里我们只需要在账户管理里面获取到我们的联盟ID即可。

    此联盟ID,在我们调用转链接口(https://www.dingdanxia.com/doc/97/94)的时候可以直接传入,这里的佣金和订单都会到我们自己的联盟账号了,也可以在订单侠开放平台=》个人中心=》授权管理=》京东授权 https://www.dingdanxia.com/service/jdauth 设置联盟ID。

    然后就可以进行接口的测试和调用。

    接口地址:https://www.dingdanxia.com/jd

    拼多多API接口对接步骤

     首先需要有多多进宝账号,没有的需要先注册并登录:https://jinbao.pinduoduo.com/

    登录之后,需要进入推广管理=》推广者备案,创建一个媒体备案,没有自有平台的可以创建他方平台不影响使用,审核简单快速通过。审核通过之后,需要创建推广位,在推广位管理里面。

    上述完成之后,来到订单侠开放平台=》个人中心=》授权管理=》拼多多授权 https://www.dingdanxia.com/service/pddauth 进行账号的授权并且添加推广位。

    说明:这里授权账号,只是为了后期的返佣可以直接返到自己的联盟账号里面,平台并不会处理结算。

    授权添加推广位之后,就可以进行接口的测试和调用。

    接口地址:https://www.dingdanxia.com/pdd

    唯品会API接口对接步骤

    首先需要有唯品会账号,没有的需要先注册并登录:https://union.vip.com/index  这里不需要创建任何应用,我们在下载一个唯享客app即可。

    上述完成之后,来到订单侠开放平台=》个人中心=》授权管理=》唯品会授权 https://www.dingdanxia.com/service/vipauth 进行账号的授权。

    说明:这里授权账号,只是为了后期的返佣可以直接返到自己的联盟账号里面,平台并不会处理结算。

    授权添加之后,就可以进行接口的测试和调用。

    接口地址:https://www.dingdanxia.com/vip

    美团API接口对接步骤 

    美团目前不用申请账号,因为美团那边目前不支持个人推广,只支持企业,如果有企业纸质的并且可以正常开专用纸质发票的可以直接对接美团联盟:https://union.meituan.com/

    个人可以通过订单侠开放平台进行推广,有平台进行返佣结算。

    接口地址:https://www.dingdanxia.com/waimai/171  如果你需要做分销,可以调用接口

    工具地址:https://www.dingdanxia.com/tool/meituan_privilege  工具生成的链接可以直接进行使用 

    展开全文
  • 今天我们研究如何跟美团对接,同步数据到数据库 1. 首先我们找到我们需要的接口(例如:food/list) 2.点进去之后 3.我们开始一个一个的拼接参数 (1)时间戳 这个是当前的秒值,我们可以在后台用代码来实现 ...

    今天我们研究如何跟美团对接,同步数据到数据库

    1. 首先我们找到我们需要的接口(例如:food/list)

    在这里插入图片描述

    2.点进去之后

    在这里插入图片描述

    3.我们开始一个一个的拼接参数

    (1)时间戳

    在这里插入图片描述
    这个是当前的秒值,我们可以在后台用代码来实现

    LocalDateTime ldt = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));
    long l = ldt.toEpochSecond(ZoneOffset.ofHours(8));
    System.out.println(l);
    

    (2)app_id

    4. List item
    在这里插入图片描述

    (3)门店ID

    在一个就是签名,我们先放一边,有了门店ID一会用工具先获取一下
    在这里插入图片描述

    (4)签名

    现在除了签名,剩下的三个参数都有了,现在我们来获取最后的签名
    在这里插入图片描述
    生成之后,浏览器输入如下路径进行访问
    如果我们(获取到了数据)那么就可以进行下一步了,如果(没有)那就请注意提示的信息。

    4.我们开始写后台的代码

    (1)首先第一步我们得到我们需要的四个参数,并拼接

        Timestamp :时间戳(如上的代码可以获取)
        app_id:填写自己的APP方的id
        App_poi_code:填写自己的门店ID
    

    剩下最重要的签名sig,现在我们知道生成签名呢需要三个参数,好我们开始拼接以上三个参数
    在这里插入图片描述

    // 美团商品列表的路径
    String url = "https://waimaiopen.meituan.com/api/v1/food/list";
    // 拼接参数
    String md5Input = "";
    md5Input += "app_id=" + MeituanWMService.MTAPPID + "&";
    md5Input += "app_poi_code=" + "****" + "&";
    md5Input += "timestamp=" + String.valueOf(timestamp);
    

    (2)有了路径之后我们开始生成签名(代码如下密钥是必填的)

    在这里插入图片描述
    具体生成方法如下

       public static String genSig(String baseUrl) throws ApiSysException {
    	    String str = null;
    
    	try {
    		MessageDigest md = MessageDigest.getInstance("MD5");
    		str = byte2hex(md.digest(baseUrl.getBytes("utf-8")));
    		return str;
    	} catch (NoSuchAlgorithmException var3) {
    		throw new ApiSysException(ErrorEnum.SYS_ERR);
    	} catch (UnsupportedEncodingException var4) {
    		throw new ApiSysException(ErrorEnum.SYS_ERR);
    	}
    }
    
    private static String byte2hex(byte[] b) {
    	StringBuffer buf = new StringBuffer();
    
    	for (int offset = 0; offset < b.length; ++offset) {
    		int i = b[offset];
    		if (i < 0) {
    			i += 256;
    		}
    
    		if (i < 16) {
    			buf.append("0");
    		}
    
    		buf.append(Integer.toHexString(i));
    	}
    
    	return buf.toString();
    }
    

    (3)得到签名之后,继续拼接

    在这里插入图片描述

    (4)解析路径

    // 解析路径
    str2 = MessageController.is(url + "?" + md5Input, "utf-8");
    

    具体生成方法如下

     public static String is(String strURL, String charset) {
    	String str = getContentFromUrl(strURL, charset);
    	return str;
    }
    
    /**
     * 通过 url网址 从网页上获取网页内容
     * 
     * @param myUrl(链接地址)
     * @param charset(字符编码)
     * @return (返回字符串)
     */
    public static String getContentFromUrl(String myUrl, String charset) {
    	StringBuffer sb = new StringBuffer();
    	URL url;
    	try {
    		url = new URL(myUrl);
    		URLConnection conn = url.openConnection();
    		InputStream is = conn.getInputStream();
    		Scanner sc = new Scanner(is, charset);
    		while (sc.hasNextLine()) {
    			sb.append(sc.nextLine()).append("\r\n");
    		}
    		sc.close();
    		is.close();
    	} catch (MalformedURLException e) {
    		e.printStackTrace();
    	} catch (IOException e) {
    		e.printStackTrace();
    	}
    	return sb.toString();
    }
    

    (5)得到内容之后,因为格式不正确,我们还要继续的截取(可以在优化)

    str2 = str2.substring(8, str2.length() - 3);
    

    (6)得到内容之后,我们要解析,放到实体类当中,创建实体类

    public class MeituanApidata {
    
    private Long app_food_code;
    private String app_poi_code;
    private Float box_num;
    private Float box_price;
    private String category_name;
    private Integer ctime;
    private String description;
    private Integer is_sold_out;
    private Integer max_order_count;
    private Integer min_order_count;
    private String name;
    private String picture;
    private Float price;
    private Integer sequence;
    private String skus;
    private String unit;
    private Integer utime;
    Get set....
    
    }
    

    (7)创建完成之后进行解析

    在这里插入图片描述

       // 解析json
       List<MeituanApidata> taskNodes = JSONArray.parseArray(str2, MeituanApidata.class);
    

    (8)携带taskNodes 调用service

    在这里插入图片描述
    我们注意到响应的参数中还有一个json数组
    在这里插入图片描述
    我们可以在创建一个实体类,进行嵌套for循环,得到我们skus中的值
    在这里插入图片描述
    **

    剩下的就是我们的常规代码没什么难度了,如果有什么不懂的可以再问我!!!

    **

    展开全文
  • php curl调用美团API

    千次阅读 2017-08-03 19:33:37
    前几天调用美团云的api发现api写的你要仔细抠字眼才能解决,api地址:https://www.mtyun.com/doc/api/common/common/index 注意api几个位置 1:(\n)的位置 2:请求参数名称的字典顺序排序 3:并以x-...

    前几天调用美团云的api发现api写的你要仔细抠字眼才能解决,api地址:https://www.mtyun.com/doc/api/common/common/index

    下面直接贴代码:

    	$key = '';
            $secret = '';
            $time=str_replace('+','.',date(DATE_ISO8601))."Z";
            $data=array('Format'=>'json','AWSAccessKeyId'=>$key,'Action'=>'DescribeInstanceTypes','SignatureVersion'=>2,'Timestamp'=>$time,'SignatureMethod'=>HmacSHA256);
            ksort($data);//参数名称的字典顺序排序(重小到大)
            $strdata=http_build_query($data);//x-www-form-urlencoded数据组装
            $hashdata="POST\nmosapi.meituan.com\n/mcs/v1\n".$strdata;//组装签名内容
            $sign= base64_encode( hash_hmac('sha256', $hashdata, $secret,true));//获取签名以HmacSHA256 算法进行Hash后,进行base64编码
           // $data['Timestamp']=urldecode($data['Timestamp']);
            $data['Signature']=$sign;
            $posturl="https://mosapi.meituan.com/mcs/v1";//.$strdata."&Signature=".$sign;
            $postData = http_build_query($data);//x-www-form-urlencoded数据组装
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, $posturl);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
            curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
            curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);//允许重定向吧
            curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));//x-www-form-urlencoded编码
            curl_setopt($curl, CURLOPT_POSTFIELDS, $postData); // Post提交的数据包
            //curl_setopt($curl, CURLOPT_HEADER, 1);//返回请求head头
            //curl_setopt($curl, CURLOPT_NOBODY, 1);//不返回body部分内容
            //curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
            $data = curl_exec($curl);
            curl_close($curl);
            print_r($data);


    注意api几个位置

    1:(\n)的位置

    2:请求参数名称的字典顺序排序

    3:并以x-www-form-urlencoded编码

    按官方的完整的拼接的内容为

    POST
    mosapi.meituan.com
    /mcs/v1
    AWSAccessKeyId=8b5ad48388a347c185b6b7b0ba9e6225&Action=GetBalance&Format=json&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-11-14T03%3A10%3A55.000Z

    这给的只是python里面,php的拼接式POST\nmosapi.meituan.com\n/mcs/v1\nAWSAccessKeyId=8b5ad48388a347c185b6b7b0ba9e6225&Action=GetBalance&Format=json&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-11-14T03%3A10%3A55.000Z

    4:对上面的拼接内容以以HmacSHA256 算法进行Hash后,进行base64编码

    以为这里成功了还有组装curl呢,curl组装不好后台获取的内容可能只有header部分没有穿的参数。




    展开全文
  • 美团品牌商接口对接前言美团开发者账号申请开发的前期工作申请开通外卖业务控制台申请测试门店设置商品开发接收美团推送的请求detail字段如何外网调用本机接口呢?如何向美团发送请求? 前言 网上文档整的花里胡哨的...

    前言

    网上文档整的花里胡哨的,于是笔者踩完坑之后决定将整套对接流程记录下来~

    在申请美团开发者账号之前,一定要弄清楚需要申请的是品牌商,还是申请的服务商,品牌商的话是本公司自己的研发人员对接,而服务商的话是使用的第三方的人员来进行,这个一定要弄清,想当初笔者看服务商的文档看了一两天结果发现看错文档了┭┮﹏┭┮。

    美团开发者账号申请

    首先先附带上品牌商开发者账号地址:美团开发者账号申请
    申请的材料也不像服务商那么多,基本只需要研发人员身份证照,在职证明以及公司的营业执照和法人身份证照就可以申请下来了,效率也是挺不错的,半天的样子就能验证通过了。
    在这里插入图片描述

    开发的前期工作

    申请开通外卖业务

    在这里插入图片描述

    控制台

    这里可以获取app secret,这个和向美团推送的数据有关,这里之后再提到。
    回调接口的设置,可以设置美团的推送信息的接口等。
    订阅字段值可以选择一些字段美团推送的时候有些不重要的字段是否携带,具体的在文档会详细的给出。
    在这里插入图片描述

    申请测试门店

    当申请完毕后,会申请到一个测试门店。

    美团餐饮开放平台目前仅提供一套开发环境。当您的应用创建成功后,系统会自动为该应用分配一个线上测试门店用于接口测试。测试门店的地址默认为南极洲,配送范围默认为西藏林芝墨脱县色金拉,在测试过程中,请您务必不要修改测试门店的配送范围,否则该测试门店很可能被美团品控审查后强制下线,无法恢复上线。

    设置商品

    这里我们需要使用我们的测试门店的商家账号添加商品,有网页版的和APP版的,哪个方便用哪个就是了,账号密码当测试门店注册完成后会以短信的方式反馈到我们的手机上。

    开发

    废话不多说,从这里开始上代码开始啃硬菜~
    使用美团的商家平台给自己的测试门店设置商品,这里有一个很重要的点!

    就是你开发的时候下单,是走的正式的生产环境的(只不过地址是在一个荒无人烟的地方),也就是说所有的操作都是可以进行扣钱的,所以呢读者下完单一定要及时的退款

    这里就拿 APP方URL推送已支付订单(必接) 接口来作为讲解,美团官网链接如下:APP方URL推送已支付订单(必接),建议结合文档一起撸。

    本代码是基于springboot的进行编写的,涉及敏感的代码会作模糊化处理

    接收美团推送的请求

    首先先新建好我们的controller层

    
    /**
     *
     * 美团订单Controller
     *
     * @author Cocowwy
     * @create 2021-05-05-11:15
     *
     */
    @RestController
    @RequestMapping("/meituan")
    @ResponseBody
    @Slf4j
    public class MeituanController {
        @Autowired
        MeiTuanPushService meiTuanPushService;
      
        /**
         *  用户成功支付订单
         *
         * @param request
         * @return
         */
        @MethodName("用户付款订单成功")
        @PostMapping("/push/paidOrder")
        public Map<String,Object> paidOrder(PaidOrderRequest request) {
            meiTuanPushService.paidOrder(request);
            return Result.OK;
        }
    }
    

    当然,美团是建议我们进行验签的,具体的验签方式瞅这里:美团开发文档
    至于接收参数的request的属性的定义这我就同意贴在下面了,需要的话可以看下面,建议读者自己去文档上面复制粘贴即可。
    笔者对于List的Object类型是使用的字符串的方式接收(比如文档里面的detail字段),需要使用的时候再使用Json的工具包对字符串与实体类进行转换即可。
    当然,需要将Object映射成实体类的实体属性等会一起贴在下面。

    当然,这里面也是有坑的!
    在这里插入图片描述
    看到这张图大家都知道啥坑了吧,对于含有中文的字段,我们需要进行转义,本人使用的是Hutool工具包的URLUtil.decode(request.getXxxxxx())方法进行解析的。
    这样就能获取到中文了。

    PaidOrderRequest字段

    
    /**
     * 已支付订单接口入参
     * @author Cocowwy
     * @create 2021-05-05-10:30
     */
    @Getter
    @Setter
    @ToString
    @SuperBuilder
    @NoArgsConstructor
    @AllArgsConstructor
    public class PaidOrderRequest extends CommonRequest {
        /**
         * 订单ID(数据库中请用bigint(20)存储此字段)
         */
        private Long order_id;
        /**
         * 订单展示ID
         */
        private Long wm_order_id_view;
        /**
         * APP方商家ID
         */
        private String app_poi_code;
        /**
         * 美团商家名称
         */
        private String wm_poi_name;
        /**
         * 美团商家地址
         */
        private String wm_poi_address;
        /**
         * 美团商家电话
         */
        private String wm_poi_phone;
        /**
         * 收件人地址(此字段为用户填写的收货地址,可在开发者中心订阅是否根据经纬度反查地址,若订阅则会在此字段后追加反查结果,并用“@#”符号分隔,如:用户填写地址@#反查结果)
         */
        private String recipient_address;
        /**
         * 收件人电话(请兼容13812345678和13812345678_123456两种号码格式,以便对接隐私号订单,最多不超过20位)
         */
        private String recipient_phone;
        /**
         * 备用隐私号 ["13812345678_1236","13812345678_3456"]
         */
        private List<String> backup_recipient_phone;
        /**
         * 收件人姓名(若用户没有填写姓名,此字段默认为空。可在开发者中心订阅是否用“美团客人”填充此字段)
         */
        private String recipient_name;
        /**
         * 门店配送费
         */
        private Float shipping_fee;
        /**
         * 总价
         */
        private Double total;
        /**
         * 原价
         */
        private Double original_price;
        /**
         * 忌口或备注
         */
        private String caution;
        /**
         * 送餐员电话
         */
        private String shipper_phone;
        /**
         * 订单状态 2:新订单-用户支付完成,待商家接单 4:商家已接单 8:订单已完成 9:订单已取消
         */
        private String status;
        /**
         * 城市ID(目前暂时用不到此信息)
         */
        private Long city_id;
        /**
         * 是否开发票
         */
        private Integer has_invoiced;
        /**
         * 发票抬头
         */
        private String invoice_title;
        /**
         * 纳税人识别号,该信息默认不推送,如有需求可在开发者中心订阅
         */
        private String taxpayer_id;
        /**
         * 创建时间 (注:订单创建时间)
         */
        private Long ctime;
        /**
         * 更新时间
         */
        private Long utime;
        /**
         * 用户预计送达时间,“立即送达”时为0,非0 代表非即时单(包含到店自取,时间为用户到店取餐时间),预订单代表用户下单时填写的预计送达时间,单位是秒,10位时间戳
         */
        private Long delivery_time;
        /**
         * 	是否是第三方配送平台配送,0表否,1表是)
         */
        private Integer is_third_shipping;
        /**
         * 支付类型,1表货到付款,2表在线支付(非支付渠道)
         */
        private Integer pay_type;
        /**
         * 取餐类型(0:普通取餐;1:到店取餐),该信息默认不推送,如有需求可在开发者中心订阅
         */
        private Integer pick_type;
        /**
         * 实际送餐地址纬度
         */
        private Double latitude;
        /**
         * 实际送餐地址经度
         */
        private Double longitude;
        /**
         * 门店当天的推单流水号,该信息默认不推送,如有需求可在开发者中心订阅
         */
        private Integer day_seq;
        /**
         * 用户是否收藏此门店(true, false),该信息默认不推送,如有需求可在开发者中心订阅
         */
        private Boolean is_favorites;
        /**
         * 用户是否第一次在此门店点餐(true, false),该信息默认不推送,如有需求可在开发者中心订阅
         */
        private Boolean is_poi_first_order;
        /**
         * 用餐人数(0:用户没有选择用餐人数;1-10:用户选择的用餐人数;-10:10人以上用餐;88:用户需要餐具;99:用户不需要餐具),该信息默认不推送,如有需求可在开发者中心订阅
         */
        private String dinners_number;
        /**
         * 订单配送方式,该信息默认不推送,如有需求可在开发者中心订阅
         */
        private String logistics_code;
        /**
         * 商家对账信息的json数据,该信息默认不推送,如有需求可在开发者中心订阅
         */
        private String poi_receive_detail;
        /**
         * 订单商品详情,其值为由list<object>序列化得到的json字符串
         */
        private String detail;
    
        /**
         * 第一种:优惠信息,其值为由list<object>序列化得到的json字符串
         */
        private String extras;
        /**
         * 门店平均配送时长,单位为秒
         */
        private String avg_send_time;
        /**
         * 订单来源属性标识,该信息默认不推送,如有需求可在开发者中心订阅
         */
        private String channel;
        /**
         * 开发票方式,0,非自动开票订单,1美团发票合作商家,在线自动开具电子发票
         */
        private Integer invMakeType;
        /**
         * 订单数据状态标记。当订单中部分字段的数据因内部交互异常或网络等原因延迟生成(超时),导致开发者当前获取的订单数据不完整,此时平台对订单数据缺失情况进行标记。如不完整,建议尝试重新查询。注意,平台仅对部分模块的数据完整性进行监察标记(参考incmp_modules字段)。参考值: -1:有数据降级 0:无数据降级
         */
        private Integer incmp_code;
        /**
         *有降级的数据模块的集合,参考值: 0:订单商品详情 1:订单优惠信息 2:商品优惠详情 3:订单用户会员信息 4:订单维度的商家对账信息 5:订单维度的商家对账信息(元) 6:订单收货人地址 7:订单配送方式 8:开放平台用户id 9:部分退款商品信息 10:退货退款物流信息 11:部分订单基本信息(包括订单优惠信息、订单商品详情、门店信息等) 12:sku信息 13:spu信息 14:商品信息(可能是sku或spu等商品相关信息获取时降级) 15:替换折扣价为原价
         */
        private Set<Object> incmp_modules;
        /**
         * 其他费用,需要在mcc增加对应需要推送的app_id才推送,List<Object>的json string
         */
        private String extendsAmount;
    
    }
    
    

    detail字段

    /**
     * 订单商品详情Json反序列化
     *
     * @author Cocowwy
     * @create 2021-05-05-15:58
     */
    @Getter
    @Setter
    @ToString
    @SuperBuilder
    @NoArgsConstructor
    @AllArgsConstructor
    public class OrderDetailDTO {
        /**
         * APP方菜品id,最大长度128,不同门店可以重复,同一门店内不能重复
         */
        private String app_food_code;
        /**
         * 菜品名称
         */
        private String food_name;
        /**
         * sku编码
         */
        private String sku_id;
        /**
         * 商品数量
         */
        private Float quantity;
        /**
         * 商品单价,不包含餐盒费,此字段默认为活动折扣后价格,可在开发者中心订阅是否替换为原价
         */
        private Float price;
        /**
         * 餐盒数量
         */
        private float box_num;
        /**
         *  餐盒价格
         */
        private float box_price;
    
        private Long mt_sku_id;
    
        private String detail_extra;
    
        private String unit;
    
        private Float weight;
    
        private String food_property;
    
        private Float food_discount;
    
    }
    

    如何外网调用本机接口呢?

    点击回调接口设置
    在这里插入图片描述
    接着点击测试地址进行设置接口的回调地址
    在这里插入图片描述
    这样一来,如果我配置了推送订单URL的话,那么一旦用户在我的测试门店下单,那么就能够对我们的接口发起推送了。
    问题来了,美团如何从外网调用我本机启动的接口呢?

    使用内网穿透

    笔者已经贴心的将内网穿透的工具奉上,包括使用方式,免费的哦,操作步骤很简单:内网穿透

    如此一来,每当配置的行为触发之后,推送的接口就会向你的接口推送数据了。

    如何向美团发送请求?

    这里就拿order/riderPosition 自配订单同步配送信息来进行举例子,该接口的文档地址戳这里:自配订单同步配送信息
    同时需要下载美团的SDK:美团SDK地址
    如果嫌弃springboot引用本地jar包麻烦的话可以放上私服
    需要引入的jar包是: …\waimai_open_java_sdk\集成SDK的测试工程(仅供参考)\TestCasesWithSDK\TestCasesWithSDK\src\lib
    在这里插入图片描述
    即这个,笔者是放到私服上了,直接通过maven的方式引入。
    不知道是不是眼神不好的原因,反正笔者是没找到能直接调用这个接口的api
    在这里插入图片描述
    接下来就贴代码了,因为实在是没找到这个接口的api,于是就点进源码看了下一些常用的接口是怎么调用的,然后把它的代码扯了一点出来,接下来附上本人请求美团接口的代码。
    我们的请求的接口,如下:

    https://waimaiopen.meituan.com/api/v1/调用的方法名
    

    在这里插入图片描述

    这个是发送post请求的放法,使用的hutool工具包发送的

    String body = HttpUtil.createPost(MeituanUtils.createPostURL(RIDER_POSITION, request, meiTuanEnvConfig)).execute().body();
    

    createPostURL创建请求地址, ConvertUtil.convertSystemParamsToMap这个是美团的jar包里面的,就不贴代码了

        /**
         * 根据入参生成美团的接口访问地址
         *
         * @param methodName 方法名
         * @param request 方法参数
         * @param meiTuanEnvConfig
         * @return post地址
         * @throws ApiSysException
         */
        public static String createPostURL(String methodName, Object request, MeiTuanEnvConfig meiTuanEnvConfig) throws ApiSysException {
            Map<String, String> paramMap = new HashMap();
            Map<String, String> systemParamsMap = ConvertUtil.convertSystemParamsToMap(new SystemParam(meiTuanEnvConfig.getAppId(), meiTuanEnvConfig.getAppSecret()));
            paramMap.putAll(systemParamsMap);
            if (ConvertUtil.convertToMap(request) != null) {
                paramMap.putAll(ConvertUtil.convertToMap(request));
            }
            String urlForGenSig = meiTuanEnvConfig.getUrl() + "/" + methodName + "?" + concatParams(paramMap);
            String sig = SignGenerator.genSig(urlForGenSig + meiTuanEnvConfig.getAppSecret());
            urlForGenSig.replaceAll(meiTuanEnvConfig.getAppSecret(), "");
            return urlForGenSig + "&sig=" + sig;
        }
    

    MeiTuanEnvConfig,这个是你的美团请求的环境参数配置,从你的yml文件里面取

    /**
     * @author Cocowwy
     * @create 2021-05-05-18:06
     */
    @ConfigurationProperties(prefix = "xxx.xxx")
    @Getter
    @Setter
    @Configuration
    public class MeiTuanEnvConfig {
        private String url;
        private String appId;
        private String appSecret;
    }
    
    

    美团参数配置

    # 美团参数配置
    xxx:
      xxx:
        url: https://waimaiopen.meituan.com/api/v1/order
        appId: xxx
        appSecret: xxxxxxxxxxxxxxxxxxxxxxxxxxxx  (还记得之前提过一嘴的appSecret吗,就是在那里获取的)
    
    

    接下来,就能够发送请求了,之后自己对响应体进行逻辑上的解析吧。

    美团接口的对接到此为止,如果还有其他想写的,会之后进行补充~

    应用上线

    应用上线

    在这里插入图片描述
    在这里申请上线后,悉心等待即可。

    绑定门店

    应用上线后还需要进行门店授权,
    在这里插入图片描述
    在这里绑定自家门店(连锁账号也行)的账号,然后绑定即可,注意,如果改门店绑定了其他的服务商的话,需要自行解绑,之后即可继续绑定到自己的开发者账号下面了。

    上线的时候回调的坑

    不过后续还有个小坑,在上线的回调接口中,发现数据并未正常推送,查看美团的订单回调发现出现如下异常:
    在这里插入图片描述
    通过翻看一些大佬的解答,说是服务调用方的JDK使用的版本为1.7的,说是因为JDK的版本问题导致会使用不同的TLS协议。
    推送订单取消发生异常:Received fatal alert: protocol_version
    解决方案:既然是配置美团的接口回调,自然不可能强制美团去升级JDK版本,所以解决方案就是将回调接口设置成HTTP请求即可。

    如果有不理解的地方欢迎在下方留言!

    展开全文
  • 美团外卖API接入(一)

    万次阅读 2018-04-28 14:07:46
    前言:文档用于记录美团外卖api的接入过程,美团外卖提供给第三方软件商的接入地址如下,如果是单独的餐饮企业是可以直接接入美团外卖比较成熟的api的。此文是针对第三方软件商想接入美团外卖可以看看。本人接入的...
  • 美团券对接API文档

    2016-09-01 15:50:12
    美团券开发的接口和测试账号
  • 美团Serverless平台Nest的探索与实践

    千次阅读 热门讨论 2021-04-23 00:19:25
    总第447篇2021年 第017篇Serverless是目前比较热门的技术话题,各大云平台以及互联网大厂内部都在积极建设Serverless产品。本文将介绍美团Serverless产品在落...
  • 传递参数的时候只要有汉字,就会报签名(sig)错误,只要把汉字改为英文或者数字,别的不动,就可以了。不知道什么原因,求大牛指点
  • 美团外卖API接入(二)

    千次阅读 2018-04-28 14:09:30
    下面开始写一些操作美团订单的方法只列举部分代码该方法是通过订单编号得到美团服务器订单。通过该方法可以看到需要传入OrderId,及一个appAuthToken。appAuthToken说明:此参数是在做门店映射的时候美团服务器传...
  • 饿了么 饿百 美团 外卖订单API

    千次阅读 2020-07-29 17:02:07
    美团api文档中没有直接返回订单列表 只返回了订单号 利用订单号查询详情 /** * 美团拉取订单列表 */ function sign($data,$secret,$url,$app_id){ ksort($data); //签名前完整字符串 $s = ''; foreach ($...
  • 美团外卖API接入(三)

    千次阅读 2018-04-28 14:10:30
    美团将订单推送给我们,我们推送给ERP设备的方法如下:此处是有一个push表的。在我们准备推送消息的时候就会向数据库插入一条记录,然后后端提供一个方法给前端。并在推送的时候将pushId给前端,如果前端接收到消息...
  • 支付宝开放平台:https://open.alipay.com/platform/home.htm
  • 从2015年初到2018年末,已经在美团点评做了4年商品系统。稍微总结一下。 2019/1/3 #业务快跑、平台慢跑# 1.业务快跑 2015年初开始做泛商品系统是为了做ktv预订探索,背后写了一套通用点的商品系统。记得第一...
  • https://developer.meituan.com/docs/api/tuangou-coupon-querySetMealList 如何通过美团开放平台的门店映射接口获得附近商家列表和商户团购套餐信息(不需要一对一授权),如果不能是否其他方法(非爬虫)?
  • 外卖返利网站 饿了么美团 对接api 然后做一个简单的二级分销 小程序和h5 美团 饿了么返利逻辑很简单 就是对接个api 然后也是用api获取订单 然后根据返回的订单数据做个分销返利即可,自购返利,1级返利,2级返利,...
  • 逆向分析美团API参数 近年来由于python的兴起,爬虫等业务也随即火热起来,那么外卖电商等平台首当其冲是要被爬取的对象.于是一场爬虫与反爬虫的攻坚战就此展开.本文逆向美团外卖平台获取商品信息的加密参数来应对...
  • $url = 'https://api-open-cater.meituan.com/waimai/poi/queryPoiInfo?appAuthToken='.$token.'&charset=utf-8×tamp='.$timestamp.'&sign='.$sign.'&ePoiIds='.$ePoiId; $data = file_get_contents($url); ...
  • 对接美团闪购开放平台 美团闪购开放平台只有java的sdk,特此封装php板sdk 美团闪购平台开发文档:https://open-shangou.meituan.com/home/doc/market/11 class MeituanShangou { /** * 获得签名 * @param $url ...
  • 美团秒杀团单API使用说明

    千次阅读 2021-06-27 14:20:42
    1、秒杀是什么 秒杀是美团到店餐饮业务的特殊供给,...您可以使用餐饮秒杀API构建自己的应用,将美团的餐饮秒杀数据展现给媒体用户,步骤如下: 步骤 调用接口 接口地址 获取结果 Step1 秒杀场次信息接
  • jQuery百度地图API美团外卖配送地址定位代码,省市区得根据自身需求去增加。
  • 美团闪购开放平台是基于美团外卖的闪购&医药业务流程,面向零售类&医药类商家以及服务于相关商家的第三方软件服务商提供编程接口进行系统对接的服务平台,目前已开放对接的包括门店系统、商品系统、订单系统...
  • 1 背景美团外卖业务种类繁多、场景丰富,根据业务特点可分为推荐、广告、搜索三大业务线以及数个子业务线,比如商家推荐、菜品推荐、列表广告、外卖搜索等等,满足了数亿用户对外卖服务的全方面需求。...
  • 订单侠开放平台-美团联盟CPS外卖红包API可以一键生成适用于H5、App端推广活动页面链接,用户通过活动页链接领取相关优惠券红包,红包可在美团APP、美团外卖APP、美团外卖小程序下单且选择在线支付时使用。...
  • 本文介绍美团点评的Docker容器集群管理平台(以下简称“容器平台”)。该平台始于2015年,是基于美团云的基础架构和组件而开发的Docker容器集群管理平台。目前该平台美团点评的外卖、酒店、到店、猫眼等十几个...
  • 在微服务架构下,服务拆分会让API的规模成倍增长,使用API网关来管理API逐渐成为一种趋势。美团统一API网关服务Shepherd就是在这种背景下应运而生,适用于美团业务且完全自研,用于...
  • 随着美团点评金融业务的高速发展,前端研发数量从 2015 年的 1 个人,扩张到了现在横跨北上两地 8 个事业部的将近 150 人。业务新,团队新,前端领域框架技术又层出不穷,各个业务的研发团队在技术选择上没有明确的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,429
精华内容 6,971
关键字:

美团api平台