高级群发接口

跳转到: 导航, 搜索
 
(未显示2个用户的19个中间版本)
第1行: 第1行:
=高级群发接口=
+
=根据分组进行群发=
功能:
+
私信订阅群发接口,V用户可通过此接口给自己的订阅用户群发私信
+
  
 +
接口调用请求说明:
 +
URL:https://m.api.weibo.com/2/messages/sendall.json?access_token=ACCESS_TOKEN
  
接口调用地址:https://m.api.weibo.com/2/messages/sendall.json
+
HTTP 请求方式:POST
  
  
HTTP请求方式:POST
+
POST数据说明:
 +
'''文本'''
 +
<pre>
 +
{
 +
  "filter":{
 +
      "group_id":"123"      //分组id
 +
  },
 +
  "text":{
 +
      "content":"CONTENT"  //文本内容
 +
  },
 +
    "msgtype":"text"
 +
}
 +
</pre>
  
  
是否需要登陆:是
+
'''图文消息'''
 +
<pre>
 +
{
 +
  "filter":{
 +
      "group_id":"123"      //分组id
 +
  },
 +
  "articles": [
 +
        {
 +
            "display_name": "两个故事",
 +
            "summary": "今天讲两个故事,分享给你。谁是公司?谁又是中国人?​",
 +
            "image": "http://storage.mcp.weibo.cn/0JlIv.jpg",
 +
            "url": "http://e.weibo.com/mediaprofile/article/detail?uid=1722052204&aid=983319"
 +
        },
 +
        ... //最多支持8个图文,建议为1或3个
 +
    ],
 +
    "msgtype":"articles"
 +
}
 +
</pre>
  
 +
//返回说明
 +
调用成功时的返回值:
 +
<pre>
 +
{
 +
    "result": true,   
 +
    "msg_id": xxxxx  //成功返回true,消息ID
  
频次限制:是
+
}
 +
</pre>
  
 +
调用失败时的返回值:
 +
<pre>
 +
{
 +
    "request": "https://m.api.weibo.com/2/messages/sendall",
 +
    "errcode": "1000XX",
 +
    "errmsg": "error message."
 +
}
 +
</pre>
 +
请注意:在返回成功时,意味着群发任务提交成功,并不意味着此时群发已经结束,所以,仍有可能在后续的发送过程中出现异常情况导致用户未收到消息,如消息有时会进行审核、服务器不稳定等。此外,群发任务一般需要较长的时间才能全部发送完毕,请耐心等待。
  
<div class="wiki_kit">
+
=根据UID列表群发=
  
{|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table"
+
接口调用请求说明:
<html><colgroup><col class="tbF1"/><col class="tbF2" /><col /></colgroup></html>
+
URL:https://m.api.weibo.com/2/messages/sendall.json?access_token=ACCESS_TOKEN
!colspan="4" scope="col" |<span id="接口请求参数">接口请求参数</span>
+
HTTP 请求方式:POST
|-
+
|style="text-align:center; width: 12%"|参数名称
+
|style="text-align:center;width: 12%"|值的类型
+
|style="text-align:center;width: 11%"|是否必填
+
|style="text-align:center;"|说明描述
+
|-
+
|access_token
+
|string
+
|true
+
|在粉丝服务平台 - 高级功能 - 开发者模式页面中获取,或者OAuth2.0授权后获得, 详细参考 [[Messages_api/access_token|获取粉丝服务平台开发接口的access token]]
+
|-
+
|sender_id
+
|int64
+
|false
+
|消息发送方的用户ID,默认不填为当前登录用户ID。
+
|-
+
|range_type
+
|int
+
|true
+
|群发的范围,0:发送给指定的receiver_ids订阅用户;1:发送给所有订阅用户。默认为0。
+
|-
+
|receiver_ids
+
|string
+
|false
+
|群发的订阅用户ID,多个时使用英文半角逗号符分隔,最多不超过10000个。仅当range_type参数为0时有效且必填。
+
|-
+
|type
+
|string
+
|true
+
|需要以何种消息类型发送。text:纯文本,articles:图文
+
|-
+
|data
+
|string
+
|true
+
|消息数据,具体内容严格遵循type类型对应格式。必须为json做URLEncode后的字符串格式,采用UTF-8编码。
+
|}
+
 
