访客与微信云接口说明

一、协议约定

从访客机向服务器发起请求,使用HTTP协议,POST请求,UTF8编码,大小写敏感

'content-type' => 'application/x-www-form-urlencoded',

二、交互指令

(一)上传人员信息

请求地址:/wx/client/upload_staff

功能说明:上传本地人员信息

POST参数:

ü 当前请示客户端的单位标志ssdw 例如bc2fd76695275ed3c61500ebfb125008,

ü 时间tick  例如1619106177,

ü 校验密码md5,服务器不校验可以忽略 例如96ff3dde7ebdbbd331091d5c26fac75e

ü json格式的数据dataUTF8编码,Urlencode后的内容

{"records":[{"department":"这个是部门","mobile":"这个是手机","name":"这个是姓名","nbr":"这个是工号","state":"0","uuid":"这个是唯一标志"},{"department":"/Smart Factory Kunshan Visiting System/Bihler-比勒恩","mobile":"18626261009","name":"Adem Caliskan","nbr":"516001","state":"0","uuid":"5EF077ED000003B900002AF700000414"},{"department":"/Smart Factory Kunshan Visiting System/Startup -启德航","mobile":"18068061692","name":"顾华婷","nbr":"000738","state":"0","uuid":"5EEB32840000001C0000745C00000414"}],"ssdw":"bc2fd76695275ed3c61500ebfb125008"}

注意:其中人员记录只有uuidname等其它内容为空,则表示删除此uuid对应的人员。

 

返回数据:code0表示成功,其它表示错误,msg为字符串消息可以填充错误原因

{"code":0,"msg":"操作成功"}

(二)获取申请记录

请求地址:/wx/client/get_apply_list

功能说明:获取新的已经预约成功的来访申请记录

POST参数:

ü 当前请示客户端的单位标志ssdw 例如bc2fd76695275ed3c61500ebfb125008,

ü 时间tick  例如1619106177,

ü 校验密码md5,服务器不校验可以忽略 例如96ff3dde7ebdbbd331091d5c26fac75e

ü json格式的交互数据data,例如 {"since":"2021-04-22 08:32:04","ssdw":"bc2fd76695275ed3c61500ebfb125008"} 表示获取自since开始的新的申请记录

返回数据:code0表示成功,其它表示错误,msg为字符串消息可以填充错误原因

{"code":0,"msg":"操作成功",records:[{"ID":服务器端记录的数字ID,没有可填0,"GUESTNAME":客户名称,"HOSTNAME”:接待人名称,”GUESTOPENID":客户UUID,"HOSTOPENID":接待人UUID,"GUESTMOBILE":客户手机,必须,"HOSTMOBILE":"员工手机,必须","BEGINTIMEREQ":"预约来访开始时间YYYY-MM-DD HH:MI:SS","ENDTIMEREQ":"预约来访结束时间YYYY-MM-DD HH:MI:SS","REASON":"来访事由","CAR":"车牌","BARCODE":"访客临时二维码","DEPARTMENT":"单位","ROLENAME":"角色,暂时未支持,填空","EMAIL":"邮箱","GUESTFACE":"客户人脸图片,注意地址不要带域名,正确的应该形如/upload/img/guest1234.jpg","HOSTFACE":"员工人脸,注意地址不要带域名,正确的应该形如/upload/img/host1234.jpg","GUESTIDNO":"客户证件号码"},{2条记录。。。}]}

 

 

(三)来访确认数据交换

请求地址:/wx/client/exchange

功能说明:数据交换功能。

POST参数:

ü 当前请示客户端的单位标志ssdw 例如bc2fd76695275ed3c61500ebfb125008,

ü 时间tick  例如1619106177,

ü 校验密码md5,服务器不校验可以忽略 例如96ff3dde7ebdbbd331091d5c26fac75e

ü json格式的交互数据data,其中upload=1表示本次是上传数据,0表示下载数据自since时间后变化过的数据,ssdw为当前请求者的单位标志(如果服务器只有一个客户端请求则可以忽略),详细见后面的Data数据内容说明。

 

Data数据内容说明:

1. 访问确认功能请求数据。

来访确认指客户来访在门卫登记后向接待员工发送通知,接待员工查看通知后确认允许此客户来访。此时访客机向服务器发送以下数据。

{"rec":{"checkOutTime":"","email":"","guestAddress":"","guestCar":"","guestHeadImg":"图片文件BASE64后的字符串","guestId":"","guestMobile":"13773138892","guestName":"宗钱珍","guestOrg":"","guestUUID":"6080D084000002D70000079300000414","hostMobile":"18068061693","id":"13666","logCapture":"图片文件BASE64后的字符串","logCar":"","logGuestName":"宗钱珍","manCnt":"1","notifySmsResult":"1","reason":"访客.办事","recType":"confirm"},"since":"","ssdw":"bc2fd76695275ed3c61500ebfb125008","upload":1}

对于其中的图片内容,服务器将其保存成jpg图片文件,并用文件地址更新原来的BASE64编码内容。当员工在手机上进行确认允许客户访问后,这些内容将在下次访客机发起exchange请求(upload=0)下载返回给访客机。此时访客机请求是如下格式:

{"since":"2021-04-22 17:11:41","ssdw":"bc2fd76695275ed3c61500ebfb125008","upload":0}

表示要顺序获取从since这个时间后变化过的数据。

服务器返回如下格式的数据(注意下面的例子只是说明格式,此内容不是上面请示的返回)

{ID:本记录在云端系统的数字唯一标志没有就填充0,BIZUID:请求中的ID,上面示例中的13666,UUID:本记录在云端系统的字符串唯一标志,DATAINFO:原请求记录经BASE64编码后的字符串,见下面的说明,RECSTATE:记录状态,ok表示云端已经处理成功,fail表示失败,RECTYPE:confirm表示访问确认业务,MANUUID:业务操作的人员标记,没有可填充空,MEMORY:服务器处理生成的备注,MODTIME:记录修改时间YYYY-MM-DD HH:MI:SS,CREATETIME:记录生成时间YYYY-MM-DD HH:MI:SS}

其中DATAINFO的数据为原请求数据,将图片另存为文件后替换为文件名的字符串,再BASE64编码生成,即类似以下数据的BASE64编码:

{"checkOutTime":"","email":"","guestAddress":"客户地址测试","guestCar":"","guestHeadImg":"/img/biz/20210422/2021042212085151505497.jpg","guestId":"370404198210201431","guestMobile":"18662588381","guestName":"测试","guestOrg":"","guestUUID":"6080F6C7000000060000048500000414","hostMobile":"13451753267","id":"13680","logCapture":"/img/biz/20210422/2021042212085151505498.jpg","logCar":"","logGuestName":"测试","manCnt":"1","notifySmsResult":"1","reason":"办事","recType":"confirm"}