Messages

跳转到: 导航, 搜索
第15行: 第15行:
  
 
*2、应用连接、推送开始
 
*2、应用连接、推送开始
**应用调用messages/receive接口进行长连接,接收指定蓝V用户的新消息,若蓝V已指定该应用且开启服务,则连接成功,当有微博用户给蓝V发送新消息时,推送服务将此新消息格式化后由此长连接推送给该应用。
+
**应用调用messages/receive接口进行长连接,接收指定蓝V用户的新消息,若蓝V已授权指定应用托管你的微博私信、留言等消息箱服务,则连接成功,当有微博用户给蓝V发送新消息时,推送服务将此新消息格式化后由此长连接推送给该应用。
  
  
第26行: 第26行:
  
  
接口调用地址:https://api.weibo.com/2/messages/receive.json
+
接口调用地址:http://m.api.weibo.com/2/messages/receive.json
  
  
第59行: 第59行:
 
|int64
 
|int64
 
|false
 
|false
|上次连接断开时的消息ID。保存断开后五分钟内的新消息,可以通过since_id获取断开五分钟内的新消息。
+
|上次连接断开时的消息ID。保存断开后5分钟内的新消息,可以通过since_id获取断开五分钟内的新消息。
 
|}
 
|}
  
第67行: 第67行:
 
*3、调用接口的请求IP为该appkey绑定的IP地址;
 
*3、调用接口的请求IP为该appkey绑定的IP地址;
 
*4、指定的uid用户为蓝V;
 
*4、指定的uid用户为蓝V;
*5、指定的uid用户已设置成将自己的新消息推送给该appkey;
+
*5、指定的uid用户已设置成将自己的微博私信、留言等消息箱服务交给当前应用托管;
*6、指定的uid用户已开启推送;
+
*6、指定的uid用户已开启推送服务(当前托管即自动开启);
*7、每条完整的新消息数据以json形式返回,默认采用UTF-8编码,且以\r\n分隔;
+
*6、每条完整的新消息数据以json形式返回,默认采用UTF-8编码,且以\r\n分隔;
*8、蓝V与蓝V之间产生的新消息不推送;
+
*7、新消息来源用户为蓝V且已开启消息服务时,新消息不推送;
*9、为缓解服务压力,请求建立后十分钟自动断开,应用需兼容重新调此接口连接。
+
*8、为缓解服务压力,请求建立后约每5分钟自动断开,应用需兼容根据最后一次获取的新消息ID重新调此接口连接;
  
  
第124行: 第124行:
 
|text
 
|text
 
|string
 
|string
|默认文案。subtype为follow时为“关注事件消息”,为unfollow时为“取消关注事件”,为click时为“自定义菜单点击事件消息”
+
|默认文案。subtype为follow时为“关注事件消息”
 
|-
 
|-
 
|data
 
|data
第132行: 第132行:
 
|data:subtype
 
|data:subtype
 
|string
 
|string
|follow:关注事件,unfollow:取消关注事件,click:私信会话界面自定义菜单点击事件
+
|follow:关注事件
 
|-
 
|-
 
|data:key
 
|data:key
 
|string
 
|string
|被点击的自定义菜单key值,非click事件返回空
+
|subtype为follow时不返回
 
|}
 
|}
  
  
*2、纯文本类型私信消息:text
+
*2、纯文本类型私信和留言消息:text
 
<pre>
 
<pre>
 
{
 
{
第148行: 第148行:
 
     "sender_id": 2489518277,
 
     "sender_id": 2489518277,
 
     "created_at": "Mon Jul 16 18:09:20 +0800 2012",
 
     "created_at": "Mon Jul 16 18:09:20 +0800 2012",
     "text": "私信内容",
+
     "text": "私信或留言内容",
 
     "data": {}
 
     "data": {}
 
}
 
}
第167行: 第167行:
 
|type
 
|type
 
|string
 
|string
|follow
+
|text
 
|-
 
|-
 
|recipient_id
 
|recipient_id
第187行: 第187行:
 
|data
 
|data
 
