RTX发送消息提醒实现以及注意事项
一、RTX简介
RTX是腾讯公司推出的企业级即时通信平台。该平台定位于降低企业通信费用,增强企业内部沟通能力,改善企业与客户之间的沟通渠道,创造新兴的企业沟通文化,提高企业生产力。RTX平台的主要功能,包括企业内部实时信息交互、视频语音网络会议、企业短信中心、标准目录服务支持等等。RTX平台具有很高的实用性、易用性和可管理性。除了底层采用128位对称加密技术之外,在实际应用中,RTX可以通过员工实名制、记录对外交互信息等措施,确保企业应用的通信安全。 同时,腾讯公司为所有的RTX用户提供企业级的信息服务,主要包括企业黄页、企业间协作、网络IP电话、集团短信,以及企业与网络消费者实时沟通等等服务。想了解更多腾讯通(RTX)的信息,请访问:http://rtx.tencent.com
二、RTXSDK
RTX Server所提供的二次扩展功能,包括API接口的说明、二次扩展应用的实现、以及部分扩展功能的示例程序。通过本文档,您可以了解到如何通过腾讯RTX Server所提供的API接口进行一些个性化的功能扩展以及应用集成。
腾讯RTX Server作为企业通信平台,一方面为企业提供丰富的即时通信功能(文本、音频/视频、文件)与服务(短信),另一方面为企业的其他应用提供了丰富的集成、扩展接口。基于Server API的扩展,可实现企业应用在即时通信、人机交互,以及无线应用方面的快速增强。
我们在UNIONMON中是调用RTX的API接口来进行开发的,SDK接口的测试源程序位于SDK安装目录下的Sample目录,通过所提供的JAVA测试程序,可以快速了解、检测SDK相关接口的功能。
三、消息发送原理:
通过GET或者POST方式将需要发送的消息和RTX用户帐号,传给RTX提供的cgi接口。
四、消息发送方法:
功能一:发送即时消息
1.调用方式:GET/POST
URL:/sendnotify.cgi 用法举例(IE地址栏中输入): http://127.0.0.1:8012/sendnotify.cgi?msg=hello&receiver=wwjs
参数表:
receiver:接收者,用户昵称,多个接收者以“,”隔开。
msg:消息内容 ,如需要发隐式链接,格式如: [我的博客|http://www.baidu.com]
title:消息提醒的标题。
delaytime:消息提醒框的停留时间(毫秒),0表示不自动消失。
okurl:成功后IE自动定位到指定的url 格式类似为:okurl=www.baidu.com或者okurl=http://www.baidu.com 注意:这里的url必须为绝对地址。
errurl:失败后IE自动定位到指定的url。
功能二:获取用户状态
1.调用方式:http://127.0.0.1:8012/getstatus.php?username=yangbin
2.参数说明:username 需要获取哪个用户的状态
功能三:给某个组群发RTX广播消息
1.调用方式:http://127.0.0.1:8012/sendnotifybydepart.php?receiverdepart=运维开发组&msg=吃饭了&title=通知&online=1&delaytime=10000
2.参数说明:receiverdepart 需要给那个部门发送消息,该部门即在RTX中看到的组织架构中的部门名
msg:消息内容 ,如需要发隐式链接,格式如: [明朝|http://www.baidu.com]
title:消息提醒的标题。 【可省略】
online:是否只发在线用户,默认只发给在线用户。 【可省略】
delaytime:消息提醒框的停留时间(毫秒),0表示不自动消失,默认为0。 【可省略】
okurl:成功后IE自动定位到指定的url 格式类似为:okurl=rtx.tencent.com
或者okurl=http://tx.tencent.com 注意:这里的url必须为绝对地址。 【可省略】
errurl:失败后IE自动定位到指定的url。【可省略】
功能四:给某个群群发RTX广播消息
1.调用方式:http://127.0.0.1:8012/sendnotifybygroup.php?receivergroup=M4开发群&msg=吃饭了&title=通知&online=1&delaytime=10000
2.参数说明:
receivergroup 需要给那个群发送广播消息,即RTX群
msg:消息内容 ,如需要发隐式链接,格式如: [明朝|http://www.baidu.com]
title:消息提醒的标题。 【可省略】
online:是否只发在线用户,默认只发给在线用户。 【可省略】
delaytime:消息提醒框的停留时间(毫秒),0表示不自动消失,默认为0。 【可省略】
okurl:成功后IE自动定位到指定的url 格式类似为:okurl=rtx.tencent.com
或者okurl=http://tx.tencent.com 注意:这里的url必须为绝对地址。 【可省略】
errurl:失败后IE自动定位到指定的url。【可省略】
五、注意事项
1.参数msg中如果包含中文那么需要将msg的编码方式转换成GBK或者GB2312,msg是不支持UTF-8编码方式的。
2.参数msg如需要加入超链接格式为:[点我跳转|http://www.baidu.com]
3.参数msg中不能出现空格,如果需要空格可用【+】替代。
4.如果请求的url中包含特殊字符,那么需要使用urlencode(),来对url进行编码,否则可能导致超链接显示不正常。
5.发送消息是需要权限的,这个需要在RTX服务端配置才能发送消息。
六、问题建议
1.对msg进行转码的时候用GBK不要用GB2312,因为GB2312支持的汉字比较少,很多比较偏的汉字会无法显示,导致消息被中断(即用户只能收到这个中断前的字符)。
2.在对消息进行转码的时候,可以考虑加入参数IGNORE,即$msg=iconv(“utf-8″,”gb2312//IGNORE”,$msg)这样在转码的时候将会忽略错误字符。会将错误字符后面的继续转码。
3.在RTXServer服务端的WebRoot目录下放着很多的cgi和php文件。这些文件都是可以用HTTP方式来访问的,你也可以自己编写新的cgi或者php文件,然后将其放到改目录下即可。这样将可能提供非常强大的扩展功能。
4.解决中文发送问题:
在SendNotify.cgi(C:\Program
Files\Tencent\RTXServer\WebRoot\SendNotify.cgi)加上以下语句:
$msg = iconv("utf-8","gbk", $msg); 
$title = iconv("utf-8","gbk", $title);
$receiver = iconv("utf-8","gbk", $receiver);
5.解决IP受限问题:
在SDKProperty.xml(C:\Program
Files\Tencent\RTXServer\SDKProperty.xml)
如果需要在其它计算机上使用SDK包,必须将这台计算机的IP192.168.17.1地址也加入,如下代码,在<APIClient>段。
<APIClient>
<IPLimit
Enabled="1">
  <IP>127.0.0.1</IP>
    <IP>192.168.17.1</IP>
</IPLimit>
</APIClient>
如果添加远程访问机器的IP地址,如下代码,允许192.168.17.2通过http方式访问cgi文件。
<sdkhttp>
<IPLimit
Enabled="1">
  <IP>192.168.17.1.2</IP>
</IPLimit>
</sdkhttp>
七、RTX服务器迁移或者RTX服务器系统重装注意事项
1、RTX服务器迁移或者RTX服务器系统重装前,需注意备份如下数据:
(1)、在RTX管理器–“用户管理”–“用户数据导入导出”,选择导出按钮将RTX的用户数据导出,格式为xml。
(2)、备份用户群数据和用户照片,分别保存在db\disgroup_db.mdb和files\infoserver\userphotofiles。一般情况下,用户数据导入导出功能导出的xml格式用户数据在导入到RTX以后,用户群数据和角色数据都会自动导入的,此步备份的目的是当导入用户数据失败时,可以将这两个数据复制到相应位置用于还原。建议将db\和config\下的所有文件备份;
(3)、如果后台数据库为SQL,通过SQL管理器备份用户数据库,如果没有第三方应用,RTX后台数据库建议直接使用默认的ACCESS。
2、RTX服务器安装完成后,需注意以下几点:
(1)、先导入授权文件,保证所有服务都已经正常启动再做余下的操作;
(2)、导入xml格式用户数据时,注意要先选择“RTX2005及以后版本数据导入”;
(3)、如果部署环境是内网的RTX服务器发布到公网,需在“配置向导”–“服务运行状态”–“高级配置”–“客户端登录服务器的地址”增加公网IP地址,否则公网用户可能无法发送图片和文件;
(4)、停止服务器“服务运行状态”中所有服务,使用记事本打开服务器安装目录*:\Program
Files\Tencent\RTXServer\config\rtxserver.xml
,把相应端口的IP地址全部改为127.0.0.1(8009端口的例外),保存文件后再重新启动所有服务;
(5)、遇到公网用户无法自动升级的情况,需先在RTX管理器中停止所有服务,然后打开安装目录中config下的rtxserver.xml,找到8009端口对应的IP,将IP改为公网IP,RTX管理器的“服务运行状态”urgradesvr自动升级服务器配置也做相同的更改,最后启动所有服务。更改后公网用户可以自动升级,但内网用户就无法自动升级了,需要根据实际应用情况权衡。

参考博客:《使用web向RTX发通知 》
另附,RTX官方SDK说明:http://rtx.tencent.com/sdk/
RTX发送消息提醒实现以及注意事项的更多相关文章
- PHP实现RTX发送消息提醒
		
RTX是腾讯公司推出的企业级即时通信平台,大多数公司都在使用它,但是我们很多时候需要将自己系统或者产品的一些通知实时推送给RTX,这就需要用到RTX的服务端SDK,建议先去看看RTX的SDK开发文档( ...
 - RTX消息提醒工具设计文档
		
为什么要做 项目上线后,系统依然由各业务模块负责人自己维护.而后台运行的各种业务服务结果,不能及时反馈到业务负责人.而等到客户反馈时则会太被动.为了能及时发现并解决项目问题,设计了该工具. 可利用资源 ...
 - python使用itchat发送微信消息提醒
		
最近在学习一点python,先找了找有趣的应用,实际修改跑了一下提高兴趣程度. 找到itchat,它的简介是这样的: “itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单. ...
 - 使用SignalR实现消息提醒
		
Asp.net SignalR是微软为实现实时通信的一个类库.一般情况下,SignalR会使用JavaScript的长轮询(long polling)的方式来实现客户端和服务器通信,随着Html5中W ...
 - 一步一步来做WebQQ机器人-(五)(发送消息||完结)
		
× 本篇主要是: 发送QQ消息(to:好友,群),以及对小黄鸡抓包利用它的语言库 本文是WebQQ流程的最后一章 最后一章内容不多但我还是啰嗦,可能对大部分人都已知晓的流程方法我也会介绍一下 前面几个 ...
 - Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈
		
通过调用微信提供的API接口,我们可以很方便的在应用中发送消息给微信好友,或者分享到朋友圈.在微信开发平台(https://open.weixin.qq.com)里,提供了详细的说明文档和样例.但由于 ...
 - C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 即时消息提醒功能改进
		
可以给自己的信息管理系统增加一些即时消息提醒功能,简单方便,一般是一行代码就可以发送提醒信息了,方便二次开发,个性化改进. 1:可以用简拼,快速查找内部员工. 2:双击直接可以发QQ消息. 3:双击直 ...
 - 发送消息-配置app_id
		
$user_id = $curr_workitem["creater_id"]; $user_name = g('dao_user') -> get_by_id($user_ ...
 - python 全栈开发,Day130(多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播)
		
先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.3.zip 注意:由于涉及到 ...
 
随机推荐
- Ruby on Rails框架开发学习
			
学习地址:http://www.ixueyun.com/lessons/detail-lessonId-685.html 一.课程概述 软件开发在经历了面向过程编程的阶段,现在正大行其道的是敏捷开发, ...
 - Cause for NullPointerException android.support.v7.widget.RecyclerView.onMeasure
			
because you have not set LinearLayoutManager to RecyclerView. for example: mRecyclerView = (Recycler ...
 - Redis 数据结构之Keys
			
这是Redis官方文档的keys列表 (1) set key value--设置某个键为某个值 (2) get key -- 获取设置的值 (3)del key -- 删除设置的键 (4)expir ...
 - php中抓取网页内容的代码
			
方法一: 使用file_get_contents方法实现 $url = "http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru695114 ...
 - vim 多行注释消除注释,多行删除
			
进入可视化模式: Ctrl+v 继续进入编辑模式: shift+i 注释: shift+# 注释生效: ESC 取消注释 d 删除 选中全部字符块区域,使用方向键上下右: 然后,按一下d
 - asp.net 多个文件同时下载
			
1.首先读取文件夹下的文件,可能同时存在多个文件 2.选中文件,然后点击下载,同时可以选择多个文件. 思路:通过生产压缩包的形式进行下载,然后再清楚压缩包,这样用户可以一次性全部下载下来. 一.获取目 ...
 - java后台进程和线程优先级
			
1. 后台线程:处于后台运行,任务是为其他线程提供服务.也称为“守护线程”或“精灵线程”.JVM的垃圾回收就是典型的后台线程. 特点:若所有的前台线程都死亡,后台线程自动死亡. 设置后台线程:Thre ...
 - Mac OS 下安装wget
			
环境: Mac OS X 10.9.4 1 下载源码 地址: http://ftp.gnu.org/gnu/wget/wget-1.9.tar.gz 2 解压安装 tar zxvf wget-1.9 ...
 - C#中控件数组的讨论
			
VB用得习惯后,到C#中来觉得很奇怪,如此好的控件数组怎么不见了.“众所周知,控件数组最主要的两个优点:可以循环附值:可以响应同一个事件.从而大大简化了代码.引自http://wenku.baidu. ...
 - Windows 8.1 Preview 开发资源汇总
			
Microsoft Build 2013开发者大会已经结束,从Session安排上看主要以Windows 8.1为主.我相信大家有已经或多或少的体验过Windows 8.1 Preview了,关于操作 ...