gtalk接口二次开发告警平台

由于平台的扩大,原先的短信告警平台已无法满足实际需求。

平台一个月就要花去5000元多的短信费用,发送信息量巨大,偶尔造成短信系统故障等问题,而且成本也很高。为了解缓解原短信系统的压力,同时希望将部份降下来,因此不断寻找更好的替代方案。

最近发现研究了google talk 这款实时聊天工具,gtalk是Google的IM工具,除了具有IM功能外,另外还加上了Viop功能,界面清新大方,可直接链接Gmail,接受查看邮件。

这是个十分不错的工具,界面和功能十分简单,而且免费开源;提供第三方接口,很适合作为一款桌面和移动设备的告警系统。

我针对gtalk的PHP接口进行了二次开发和部署,实现一个可以通过远程URL调用的接口。虽然只是做了很少的二次开发量,但是效果不是比较满意。

我的运行框架是:php 5.2.17 + apache 2.2.3

此次版本为 beta版,没有使用mysql开发后台管理功能,所有的配置都在指定文件里定义。

流程:客户端(请求) -> gtalk接口(连接) -> gtalk 服务端(发信)->终端IM(接收)

接口使用说明:

文件

/talk.php

URL调用方法

http://gtalk.4399.com/talk.php?k=***&g=1&m=要发的信息

CURL调用方法

curl -x 192.168.1.2:80 -G http://gtalk.4399.com/talk.php -d k=*** -d g=1 -d m=要发的消息

说明

k 监控配置的密钥

g 要发送的管理员组,多组可用逗号分隔;(g=1,2,3)

m要发送的信息

状态码

a0:非法key

g0:未指定联系人分组

m0:消息为空

f0:发送失败

b0:发送成功

接入步骤:

1.加HOST

192.168.1.2gtalk.4399.com

2.定义联系人分组信息

vim /var/www/html/gtalk/config.php

用户列表:A{0-9}+

A1=array(‘邮箱’); A2=array(‘邮箱’);A3,A4…

分组列表:[0-9] => ‘用户列表’

$arrGTalkReceiver = array(

’1′ => $A1 ,

’2′ => $A2 ,

……

);

示例:

<?php

/**
 * @desc gtalk 帐号相关
 */

define('GTALK_SENDER_ACCOUNT','[email protected]'); //gtalk监控发信人帐号
define('GTALK_SENDER_PASSWORD','***'); //gtalk监控发信人密码
define('GTALK_CONNECT_KEYS','***'); //gtalk监控通信KEYS

//运维组
$A1 = array(
      '[email protected]' ,
);

//工作室
$A2 = array(
     '[email protected]' ,
);

//接收人分组表
$arrGTalkReceiver = array(
              '1' => $A1 ,
              '2' => $A2 ,
);

3. 发送消息

命令行:

curl -x 192.168.1.2:80 -G http://gtalk.4399.com/talk.php -d k=*** -d g=1 -d m=要发的消息

HTTP API:

http://gtalk.4399.com/talk.php?k=***&g=1&m=要发的信息

4. 返回结果集

返回结果集是json_encode数据。

类型

错误码

说明

keys

a0

非法key

msg

m0

消息为空

gid

g0

未指定联系人分组

send

f0

发送失败

send

b0

发送成功

附件下载:gtalk API

你可能感兴趣的:(二次开发)