创建离线推送模板

大约 3 分钟

创建离线推送模板

功能说明

创建离线推送消息模板,包括默认模板 defaultdetail 和自定义模板。你可以通过 环信控制台open in new window 创建推送模板,详见 推送模板配置文档

若使用默认模板 defaultdetail,消息推送时自动使用默认模板,创建消息时无需传入模板名称。

调用频率上限

10 次/秒/App Key

请求 URL

POST https://{host}/{org_name}/{app_name}/notification/template

关于请求 URL 中的参数说明,详见 请求 URL 参数介绍

请求示例

curl -X POST 'https://XXXX/XXXX/XXXX/notification/template' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <YourAppToken>' \
-d '{
    "name": "test7",
    "title_pattern": "你好,{0}",
    "content_pattern": "推送测试,{0}"
}'

请求 header 参数

关于 Content-TypeAuthorization 字段的说明,详见 请求 header 参数说明

请求 body 参数

参数类型描述是否必需
nameString要添加的推送模板的名称。模板名称最多可包含 64 个字符,支持以下字符集:
- 26 个小写英文字母 a-z;
- 26 个大写英文字母 A-Z;
- 10 个数字 0-9。
title_patternString自定义推送标题,例如: 标题 {0}。
content_patternString自定义推送内容,例如:内容 {0}, {1}。

title_patterncontent_pattern 的设置方式如下:

  • 输入固定的内容,例如,标题为 “您好”,内容为“您有一条新消息”。
  • 内置参数填充:
    • {$dynamicFrom}:按优先级从高到底的顺序填充好友备注、群昵称和推送昵称。
    • {$fromNickname}:推送昵称。
    • {$msg}:消息内容。
  • 自定义参数填充:模板输入数组索引占位符,格式为: {0} {1} {2} ... {n}

对于推送标题和内容来说,前两种设置方式在创建消息时无需传入该参数,服务器自动获取,第三种设置方式则需要通过扩展字段 ext.em_push_template 传入,JSON 结构如下:

{
    "ext":{
        "em_push_template":{
            "title_args":[
                "环信"
            ],
            "content_args":[
                "欢迎使用im-push",
                "加油"
            ]
        }
    }
}

# title: {0} = "环信"
# content: {0} = "欢迎使用im-push" {1} = "加油"

群昵称即群成员在群组中的昵称,群成员在发送群消息时通过扩展字段设置,JSON 结构如下:

  {
    "ext":{
            "em_push_ext":{
                "group_user_nickname":"Jane"
            }
        }
  }      

响应示例

{
  "uri": "https://XXXX/XXXX/XXXX/notification/template",
  "timestamp": 1646989584108,
  "organization": "hx",
  "application": "17fe201b-XXXX-XXXX-XXXX-1ed1ebd7b227",
  "action": "post",
  "data": {
    "name": "test7",
    "createAt": 1646989584124,
    "updateAt": 1646989584124,
    "title_pattern": "你好,{0}",
    "content_pattern": "推送测试,{0}"
  },
  "duration": 26,
  "applicationName": "XXXX"
}

响应 body 字段

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

参数类型描述
dataJSON推送模板的相关信息。
data.nameString推送模板的名称。
data.createAtNumber创建模板的 Unix 时间戳,单位为毫秒。
data.updateAtNumber最近一次修改模板的 Unix 时间戳,单位为毫秒。
data.title_patternString推送模板的自定义标题。
data.content_patternString推送模板的自定义内容。

响应体中的其他参数说明如下表所示:

字段类型描述
uriString请求 URL。
timestampLongUnix 时间戳,单位为毫秒。
organizationString环信即时通讯 IM 为每个公司(组织)分配的唯一标识,与请求参数 org_name 相同。
applicationString应用在系统内的唯一标识。该标识由系统生成,开发者无需关心。
actionString请求方法。
durationInt从发送请求到响应的时长,单位为毫秒。
applicationNameString你在环信控制台创建应用时填入的应用名称,与请求参数 app_name 相同。

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码 了解可能的原因。

错误码

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 常见错误码 了解可能的原因。

上次编辑于: