2/messages/receive

跳转到: 导航, 搜索
第1行: 第1行:
=消息回复接口=
+
=消息推送接口=
 
功能:
 
功能:
消息回复接口,对接收到的指定新消息进行回复
+
消息推送接口,长连接微博推送服务,接收推送给指定蓝V用户的新消息。当有微博用户给蓝V发送新消息时,推送服务将此新消息格式化后由此长连接推送给该应用。
  
  
接口调用地址:https://m.api.weibo.com/2/messages/reply.json
+
接口调用地址:https://m.api.weibo.com/2/messages/receive.json
  
  
HTTP请求方式:POST
+
HTTP请求方式:GET
  
  
第29行: 第29行:
 
|申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。
 
|申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。
 
|-
 
|-
|id
+
|uid
|long
+
|int64
 
|true
 
|true
|需要响应的推送消息ID。
+
|需要接收的蓝V用户ID。
 
|-
 
|-
|type
+
|since_id
|string
+
|int64
|true
+
|false
|需要以何种类型的消息进行响应。text:纯文本。
+
|上次连接断开时的消息ID。保存断开后5分钟内的新消息,可以通过since_id获取断开五分钟内的新消息。
|-
+
|data
+
|string
+
|true
+
|消息数据,具体内容严格遵循type类型对应格式。必须为json做URLEncode后的字符串格式,采用UTF-8编码。
+
 
|}
 
|}
  
 
注意事项
 
注意事项
 
*1、为确保应用及V用户信息安全,此接口必须在服务器端调用;
 
*1、为确保应用及V用户信息安全,此接口必须在服务器端调用;
*2、调用接口的登录帐号必须为该appkey的所有者,需要使用所有者帐号通过Base Auth的方式;
+
*2、调用接口的登录帐号为该appkey的所有者,需要使用所有者帐号通过Base Auth的方式;
 
*3、如appkey已绑定IP地址,调用接口的请求IP须为绑定的IP;
 
*3、如appkey已绑定IP地址,调用接口的请求IP须为绑定的IP;
*4、指定ID的新消息对应的原接收者已设置成将自己的微博私信、留言等消息箱服务交给当前应用托管;
+
*4、指定的uid用户为蓝V;
*5、指定ID的新消息对应的原接收者已开启推送服务(当前托管即自动开启);
+
*5、指定的uid用户已设置成将自己的微博私信、留言等消息箱服务交给当前应用托管;
*6、指定ID的新消息创建时间在72小时内;
+
*6、指定的uid用户已开启推送服务(当前托管即自动开启);
*7、指定的ID消息为“私信、留言”时72小时内可回复三次,为关注、取消关注事件等非私信消息72小时内可回复1次;
+
*6、每条完整的新消息数据以json形式返回,默认采用UTF-8编码,且以\r\n分隔;
*8、指定ID的新消息对应的原接收者身份发出此消息;
+
*7、新消息来源用户为蓝V且已开启消息服务时,新消息不推送;
*9、指定ID的新消息对应的原发送者将收到此消息;
+
*8、为缓解服务压力,请求建立后约每5分钟自动断开,应用需兼容根据最后一次获取的新消息ID重新调此接口连接;
*10、发送者未被屏蔽或拉黑时消息进私信箱;
+
  
  
当前支持回复的消息类型(type)中,data参数支持的参数:
+
调用举例:
*1、纯文本类型私信消息:text
+
<pre>
 +
curl -u "USERNAME:PASSWORD" "https://m.api.weibo.com/2/messages/receive.json?source=YOUR_APPKEY&uid=***"
 +
</pre>
 +
 
 +
 
 +
连接建立后,当蓝V有新消息时,微博消息服务通过此连接向应用推送新消息,当前支持的消息类型:
 +
 
 +
 
 +
*1、事件消息:event
 
<pre>
 
<pre>
 
{
 
{
     "text": "纯文本回复"
+
    "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"
 +
    }
 
}
 
}
 
</pre>
 
</pre>
 
<div class="wiki_kit">
 
<div class="wiki_kit">
 +
 
{|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table"
 
{|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table"
 
<html><colgroup><col class="tbF1"/><col class="tbF2" /><col /></colgroup></html>
 
<html><colgroup><col class="tbF1"/><col class="tbF2" /><col /></colgroup></html>
!colspan="4" scope="col" |<span id="data参数支持的参数">data参数支持的参数</span>
+
!colspan="3" scope="col" |<span id="返回值说明">返回值说明</span>
 
|-
 
|-
|style="text-align:center; width: 12%"|参数名称
+
|style="text-align:center; width: 12%"|属性
 
|style="text-align:center;width: 12%"|值的类型
 
|style="text-align:center;width: 12%"|值的类型
|style="text-align:center;width: 11%"|是否必填
 
 
|style="text-align:center;"|说明描述
 
|style="text-align:center;"|说明描述
 +
|-
 +
|id
 +
|string
 +
|消息ID
 +
|-
 +
|type
 +
|string
 +
|event
 +
|-
 +
|recipient_id
 +
|int64
 +
|消息的接收者
 +
|-
 +
|sender_id
 +
|int64
 +
|消息的发送者
 +
|-
 +
|created_at
 +
|string
 +
|消息创建时间
 
|-
 
|-
 
|text
 
|text
 
|string
 
|string
|true
+
|默认文案。subtype为follow时为“关注事件消息”,为unfollow时为“取消关注事件消息”。
|要回复的私信文本内容。文本大小必须小于300个汉字。
+
|-
 +
|data
 +
|string
 +
|消息内容
 +
|-
 +
|data:subtype
 +
|string
 +
|follow:关注事件,unfollow取消关注事件。
 +
|-
 +
|data:key
 +
|string
 +
|subtype为follow或unfollow时不返回
 
|}
 
|}
举例:
 
