商户信息同步 - 微信卡券开发笔记(一)

               商户信息同步
                                              - 微信卡券开发笔记(一)
 
    商户同步信息中包含商户基本信息、商户分类、展示图片、卡券创建时使用的商户LOGO准备;
 
    特别提示:微信文档不定时更新,原来的业务逻辑可能会导致很大变化!请随时关注微信开发者中心文档变更!
    (http://mp.weixin.qq.com/wiki/home/index.html)
 
一、商户分类
    a) 按照微信给的商户分类xls,将自己的商户分类按照微信的多级别关系列出,譬如商户分类在本地为“火锅”,根据微信店铺分类文档更改为“美食,火锅”;(注意:逗号为英文状态下)
    b) 图示:
     
 
 
二、商户信息

    a) 微信需要的商户信息字段    

        i. sid 本地商户ID,便于审核通过后,作为标示修改商户信息审核状态;
        ii. business_name 门店名称;
        iii. province(省)、city(市)、district(区)、address(详细地址,不包含省市区);
        iv. telephone 可为手机号码或者固话,”-”区分,如021-888888;
        v. categories 分类名称,严格按照微信的分类级别显示;
        vi. offset_type 暂时只能为1;
        vii. longitude(经度)、latitude(纬度) 注意:一定要是具体的有效的信息,打开可以看到合理的位置,否则微信不予审核通过;
        viii. photo_list(展示图片) 上传至微信的图片返回地址
            1. 要求:1M以下,640*340,JPG格式;
            2. 调用接口
            https://file.api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN
            参数:TOKEN,图片buffer
            注意:
            1)图片为本地服务器的绝对地址如/home/web/img/123.jpg 上传前在地址前加@;
             
            2)图片上传时候,一定为 

            array(array(‘photo_url’=>’微信返回的图片地址’,‘photo_url’=>’微信返回的图片地址’));二维数组;一张图片也得为二维数组;

            这是一个很小的细节,难以注意到,开发过程中没注意,导致两天时间都在找问题在哪,最终发现这个小细节,甭提多开心了。

        ix. Special(特色服务)根据需求写、open_time(营业时间)按照8:00-20:00 格式写;
  b) 商户LOGO准备
       i. 接口:
       ii. 要求:1M以下,JPG格式,300*300;
       iii. 调用接口:
         
 
  c) 调用接口POST数据:
    http://api.weixin.qq.com/cgi-bin/poi/addpoi
    注意:数据需按照
    array("business"=>array("base_info"=>$base_info)),然后转为JSON,保留汉字的原字符样子,不要转义汉字 如转义成16进制编码格式;
     

  d) 微信上传成功之后,存入本地数据库;


三、微信审核
    a) 微信审核通过后会通知公众号开发者中心配置的地址;
     
    b) 按照数据要求 将审核结果通知配置的地址,如预先留有接口用于更改本地商户数据审核状态和插入商家poi_id信息;
        为安全起见,数据最好加密。
        此时如果需要创建卡券,可以在接口方法内继续留创建卡券方法;
    c) 如果不行,可以调用接口查询同步的门店信息,其中包含有审核信息和审核状态;
        http://api.weixin.qq.com/cgi-bin/poi/getpoilist?access_token=TOKEN