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);
?>