|string
 
|string
|消息内容,纯文本私信为空
+
|消息内容,纯文本私信或留言为空
 
|}
 
|}
  
 
+
注意:需要对接收到的消息体type活subtype做兼容,当出现未知时可忽略此消息。
*3、位置类型私信消息:position
+
<pre>
+
{
+
    "id": 1211260020031347,
+
    "type": "position",
+
    "recipient_id": 1902538057,
+
    "sender_id": 2489518277,
+
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
+
    "text": "一个位置消息",
+
    "data": {
+
        "longitude": "344.3344",
+
        "latitude": "232.343434"
+
    }
+
}
+
</pre>
+
<div class="wiki_kit">
+
{|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table"
+
<html><colgroup><col class="tbF1"/><col class="tbF2" /><col /></colgroup></html>
+
!colspan="3" scope="col" |<span id="返回值说明">返回值说明</span>
+
|-
+
|style="text-align:center; width: 12%"|属性
+
|style="text-align:center;width: 12%"|值的类型
+
|style="text-align:center;"|说明描述
+
|-
+
|id
+
|string
+
|消息ID
+
|-
+
|type
+
|string
+
|position
+
|-
+
|recipient_id
+
|int64
+
|消息的接收者
+
|-
+
|sender_id
+
|int64
+
|消息的发送者
+
|-
+
|created_at
+
|string
+
|消息创建时间
+
|-
+
|text
+
|string
+
|默认文案
+
|-
+
|data
+
|string
+
|消息内容
+
|-
+
|data:longitude
+
|string
+
|经度
+
|-
+
|data:latitude
+
|string
+
|纬度
+
|}
+
 
+
注意:需要对接收到的消息体type做兼容,当出现未知type时可忽略此消息。
+
  
  
第259行: 第197行:
 
{
 
{
 
     "request": "/2/messages/receive.json",
 
     "request": "/2/messages/receive.json",
     "error_code": "203XX",
+
     "error_code": "264XX",
 
     "error": "error message."
 
     "error": "error message."
 
}
 
}
第267行: 第205行:
 
=消息回复接口=
 
=消息回复接口=
 
功能:
 
功能:
消息响应接口,对接收到的指定新消息进行回复
+
消息回复接口,对接收到的指定新消息进行回复
  
  
接口调用地址:https://api.weibo.com/2/messages/reply.json
+
接口调用地址:https://m.api.weibo.com/2/messages/reply.json
  
  
第296行: 第234行:
 
|-
 
|-
 
|id
 
|id
|int64
+
|long
 
|true
 
|true
 
|需要响应的推送消息ID。
 
|需要响应的推送消息ID。
第308行: 第246行:
 
|string
 
|string
 
|true
 
|true
|消息数据,具体内容严格遵循type类型对应格式。必须为json做URLEncode后的字符串格式,采用UTF-8编码。字符串长度不超过2512个字节。
+
|消息数据,具体内容严格遵循type类型对应格式。必须为json做URLEncode后的字符串格式,采用UTF-8编码。
 
|}
 
|}
  
第318行: 第256行:
 
*5、指定ID的新消息对应的原接收者身份发出此消息;
 
*5、指定ID的新消息对应的原接收者身份发出此消息;
 
*6、指定ID的新消息对应的原发送者将收到此消息;
 
*6、指定ID的新消息对应的原发送者将收到此消息;
*7、发送者未被屏蔽或拉黑时消息进私信箱。
+
*7、发送者未被屏蔽或拉黑时消息进私信箱;
  
  
当前支持回复的消息类型中,data参数支持的参数:
+
当前支持回复的消息类型(type)中,data参数支持的参数:
 
*1、纯文本类型私信消息:text
 
*1、纯文本类型私信消息:text
 
<pre>
 
<pre>
第345行: 第283行:
 
举例:
 
举例:
 
当data对应json为{"text": "纯文本响应"} 时,则进行URLEncode后对应data参数值为:"%7b%0a++++%22text%22%3a+%22%e7%ba%af%e6%96%87%e6%9c%ac%e5%93%8d%e5%ba%94%22%0a%7d"。
 
