API服务端 - NMS消息推送服务
- instanceId及accessKey获取方式: 控制台 - 消息推送 - 按实例查看
- 依照API接口章节 API接口
PHP代码实现
使用 PHP 调用 API 接口推送和接收消息,适用于php-fpm、apache等非常驻内存场景。
消息推送
<?php
$apiUrl = 'https://nms-aaa.nowapi.com/v1?app=main.publish';
$accessKey = '8512547106565e12544125007942565e'; //认证key,控制台获取;
$channels = 'myChannel';//目标通道,支持多个["myChannel1","myChannel2","myChannel3"]
$content = '测试消息';
$postData = json_encode(array(
'accessKey' => $accessKey,
'channels' => $channels,
'content' => $content,
'qos' => '1',
'userId' => 'web-001',
));
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$apiUrl);
curl_setopt($curl,CURLOPT_POST,true);
curl_setopt($curl,CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_POSTFIELDS,$postData);
if(defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')){
curl_setopt($curl,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4);
}
curl_setopt($curl,CURLOPT_HTTPHEADER,array(
"Accept: application/json",
"Content-Type: application/json; charset=utf-8",
));
$respData = curl_exec($curl);
curl_close($curl);
var_dump($respData);
?>
消息读取接收
可通过crontab等定时触发读取。
<?php
$apiUrl = 'https://nms-aaa.nowapi.com/v1?app=main.reading';
$accessKey = '8512547106565e12544125007942565e'; //认证key,控制台获取;
$channels = 'myChannel';//读取通道,支持多个["myChannel1","myChannel2","myChannel3"]
$postData = json_encode(array(
'accessKey' => $accessKey,
'channels' => $channels,
'userId' => 'web-001',
));
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$apiUrl);
curl_setopt($curl,CURLOPT_POST,true);
curl_setopt($curl,CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_POSTFIELDS,$postData);
if(defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')){
curl_setopt($curl,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4);
}
curl_setopt($curl,CURLOPT_HTTPHEADER,array(
"Accept: application/json",
"Content-Type: application/json; charset=utf-8",
));
$respData = curl_exec($curl);
curl_close($curl);
var_dump($respData);
?>