模型发布时接收模型数据
模型发布时接收模型数据
功能说明:
模型在被编辑人进行编辑后,需要将模型发布后才能将编辑内容同步到展示端。接入方通过此功能配置自己后台的接口后,在发布时,接收到模型的编辑数据。
注意:
- 该功能实现后,每次发布模型都会调用数据接收接口。如果此接口返回失败,则模型也会发布失败。
- 众趣编辑后台不限制用户的发布次数。即用户可以发布多次模型,每次发布模型都会调用此接口传递模型数据。
- 因业务发展,模型数据中字段后续可能会有所增加。但已有字段的字段名、数据类型不会发生改变,也不会删除现有字段。
- 以下接口规则为众趣方推荐的方式。使用这种方式实现不需要考虑众趣方的实现时间,接入方什么时间实现,即可什么时间完成模型数据推送功能。如果接入方希望使用其他方式实现接口,则需要联系众趣方商务以及产品,约定双方开发、联调、上线时间。
实现步骤:
- 接入方参照本文档进行开发
- 接入方按照本文档中的格式,提供数据接收接口的地址到众趣
- 众趣方审核后开通此功能
- 开通后,每次模型发布,众趣后台将调用此接口推送数据
数据接收接口规则:
- 接口应该以类似以下格式给出
http://customer-host.com/callback/recive_model_data?app_id=xxxxx&app_secret=yyyyy
-
app_id
和app_secret
这两个参数用于完成验签。验签的具体实现请看下文验签规则
。 -
数据接收接口必须支持
POST
方法 -
数据接收接口必须能够处理
Content-Type
值为application/json;charset=utf-8
的请求 -
业务数据将会以
json
的格式包含在POST请求体中 -
当数据接收接口响应的
http status
值为200时,视为接口调用成功。
验签规则:
-
使用提供的
app_id
和app_secret
两个参数实现验签功能 -
众趣调用客户数据接收接口时,在url中添加
timestamp
和key
以及app_id
这三个参数完成校验。接口调用时,url中不会包含app_secret
这个参数。 -
timestamp
参数为调用时的时间戳,单位为秒 -
key
参数为string类型,生成规则为MD5(app_id + timestamp + "s" + app_secret)
-
可以根据以下计算验证代码计算结果
app_id = "test_app_id"
timestamp = "1623053298"
app_secret = "test_app_secret"
key = MD5(app_id + timestamp + "s" + app_secret)
则key的值为:
3c38699b311aa850a0a6f548f0bf5ebe
模型数据demo及参数:
{
"creator": "众趣测试",
"owner_account": "众趣测试",
"vr_speak_status": 0,
"customer_key": "",
"owner": "众趣测试",
"long_video": "",
"city": "北京",
"nest_area": "77.56",
"creator_account": "众趣测试",
"mid": "aad98744_tmlC_b6f9",
"checker": "众趣测试",
"provider": "冷继涛",
"project_name": "和瑞园",
"checker_org": "实勘部",
"apartment": {
"toilet_num": 1,
"livingroom_num": 2,
"bedroom_num": 1,
"kitchenroom_num": 1
},
"hid": "12331231",
"short_video": "",
"floorplan_info": {
"room_info": [
"客厅",
"厨房",
"阳台",
"过道",
"卧室",
"卫生间",
"餐厅"
],
"is_multi_floor": 0,
"floors": [
{
"color_pic": "https://infocdn.3dnest.cn/aad98744_tmlC_b6f/2023-03-27-16-20-02/ht267473a4-d772-11ed-9f3c-0242ac110097_1440_1080.jpg",
"bw_pic": "https://infocdn.3dnest.cn/aad98744_tmlC_b6f9/2023-03-27-16-20-02/ht26781e32-d772-11ed-9f3c-0242ac110097_1440_1080.jpg",
"name": "一楼"
}
],
"create_time": "2023-04-10 15:34:39",
"merge_color_pic": "",
"merge_bw_pic": "",
"paris_floorplan": [
{
"url": "https://infocdn.3dnest.cn/aad98744_tmlC_b6f/2023-03-27-16-20-02/ht267473a4-d772-11ed-9f3c-0242ac110097_1440_1080.jpg",
"floor_index": [
0,
1
],
"type": "BLACK",
"floor_name": [
"一楼",
"2"
]
},
{
"url": "https://infocdn.3dnest.cn/aad98744_tmlC_b6f/2023-03-27-16-20-02/ht267473a4-d772-11ed-9f3c-0242ac110097_1440_1080.jpg",
"floor_index": [
0,
1
],
"type": "COLOR",
"floor_name": [
"一楼",
"2"
]
}
],
"merge_mode": 0
},
"publisher_org": "众趣内部",
"publisher": "王虎",
"url": "?m=aad98744_tmlC_b6f9",
"checker_account": "众趣内部",
"owner_org": "实勘部",
"vr_cover": "https://download.3dnest.cn/aad98744_tmlC_b6f9/2023-03-27-16-20-02/resources/spot_1679907442.jpg",
"survey": [
{
"path": "https://download.3dnest.cn/aad98744_tmlC_b6f9/2023-03-27-16-20-02/resources/客厅9921938676.jpg",
"name": "客厅"
},
{
"path": "https://download.3dnest.cn/aad98744_tmlC_b6f9/2023-03-27-16-20-02/resources/厨房9921967966.jpg",
"name": "厨房"
},
{
"path": "https://download.3dnest.cn/aad98744_tmlC_b6f9/2023-03-27-16-20-02/resources/卧室9921996250.jpg",
"name": "卧室"
},
{
"path": "https://download.3dnest.cn/aad98744_tmlC_b6f9/2023-03-27-16-20-02/resources/卫生间9922017201.jpg",
"name": "卫生间"
},
{
"path": "https://download.3dnest.cn/aad98744_tmlC_b6f9/2023-03-27-16-20-02/resources/餐厅9922037990.jpg",
"name": "餐厅"
}
],
"publisher_account": "wanghu@3dnest.cn",
"house_info": [
{
"title": "截止时间",
"value": "20210821"
},
{
"title": "拍摄要求",
"value": ""
}
]
}
字段解释
针对paris_floorplan字段和merge_color_pic与merge_bw_pic字段的说明
多层模型在每一层都绘制完成户型图后保存的时候会将所有楼层合并起来。
目前提供两种合并方式:
- 所有图片合并成一张。这种情况下合并后的图片通过merge_color_pic与merge_bw_pic字段进行获取。
- 每两张图片合并成一张。这种情况下合并后的图片通过paris_floorplan字段获取。
名称 | 类型 | 是否必须 | 示例或者说明 | 备注 | 其他信息 |
---|---|---|---|---|---|
mid | string | 必须 | 模型ID | ||
hid | string | 必须 | 房源ID | ||
customer_key | string | 非必须 | 一个对接移动端sdk时的用于分类模型的字段,无则不传 | ||
project_name | string | 必须 | 模型名称 | ||
creator | string | 必须 | 创建人昵称 | ||
short_video | string | 必须 | 短视频地址 | ||
owner | string | 必须 | 所属人昵称 | ||
owner_account | string | 必须 | 所属人账号 | ||
owner_org | string | 必须 | 所属人部门 | ||
checker | string | 必须 | 审核人昵称 | ||
checker_account | string | 必须 | 审核人账号 | ||
checker_org | string | 必须 | 审核人部门 | ||
creator_account | string | 必须 | 创建人账号 | ||
url | string | 必须 | 模型访问的相对地址 | ||
city | string | 必须 | 模型所属城市 | ||
vr_cover | string | 必须 | 模型封面图 | ||
survey | object [] | 必须 | 模型实勘图 | item 类型: object |
|
├─ name | string | 必须 | 实勘图名称 | ||
├─ path | string | 必须 | 实勘图地址 | ||
floorplan_info | object | 必须 | 户型图 | ||
├─ is_multi_floor | number | 必须 | 是否为多层 | ||
├─ floors | object [] | 必须 | 各楼层户型图 | item 类型: object |
|
├─ bw_pic | string | 必须 | 本楼层黑白户型图 | ||
├─ color_pic | string | 必须 | 本楼层彩色户型图 | ||
├─ name | string | 必须 | 本楼层名称 | ||
├─ merge_bw_pic | string | 必须 | 合并的黑白户型图 | ||
├─ merge_color_pic | string | 必须 | 合并的彩色户型图 | ||
├─ room_info | string [] | 必须 | 所有房间名称的array | item 类型: string |
|
├─ | 非必须 | 房间名称 | |||
├─ paris_floorplan | object [] | 非必须 | 分层合并的户型图 | item 类型: object |
|
├─ url | string | 必须 | 户型图地址 | ||
├─ floor_index | object [] | 必须 | [0, 1] | 楼层索引列表 | item 类型: int |
├─ type | string | 必须 | BLACK:黑白图片, COLOR:彩色图片 | 图片类型 | |
├─ floor_name | object [] | 必须 | ["一楼", "二楼"] | 楼层名称列表 | item 类型: string |
├─ merge_mode | number | 必须 | 户型图合并模式 | 0:所有楼层合并成一张,2:每两层合并成一张 | |
vr_speak_status | number | 必须 | 讲房状态-1已编辑完成讲房-0未编辑讲房 | ||
apartment | object | 必须 | 厅室厨卫数量 | ||
├─toilet_num | int | 必须 | 卫生间数量 | ||
├─bedroom_num | int | 必须 | 卧室数量 | ||
├─livingroom_num | int | 必须 | 客厅数量 | ||
├─kitchenroom_num | int | 必须 | 厨房数量 | ||
nest_area | string | 必须 | 模型面积 | 已模型拍摄计算,与实际房子可能有偏差 | |
long_video | string | 必须 | 长视频地址 | ||
house_info | object | 必须 | 派单时传递的信息 |