PHP实现RTX发送消息提醒
RTX是腾讯公司推出的企业级即时通信平台,大多数公司都在使用它,但是我们很多时候需要将自己系统或者产品的一些通知实时推送给RTX,这就需要用到RTX的服务端SDK,建议先去看看RTX的SDK开发文档(客户端,服务器),我们先看看功能效果:

当然,现在很多公司都已经在RTX的基础上升级成了企业微信,没关系,这个API同样可以使用,还是同样的接口,只是展示效果不一样而已:

下面是用PHP实现RTX发送消息提醒:
1、首先在服务器端安装RTX的服务端和客户端,再安装SDK开发包(对于发送消息提醒的功能,只需要安装服务端sdk即可)(下载地址:http://rtx.tencent.com/rtx/download/index.shtml)

2、然后再RTX服务器的安装路径下有个WebRoot文件夹,文件夹下有个SendNotify.cgi文件,这就是RTX发送消息的接口文件,打开文件是懂PHP的都能看懂的代码,不过需要在头部加入header头,以及需要处理一些参数的编码
header("Content-Type:text/html;charset=GBK");
$msg = iconv("utf-8", "GBK", $msg);
$title = iconv("utf-8", "GBK", $title);
如果你的所有安装都是在本地的,那么只需要访问(默认端口8012)即可:
http://127.0.0.1:8012/SendNotify.cgi?msg=消息内容&receiver=RTX的账号(多个用逗号格开)&title=通知的标题
以下是修改后的SendNotify.cgi代码:
<?php
/**
* Created by PhpStorm.
* User: Steven
* Date: 2016/12/29
* Time: 19:22
*/ header("Content-Type:text/html;charset=GBK");
require_once "IPLimit.php"; $receiver = $_GET["receiver"];
$msg = $_GET["msg"];
$title = $_GET["title"]; $delaytime = $_GET["delaytime"];
$okurl = $_GET["okurl"];
$errurl = $_GET["errurl"]; if ((strlen($receiver) == 0)
&& (strlen($msg) == 0)
&& (strlen($title) == 0)
&& (strlen($delaytime) == 0)
&& (strlen($okurl) == 0)
&& (strlen($errurl) == 0)
) {
$receiver = $_POST["receiver"];
$msg = $_POST["msg"];
$title = $_POST["title"];
$delaytime = $_POST["delaytime"];
$okurl = $_POST["okurl"];
$errurl = $_POST["errurl"];
} if (strlen($receiver) == 0) {
$receiver = "";
}
if (strlen($msg) == 0) {
$msg = "";
}
if (strlen($title) == 0) {
$title = "";
}
if (strlen($delaytime) == 0) {
$delaytime = 0;
}
if (strlen($okurl) == 0) {
$okurl = "";
}
if (strlen($errurl) == 0) {
$errurl = "";
} $msg = iconv("utf-8", "GBK", $msg);
$title = iconv("utf-8", "GBK", $title);
$php_errormsg = NULL; $ObjApi = new COM("Rtxserver.rtxobj");
$objProp = new COM("Rtxserver.collection");
$Name = "ExtTools";
$ObjApi->Name = $Name; $objProp->Add("msgInfo", $msg);
$objProp->Add("MsgID", "1");
$objProp->Add("Type", "0");
$objProp->Add("AssType", "0");
if (strlen($title) == 0) {
$objProp->Add("Title", "֪ͨ");
} else {
$objProp->Add("Title", $title);
}
$objProp->Add("DelayTime", $delaytime);
if (strtolower($receiver) == "all") {
$objProp->Add("Username", $receiver);
$objProp->Add("SendMode", "1");
} else {
$objProp->Add("Username", $receiver);
} $Result = @$ObjApi->Call2(0x2100, $objProp); $errstr = $php_errormsg;
if (strcmp($nullstr, $errstr) == 0) {
if (strlen($okurl) > 0) {
header("Location: " . $okurl);
} else {
// echo "<script language=\"JavaScript\">\r\n";
// echo "alert(\"success\")";
//echo "</script>\r\n";
return true; }
} else {
//send err
if (strlen($errurl) > 0) {
header("Location: " . $errurl);
} else {
echo $errstr . "<br>"; }
}
?>
3、需要注意的是代码中引入了IPLimit.php文件,所以,访问的时候可能会提示IP受限,这就需要在RTX服务端安装文件下找到一个叫SDKProperty.xml的文件,加入你发送请求的服务器IP保存即可
<?xml version="1.0"?>
<Property>
<APIClient>
<IPLimit Enabled="1">
<IP>127.0.0.1</IP>
<IP>这里是IP地址</IP>
</IPLimit> </APIClient>
<sdkhttp>
<IPLimit Enabled="1">
</IPLimit>
</sdkhttp>
</Property>
4、开发者只需要封装一个发送GET或者POST的方法,例如:
$arr = array(
'title' => $title, //消息的标题
'receiver' => $receiver_list, //消息的接受者
'msg' => $msg, //消息内容
);
$this->httpsPost('http://180.168.4.58:8012/SendNotify.cgi', $arr);
注意看一下:
RTX_HTTPServer
RTX_SvrMain
这两个服务必须要启动
即可向RTX发送消息通知,如有疑问欢迎沟通交流(Q:2384834530)
PHP实现RTX发送消息提醒的更多相关文章
- RTX发送消息提醒实现以及注意事项
一.RTX简介 RTX是腾讯公司推出的企业级即时通信平台.该平台定位于降低企业通信费用,增强企业内部沟通能力,改善企业与客户之间的沟通渠道,创造新兴的企业沟通文化,提高企业生产力.RTX平台的主要功能 ...
- RTX消息提醒工具设计文档
为什么要做 项目上线后,系统依然由各业务模块负责人自己维护.而后台运行的各种业务服务结果,不能及时反馈到业务负责人.而等到客户反馈时则会太被动.为了能及时发现并解决项目问题,设计了该工具. 可利用资源 ...
- python使用itchat发送微信消息提醒
最近在学习一点python,先找了找有趣的应用,实际修改跑了一下提高兴趣程度. 找到itchat,它的简介是这样的: “itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单. ...
- 使用SignalR实现消息提醒
Asp.net SignalR是微软为实现实时通信的一个类库.一般情况下,SignalR会使用JavaScript的长轮询(long polling)的方式来实现客户端和服务器通信,随着Html5中W ...
- 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 注意:由于涉及到 ...
- Windows 计划任务之消息提醒
Windows 计划任务之消息提醒 你肯定也有这种需求.想做一个计划任务,却发现老式消息提醒已经被微软禁止了. 或者就是很单纯的希望给系统弹出一个消息框而并非CMD的echo命令. so...how ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(五) 补充:历史记录 和 消息提醒
有开发者提问怎么做历史记录功能和即使不打开聊天窗口有消息提醒功能.简单抽时间写了点代码.不过只是基本思路,具体细节没有实现. 正如前几篇博客中提到的,读取历史记录什么时候读取呢?按照常理,应该是打开聊 ...
随机推荐
- ABP文档 - 通知系统
文档目录 本节内容: 简介 发送模式 通知类型 通知数据 通知重要性 关于通知持久化 订阅通知 发布通知 用户通知管理器 实时通知 客户端 通知存储 通知定义 简介 通知用来告知用户系统里特定的事件发 ...
- Pivot 和 Unpivot
在TSQL中,使用Pivot和Unpivot运算符将一个关系表转换成另外一个关系表,两个命令实现的操作是“相反”的,但是,pivot之后,不能通过unpivot将数据还原.这两个运算符的操作数比较复杂 ...
- python笔记(持续更新)
1.编译python遇到下面的编码问题: SyntaxError: Non-ASCII character '\xe9' in file E:\projects\learn.py on lin ...
- DBA成长路线
从开发转为数据库管理,即人们称为DBA的已经有好几年,有了与当初不一样的体会.数据是企业的血液,数据是石油,数据是一切大数据.云计算的基础.作为DBA是数据的保卫者.管理者,是企业非常重要的角色.对于 ...
- 缓存工具类CacheHelper
代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...
- ASP.NET MVC——模型绑定
这篇文章我们来讲讲模型绑定(Model Binding),其实在初步了解ASP.NET MVC之后,大家可能都会产生一个疑问,为什么URL片段最后会转换为例如int型或者其他类型的参数呢?这里就不得不 ...
- 项目管理_FindBugs的使用
本章将讲述如何在Myeclipse下,使用FindBugs,静态分析工具,无需开发人员费劲就能找出代码中已有的缺陷. 一:Myeclipse下如何安装FindBugs插件 1:FindBugs插件下载 ...
- Jenkins的一个bug-同时build一个项目两次导致失败
我们有一个job A, A只是配置了一些参数,它会去触发模板job B. 我一开始点击构建A, 马上发现参数配置不对,于是撤消了构建,但是我没有发现B已经被触发,我重新配置参数,然后再次构建A,这个时 ...
- 2016年中国微信小程序专题研究报告
2016年12月29日,全球领先的移动互联网第三方数据挖掘和分析机构iiMedia Research(艾媒咨询)权威首发<2016年中国微信小程序专题研究报告>. 报告显示,82.6%手机 ...
- iOS开发系列--通知与消息机制
概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情.iOS中通知机制又叫消息机制,其包括两类:一类是本地 ...