2/messages/receive

跳转到: 导航, 搜索
(自定义回复实现步骤)
 
(未显示3个用户的16个中间版本)
第1行: 第1行:
 +
<h3>目录</h3>
 +
 +
**[[#消息服务是什么|1 消息服务是什么]]
 +
**[[#自定义回复|2 自定义回复]]
 +
***[[#自定义回复 - 示例|2.1 自定义回复 - 示例]]
 +
***[[#自定义回复实现步骤|2.2 自定义回复实现步骤]]
 +
**[[#好友邀请|3 好友邀请]]
 +
***[[#好友邀请 - 示例|3.1 好友邀请 - 示例]]
 +
 +
 +
 +
=消息服务是什么=
 +
*消费服务是微博为应用、蓝V提供的与微博用户、粉丝进行消息交互的服务。通过此服务,应用、蓝V可在自己的产品中实现私信人工客服、私信自动回复、好友邀请等功能。
 +
 +
 +
<h3>涵盖的主要功能模块:</h3>
 +
<div style="text-align:center;">
 +
<img src="http://ww1.sinaimg.cn/large/946308c5jw1e81panhb9yj20g605iglw.jpg" alt="946308c5jw1e823zq5uf5j218a0hwtfe.jpg" style="width: 260px;">
 +
</div>
 +
 +
 +
=自定义回复=
 +
*使用消息服务自定义回复功能,蓝V 可以在自身的服务器或指定应用上接收微博用户与自己相关的行为消息,并可在72小时内按需进行文字、图文等私信的回复。
 +
 +
 +
<h3>1、蓝V可接收的用户行为消息类型:</h3>
 +
<img src="http://ww3.sinaimg.cn/large/946308c5jw1e823zq5uf5j218a0hwtfe.jpg" style="width: 680px;">
 +
 +
 +
<h3>2、蓝V可回复的私信类型:</h3>
 +
<img src="http://ww4.sinaimg.cn/large/946308c5jw1e82965yjsgj218g0hstej.jpg" style="width: 680px;">
 +
 +
回复规则:每条接收到的私信72小时内可回复3次,关注事件等非私信消息72小时内可回复1次。
 +
 +
 +
==自定义回复 - 示例==
 +
 +
 +
<h3>1、应用于自动回复场景示例:</h3>
 +
<img src="http://ww1.sinaimg.cn/large/946308c5jw1e82bqnof51j218g0p0aht.jpg" style="width: 680px;">
 +
 +
 +
 +
 +
<h3>2、应用于人工客服场景示例:    </h3>
 +
<img src="http://ww3.sinaimg.cn/large/946308c5jw1e82bz60h0bj218i0p6afv.jpg" style="width: 680px;">
 +
 +
 +
 +
==自定义回复实现步骤==
 +
 +
*1、蓝V用户开启自定义回复开发者模式
 +
**蓝V用户在企业微博后台开启开发者模式,设置成将自己的私信、留言等新消息托管给指定应用处理。
 +
**服务未正式开放,需提供您希望实现的功能或服务场景,我们评估后确定是否提前为您开通。
 +
 +
 +
*2、应用连接、推送开始
 +
**应用调用messages/receive接口进行长连接,接收指定蓝V用户的新消息,若蓝V已授权指定应用托管微博私信、留言等消息箱服务,则连接成功,当有微博用户给蓝V发送新消息时,推送服务将此新消息格式化后由此长连接推送给该应用。
 +
 +
 +
*3、回复接收到的新消息
 +
**应用调用messages/reply接口对接收到的新消息进行处理,实现关键词自动回复或交由蓝 V 客服进行72小时人工应答,所有回复以微博私信方式到达用户。
 +
 +
=好友邀请=
 +
*使用消息服务好友邀请功能,应用、游戏可以在自身的客户端上激励用户邀请自己微博好友加入游戏,邀请将以Card形式私信触达好友。
 +
 +
 +
==好友邀请 - 示例==
 +
 +
 +
<h3>应用于游戏邀请场景示例:</h3>
 +
<img src="http://ww1.sinaimg.cn/large/946308c5jw1e82dbhnagqj218a0hajyk.jpg" style="width: 680px;">
 +
 +
*好友邀请规则:
 +
**1,必须由用户主动发起;
 +
**2,每用户每小时通过每应用可邀请10个互粉好友。
 +
 
=消息推送接口=
 
=消息推送接口=
 
功能:
 
功能:
消息推送接口,长连接微博推送服务,接收推送给指定蓝V用户的新消息。当有微博用户给蓝V发送新消息时,推送服务将此新消息格式化后由此长连接推送给该应用。
+
消息推送接口,长连接微博推送服务,接收推送给指定蓝V用户的新消息
  
  
第40行: 第117行:
 
|}
 
|}
  
==注意事项==
+
注意事项
 
*1、为确保应用及V用户信息安全,此接口必须在服务器端调用;
 
*1、为确保应用及V用户信息安全,此接口必须在服务器端调用;
 
*2、调用接口的登录帐号为该appkey的所有者,需要使用所有者帐号通过Base Auth的方式;
 
*2、调用接口的登录帐号为该appkey的所有者,需要使用所有者帐号通过Base Auth的方式;
 
*3、如appkey已绑定IP地址,调用接口的请求IP须为绑定的IP;
 
*3、如appkey已绑定IP地址,调用接口的请求IP须为绑定的IP;
 
*4、指定的uid用户为蓝V;
 
*4、指定的uid用户为蓝V;
*5、指定的uid用户已指定当前应用为其开发,且指定的uid用户已开启“开发模式”,详见:[[粉丝服务开发模式指南|粉丝服务开发模式指南]];
+
*5、指定的uid用户已设置成将自己的微博私信、留言等消息箱服务交给当前应用托管;
 +
*6、指定的uid用户已开启推送服务(当前托管即自动开启);
 
*6、每条完整的新消息数据以json形式返回,默认采用UTF-8编码,且以\r\n分隔;
 
*6、每条完整的新消息数据以json形式返回,默认采用UTF-8编码,且以\r\n分隔;
 
*7、新消息来源用户为蓝V且已开启消息服务时,新消息不推送;
 
*7、新消息来源用户为蓝V且已开启消息服务时,新消息不推送;
*8、<font style="color:red">非常重要:</font>此接口非短连接接口,需要以长连接方式调用;
+
*8、为缓解服务压力,请求建立后约每5分钟自动断开,应用需兼容根据最后一次获取的新消息ID重新调此接口连接;
*9、<font style="color:red">非常重要:</font>为缓解服务压力,请求建立后约每5分钟会自动断开(如未自动断开请用程序断开),应用需兼容根据最后一次
+
**获取的新消息ID重新调此接口连接。
+
  
  
==调用举例==
+
调用举例:
 
+
 
<pre>
 
<pre>
curl -u "USERNAME:PASSWORD" "https://m.api.weibo.com/2/messages/receive.json?source=YOUR_APPKEY&uid=***"  
+
curl -u "USERNAME:PASSWORD" "https://m.api.weibo.com/2/messages/receive.json?source=YOUR_APPKEY&uid=***"
// "USERNAME:PASSWORD"为应用所有者用户名和密码(注意不是uid蓝V的,除非应用所有者和uid为同一用户)
+
 
</pre>
 
</pre>
  
==蓝V可接收的用户行为消息类型==
+
 
 
连接建立后,当蓝V有新消息时,微博消息服务通过此连接向应用推送新消息,当前支持的消息类型:
 
连接建立后,当蓝V有新消息时,微博消息服务通过此连接向应用推送新消息,当前支持的消息类型:
  
  
<h3>1、事件消息:event</h3>
+
*1、事件消息:event
 
<pre>
 
<pre>
 
{
 
{
 
     "id": 1211260020031346,
 
     "id": 1211260020031346,
 
     "type": "event",
 
     "type": "event",
     "receiver_id": 1902538057,
+
     "recipient_id": 1902538057,
 
     "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",
第97行: 第171行:
 
|event
 
|event
 
|-
 
|-
|receiver_id
+
|recipient_id
 
|int64
 
|int64
 
|消息的接收者
 
|消息的接收者
第127行: 第201行:
  
  
<h3>2、纯文本类型私信和留言消息:text</h3>
+
*2、纯文本类型私信和留言消息:text
 
<pre>
 
<pre>
 
{
 
{
 
     "id": 1211260020031346,
 
     "id": 1211260020031346,
 
     "type": "text",
 
     "type": "text",
     "receiver_id": 1902538057,
+
     "recipient_id": 1902538057,
 
     "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",
第156行: 第230行:
 
|text
 
|text
 
|-
 
|-
|receiver_id
+
|recipient_id
 
|int64
 
|int64
 
|消息的接收者
 
|消息的接收者
第177行: 第251行:
 
|}
 
|}
  
 +
注意:需要对接收到的消息体type活subtype做兼容,当出现未知时可忽略此消息。
  
<h3>3、位置类型私信消息:position</h3>
+
 
 +
接口调用失败返回:
 
<pre>
 
<pre>
 
{
 
{
     "id": 1211260020031347,
+
     "request": "/2/messages/receive.json",
    "type": "position",
+
     "error_code": "264XX",
    "receiver_id": 1902538057,
+
    "error": "error message."
    "sender_id": 2489518277,
+
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
+
    "text": "我在这里: http://t.cn/zQgLLYO",
+
     "data": {
+
        "longitude": "116.308586",
+
        "latitude": "39.982525"
+
      }
+
 
}
 
}
 
</pre>
 
</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
 
|mention
 
|-
 
|receiver_id
 
|int64
 
|消息的接收者
 
|-
 
|sender_id
 
|int64
 
|消息的发送者
 
|-
 
|created_at
 
|string
 
|消息创建时间
 
|-
 
|text
 
|string
 
|原位置私信文本,没有时用默认文案“发送了一个位置”
 
|-
 
|data
 
|string
 
|消息内容
 
|-
 
|data:longitude
 
|string
 
|经度
 
|-
 
|data:latitude
 
|string
 
|纬度
 
|}
 
  
  
<h3>4、语音类型私信和留言消息:voice</h3>
+
=消息回复接口=
说明:指定的蓝V需被授予接收“语音消息”权限,此接口才返回“语音消息”,申请可邮件 [mailto:open_api@sina.com open_api@sina.com] 。
+
功能:
<pre>
+
消息回复接口,对接收到的指定新消息进行回复
{
+
 
    "id": 1211260020031347,
+
 
    "type": "voice",
+
接口调用地址:https://m.api.weibo.com/2/messages/reply.json
    "receiver_id": 1902538057,
+
 
    "sender_id": 2489518277,
+
 
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
+
HTTP请求方式:POST
    "text": "发了一个语音消息",
+
 
    "data": {
+
 
        "vfid": 821804459,    // 发送者用此ID查看语音
+
是否需要登陆:是
        "tovfid": 821804469  // 接收者用此ID查看语音
+
 
    }
+
 
}
+
</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="3" scope="col" |<span id="返回值说明">返回值说明</span>
+
!colspan="4" 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
+
|source
 
|string
 
|string
|消息ID
+
|true
 +
|申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。
 +
|-
 +
|id
 +
|long
 +
|true
 +
|需要响应的推送消息ID。
 
|-
 
|-
 
|type
 
|type
 
|string
 
|string
|voice
+
|true
|-
+
|需要以何种类型的消息进行响应。text:纯文本。
|receiver_id
+
|int64
+
|消息的接收者
+
|-
+
|sender_id
+
|int64
+
|消息的发送者
+
|-
+
|created_at
+
|string
+
|消息创建时间
+
|-
+
|text
+
|string
+
|私信内容
+
 
|-
 
|-
 
|data
 
|data
 
|string
 
|string
|消息内容,纯文本私信或留言为空
+
|true
|-
+
|消息数据,具体内容严格遵循type类型对应格式。必须为json做URLEncode后的字符串格式,采用UTF-8编码。
|data:vfid
+
|string
+
|语音文件ID,发送者通过此ID读取语音
+
|-
+
|data:tovfid
+
|string
+
|语音文件ID,接收者通过此ID读取语音
+
 
|}
 
|}
<pre>
 
查看(下载)蓝V接收到的语音方法一
 
curl "https://upload.api.weibo.com/2/mss/msget?access_token=RECIPIENT_ACCESS_TOKEN&fid=TOVFID"
 
  
1,"RECIPIENT_ACCESS_TOKEN":返回结果中接收者(recipient_id)通过OAuth2授权返回的access_token;
+
注意事项
2,"TOVFID":返回结果data字段中的tovfid。
+
*1、为确保应用及V用户信息安全,此接口必须在服务器端调用;
 +
*2、调用接口的登录帐号必须为该appkey的所有者,需要使用所有者帐号通过Base Auth的方式;
 +
*3、如appkey已绑定IP地址,调用接口的请求IP须为绑定的IP;
 +
*4、指定ID的新消息对应的原接收者已设置成将自己的微博私信、留言等消息箱服务交给当前应用托管;
 +
*5、指定ID的新消息对应的原接收者已开启推送服务(当前托管即自动开启);
 +
*6、指定ID的新消息创建时间在72小时内;
 +
*7、指定的ID消息为“私信、留言”时72小时内可回复三次,为关注、取消关注事件等非私信消息72小时内可回复1次;
 +
*8、指定ID的新消息对应的原接收者身份发出此消息;
 +
*9、指定ID的新消息对应的原发送者将收到此消息;
 +
*10、发送者未被屏蔽或拉黑时消息进私信箱;
  
查看(下载)蓝V接收到的语音方法二
 
curl -u "USERNAME:PASSWORD" "https://upload.api.weibo.com/2/mss/msget?source=APPKEY&fid=TOVFID"
 
  
1,"USERNAME:PASSWORD"为"recipient_id"(蓝V)的微博登录用户名和密码,此时方法二中的APPKEY应用所有者为"recipient_id";
+
当前支持回复的消息类型(type)中,data参数支持的参数:
2,"TOVFID":返回结果data字段中的tovfid。
+
*1、纯文本类型私信消息:text
</pre>
+
 
+
 
+
<h3>5、图片类型私信和留言消息:image</h3>
+
 
<pre>
 
<pre>
 
{
 
{
    "id": 1211260020031347,
+
     "text": "纯文本回复"
    "type": "image",
+
    "receiver_id": 1902538057,
+
    "sender_id": 2489518277,
+
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
+
     "text": "发了一张图片",
+
    "data": {
+
        "vfid": 821804459,    // 发送者用此ID查看图片
+
        "tovfid": 821804469    // 接收者用此ID查看图片
+
    }
+
 
}
 
}
 
</pre>
 
</pre>
第334行: 第333行:
 
{|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="3" scope="col" |<span id="返回值说明">返回值说明</span>
+
!colspan="4" scope="col" |<span id="data参数支持的参数">data参数支持的参数</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
 
|image
 
|-
 
|receiver_id
 
|int64
 
|消息的接收者
 
|-
 
|sender_id
 
|int64
 
|消息的发送者
 
|-
 
|created_at
 
|string
 
|消息创建时间
 
 
|-
 
|-
 
|text
 
|text
 
|string
 
|string
|私信内容
+
|true
|-
+
|要回复的私信文本内容。文本大小必须小于300个汉字。
|data
+
|string
+
|消息内容,纯文本私信或留言为空
+
|-
+
|data:vfid
+
|string
+
|图片ID,发送者通过此ID读取图片
+
|-
+
|data:tovfid
+
|string
+
|图片ID,接收者通过此ID读取图片
+
 
|}
 
|}
 +
举例:
 +
当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>
 
<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
curl "https://upload.api.weibo.com/2/mss/msget?access_token=RECIPIENT_ACCESS_TOKEN&fid=TOVFID"
+
 
+
1,"RECIPIENT_ACCESS_TOKEN":返回结果中接收者(receiver_id)通过OAuth2授权返回的access_token;
+
2,"TOVFID":返回结果data字段中的tovfid。
+
 
</pre>
 
</pre>
  
  
  
<h3>6、被@消息:mention</h3>
+
*2、图文类型私信消息:articles (当前可支持单图文)
说明:指定的蓝V需被授予接收“被@消息”权限,此接口才返回“被@消息”,申请可邮件 [mailto:open_api@sina.com open_api@sina.com] 。
+
 
<pre>
 
<pre>
 
{
 
{
     "id": 1211260020031346,
+
     "articles": [
    "type": "mention",
+
        {
    "receiver_id": 1902538057,
+
            "display_name": "两个故事",
    "sender_id": 2489518277,
+
            "summary": "今天讲两个故事,分享给你。谁是公司?谁又是中国人?​",
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
+
            "image": "http://storage.mcp.weibo.cn/0JlIv.jpg",
    "text": "被@的微博或评论文本信息",
+
            "url": "http://e.weibo.com/mediaprofile/article/detail?uid=1722052204&aid=983319"
    "data": {
+
         }
        "subtype": "MENTION_TYPE,
+
     ]
         "key": "MENTION_KEY"
+
     }
+
 
}
 
}
 
// 默认仅返回可信用户的@,如需返回所有用户@访问此链接设置:http://account.weibo.com/set/message
 
 
</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="3" scope="col" |<span id="返回值说明">返回值说明</span>
+
!colspan="4" scope="col" |<span id="data参数支持的参数">data参数支持的参数</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
+
|articles:display_name
 
|string
 
|string
|消息ID
+
|true
 +
|图文的显示名称标题
 
|-
 
|-
|type
+
|articles:summary
 
|string
 
|string
|mention
+
|true
 +
|图文的文字描述
 
|-
 
|-
|receiver_id
+
|articles:image
|int64
+
|消息的接收者
+
|-
+
|sender_id
+
|int64
+
|消息的发送者
+
|-
+
|created_at
+
 
|string
 
|string
|消息创建时间
+
|true
 +
|图文的缩略显示图片,需为JPG、PNG格式,单图及多图第一张推荐使用280*155,多图非第一张推荐使用64*64
 
|-
 
|-
|text
+
|articles:url
 
|string
 
|string
|被@的微博或评论文本信息
+
|true
|-
+
|图文的URL地址,点击后跳转
|data
+
|string
+
|消息内容
+
|-
+
|data:subtype
+
|string
+
|status:@的微博,comment:@的评论
+
|-
+
|data:key
+
|string
+
|当subtype为status时为微博ID,为comment时为评论ID
+
 
|}
 
|}
  
  
<font style="color:red">注意:</font>需要对接收到的消息体type或subtype做兼容,当出现未知类型时可忽略此消息。
+
接口调用失败返回:
 
+
 
+
==接口调用失败返回==
+
 
<pre>
 
<pre>
 
{
 
{
     "request": "/2/messages/receive.json",
+
     "request": "/2/messages/reply.json",
 
     "error_code": "264XX",
 
     "error_code": "264XX",
 
     "error": "error message."
 
     "error": "error message."

2015年8月24日 (一) 10:38的最后版本

目录


消息服务是什么

  • 消费服务是微博为应用、蓝V提供的与微博用户、粉丝进行消息交互的服务。通过此服务,应用、蓝V可在自己的产品中实现私信人工客服、私信自动回复、好友邀请等功能。


涵盖的主要功能模块:

946308c5jw1e823zq5uf5j218a0hwtfe.jpg


自定义回复

  • 使用消息服务自定义回复功能,蓝V 可以在自身的服务器或指定应用上接收微博用户与自己相关的行为消息,并可在72小时内按需进行文字、图文等私信的回复。


1、蓝V可接收的用户行为消息类型:


2、蓝V可回复的私信类型:

回复规则:每条接收到的私信72小时内可回复3次,关注事件等非私信消息72小时内可回复1次。


自定义回复 - 示例

1、应用于自动回复场景示例:



2、应用于人工客服场景示例:    


自定义回复实现步骤

  • 1、蓝V用户开启自定义回复开发者模式
    • 蓝V用户在企业微博后台开启开发者模式,设置成将自己的私信、留言等新消息托管给指定应用处理。
    • 服务未正式开放,需提供您希望实现的功能或服务场景,我们评估后确定是否提前为您开通。


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


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

好友邀请

  • 使用消息服务好友邀请功能,应用、游戏可以在自身的客户端上激励用户邀请自己微博好友加入游戏,邀请将以Card形式私信触达好友。


好友邀请 - 示例

应用于游戏邀请场景示例:

  • 好友邀请规则:
    • 1,必须由用户主动发起;
    • 2,每用户每小时通过每应用可邀请10个互粉好友。

消息推送接口

功能: 消息推送接口,长连接微博推送服务,接收推送给指定蓝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."
}


消息回复接口

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


接口调用地址: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、如appkey已绑定IP地址,调用接口的请求IP须为绑定的IP;
  • 4、指定ID的新消息对应的原接收者已设置成将自己的微博私信、留言等消息箱服务交给当前应用托管;
  • 5、指定ID的新消息对应的原接收者已开启推送服务(当前托管即自动开启);
  • 6、指定ID的新消息创建时间在72小时内;
  • 7、指定的ID消息为“私信、留言”时72小时内可回复三次,为关注、取消关注事件等非私信消息72小时内可回复1次;
  • 8、指定ID的新消息对应的原接收者身份发出此消息;
  • 9、指定ID的新消息对应的原发送者将收到此消息;
  • 10、发送者未被屏蔽或拉黑时消息进私信箱;


当前支持回复的消息类型(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" "https://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 图文的缩略显示图片,需为JPG、PNG格式,单图及多图第一张推荐使用280*155,多图非第一张推荐使用64*64
articles:url string true 图文的URL地址,点击后跳转


接口调用失败返回:

{
    "request": "/2/messages/reply.json",
    "error_code": "264XX",
    "error": "error message."
}
文档更新时间: 2015-08-24