# App 拉起微信客服功能

# 功能介绍

考虑到部分场景下 App 需要拉起微信客服,以完成相关咨询服务。为此 OpenSDK 提供了移动应用(App)拉起微信客服功能。移动应用(App)接入此功能后,用户可以从 App 拉起指定的微信客服会话。该功能已向全体开发者开放,开发者在已认证的微信开放平台账号下,申请移动应用审核通过后并上架,即可获得移动应用拉起微信客服的功能权限。

# 使用说明

# 账号要求

移动应用开发者使用该功能,需同时满足以下条件:

  1. 微信开放平台账号已认证
  2. 移动应用审核通过并上架

注意:若移动应用未上架,则最多只能拉起微信客服 100 次/天,用于满足调试需求。

# 关联说明

移动应用仅可拉起具有绑定关系的微信客服,开发者需前往 微信客服官网 完成移动应用(AppID)和企业 ID 的绑定。

注意:一个移动应用(AppID)最多绑定 15 个企业 ID。

# 开发示例

# 多端应用开发指南

为降低开发者构建移动应用的开发成本,平台推出基于小程序技术实现的多端框架,基于该多端框架可低成本开发 Android 和 iOS 应用,详情可查看 多端框架概述。如果你的 App 是通过官方多端框架开发的,可分别调用如下 JSAPI 即可在 App 中实现拉起微信客服功能。

# 非多端应用开发指南

如果你的 App 不是通过多端框架开发的,可按照下方的指南在 App 中集成微信 SDK 后,调用接口实现拉起微信客服功能。

# Android 开发示例

  • OpenSDK 版本:大于等于 6.7.9

调用接口:WXOpenCustomerServiceChat 移动应用跳转到微信客服会话示例:

String appId = "wxd930ea5d5a258f4f"; // 填移动应用(App)的 AppId
IWXAPI api = WXAPIFactory.createWXAPI(context, appId);

// 判断当前版本是否支持拉起客服会话
if (api.getWXAppSupportAPI() >= Build.SUPPORT_OPEN_CUSTOMER_SERVICE_CHAT) {
    String url = kfUrl.getText().toString();
    WXOpenCustomerServiceChat.Req req = new WXOpenCustomerServiceChat.Req();
    req.corpId = "xxxx";                             // 企业 ID
    req.url = "https://work.weixin.qq.com/kfid/kfcxxxxx";  // 客服 URL
    api.sendReq(req);
}

# iOS 开发示例

  • OpenSDK 版本:大于等于 1.9.2

移动应用跳转到微信客服会话示例:

WXOpenCustomerServiceReq *req = [[WXOpenCustomerServiceReq alloc] init];
req.corpid = corpId;    // 企业 ID
req.url = url;          // 客服 URL
return [WXApi sendReq:req completion:nil];

回调说明

-(void)onResp:(BaseResp *)resp
{
    if ([resp isKindOfClass:[WXOpenCustomerServiceResp class]])
    {
        int errCode = resp.errCode;        // 0 为成功,其余为失败
        NSString *string = resp.extMsg;    // 相关错误信息
    }
}

# 鸿蒙开发示例

  • 鸿蒙微信版本:大于等于 1.0.11
  • OpenSDK 版本:大于等于 1.0.15

移动应用跳转到微信客服会话示例:

import * as wxopensdk from '@tencent/wechat_open_sdk';

const APP_ID = "wx4a8d53a2ceb957dc" // 填移动应用(App)的 AppId
const WXApi = wxopensdk.WXAPIFactory.createWXAPI(APP_ID)

let req = new wxopensdk.OpenCustomerServiceChatReq()
req.corpId = "wwxxxxx"; // 企业 ID
req.url = "https://work.weixin.qq.com/kfid/kfcxxxxx";  // 客服 URL
WXApi.sendReq(getContext(this) as common.UIAbilityContext, req)

回调说明:

import * as wxopensdk from '@tencent/wechat_open_sdk';

class WXApiEventHandlerImpl implements wxopensdk.WXApiEventHandler {

  // ...

  onResp(resp: wxopensdk.BaseResp): void {
    if (resp instanceof wxopensdk.OpenCustomerServiceChatResp) {
      const errCode = resp.errCode   // 0 为成功,其余为失败
    }
  }
}