当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" "https://m.api.weibo.com/2/messages/reply.json" -k
 
</pre>
 
  
 
+
*2、纯文本类型私信和留言消息:text
 
+
*2、图文类型私信消息:articles (当前可支持单图文)
+
 
<pre>
 
<pre>
 
{
 
{
     "articles": [
+
     "id": 1211260020031346,
        {
+
    "type": "text",
            "display_name": "两个故事",
+
    "recipient_id": 1902538057,
            "summary": "今天讲两个故事,分享给你。谁是公司?谁又是中国人?​",
+
    "sender_id": 2489518277,
            "image": "http://storage.mcp.weibo.cn/0JlIv.jpg",
+
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
            "url": "http://e.weibo.com/mediaprofile/article/detail?uid=1722052204&aid=983319"
+
    "text": "私信或留言内容",
        }
+
     "data": {}
     ]
+
 
}
 
}
 
</pre>
 
</pre>
第106行: 第139行:
 
{|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table"
 
{|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table"
 
<html><colgroup><col class="tbF1"/><col class="tbF2" /><col /></colgroup></html>
 
<html><colgroup><col class="tbF1"/><col class="tbF2" /><col /></colgroup></html>
!colspan="4" scope="col" |<span id="data参数支持的参数">data参数支持的参数</span>
+
!colspan="3" scope="col" |<span id="返回值说明">返回值说明</span>
 
|-
 
|-
|style="text-align:center; width: 12%"|参数名称
+
|style="text-align:center; width: 12%"|属性
 
|style="text-align:center;width: 12%"|值的类型
 
|style="text-align:center;width: 12%"|值的类型
|style="text-align:center;width: 11%"|是否必填
 
 
|style="text-align:center;"|说明描述
 
|style="text-align:center;"|说明描述
 
|-
 
|-
|articles:display_name
+
|id
 
|string
 
|string
|true
+
|消息ID
|图文的显示名称标题
+
 
|-
 
|-
|articles:summary
+
|type
 
|string
 
|string
|true
+
|text
|图文的文字描述
+
 
|-
 
|-
|articles:image
+
|recipient_id
 +
|int64
 +
|消息的接收者
 +
|-
 +
|sender_id
 +
|int64
 +
|消息的发送者
 +
|-
 +
|created_at
 
|string
 
|string
|true
+
|消息创建时间
|图文的缩略显示图片,需为JPG、PNG格式,单图及多图第一张推荐使用280*155,多图非第一张推荐使用64*64
+
 
|-
 
|-
|articles:url
+
|text
 
|string
 
|string
|true
+
|私信内容
|图文的URL地址,点击后跳转
+
|-
 +
|data
 +
|string
 +
|消息内容,纯文本私信或留言为空
 
|}
 
|}
 +
 +
注意:需要对接收到的消息体type活subtype做兼容,当出现未知时可忽略此消息。
  
  
第138行: 第180行:
 
<pre>
 
<pre>
 
{
 
{
     "request": "/2/messages/reply.json",
+
     "request": "/2/messages/receive.json",
 
     "error_code": "264XX",
 
     "error_code": "264XX",
 
     "error": "error message."
 
     "error": "error message."
 
}
 
}
 
</pre>
 
</pre>
 
__NOTOC__
 

2013年8月30日 (五) 09:30的版本

消息推送接口

功能: 消息推送接口,长连接微博推送服务,接收推送给指定蓝V用户的新消息。当有微博用户给蓝V发送新消息时,推送服务将此新消息格式化后由此长连接推送给该应用。


接口调用地址:https://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、如appkey已绑定IP地址,调用接口的请求IP须为绑定的IP;
  • 4、指定的uid用户为蓝V;
  • 5、指定的uid用户已设置成将自己的微博私信、留言等消息箱服务交给当前应用托管;
  • 6、指定的uid用户已开启推送服务(当前托管即自动开启);
  • 6、每条完整的新消息数据以json形式返回,默认采用UTF-8编码,且以\r\n分隔;
  • 7、新消息来源用户为蓝V且已开启消息服务时,新消息不推送;
  • 8、为缓解服务压力,请求建立后约每5分钟自动断开,应用需兼容根据最后一次获取的新消息ID重新调此接口连接;


调用举例:

curl -u "USERNAME:PASSWORD" "https://m.api.weibo.com/2/messages/receive.json?source=YOUR_APPKEY&uid=***"


连接建立后,当蓝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时为“关注事件消息”,为unfollow时为“取消关注事件消息”。
data string 消息内容
data:subtype string follow:关注事件,unfollow取消关注事件。
data:key string subtype为follow或unfollow时不返回


  • 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."
}