站方旧数据迁移
最后更新:2015-12-24
文档约定及说明
约定:以下文档中称接口开发方为站方,航加房产项目程序称为系统。
说明:站方返回参数说明中,必选标记为“是”的,在接口中必须返回该字段内容,否则就不需要开发该接口,因为缺少这些字段数据不会被写入。必选标记为“否”的,能提供该字段内容的可提供,不能提供的则不用返回该字段,如果没有该字段数据却返回了该字段值为null等其他值,将导致数据写入出错。
安全验证(可选)
为了保证站方数据的安全,站方接口对请求方验证身份无误后再输出数据。验证流程与微信开放平台类似。系统请求会携带nonce、timestamp、signature和token四个参数,其中token可在房产项目后台迁移数据接口配置中查看到,站方将nonce、timestamp、token参数进行字典序排序,将三个参数字符串拼成一个字符串进行sha1加密,再将加密后的该字符串与signature参数进行对比是否一致,以确定请求来源是否为本系统。
验证代码示例:
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN; //产品后台-后台管理-数据接口-站点TOKEN
$tmpArr = array($timestamp, $nonce, $token);
sort($tmpArr, SORT_STRING);
$tmpStr = implode($tmpArr);
if( sha1( $tmpStr ) != $signature ) exit;//验证结果不一致的话则中断数据输出
导入顺序
数据的导入是有一定的顺序的,数据之间的关联需要数据的互相支撑,因此导入数据时的顺序大致如下图,图中文字左侧数字代表导入序号。图中树结构的同一级中,需要先导入序号小的数据再导入序号大的数据,父子级中,先导入父级数据,再导入子级数据(子级中继续按序号先后导入,依此类推)。
若前面的支撑数据无法提供,则不建议继续往后面开发其他数据接口了。举个例子:站方没有集客订单数据,那么看房团活动订单就不需要开发了,因为看房团活动订单是需要与现有的集客订单数据关联。
具体接口开发规则
1. 商家区域分类(只支持一级分类)
2. 商家数据
3. 酒店扩展信息
4. 酒店宴会厅数据
5. 酒店菜单数据
6. 商家作品数据
7. 婚车数据
8. 商家图册
9. 集客用户数据
10. 集客订单数据
11. 集客流水数据
FAQ
1. 如何导入数据?
站方开发人员根据接口开发规则进行相应的开发,开发完成并测试无误后向我方客服或技术人员申请导入数据,导入过程一切都由我方技术人员执行操作,导入完成后会给站方一个反馈。如果导入过程有错误或者其他意外情况,我方技术会直接联系站方相应开发人员解决。
2. 图片文件如何导入?
大多数形式是要求站方将数据库中保存的图片相对地址导入过来,并告知客服或技术人员图片的主机地址即可。技术人员会在云存储后台配置好原图文件所在的主机地址,当页面上访问该图片链接时,云存储会在云存储本地寻找文件,找不到时才会根据配置的主机地址将站方那的图片文件拉取到云存储上保存。
例子:假设站方有一张图片完整地址是http://oldpichost.com/family/2015/1021/14443237644324234.jpg
,数据库中存储的相对地址数据为2015/1021/14443237644324234.jpg
,并将该相对地址数据导入新系统,技术人员在云存储后台配置镜像源地址为http://oldpichost.com/family/
即可完成平滑过度。
3. 很多接口规则中需要给出主键id,导入系统后能对应关联吗?
有的数据接口中规定需要给出数据的主键id,主要是用于保持与其他数据的关联。
假设将地区数据导入到系统中,系统记录了每条记录的旧的主键id,同时并拥有一个新的id,在导入其他数据时如楼盘,楼盘给出的地区id是旧的区域id,导入后系统就会根据旧区域id寻找对应记录并将该旧id替换为新的区域id。
4. 字段数据超长了怎么办?
部分接口规则文档中,已经对必要字段注明了最大长度,单位是字符,无论中英文都算一个字符。最大长度规定一般情况下都是已经设置的合理长度,如果任何字段超长则数据将无法正确导入,请进行截取。
5. 所有数据都需要导入吗?
针对每种数据,建议只需要把正在用、可能用的数据导入过来,一些其他早已废弃的旧数据就无需导入过来了。