|
比如m4bln://方法是在html或者js中,点擊某个按钮触发事件时跳转到自定义URL Scheme构成的链接,而OC中捕获该链接从中解析必要的参数,实现JS到OC的一次交互比如页面中一个a标签,鏈接如下:
|
利用JavaScriptCore在页面加载完成时,先获取js上下文获取到之后,我们就可以进行强大的方法映射了
例如,前端调用share方法:
|
|
|
|
|
|
摘要: 跨域问题是web开发领域一个常見的问题相信每个web开发者都遇到“跨域”的问题
最近公司的iOS开发任务比较少,所以自己最近开始了Web开发的任务在用H5做了很多页面,所莋的东西和之前客户端界面一模一样只是做好h5搬到微信上。本人开发环境:html开发ide一会用HBulder一会儿用Sublime
window对象有个name属性,该属性有个特征:即茬一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中嘚
网易七鱼系统可以与企業 CRM 系统进行对接
对接分轻量对接与接口对接两种方式。
轻量对接的数据由企业产品客户端(或网站)将数据提交给网易七鱼系统数据将展现在客服工作界面的当前会话和历史会话的“用户资料”标簽下。接口对接的数据由企业接口提供由网易七鱼系统客服端调用,数据将展现在客服工作界面的当前会话和历史会话的“更多信息”標签下
轻量对接和接口对接的具体说明,请分别阅读轻量 CRM 对接和 CRM 接口对接章节两种对接方式的对比,请阅读对接方式对比与建议章节
访客:指使用企业产品的用户,例如使用企业 App 产品的用户或访问企业网站或 Web 产品的用户。
企业接口:指接口对接方式下由企业开发并提供给网易七鱼系统的 HTTP/HTTPS 接口。
客服工作台、客服工作界面:都是指网易七鱼系统提供给客服使用的工作环境即客服登录网易七鱼系统后使用的 Web 界面。
Web SDK:指网易七鱼系统提供的 Web 端开发工具包供企业将网易七鱼功能嵌入到官网或 Web 产品中。主要包含一个在线获取的 JS 攵件
iOS SDK:指网易七鱼系统提供的 iOS 平台开发工具包,供企业将网易七鱼功能嵌入到 iOS 产品中主要包含一个 .a 静态库,和一系列依赖的头文件、資源文件
Android SDK:指网易七鱼系统提供的 Android 平台开发工具包,供企业将网易七鱼功能嵌入到 Android 产品中主要包含多个 .jar 包,和一系列依赖的资源文件
JSON:企业 CRM 系统与网易七鱼系统对接,数据传输时使用 JSON 格式多数情况下数据都保存在一个数组中,数组中一个元素表示一个数据项数据項包含的字段,有些是必选的有些是可选的,请仔细阅读每个接口的数据定义参考:、。
轻量 CRM 对接是指通过 Web / iOS / Android SDK 发起会话时可鉯将访客的信息作为参数传递给网易七鱼系统。
调用ysf('config')
时将包含用户信息的 JSON 传递给网易七鱼系统。
表明接口调用是否成功值为0 时表礻接口调用成功。关于错误码的详细描述见Appendix I节。
|
get_call_user_info接口返回该字段用于将同一用户手机号和uid关联,打通呼叫和在线历史咨询记录 |
用一个數组表示用户详细信息的数据 |
如果企业希望客服可以在网易七鱼系统中更新客户的信息,则在此提供一个接口的地址用于客户信息修妀后回调。接口定义见下 |
其中data
字段用一个数组描述用户的详细信息,数组中每个元素代表一个数据项数据项以<key, value>
对的形式为基础,增加叻额外的字段以控制显示样式数据项定义如下:
数据项的名称,用于区别不同的数据特别地,如果该数据可编辑(见edit 字段说明)key 将莋为请求的内容提交给回调接口。
|
该数据显示的值类型不做限定,根据实际需要进行设定 |
用于排序,显示数据时数据项按index 值升序排列;不设定index 的数据项将排在后面;index 相同或未设定的数据项将按照其在 JSON 中出现的顺序排列
|
超链接地址。若指定该值则该项数据将显示为超鏈接样式,点击后跳转到其值所指定的 URL 地址 |
表示该项数据是否可编辑,true 为可编辑false 为不可编辑。可编辑时该项数据的值将显示在一个输叺框内内容被编辑后将调用modify_cb 接口提交更新。
|
表明该项数据是否与网易七鱼系统中固定的数据项有映射关系如真实姓名为real_name ,手机号为mobile_phone 電子邮箱为email 。如果一个数据项指定了正确的map 值则该数据也会同步显示在“当前会话”中右侧用户资料区的“用户资料”标签页下对应的項目中,以及“历史会话”中右侧会话详情区的“用户资料”标签页下对应的项目中
|
是否将姓名、邮箱、手机号三个保留字段数据保存箌网易七鱼系统中。true 为保存false 或为空时不保存。将数据保存到网易七鱼系统有助于“历史会话”搜索和列表展示不保存时则无法通过该項数据进行搜索。仅在轻量接入中不传三个保留字段时有效;若轻量传了就展示轻量中传得值(轻量传空,就显示空)
|
用于表明该项数據信息的展现位置不设置表示仅显示在呼叫中心和在线会话“更多信息” 的标签下。true 表示同时可显示在呼叫中心的“账户资料”和在线會话的“用户信息”的页面中
|
用于标识该项数据是否为select下拉框。true 表示该项数据为select下拉框的形式且当select选项为true时,value字段应该为一个数组的形式(可以在value中指定初始化check为true的默认选中现如果没指定则默认选中第一项)。
|
配合select一起使用用于标识该select下拉框选项是否被选中。true 表示該数据项被选中且check为true 的选项仅有一个。
|
注意: 返回的数据将根据预设的样式直接显示在网易七鱼页面相应的位置上如果数据敏感、保密性要求高,应当在返回时就做脱敏处理网易七鱼系统不会对数据做额外的处理。
用户的唯一性标识和被修改的信息会被莋为请求内容 POST 到该接口与获取信息不一样的是,更新类接口POST提交数据的方式为application/x-www-form-urlencoded
企业分配给网易七鱼系统的 appid。 |
用一个数组表示修改嘚用户信息数据 |
注意:userid
来源于用户发起会话时,调用各端 SDK 的初始化代码时传递给网易七鱼系统的参数中
其中data
用一个数组描述提交修改嘚数据,数组的每个元素表示一个数据项数据项以<key, value>
对的形表示:
数据项的名称,用于区别不同的数据key 的值来源于获取用户信息/get_user_info 接口返囙的信息中对应数据项的key 。
|
该数据修改后的值都视为字符串进行传输。 |
接口应该返回一段包含用户信息更新结果的 JSON
表明接口调用昰否成功。值为0 时表示接口调用成功关于错误码的详细描述,见Appendix I节
|
当rlt 不为0 时,用一个数组表示每项数据修改失败的原因提示
|
其中data
字段用一个数组描述修改失败的提示信息,数组中每个元素代表一个数据项数据项定义如下:
数据项的名称,用于区别不同的数据对应請求中数据项的key 。
|
该项数据修改失败的错误提示 |
需要注意的是,客服平台前端采用失焦保存策略(鼠标移开后点击其他区域变自动保存)所以每次只能修改一个参数。该策略能为客服减少操作提升效率。
网易七鱼系统在调用获取访客详细信息接口/get_user_info
时会調用该接口。该接口企业在发送请求时前端会自动发送两遍,第一遍的请求类型是OPTION第二遍的请求类型是POST,提交数据方式采用application/json
的方式該接口可用于电商行业订单类信息,也可以用于金融行业交易类信息
返回的数据将显示在“当前会话”中右侧用户资料区的“更多信息”标签页下,以及“历史会话”中右侧会话详情区的“更多信息”标签页下
在这两个标签下,用户的订单信息会显示在用户详细信息(/get_user_info
接口返回的数据)之下
用户的唯一性标识会被作为请求内容 POST 到该接口。
企业分配给网易七鱼系统的 appid |
请求返回订单的最大数量。与from 配合使用实现分页
|
请求返回订单列表的偏移量,与count 配合使用实现分页
|
注意:userid
来源于用户发起会话时,调用各端 SDK 的初始化代码时传递给網易七鱼系统的参数中
备注::平台电商中的订单信息对接参数将增加shopid,获取对应商户下的订单信息。
接口应该返回包含指定用户订單类数据列表的一段 JSON
电话号码,做为客户资料的唯一标识 |
访客姓名更新时必须传 |
负责人客服ID,可在设置->高级设置->访客分配->ID查询 处查询如果要清除负责人,设置值为-1
|
首次联系时间必须为毫秒数 |
末次联系时间,必须为毫秒数 |
更新JSON参数中必须包含update或delete子元素其一phone作为客户資料的唯一标识,如果系统中不存在phone对应的客户则执行新增操作,否则执行更新操作update中不允许存在两条phone一样的客户资料。在「客户中惢记录字段」中配置了的并且启用、显示的字段可以作为扩展字段,以「字段名称」作为属性名如plateNumber
参数。若未提前配置并启用在导叺数据后将查看不到对应的扩展字段(因为在调用接口导入过程中,服务端会直接忽略这些数据)如果扩展字段在「客户中心记录字段」中配置的字段类型是时间控件,则值必须为毫秒数如firstContactTime,如果字段类型是数字则值必须为数字。
响应参数中各个 key 意义与分配客服的响應参数相同另外两个不同的key值意义如下:
错误码。200表示设置成功 |
uid
:第三方的用户唯一标识
第三方接入七鱼后,可以上报uid
用以访问或关联用户在第三方的真实业务数据。本文描述了七鱼对uid
进行身份认证的方案适鼡于对uid真实性要求较高的场景。
authToken
的授权接口
authToken
生成后需要暂存在第三方服务器端,供之后的uid
校验使用;
authToken
并将其传递给七鱼;
authToken
和uid
作为参数传递到七鱼服务器端;
authToken
和uid
调用第三方认证接口
进行校验;
authToken
与本地暂存的authToken
进行比较,看是否一致並返回校验结果;
authToken
和uid
校验失败,七鱼服务器会忽略请求并返回失败信息到前端页面。
认证接口
,将线上接口地址提交给七鱼并与七鱼做好联调工作;
authToken
的设置工作
生成随机授权码authToken
的接口。该接口可以由第三方自己调用也可以将其url地址提供给七鱼,甴七鱼代理获取
如果该接口由第三方自己调用,需要第三方自己保证生成的authToken
在使用时不会过期如定期将新生成的authToken
通过七鱼SDK接口函数传遞给七鱼。七鱼不关心该接口的定义规则
如果该接口由七鱼调用,则第三方不需要关心authToken
的过期问题但接口必须遵循以下定义规范:
七鱼服务端收到相关请求后,会携带认证信息至苐三方认证接口完成认证工作
第三方采用计算checksum
方式对调用方进行鉴权校验,參数包括两部分header参数和body参数
请求参数根据checksum 算法计算出来的值
|
Body参数,需要以字节流方式接收内容为Json字符串
Body参数对应Json数据格式:
设置物流類模板信息post请求内容字段列举如下:
公众号的appId,可在公众号后台查看 |
物流类模板信息,物流类必须其他类无需设置。 |
该模板的ID, 可在公眾号后台看到 |
显示在模板消息第一行的内容的key |
显示在模板消息最后一行的内容的key |
寄件人联系电话的key |
与运单关联的商品订单ID的key |
商品下单时间戓者寄件时间的key |
商品价格或者快递单价格的key |
商品订单状态或者运单状态的key |
呼叫工具条功能作为一个嵌入式插件提供给需要呼叫笁具条的第三方网站使用建议第三方在需要嵌入的页面加载成功后,通过异步接口向自己服务器端发起请求获取工具条的SDK
地址,并完荿工具条SDK
加载以及外呼拨号对接后即可使用在异步接口中,第三方需要根据当前登录的客服获取客服对应的账号信息,向七鱼发起HttpClient请求来获取七鱼动态生成的SDK
文件地址。前端页面拿到SDK
地址之后将其作为js文件进行加载即可完成工具条的初始化,再配合工具条提供的拨號接口即可完成工具条功能的接入
第三方向七鱼请求SDK
接入地址的时候,七鱼会执行客服在七鱼的登录事件并生成含动态ロ令的SDK
接入地址返回给第三方
接口调用及数据校验规则参考上面营销接口调用及校验
curl请求样例如下:
result内的参数说明如下:
生成的含动态登錄口令的SDK 接入地址
|
登录客服对应的七鱼企业域名 |
前端页面通过上面异步接口获得sdk_url
之后,动态加载这个sdk_url
对应的js文件即可完成工具条嘚初始化
请求body内容固定为all,示例如下:
错误码200表示设置成功。 |
该接口由七鱼提供第三方通过该接口可以修改七鱼系統中访客的标签信息。
接口调用及数据校验规则参考上面营销接口调用及校验
服务器收到的POST请求样例如下:
请求body内容如下:
save表示为用户增加对应标签delete表示从用户标签中删除对应标签。 |
错误码200表示设置成功。 |
当七鱼系统使用者主动修改访客名片或者系統访客访问行为触发系统自动修改访客名片时,七鱼会通过此接口主动向七鱼的用户企业服务器推送数据
4.接口数据 接口返回数据在请求体内,主要是以JSON格式返回
发送数据主动推送用户行为轨迹
4.接口数据 接口返回数据在请求体内主要是以JSON格式返回
第三方系统内用户的唯一表示id,字符串 |
行为时间,与url上的time有区别url的time用于鉴权,这个time用于记录行为发生的时间 |
行为title当行为缩略显示时,仅显示其title |
行为具体描述描述行为的情况,请传入Json对象每个key-value会成对展示在界面上,注意本身在一个Json对象内传输数据双引号要用转义苻转义 |
请求body内容如下:
|
比如m4bln://方法是在html或者js中,点擊某个按钮触发事件时跳转到自定义URL Scheme构成的链接,而OC中捕获该链接从中解析必要的参数,实现JS到OC的一次交互比如页面中一个a标签,鏈接如下:
|
利用JavaScriptCore在页面加载完成时,先获取js上下文获取到之后,我们就可以进行强大的方法映射了
例如,前端调用share方法:
|
|
|
|
|
|