+
==注意事项==
+
*1,当指定的sender_id不是当前登录用户时:
+
**当前登录用户必须为当前应用的所有者;
+
*2,指定的sender_id用户已指定当前应用为其开发,且指定的sender_id用户已开启“[[粉丝服务开发模式指南|开发模式]]”;
+
*3,当指定sender_id认证用户为媒体类型时,发送失败;
+
*4,指定的接收者必须为sender_id用户的订阅用户:
+
**所有接收者都不是订阅用户则报错;
+
**部分接收者为订阅用户返回成功,仅向订阅用户发送,非订阅用户不发送;
+
*5,群发周期内,已接收过免费群发的订阅用户不再接收此免费群发:
+
**当指定sender_id用户为橙V、政府时,订阅用户每周只能接收到sender_id用户的一次免费群发;
+
**当指定sender_id用户不是媒体、不是橙V、不是政府时,订阅用户每月只能接收到sender_id用户的一次免费群发;
+
  
  
此接口不得用于推广或引导用户使用任何与新浪微博有直接竞争关系的公司的服务,否则将永久关停指定应用或V用户使用资格。
+
POST数据说明:
  
==当前支持发送的消息类型(type)中,data支持的参数==
+
'''文本'''
<h3>1、纯文本类型私信消息:text</h3>
+
 
<pre>
 
<pre>
 
{
 
{
     "text": "纯文本回复"
+
  "touser":[
 +
     "uid1",
 +
    "uid2"
 +
  ],
 +
  "text":{
 +
      "content":"CONTENT"  //文本内容
 +
  },
 +
    "msgtype":"text"
 
}
 
}
 
</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="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: 11%"|是否必填
 
|style="text-align:center;"|说明描述
 
|-
 
|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
 
  
则对应的调用为:
+
'''图文消息'''
<pre>
+
curl -u "USERNAME:PASSWORD" -d "source=YOUR_APPKEY&sender_id=******&receiver_id=******&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/send.json" -k
+
</pre>
+
 
+
 
+
<h3>2、图文类型私信消息:articles</h3>
+
 
<pre>
 
<pre>
 
{
 
{
     "articles": [
+
     "touser":[
 +
    "uid1",
 +
    "uid2"
 +
  ],
 +
  "articles": [
 
         {
 
         {
 
             "display_name": "两个故事",
 
             "display_name": "两个故事",
第116行: 第99行:
 
         },
 
         },
 
         ... //最多支持8个图文,建议为1或3个
 
         ... //最多支持8个图文,建议为1或3个
     ]
+
     ],
 +
    "msgtype":"articles"
 
}
 
}
 
</pre>
 
</pre>
 +
 +
//返回说明
 +
调用成功时的返回值:
 +
<pre>
 +
{
 +
    "result": true,   
 +
    "msg_id": xxxxx  //成功返回true,消息ID
 +
 +
}
 +
</pre>
 +
 +
调用失败时的返回值:
 +
<pre>
 +
{
 +
    "request": "https://m.api.weibo.com/2/messages/sendall",
 +
    "errcode": "1000XX",
 +
    "errmsg": "error message."
 +
}
 +
</pre>
 +
请注意:在返回成功时,意味着群发任务提交成功,并不意味着此时群发已经结束,所以,仍有可能在后续的发送过程中出现异常情况导致用户未收到消息,如消息有时会进行审核、服务器不稳定等。此外,群发任务一般需要较长的时间才能全部发送完毕,请耐心等待。
 +
 +
 +
=事情推送群发结果=
 +
 +
