meiQia

来自于:美洽立即使用

概述

注意:本模块最低支持 iOS 6.0,Android 2.3

美洽是一款实现手机用户与企业保持随时随刻沟通的客服工具。本模块封装了美洽的相关接口。使用此模块之前需要先注册美洽获取 appkey。

图片说明

Appkey获取方法

使用管理员权限账号登陆美洽,在 设置 --> SDK 页面中,选择 添加 App 配置 ,根据提示配置 App 信息,然后添加 APP 即可得到 appkey 用于配置。

开源地址

模块源代码和集成Demo: https://github.com/Meiqia/MeiQia_For_APICloud

模块中的美洽UI源代码: https://github.com/Meiqia/MeiqiaSDK-iOS https://github.com/Meiqia/MeiqiaSDK-Android

initMeiQia

初始化美洽

initMeiQia({params}, callback(ret, err))

params

appkey:

  • 类型:字符串
  • 描述:注册美洽后,从美洽后台获得的 appkey

callback:

  • 类型:方法
  • 描述:初始化成功将返回顾客ID(ClientId),初始化失败将返回错误描述

示例代码

//创建美洽
var mq = api.require('meiQia');
//配置初始化美洽需要的appkey
var param = {
    appkey: "33c19c19bd858746b878fcc93166f2e5"
};
//初始化美洽
mq.initMeiQia(param, function(ret, err) {
    if (ret) {
        //初始化成功
        alert(JSON.stringify(ret));
    } else {
        //初始化失败
        alert(JSON.stringify(err));
    }
})

补充说明

必须在初始化后才能正常使用此模块的其他方法,所以建议将初始化放在App启动时执行。美洽模块只需要初始化一次。

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

setTitleColor

设置美洽聊天界面的标题栏中文字的颜色 setTitleColor({params})

params

color:

  • 类型:字符串
  • 描述:#FFFFFF格式的HTML颜色

示例代码

var mq = api.require('meiQia');
//设置title以及按钮颜色
var titleColor = {
    color: "#ffffff"
};
mq.setTitleColor(titleColor);

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

setTitleBarColor

设置美洽聊天界面的标题栏背景颜色 setTitleBarColor({params})

params

color:

  • 类型:字符串
  • 描述:#FFFFFF格式的HTML颜色

示例代码

var mq = api.require('meiQia');
//设置标题栏背景颜色
var titleBarColor = {
    color: "#00ff00"
};
mq.setTitleBarColor(titleBarColor);

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

show

弹出美洽聊天界面

show()

示例代码

var mq = api.require('meiQia');
mq.show();

补充说明

如果需要指定客服setScheduledAgentOrAgentGroup()、添加自定义信息setClientInfo()、设置美洽顾客IDsetLoginMQClientId()或设置自定义IDsetLoginCustomizedId(),需要在show()前执行,否则无效。

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

setScheduledAgentOrAgentGroup

指定分配客服与客服组

setScheduledAgentOrAgentGroup({params})

params

agentId:

  • 类型:字符串
  • 描述:在美洽系统中客服对应的ID

agentGroup:

  • 类型:字符串
  • 描述:在美洽系统中客服组对应的ID

scheduleRule:

  • 类型:字符串
  • 默认值:enterprise
  • 描述:
    • none:不转接给任何人,让用户留言
    • group: 转接给组内的人
    • enterprise: 转接给企业其他随机一个人

示例代码

var mq = api.require('meiQia');
//设置指定分配给某客服,并且如果客服不在线,则留言而不转接给其他客服
var scheduleParam = {
    agentId: "ed55383a0fa82bbe8242ee16477c9ac3",
    scheduleRule: "none"
};
mq.setScheduledAgentOrAgentGroup(scheduleParam);

补充说明

agentId和agentGroup可只传其中一个,也可同时都传。美洽系统将优先分配指定客服,如果客服不在线,则分配到指定的客服组,如果客服组也无人在线,则分配到全部客服。如果使用该接口,那么需要在show之前调用

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