当data对应json为{"text": "纯文本响应"} 时,则进行URLEncode后对应data参数值为:"%7b%0a++++%22text%22%3a+%22%e7%ba%af%e6%96%87%e6%9c%ac%e5%93%8d%e5%ba%94%22%0a%7d"。
 +
 +
则对应的调用为:
 +
<pre>
 +
curl -u "USERNAME:PASSWORD" -d "source=YOUR_APPKEY&id=1307180000*****&type=text&data=%7b%0a++++%22text%22%3a+%22%e7%ba%af%e6%96%87%e6%9c%ac%e5%93%8d%e5%ba%94%22%0a%7d" "http://m.api.weibo.com/2/messages/reply.json" -k
 +
</pre>
 +
  
  
第396行: 第340行:
 
{
 
{
 
     "request": "/2/messages/reply.json",
 
     "request": "/2/messages/reply.json",
     "error_code": "203XX",
+
     "error_code": "264XX",
 
     "error": "error message."
 
     "error": "error message."
 
}
 
}

2013年7月19日 (五) 16:34的版本

消息接口使用手册


消息接口简介

  • 微博开放平台消息接口基于微博消息箱,为应用、媒体、企业、政府等蓝V提供与微博用户进行消息交互的能力。以实现通过微博消息箱为粉丝、客户提供服务。


  • 服务未正式开放,提前体验请邮件shenbin1@staff.sina.com.cn申请,需提供您应用功能或服务场景,我们评估后确定是否提前为您开通。

消息接口使用步骤

  • 1、蓝V用户开启新消息推送
    • 蓝V用户授权指定应用处理其新消息,并开启新消息推送。


  • 2、应用连接、推送开始
    • 应用调用messages/receive接口进行长连接,接收指定蓝V用户的新消息,若蓝V已授权指定应用托管你的微博私信、留言等消息箱服务,则连接成功,当有微博用户给蓝V发送新消息时,推送服务将此新消息格式化后由此长连接推送给该应用。


  • 3、回复接收到的新消息
    • 应用调用messages/reply接口对接收到的新消息进行处理,实现关键词自动回复或交由蓝 V 客服进行72小时人工应答,所有回复以微博私信方式到达用户。

消息推送接口

功能: 消息推送接口,长连接微博推送服务,接收推送给指定蓝V用户的新消息


接口调用地址:http://m.api.weibo.com/2/messages/receive.json


HTTP请求方式:GET


是否需要登陆:是


接口请求参数
参数名称 值的类型 是否必填 说明描述
source string true 申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。
uid int64 true 需要接收的蓝V用户ID。
since_id int64 false 上次连接断开时的消息ID。保存断开后5分钟内的新消息,可以通过since_id获取断开五分钟内的新消息。

注意事项

  • 1、为确保应用及V用户信息安全,此接口必须在服务器端调用;
  • 2、调用接口的登录帐号为该appkey的创建者,需要使用创建者帐号通过Base Auth的方式;
  • 3、调用接口的请求IP为该appkey绑定的IP地址;
  • 4、指定的uid用户为蓝V;
  • 5、指定的uid用户已设置成将自己的微博私信、留言等消息箱服务交给当前应用托管;
  • 6、指定的uid用户已开启推送服务(当前托管即自动开启);
  • 6、每条完整的新消息数据以json形式返回,默认采用UTF-8编码,且以\r\n分隔;
  • 7、新消息来源用户为蓝V且已开启消息服务时,新消息不推送;
  • 8、为缓解服务压力,请求建立后约每5分钟自动断开,应用需兼容根据最后一次获取的新消息ID重新调此接口连接;