由于群发任务提交后,群发任务可能在一定时间后才完成,因此,群发接口调用时,仅会给出群发任务是否提交成功的提示,若群发任务提交成功,则在群发任务结束时,会向开发者在粉丝服务平台填写的开发者URL(callback URL)推送事件。
 +
 +
 +
推送的XML结构如下(发送成功时):
 +
 +
<pre>
 +
<xml>
 +
<ToUserName><![CDATA[gh_3e8adccde292]]></ToUserName>
 +
<FromUserName><![CDATA[oR5Gjjl_eiZoUpGozMo7dbBJ362A]]></FromUserName>
 +
<CreateTime>1394524295</CreateTime>
 +
<MsgType><![CDATA[event]]></MsgType>
 +
<Event><![CDATA[MASSSENDJOBFINISH]]></Event>
 +
<MsgID>1988</MsgID>
 +
<Status><![CDATA[sendsuccess]]></Status>
 +
<TotalCount>100</TotalCount>
 +
<FilterCount>80</FilterCount>
 +
<SentCount>75</SentCount>
 +
<ErrorCount>5</ErrorCount>
 +
</xml>
 +
</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="2" 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: 11%"|是否必填
+
 
|style="text-align:center;"|说明描述
 
|style="text-align:center;"|说明描述
 
|-
 
|-
|articles:display_name
+
|ToUserName
|string
+
|群发发起人的uid
|true
+
|图文的显示名称标题
+
 
|-
 
|-
|articles:summary
+
|FromUserName
|string
+
|为空
|true
+
|图文的文字描述
+
 
|-
 
|-
|articles:image
+
|CreateTime
|string
+
|创建时间
|false
+
|图文的缩略显示图片
+
 
|-
 
|-
|articles:url
+
|MsgType
|string
+
|Event
|true
+
|-
|图文的URL地址,点击后跳转
+
|Event
 +
|事件信息,此处为MASSSENDJOBFINISH
 +
|-
 +
|MsgID
 +
|群发的消息ID
 +
|-
 +
|Status
 +
|群发的结构,为“send success”或“send fail”。但send success时,也有可能因用户拒收公众号的消息、系统错误等原因造成少量用户接收失败
 +
|-
 +
|TotalCount
 +
|group_id下粉丝数,或者uid_list中的粉丝数
 +
|-
 +
|FilterCount
 +
|过滤(过滤是指特定地区、性别的过滤、用户设置拒收的过滤,用户接收已超规定条数的过滤)后,准备发送的粉丝数,原则上,FilterCount = SentCount + ErrorCount
 +
|-
 +
|SentCount
 +
|发送成功的粉丝数
 +
|-
 +
|ErrorCount
 +
|发送失败的粉丝数
 
|}
 
|}
 
 
==返回结果==
 
<pre>
 
// 成功返回
 
{
 
    "result": true  //成功返回true,否则报错
 
}
 
 
// 失败返回
 
{
 
    "request": "/2/messages/post.json",
 
    "error_code": 264XX,
 
    "error": "error message."
 
}
 
</pre>
 
 
__NOTOC__
 

2014年7月15日 (二) 16:00的最后版本

根据分组进行群发

接口调用请求说明: URL:https://m.api.weibo.com/2/messages/sendall.json?access_token=ACCESS_TOKEN

HTTP 请求方式:POST


POST数据说明: 文本

{
   "filter":{
      "group_id":"123"      //分组id
   },
   "text":{
      "content":"CONTENT"  //文本内容
   },
    "msgtype":"text"
}


图文消息

{
   "filter":{
      "group_id":"123"      //分组id
   },
  "articles": [
        {
            "display_name": "两个故事",
            "summary": "今天讲两个故事,分享给你。谁是公司?谁又是中国人?​",
            "image": "http://storage.mcp.weibo.cn/0JlIv.jpg",
            "url": "http://e.weibo.com/mediaprofile/article/detail?uid=1722052204&aid=983319"
        },
        ... //最多支持8个图文,建议为1或3个
    ],
    "msgtype":"articles"
}

