Skip to content

模型发布时接收模型数据

模型发布时接收模型数据

功能说明:

模型在被编辑人进行编辑后,需要将模型发布后才能将编辑内容同步到展示端。接入方通过此功能配置自己后台的接口后,在发布时,接收到模型的编辑数据。

注意:
  1. 该功能实现后,每次发布模型都会调用数据接收接口。如果此接口返回失败,则模型也会发布失败。
  2. 众趣编辑后台不限制用户的发布次数。即用户可以发布多次模型,每次发布模型都会调用此接口传递模型数据。
  3. 因业务发展,模型数据中字段后续可能会有所增加。但已有字段的字段名、数据类型不会发生改变,也不会删除现有字段。
  4. 以下接口规则为众趣方推荐的方式。使用这种方式实现不需要考虑众趣方的实现时间,接入方什么时间实现,即可什么时间完成模型数据推送功能。如果接入方希望使用其他方式实现接口,则需要联系众趣方商务以及产品,约定双方开发、联调、上线时间。

实现步骤:

  1. 接入方参照本文档进行开发
  2. 接入方按照本文档中的格式,提供数据接收接口的地址到众趣
  3. 众趣方审核后开通此功能
  4. 开通后,每次模型发布,众趣后台将调用此接口推送数据

数据接收接口规则:

  1. 接口应该以类似以下格式给出
http://customer-host.com/callback/recive_model_data?app_id=xxxxx&app_secret=yyyyy
  1. app_idapp_secret这两个参数用于完成验签。验签的具体实现请看下文验签规则

  2. 数据接收接口必须支持POST方法

  3. 数据接收接口必须能够处理Content-Type值为application/json;charset=utf-8的请求

  4. 业务数据将会以json的格式包含在POST请求体中

  5. 当数据接收接口响应的http status值为200时,视为接口调用成功。

验签规则:

  1. 使用提供的app_idapp_secret两个参数实现验签功能

  2. 众趣调用客户数据接收接口时,在url中添加timestampkey以及app_id这三个参数完成校验。接口调用时,url中不会包含app_secret这个参数。

  3. timestamp参数为调用时的时间戳,单位为

  4. key参数为string类型,生成规则为MD5(app_id + timestamp + "s" + app_secret)

  5. 可以根据以下计算验证代码计算结果

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字段的说明

多层模型在每一层都绘制完成户型图后保存的时候会将所有楼层合并起来。

目前提供两种合并方式:

  1. 所有图片合并成一张。这种情况下合并后的图片通过merge_color_pic与merge_bw_pic字段进行获取。
  2. 每两张图片合并成一张。这种情况下合并后的图片通过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 必须 派单时传递的信息