此 SDK ( version: 7.x.x ) 適用于PHP >= 5.3.0。
此 SDK 包含了如下幾個(gè)功能:
數(shù)據(jù)的上傳和下載。
- 發(fā)送推信
- 發(fā)送圈子消息
- 新建/刪除發(fā)布者標(biāo)簽
- 獲取發(fā)布者標(biāo)簽
- 獲取我的消息(最近20條)
- 刪除消息
預(yù)備工作
- 申請(qǐng)賬號(hào)
首先姥敛,您需要通過正常的注冊(cè)途徑,注冊(cè)獲得推送號(hào)
普通賬號(hào)嫌术,通過C1認(rèn)證,然后與客服人員聯(lián)系(請(qǐng)發(fā)郵件至:guokai@tuisonghao.com)牌借,申請(qǐng)開通開發(fā)者權(quán)限度气,權(quán)限開通后,您將獲得兩個(gè)秘鑰access_key
和secret_key
膨报,兩個(gè)秘鑰需要秘密保存磷籍,用于身份識(shí)別和簽名。
- 下載SDK现柠,引入文件
下載源碼后院领,在您的代碼中引入文件
<?php
require_once('./TSHApi.php');
- 返回?cái)?shù)據(jù)格式
API返回值遵循以下json格式
{
"code":<int>,
"data":<array>,
"info":<string>
}
其中,data
和info
根據(jù)不同接口函數(shù)晒旅,返回含義不同栅盲,錯(cuò)誤碼列表如下所示
錯(cuò)誤碼 | 含義 |
---|---|
200 | 成功 |
101 | 操作失敗 |
102 | access_key錯(cuò)誤 |
103 | 簽名錯(cuò)誤 |
104 | 未進(jìn)行身份認(rèn)證 |
105 | 參數(shù)錯(cuò)誤 |
106 | 權(quán)限錯(cuò)誤 |
301 | 檢測(cè)為垃圾信息汪诉,不準(zhǔn)發(fā)布 |
302 | 檢測(cè)為質(zhì)疑垃圾信息废恋,等待人工審核 |
使用SDK
- 初始化
我們已經(jīng)最大程度集成了sdk與服務(wù)器的交互細(xì)節(jié)谈秫,在使用SDK的時(shí)候,只需要初始化API類鱼鼓,調(diào)用相關(guān)函數(shù)即可拟烫,函數(shù)內(nèi)部將自動(dòng)進(jìn)行封裝、簽名迄本、發(fā)起請(qǐng)求等操作硕淑。
$access_key = 'YOUR_ACCESS_KEY';
$secret_key = 'YOUR_SECRET_KEY';
$tsh = new TSHApi($access_key,$secret_key);
- 發(fā)送推信
推信是以廣播的形式發(fā)送給所有訂閱者的消息,以消息流的模式展現(xiàn)給訂閱者嘉赎。每個(gè)用戶都可以免費(fèi)訂閱其他人置媳,并選擇是否接收推信消息推送。推信必須有文字公条,可以最多附帶9張圖片拇囊,支持gif動(dòng)圖。
函數(shù)調(diào)用
//函數(shù)原型
/*
* 發(fā)表feed
* @author archmage
* @version 1.0
* @param $content string 發(fā)表的內(nèi)容
* @param $imgs array 圖片在本地的路徑, 最多9張
* @param $is_push int 是否推送, 0: 不推送靶橱,1:推送
* @param $to_cates array 分發(fā)給哪些用戶組寥袭,傳入cate id,如果為空則分發(fā)給所有用戶关霸,默認(rèn)為空
*/
public function publish($content,$imgs = array(), $is_push = 0,$to_cates='');
//使用示例
$content = "今天是2018年1月2日-";
$is_push = 1;
$imgs = array('./1.jpg','./2.gif');
$to_cates = array(1,3);
$r = $tsh->publish($content,$imgs,$is_push,$to_cates);
var_dump($r);
返回值
操作成功传黄,data
中返回消息id, "data":{"feed_id":6353829126722485251}
,操作失敗,將返回對(duì)應(yīng)錯(cuò)誤碼队寇,以及在info
中有提示信息膘掰。
- 發(fā)送圈子消息
圈子是發(fā)布者建立的付費(fèi)消息群,用戶進(jìn)行C1認(rèn)證之后英上,可以建立圈子炭序,進(jìn)入圈子需要支付一定費(fèi)用,每個(gè)圈子通常是圍繞某一個(gè)主題進(jìn)行知識(shí)分享苍日,信息交流惭聂。
函數(shù)調(diào)用
//函數(shù)原型
/*
* 發(fā)表圈子消息
* @author archmage
* @version 1.0
* @param $group_id int 圈子的id
* @param $content string 發(fā)表的內(nèi)容
* @param $imgs array 圖片在本地的路徑, 最多9張
*/
public function group_publish($group_id, $content,$imgs = array());
//使用示例
$content = "今天是2018年1月2日-";
$group_id = 212601;
$imgs = array('./1.jpg','./2.gif');
$r = $tsh->group_publish($group_id, $content,$imgs);
var_dump($r);
返回值
操作成功,data
中返回消息id, "data":{"feed_id":6353829126722485251}
,操作失敗相恃,將返回對(duì)應(yīng)錯(cuò)誤碼辜纲,以及在info
中有提示信息
- 新建/刪除發(fā)布者標(biāo)簽
發(fā)布者可以為發(fā)送的每一條推信附帶標(biāo)簽,標(biāo)簽需要預(yù)先建立拦耐,每個(gè)用戶最多可以建立10個(gè)標(biāo)簽耕腾。
函數(shù)調(diào)用
//函數(shù)原型
/**
* 新建推信標(biāo)簽
* @author archmage
* @access public
* @version 1.0
* @param string $cate_name
* @return boolean
*/
public function add_cate($cate_name);
/*
* 刪除發(fā)布者推信標(biāo)簽
*/
public function del_my_cate($cate_id);
// 使用示例
$name = "我的標(biāo)簽1";
$r = $tsh->add_cate($name);
var_dump($r);
$r = $tsh->del_my_cate(12345);
var_dump($r);
返回值
boolean
- 獲取發(fā)布者標(biāo)簽
返回發(fā)布者推信標(biāo)簽。
函數(shù)調(diào)用
//函數(shù)原型
/*
* 獲取發(fā)布者標(biāo)簽
*/
public function list_my_cate();
//函數(shù)調(diào)用
$tsh->list_my_cate();
返回值
{
"code":200,
"data":[
{
"id":"10629",
"user_id":"55498",
"name":"9527",
"subers_num":"0",
"rank":"4",
"status":"1"
},
{
"id":"20131",
"user_id":"55498",
"name":"我的標(biāo)簽1",
"subers_num":"0",
"rank":"5",
"status":"1"
}
],
"info":null
}
字段說明
字段 | 含義 |
---|---|
id | 標(biāo)簽的id |
user_id | 標(biāo)簽作者id |
name | 標(biāo)簽名字 |
suber_num | 訂閱該標(biāo)簽用戶數(shù)量 |
rank | 標(biāo)簽排名(在該作者所有標(biāo)簽中) |
status | 狀態(tài) (1:正常) |
- 獲取我的消息(最近20條)
用戶可以獲取最近發(fā)送的20條消息(包括推信和向圈子發(fā)送的消息)
函數(shù)調(diào)用
/*
* 獲取我發(fā)表的消息杀糯,只能獲取最近20條扫俺。
*/
public function list_my_feed();
$r = $tsh->list_my_feed();
var_dump($r);
返回示例
{
"code":200,
"data":[
{
"id":"6353814228203888643",
"user_id":"55498",
"weight":"1",
"to_cates":{
},
"content":"來自api的消息1514867360",
"imgs":{
},
"ctime":"2018-01-02 12:29:20",
"comment_num":"0",
"like_num":"0",
"status":"1",
"cate_id":"0",
"allow_comment":"1",
},
{
"id":"6351298495292139523",
"user_id":"55498",
"weight":"1",
"to_cates":{
},
"content":"按時(shí)12",
"imgs":{
},
"ctime":"2017-12-26 13:52:42",
"comment_num":"0",
"like_num":"0",
"status":"1",
"cate_id":"0",
"allow_comment":"1"
}
],
"info":null
}
字段說明
字段 | 含義 |
---|---|
id | 消息的id |
user_id | 消息作者id |
weight | 是否推送給用戶(0:不通知用戶;1:通知用戶;) |
to_cates | 發(fā)布到哪些標(biāo)簽下面 |
content | 內(nèi)容 |
imgs | 圖片 |
ctime | 發(fā)布時(shí)間 |
comment_num | 評(píng)論數(shù)量(僅圈子內(nèi)消息有效) |
like_num | 點(diǎn)贊數(shù)量 |
status | 狀態(tài) (1:正常) |
cate_id | 圈子的id(如果是圈子的消息,否則為0) |
allow_comment | 是否允許評(píng)論(僅圈子消息) |
- 刪除消息
函數(shù)調(diào)用
//函數(shù)原型
/*
* 刪除我的某一條feed
* @param $feed_id string
*/
public function del_my_feed($feed_id);
//調(diào)用示例
$tsh->del_my_feed(6351298495292139523);
返回值
{
"code": 200,
"data": 1,
"info": null
}