//返回说明 调用成功时的返回值:

{
    "result": true,    
    "msg_id": xxxxx   //成功返回true,消息ID

}

调用失败时的返回值:

{
    "request": "https://m.api.weibo.com/2/messages/sendall",
    "errcode": "1000XX",
    "errmsg": "error message."
}

请注意:在返回成功时,意味着群发任务提交成功,并不意味着此时群发已经结束,所以,仍有可能在后续的发送过程中出现异常情况导致用户未收到消息,如消息有时会进行审核、服务器不稳定等。此外,群发任务一般需要较长的时间才能全部发送完毕,请耐心等待。

根据UID列表群发

接口调用请求说明: URL:https://m.api.weibo.com/2/messages/sendall.json?access_token=ACCESS_TOKEN HTTP 请求方式:POST


POST数据说明:

文本

{
   "touser":[
    "uid1",
    "uid2"
   ],
   "text":{
      "content":"CONTENT"  //文本内容
   },
    "msgtype":"text"
}

图文消息

{
    "touser":[
    "uid1",
    "uid2"
   ],
  "articles": [
        {
            "display_name": "两个故事",
            "summary": "今天讲两个故事,分享给你。谁是公司?谁又是中国人?​",
            "image": "http://storage.mcp.weibo.cn/0JlIv.jpg",
            "url": "http://e.weibo.com/mediaprofile/article/detail?uid=1722052204&aid=983319"
        },
        ... //最多支持8个图文,建议为1或3个
    ],
    "msgtype":"articles"
}

//返回说明 调用成功时的返回值:

{
    "result": true,    
    "msg_id": xxxxx   //成功返回true,消息ID

}

调用失败时的返回值:

{
    "request": "https://m.api.weibo.com/2/messages/sendall",
    "errcode": "1000XX",
    "errmsg": "error message."
}

请注意:在返回成功时,意味着群发任务提交成功,并不意味着此时群发已经结束,所以,仍有可能在后续的发送过程中出现异常情况导致用户未收到消息,如消息有时会进行审核、服务器不稳定等。此外,群发任务一般需要较长的时间才能全部发送完毕,请耐心等待。


事情推送群发结果

由于群发任务提交后,群发任务可能在一定时间后才完成,因此,群发接口调用时,仅会给出群发任务是否提交成功的提示,若群发任务提交成功,则在群发任务结束时,会向开发者在粉丝服务平台填写的开发者URL(callback URL)推送事件。


推送的XML结构如下(发送成功时):

<xml>
<ToUserName><![CDATA[gh_3e8adccde292]]></ToUserName>
<FromUserName><![CDATA[oR5Gjjl_eiZoUpGozMo7dbBJ362A]]></FromUserName>
<CreateTime>1394524295</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[MASSSENDJOBFINISH]]></Event>
<MsgID>1988</MsgID>
<Status><![CDATA[sendsuccess]]></Status>
<TotalCount>100</TotalCount>
<FilterCount>80</FilterCount>
<SentCount>75</SentCount>
<ErrorCount>5</ErrorCount>
</xml>


返回值说明
属性 说明描述
ToUserName 群发发起人的uid
FromUserName 为空
CreateTime 创建时间
MsgType Event
Event 事件信息,此处为MASSSENDJOBFINISH
MsgID 群发的消息ID
Status 群发的结构,为“send success”或“send fail”。但send success时,也有可能因用户拒收公众号的消息、系统错误等原因造成少量用户接收失败
TotalCount group_id下粉丝数,或者uid_list中的粉丝数
FilterCount 过滤(过滤是指特定地区、性别的过滤、用户设置拒收的过滤,用户接收已超规定条数的过滤)后,准备发送的粉丝数,原则上,FilterCount = SentCount + ErrorCount
SentCount 发送成功的粉丝数
ErrorCount 发送失败的粉丝数
文档更新时间: 2014-07-15