Skip to content

发送消息

用于应用通过WPS协作给用户或会话发送消息,支持多种消息类型,使用时需注意以下几点:

  1. 接收者需要在应用可用范围内。
  2. 应用机器人发送的消息最多不超过 5000 个字符
  3. 支持向 3 类对象发送消息:指定用户、指定会话、指定关联组织成员。
  4. 给群组发送消息时,机器人需要在该群组中

请求说明

请求地址https://openapi.wps.cn/v7/messages/create
请求方法POST
签名方式KSO-1
权限要求查询和管理会话消息(应用授权) kso.chat_message.readwrite

请求头(Header)

Header 名称参数类型是否必填说明
Content-Typestring使用:application/json
X-Kso-DatestringRFC1123 格式的日期,例: Wed, 23 Jan 2013 06:43:08 GMT
X-Kso-AuthorizationstringKSO-1 签名值,详见《签名方法》
Authorizationstring授权凭证,格式为:Bearer {access_token}

请求体(Body)

名称参数类型是否必填说明
typestring消息类型
text:文本;rich_text:富文本;image:图片;
file:文件;audio:音频;video:视频;card:卡片消息
receiverobject消息接收者
∟ partner_idstring关联组织 id,当接收者为关联组织成员时传
∟ receiver_idstring接收者 id
∟ typestring接收者类型
user:企业成员;
enterprise_partner_user:关联组织成员
chat:会话
mentionsarray被 at 的人员列表,最多不能超过100个,具体用法详见:消息内容(content)结构说明 “如何在消息内@人” 部分说明
∟ idstring指定聊天消息中 at 操作的实体索引 id。与消息正文中相应 <at id={index}> 标记中的 {index} 值匹配
∟ identityobject被 at 的用户信息,当 at 所有人时该值为空
∟ ∟ company_idstring用户所属企业id
∟ ∟ idstring用户id
∟ ∟ typestring身份类型
user:用户;
∟ typestringat 操作对象类型
all:所有人;user:用户
contentobject消息内容,需要根据发送的消息类型 type,传递不同的对象。详见:消息内容(content)结构说明

请求地址示例

[POST] https://openapi.wps.cn/v7/messages/create

请求体示例

json
{
  "type": "string",
  "receiver": {
      "partner_id": "string",
      "receiver_id": "string",
      "type": "string"
  }
  ,
  "mentions": [
    {
      "id": "string",
      "identity": {
        "company_id": "string",
        "id": "string",
        "type": "user"
      },
      "type": "user"
    }
  ],
  "content": {
    // 注意:根据不同 type,传递不同消息内容结构
  }
}

响应体

名称参数类型说明
codeinteger响应代码。非 0 表示失败,参照《状态码说明》
msgstring响应信息
dataobject响应数据
∟ message_idstring消息 id
∟ typestring消息类型
text:文本;rich_text:富文本;image:图片;
file:文件;audio:音频;video:视频;card:卡片消息
∟ contentobject消息内容
∟ ctimestring消息创建时间,为毫秒级时间戳
∟ mentionsarray[object]被 at 的人员列表
∟∟ idstring指定聊天消息中 at 操作的实体索引 id。与消息正文中相应 <at id={index}> 标记中的 {index} 值匹配
∟∟ identityobject被 at 的用户信息,当 at 所有人时该值为空
∟∟∟ company_idstring用户所属企业id
∟∟∟ idstring用户id
∟∟∟ typestring身份类型
user:用户;
∟∟ typestringat 操作对象类型
all:所有人;user:用户

响应体示例

json
{
  "data": {
    "message_id": "string",
    "type": "string",
    "content": {
    },
    "ctime": "string",
    "mentions": [
      {
        "id": "string",
        "identity": {
          "company_id": "string",
          "id": "string",
          "type": "user"
        },
        "type": "user"
      }
    ]
  },
  "code": 0,
  "msg": "string"
}