setClientInfo

效果图:

效果图

添加规范化用户信息

setClientInfo({params})

params

默认参数 描述
avatar 头像 URL
address 地址
age 年龄
comment 备注
email 邮箱
gender 性别
name 名字
qq QQ
tel 电话
weibo 微博
weixin 微信
source 顾客来源
tags 标签,数组形式。且必须是企业中已经存在的标签

示例代码

var mq = api.require('meiQia');
//设置用户信息
var infoParam = {
    email: "dev@meiqia.com",
    comment: "这是备注",
    avatar: "https://app.meiqia.com/images/logo.png",
    tags: ["付费用户", "使用疑问"]
};
mq.setClientInfo(infoParam);

补充说明

自定义用户信息将会被传送到美洽服务端,用于对话时显示给客服人员一作参考。这些参数都是可选的,可以选择其中的一个或者多个传递。此接口必须在show之前执行。

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

setLoginMQClientId

设置美洽顾客的 id 后,该id对应的顾客将会上线。设置后可实现消息漫游。 setLoginMQClientId({params})

params

id:

  • 类型:字符串
  • 描述:美洽的ClientID。会在成功初始化美洽后返回

示例代码

var mq = api.require('meiQia');
//设置美洽ID
var clientIdParam = {
    id: "9f0b2d3339edeec591a6e3be5dbafd64",
};
mq.setLoginMQClientId(clientIdParam);

补充说明

如果美洽服务端没有找到该顾客 id 对应的顾客,则会返回该顾客不存在的错误。

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

setLoginCustomizedId

使用该接口,可让美洽绑定开发者的用户系统和美洽的顾客系统。 设置开发者自定义 id 后,将会以该自定义 id 对应的顾客上线。设置后可实现消息漫游。

setLoginCustomizedId({params})

params

id:

  • 类型:字符串
  • 描述:开发者自定义的用户ID。尽量避免使用\、<、>、?、@等符号作为ID

示例代码

var mq = api.require('meiQia');
//设置自定义用户Id
var customizedIdParam = {
    id: "id00001",
};
mq.setLoginCustomizedId(customizedIdParam);

补充说明

注意,如果美洽服务端没有找到该自定义 id 对应的顾客,则美洽将会自动关联该 id 与 SDK 当前的顾客。 如果开发者的自定义 id 是自增长,美洽建议开发者服务端保存美洽顾客 id,登陆时 设置登录客服的顾客 id,否则非常容易受到中间人攻击。

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

setNavRightButton

使用该接口,用于自定义聊天界面中右上角的按钮。

params

title:

  • 类型:字符串
  • 描述:自定义按钮的文字标题

image:

  • 类型:字符串
  • 描述:自定义按钮的图标,(Android 仅支持网络图片,iOS支持网络图片,fs://, widget:// 路径协议)

callback

点击按钮后的回调事件

示例代码

var mq = api.require("meiQia");
mq.setNavRightButton({
    title:"返回",
    image:'widget://res/back.png'
}, function(){
    alert("right button tapped")
});

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

getUnreadMessageCount

使用该接口获取未读消息的数目

getUnreadMessageCount(callback(ret));

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:获取到的未读消息
  • 内部字段:
{
    count:2      //数字类型;未读数据条数
}

示例代码

var mq = api.require("meiQia");
mq.getUnreadMessageCount(function(ret) {
    api.alert({msg:JSON.stringify(ret)});
}

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

setPreSendTextMessage

设置预发送消息,该消息将会在用户上线之后自动发送给客服,可以用于标记客户当前正在浏览的内容等客服需要了解的信息。

setPreSendTextMessage({params});

params

message:

  • 类型:字符串
  • 描述:发送的消息内容

示例代码

var mq = api.require("meiQia");
mq.setPreSendTextMessage({
   message:"This is the presend message, you can put your product here to indicate to agent that the client is browsing it"
});

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本