短消息接口
此部分接口负责用户间的短消息传输,可以跨应用间互相发送短消息。“短消息中心”的界面接口可以让应用只需一个函数接口即拥有短消息功能,对于高级用户 UCenter 也提供了丰富的收发接口函数供用户自己开发短消息系统。
进入短消息中心
uc_pm_location(integer uid , bool newpm)
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
bool newpm |
是否直接查看未读短消息 1:是 0:(默认值) 否 |
本接口函数运行后会发送一个 header 的 location 请求,使当前页面跳转到短消息中心。所以请不要在这个函数运行前后有任何的输出性的代码。如果 newpm 为 1 则进入短消息中心后,会默认打开新件箱。
进入短消息中心示例 (PHP)
检查新的短消息
bool/array uc_pm_checknew(integer uid [, bool more])
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
bool more | 是否显示更多信息 2:返回短消息数、最后消息时间, 最后消息内容 1:返回短消息数、最后消息时间 0:(默认值) 只返回短消息数 |
返回值 (当 more = 0 时)
值 | 含义 |
---|---|
integer | 未读消息数 |
返回值 (当 more = 1 时)
值 | 含义 | |
---|---|---|
array | integer ['newpm'] | 未读消息数 |
integer ['newprivatepm'] | 私人消息数 |
返回值 (当 more = 2 时)
值 | 含义 | |
---|---|---|
array | integer ['newpm'] | 未读消息数 |
integer ['newprivatepm'] | 私人消息数 | |
integer ['newchatpm'] | 群聊消息数 |
返回值 (当 more = 3 时)
值 | 含义 | |
---|---|---|
array | integer [newpm] | 未读消息数 |
integer ['newprivatepm'] | 私人消息数 | |
integer ['newchatpm'] | 群聊消息数 | |
integer ['lastdate'] | 最后消息时间 | |
integer ['lastmsgfromid'] | 最后消息发件人 ID | |
string ['lastmsgfrom'] | 最后消息发件人用户名 | |
string ['lastmsg'] | 最后消息内容 |
本接口函数会检查指定用户是否有新的短消息。
检查新短消息示例 (PHP)
发送短消息
integer uc_pm_send(integer fromuid , string msgto , string subject , string message [, bool instantly , integer replypmid , bool isusername , integer type])
函数参数
参数 | 含义 |
---|---|
integer fromuid | 发件人用户 ID |
string msgto | 收件人用户名 / 用户 ID,多个用逗号分割 |
string subject | 消息标题 |
string message | 消息内容 |
bool instantly |
是否直接发送 1:(默认值) 直接发送消息 0:进入发送短消息的界面 |
integer replypid |
回复的消息 ID 大于 0:回复指定的短消息 0:(默认值) 发送新的短消息 |
bool isusername |
msgto 参数是否为用户名 1:msgto 参数为用户名 0:(默认值) msgto 参数为用户 ID |
integer type |
消息类别 1:群聊消息 0:(默认值)私人消息 |
返回值
值 | 含义 |
---|---|
integer |
大于 0:发送成功的最后一条消息 ID 0:发送失败 -1:超过两人会话的最大上限 -2:超过两次发送短消息时间间隔 -3:不能给非好友批量发送短消息(已废弃) -4:目前还不能使用发送短消息功能(注册多少日后才可以使用发短消息限制) -5:超过群聊会话的最大上限 -6:在忽略列表中 -7:超过群聊人数上限 -8:不能给自己发短消息 -9:收件人为空 -10:发起群聊人数小于两人 |
本接口函数用于发送短消息。当 instantly 为 1 时,短消息会直接发送出去,否则本函数会发送一个 header 的 location 请求,使当前页面跳转到短消息中心的发送短消息页面。因此,当 instantly 为 0 时请不要在这个函数运行前后有任何的输出性的代码。type 为 1 时为发送群聊消息。msgto 默认为用户 ID,如果要让用户名作为参数,可让 isusername 为 1。replypid 为 0 表示发送的短消息为短消息话题的发起者,如果 replypid 为指定的消息 ID 则表示发送的短消息为回复指定短消息话题的回复信息。如果 instantly 为 1,那么发送成功后函数返回发送成功的最后一条消息 ID,返回 0 表示发送失败。
发送短消息示例 (PHP)
删除短消息
integer uc_pm_delete(integer uid , string folder , array pmids)
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
string folder |
短消息所在的文件夹 inbox:收件箱 outbox:发件箱 |
array pmids | 消息 ID 数组 |
返回值
值 | 含义 |
---|---|
integer | 1: 删除成功,0: 删除失败 |
本接口函数将删除指定文件夹中的指定消息 ID 的短消息。pmids 参数是一个自由 Key 数组类型,如“ array(1, 2, 3, 4, 5 ...) ”,数组的每一个值均为消息 ID。删除的每一条短消息 UCenter 会进行对方删除状态的检测,如果短消息对方也是删除状态,那么当前消息将在数据库中删除,否则只记录一个删除标记。
删除短消息示例 (PHP)
integer uc_pm_deleteuser(integer uid , array touids)
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
array touids | 对方用户 ID 数组 |
返回值
值 | 含义 |
---|---|
integer | 1: 删除成功, 0: 删除失败 |
本接口函数将删除和 uid 对话的 touids 中的所有短消息。
uc_pm_deletechat(integer uid , array plids [, bool type])
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
array plids | 要删除的消息会话 ID 数组 |
bool type |
类别 0:(默认值) 退出群聊 1:删除群聊 |
本接口函数用于群聊短消息的退出和删除。plids 参数是一个自由 Key 数组类型,如“ array(1, 2, 3, 4, 5 ...) ”,数组的每一个值均为 ID。
标记短消息已读/未读状态
uc_pm_readstatus(integer uid , array uids [, array plids, bool status])
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
array uids | 要标记的对方用户 ID 数组 |
array pmids | 要标记的会话 ID 数组,默认值空数组 |
bool status |
要标记的状态 0:(默认值) 标记为已读 1:标记为未读 |
本接口函数用于标记短消息的已读/未读状态。uids 和 plids 参数是一个自由 Key 数组类型,如“ array(1, 2, 3, 4, 5 ...) ”,数组的每一个值均为 ID。
标记短消息状态示例 (PHP)
获取短消息列表
array uc_pm_list(integer uid [, integer page , integer pagesize , string folder , string filter, integer msglen])
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
integer page | 当前页编号,默认值 1 |
integer pagesize | 每页最大条目数,默认值 10 |
string folder |
短消息所在的文件夹 newbox:新件箱 inbox:(默认值) 收件箱 outbox:发件箱 |
string filter |
过滤方式 newpm:(默认值) 未读消息,folder 为 inbox 和 outbox 时使用 |
integer msglen | 截取短消息内容文字的长度,0 为不截取,默认值 0 |
返回值
值 | 含义 | |
---|---|---|
array | integer ['count'] | 消息总数 |
array ['data'] | 短消息列表数据,其中单条消息数组结构请参看附表。 |
本接口函数用于获取指定文件夹的短消息列表。函数已内置分页,直接通过 page 和 pagesize 即可实现翻页。
忽略未读消息提示
uc_pm_ignore(integer uid)
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
本接口函数用于直接忽略未读短消息的提示状态。
获取短消息内容
array uc_pm_view(integer uid , integer pmid [, integer touid , integer daterange , integer page , integer pagesize , integer type , integer isplid])
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
integer pmid | 消息 ID |
integer touid | 消息对方用户 ID |
integer daterange | 日期范围 1:(默认值) 今天 2:昨天 3:前天 4:上周 5:更早 |
integer page | 当前页码 |
integer pagesize | 每页最大条数 |
integer type | 消息类型 1: 私人消息, 2: 群聊消息 |
integer isplid | touid参数是会话id还是用户id |
返回值
值 | 含义 |
---|---|
array | 短消息内容数据,其中单条消息数组结构请参看附表 |
本接口函数用于返回指定用户的指定消息 ID 的消息,返回的数据中包含针对这个消息的回复。如果指定 touid 参数,那么短消息将列出所有 uid 和 touid 之间的短消息,daterange 可以指定返回消息的日期范围, page 和 pagesize 可以指定返回消息的页码和页面大小。
查找会话消息数量
integer uc_pm_view_num(integer uid , integer touid , bool isplid)
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
integer touid | 查找的会话 ID 或者用户 ID |
bool isplid | touid参数是会话 ID 还是用户 ID |
返回值
值 | 含义 |
---|---|
integer | 指定会话的消息数量 |
查找会话消息数量示例 (PHP)
获取单条短消息内容
integer uc_pm_viewnode(integer uid , integer type , integer pmid)
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
integer type |
消息的类型 0: 获取指定单条消息 |
integer pmid | 消息 ID |
返回值
值 | 含义 |
---|---|
array | 短消息内容数据,其中单条消息数组结构请参看附表 |
查找群聊成员列表
integer uc_pm_chatpmmemberlist(integer uid , integer plid)
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
integer plid | 群聊会话 ID |
返回值
值 | 含义 |
---|---|
array | 返回群聊的成员列表附表 |
踢出群聊成员
integer uc_pm_kickchatpm(integer plid , integer uid , integer touid)
函数参数
参数 | 含义 |
---|---|
integer plid | 会话 ID |
integer uid | 用户 ID |
integer touid | 踢出的用户 ID |
返回值
值 | 含义 |
---|---|
integer | 1: 踢出成功, 2: 踢出失败 |
添加群聊成员
integer uc_pm_appendchatpm(integer plid , integer uid , integer touid)
函数参数
参数 | 含义 |
---|---|
integer plid | 会话 ID |
integer uid | 用户 ID |
integer touid | 添加的用户 ID |
返回值
值 | 含义 |
---|---|
integer | 1: 添加成功, 2: 添加失败 |
获取黑名单
string uc_pm_blackls_get(integer uid)
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
返回值
值 | 含义 |
---|---|
string | 黑名单内容数据 |
本接口函数返回用户的黑名单设置的内容。
获取黑名单示例 (PHP)
更新黑名单
bool uc_pm_blackls_set(integer uid , string blackls)
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
string blackls | 黑名单内容 |
返回值
值 | 含义 |
---|---|
bool |
1:更新成功 0:更新失败 |
本接口函数用于更新用户的黑名单列表数据。设置黑名单后,黑名单中的人员将无法发送短消息给 uid 指定的用户。黑名单中被忽略的人员用用户名表示,多个忽略人员名单时用逗号 "," 隔开(如:张三,李四,王五),如需禁止所有用户发来的短消息,请用 "{ALL}" 表示。
更新黑名单示例 (PHP)
添加黑名单项目
bool uc_pm_blackls_add(integer uid , array username)
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
array username | 用户名数组 |
返回值
值 | 含义 |
---|---|
bool |
1:添加成功 0:添加失败 |
本接口函数用于添加用户的黑名单项目。如需添加屏蔽所有用户的设置,请让 username 数组中包含 "{ALL}"
添加黑名单项目示例 (PHP)
删除黑名单项目
uc_pm_blackls_delete(integer uid , array username)
函数参数
参数 | 含义 |
---|---|
integer uid | 用户 ID |
array username | 用户名数组 |
本接口函数用于删除用户的黑名单项目。如需删除屏蔽所有用户的设置,请让 username 数组中包含 "{ALL}"
添加黑名单项目示例 (PHP)
附表:消息列表单条数组结构
integer ['plid'] | 会话 ID |
---|---|
integer ['uid'] | 当前用户 ID |
bool ['isnew'] | 是否未读标记 |
integer ['pmnum'] | 该会话相对于当前用户的消息数量 |
integer ['lastupdate'] | 当前用户的最后更新时间 |
integer ['lastdateline'] | 会话最后更新时间 |
integer ['authorid'] | 会话发起者 ID |
integer ['pmtype'] | 会话类别 1: 私人消息, 2: 群聊消息 |
string ['subject'] | 标题 |
integer ['members'] | 会话参与人数 |
integer ['touid'] | pmtype参数为1时,该返回值表示对方用户 ID |
string ['tousername'] | pmtype参数为1时,该返回值表示对方用户名 |
integer ['founddateline'] | 会话发起时间 |
integer ['lastauthorid'] | 会话最后一条的发送人 ID |
string ['lastauthor'] | 会话最后一条的发送人用户名 |
string ['lastsummary'] | 会话最后一条的发送的内容截取 |
integer ['pmid'][兼容] | 消息 ID |
integer ['msgfromid'][兼容] | 发件人用户 ID |
string ['msgfrom'][兼容] | 发件人用户名 |
integer ['msgtoid'][兼容] | 收件人用户 ID |
integer ['new'][兼容] | 1:未读短消息 0:已读短消息 |
string ['message'][兼容] | 内容 |
integer ['dateline'][兼容] | 发送时间的时间戳 |
integer ['daterange'][兼容] | 1:今天 2:昨天 3:前天 4:上周 5:更早 |
附表:消息详细内容单条数组结构
integer ['pmid'] | 消息 ID |
---|---|
integer ['plid'] | 所属会话 ID |
integer ['authorid'] | 消息发起者 ID |
string ['author'] | 消息发起者用户名 |
integer ['pmtype'] | 会话类别 1: 私人消息, 2: 群聊消息 |
string ['subject'] | 标题 |
integer ['members'] | 会话参与人数 |
integer ['dateline'] | 消息发起时间 |
string ['message'] | 消息内容 |
integer ['founderuid'] | 发起会话的用户 ID |
integer ['founddateline'] | 会话发起时间 |
integer ['touid'] | pmtype参数为1时,该返回值表示对方用户 ID |
integer ['msgfromid'][兼容] | 发件人用户 ID |
string ['msgfrom'][兼容] | 发件人用户名 |
integer ['msgtoid'][兼容] | 收件人用户 ID |
附表:群聊成员列表单个数组结构
integer ['author'] | 群聊发起者 ID |
---|---|
array ['member'] | 所有成员用户 ID 列表 如: “ array(1, 2, 3, ...) ” |