如上文所述,企业微信除了可以通过后管配置的方式来设置欢迎语,还可以基于公开的API来设置来实现给客户发送个性化欢迎语。
下面来聊下具体的实现步骤(下文以根据客户来源渠道不同,发送不同的欢迎语为例):
1、获取客户来源渠道 - 实现方式在博文【企业微信-标记客户(外部联系人)来源渠道】里有说明,这里不再赘述。
2、处理添加企业客户事件 -
① 开发自己的应用程序,用来与企业微信交互,以接收回调事件及API调用,与企业微信进行通信。
根据事件中的【state】字段来判断用户来源于哪个渠道(微信、QQ);
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[sys]]></FromUserName> <CreateTime>1403610513</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[change_external_contact]]></Event> <ChangeType><![CDATA[add_external_contact]]></ChangeType> <UserID><![CDATA[zhangsan]]></UserID> <ExternalUserID><![CDATA[woAJ2GCAAAXtWyujaWJHDDGi0mAAAA]]></ExternalUserID> <State><![CDATA[teststate]]></State> <WelcomeCode><![CDATA[WELCOMECODE]]></WelcomeCode> </xml>
根据渠道不同,通过【发送新客户欢迎语】)推送不同欢迎语(您好,来自QQ渠道的用户!/您好,来自微信渠道的用户!)
(API(https://qyapi.weixin.qq.com/cgi-bin/externalcontact/send_welcome_msg?access_token=ACCESS_TOKEN)
{
"welcome_code": "CALLBACK_CODE",
"text": {
"content": "文本消息内容"
},
"attachments": [{
"msgtype": "image",
"image": {
"media_id": "MEDIA_ID",
"pic_url": "http://p.qpic.cn/pic_wework/3474110808/7a6344sdadfwehe42060/0"
}
}, {
"msgtype": "link",
"link": {
"title": "消息标题",
"picurl": "https://example.pic.com/path",
"desc": "消息描述",
"url": "https://example.link.com/path"
}
}, {
"msgtype": "miniprogram",
"miniprogram": {
"title": "消息标题",
"pic_media_id": "MEDIA_ID",
"appid": "wx8bd80126147dfAAA",
"page": "/path/index.html"
}
}, {
"msgtype": "video",
"video": {
"media_id": "MEDIA_ID"
}
}]
}
② 设置接收时间服务器(当服务人员添加或者删除了外部联系人时,将以事件的形式推送到指定url)
登录企业微信后管-->客户联系-->客户,点击API展开,选择【接收事件服务器】设置,设定用于接收回调事件、处理事件信息的URL、token、
因为没有实操过,细节部分应该是有问题的,待后续优化。
经过查找,网上已经有了demo代码:https://github.com/binarywang/weixin-java-cp-demo(测试可以使用)