# Notification API

通知api支持外部推送接口,该http接口需要满足以下规范

# Interface

  • PUT /Notification @return Response
  • POST /Notification @return Response

说明

  1. put和post都支持,url建议为/Notification,但不是必须的,通知api上可以配置任意url
  2. 返回值是Response数据类型(见下方定义)json序列化的字串

# Parameter

参数在body里,是以下格式的json字串,从body里取出后需要解析一下使用

{
     "id":{guid},                   // 通知的guid,可以忽略
     "name":{string},               // 标题
     "content":{string},            // 正文,纯文本格式
     "body":{string},               // 正文,富文本格式
     "html":{string},               // 正文,html格式
     "contentAbstract": {string},   // 正文摘要。可选,如给出,优先应用于sms渠道(小于2048个字符)。
     "channels":[{string}],         // 通知推送渠道数组,内置渠道为email和sms,其他渠道需通过ChannelAPI定制
     "emails":[{string}],           // 收信人邮件列表,对应于email渠道
     "phones":[{string}],           // 收信人手机列表,对应于sms渠道
     "users":[{                     // 收信人列表,对应于其他渠道,比如外部ChannelAPI
         "id":{guid},                   // 无意义的唯一id
         "name":{string},               // 实名
         "account":{string},            // 账号 
         "email":{string},              // 邮箱
         "phone":{string},              // 手机号
         "enterprise": {enterprise}      // 用户所属租户信息
     }]
}    
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

说明

  1. 目前通知的内容仅存在于content字段,其余几个字段body,html,abstract预留备用。
  2. users是用户账号数组,可以用于一条消息发送给多个用户,目前基本是一个消息发送给一个用户,但不排除将来扩展。
  3. user的数据格式,和InfoPlusAPI的Profile结构兼容
  4. channels是推送方式数组,例如“channels”:["weixin","weibo","qq"] 。

# Data struct

Response<T>

{
    "errno": {int},            // 成功返回0,失败返回错误号
    "error": {string},         // 如果有错,返回错误信息,如果成功返回空字符串
    "entities": [{T}],         // 总是空数组
    "total": {int}             // entities总数量,总是0 
}
1
2
3
4
5
6

一个典型的成功返回的信息为{ “errno”:0, “error”:””, “total”:0, “entities”:[]} json序列化后的字串