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