连接建立后,当蓝V有新消息时,微博消息服务通过此连接向应用推送新消息,当前支持的消息类型:


  • 1、事件消息:event
{
    "id": 1211260020031346,
    "type": "event",
    "recipient_id": 1902538057,
    "sender_id": 2489518277,
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
    "text": "事件消息",
    "data": {
        "subtype": "EVENT",
        "key": "EVENT_KEY"
    }
}
返回值说明
属性 值的类型 说明描述
id string 消息ID
type string event
recipient_id int64 消息的接收者
sender_id int64 消息的发送者
created_at string 消息创建时间
text string 默认文案。subtype为follow时为“关注事件消息”
data string 消息内容
data:subtype string follow:关注事件
data:key string subtype为follow时不返回


  • 2、纯文本类型私信和留言消息:text
{
    "id": 1211260020031346,
    "type": "text",
    "recipient_id": 1902538057,
    "sender_id": 2489518277,
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
    "text": "私信或留言内容",
    "data": {}
}
返回值说明
属性 值的类型 说明描述
id string 消息ID
type string text
recipient_id int64 消息的接收者
sender_id int64 消息的发送者
created_at string 消息创建时间
text string 私信内容
data string 消息内容,纯文本私信或留言为空

注意:需要对接收到的消息体type活subtype做兼容,当出现未知时可忽略此消息。


接口调用失败返回:

{
    "request": "/2/messages/receive.json",
    "error_code": "264XX",
    "error": "error message."
}


消息回复接口

功能: 消息回复接口,对接收到的指定新消息进行回复


接口调用地址:https://m.api.weibo.com/2/messages/reply.json


HTTP请求方式:POST


是否需要登陆:是


接口请求参数
参数名称 值的类型 是否必填 说明描述
source string true 申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。
id long true 需要响应的推送消息ID。
type string true 需要以何种类型的消息进行响应。text:纯文本。
data string true 消息数据,具体内容严格遵循type类型对应格式。必须为json做URLEncode后的字符串格式,采用UTF-8编码。

注意事项

  • 1、为确保应用及V用户信息安全,此接口必须在服务器端调用;
  • 2、调用接口的登录帐号必须为该appkey的创建者,需要使用创建者帐号通过Base Auth的方式;
  • 3、指定ID的新消息创建时间在72小时内;
  • 4、指定ID的新消息只能回复一次,多次回复报错;
  • 5、指定ID的新消息对应的原接收者身份发出此消息;
  • 6、指定ID的新消息对应的原发送者将收到此消息;
  • 7、发送者未被屏蔽或拉黑时消息进私信箱;


当前支持回复的消息类型(type)中,data参数支持的参数:

  • 1、纯文本类型私信消息:text
{
    "text": "纯文本回复"
}
data参数支持的参数
参数名称 值的类型 是否必填 说明描述
text string true 要回复的私信文本内容。文本大小必须小于300个汉字。

举例: 当data对应json为{"text": "纯文本响应"} 时,则进行URLEncode后对应data参数值为:"%7b%0a++++%22text%22%3a+%22%e7%ba%af%e6%96%87%e6%9c%ac%e5%93%8d%e5%ba%94%22%0a%7d"。

则对应的调用为:

curl -u "USERNAME:PASSWORD" -d "source=YOUR_APPKEY&id=1307180000*****&type=text&data=%7b%0a++++%22text%22%3a+%22%e7%ba%af%e6%96%87%e6%9c%ac%e5%93%8d%e5%ba%94%22%0a%7d" "http://m.api.weibo.com/2/messages/reply.json" -k


  • 2、图文类型私信消息:articles (暂时未开放)
{
    "articles": [
        {
            "display_name": "两个故事",
            "summary": "今天讲两个故事,分享给你。谁是公司?谁又是中国人?​",
            "image": "http://storage.mcp.weibo.cn/0JlIv.jpg",
            "url": "http://e.weibo.com/mediaprofile/article/detail?uid=1722052204&aid=983319"
        }
    ]
}
data参数支持的参数
参数名称 值的类型 是否必填 说明描述
articles:display_name string true 图文的显示名称标题
articles:summary string true 图文的文字描述
articles:image string true 图文的缩略显示图片
articles:url string true 图文的URL地址,点击后跳转


接口调用失败返回:

{
    "request": "/2/messages/reply.json",
    "error_code": "264XX",
    "error": "error message."
}