NPNS API概述
NPNS 是一个高效的、易使用、可靠的推送上层解决方案。能够让你轻松实现推送代码的编写,而不需要关心具体使用的推送平台及细节。NPNS定义良好的消息格式,使用者只需要发送简单的REST请求,而NPNS负责与各推送平台(APNS,NCM)打交道,屏蔽实现细节。
同时NPNS提供统一的邮件接口,方便轻松的向客户端发送邮件通知。
1. 接口概述
NPNS提供了以下调用接口:
- 配置邮箱服务器
- 发送邮件
- APNS,NCM,Apple MDM推送服务配置
- 群组添加,按组推送时,需要先调用此接口,添加推送成员。
- 通知推送,调用推送服务器(APNS,NCM)进行通知推送。
- 推送状态查询,返回指定推送消息的推送结果,有延迟。(当前版本不支持)
每次调用需要进行鉴权,以确保使用者身份的有效性。目前NPNS支持JWT鉴权方式。鉴权使用的用户名、密码信息由NPNS生成。
与推送相关的推送平台相关信息,由NPNS维护,用户需要提供相关的认证信息就可以放心使用了。
2. 请求响应格式
2.1 请求URL
请求URL遵循标准的HTTP协议格式,提供如下REST风格的HTTP接口
GET/POST/PUT http://host:port/cps/api/{resourceType}/{resourceId}
{resourceType}:REST API访问的资源类型,例如Notifications,groups,config等
ResourceId,为该资源类型下的资源id,例如notificationId,groupUuid,configUuid
2.2 请求Header
REST请求采用JWT鉴权,需要在Header传入以下信息
Content-Type:application/json;charset=utf-8
Authorization:Bearer {从login API接口获取的JWT TOKEN }
2.3 响应格式
服务端的响应格式均为json内容,具体格式内容,参见具体的API格式定义
2.4 错误码定义
Error Code | Error Message | Description | Http Status |
无 | 无 | POST请求创建资源成功 | 200 |
无 | 无 | PUT请求更新资源成功 | 201 |
指示哪个字段为错误输入 | 输入请求参数错误 | 400 | |
109 | 参数值错误 | 400 | |
125 | 邮件发送失败 | 400 | |
126 | MAIL配置信息多于一个 | 400 | |
127 | MAIL配置信息小于一个 | 400 | |
104 | 用户不存在 | 400 | |
无效的用户名或者密码 | 401 | ||
无权访问资源 | 403 | ||
资源未找到 | 404 | ||
app %s has more than one %s type notification config | 资源创建时发生冲突 | 409 | |
114 | 服务器内部错误 | 500 |