Send Passive Response Message

跳转到: 导航, 搜索
(以“对于每一个POST请求,开发者在响应包(Get)中返回特定JSON结构或者XML结构,对该消息进行响应(现支持回复文本、图文消息...”为内容创建页面)
 
 
(未显示1个用户的6个中间版本)
第1行: 第1行:
对于每一个POST请求,开发者在响应包(Get)中返回特定JSON结构或者XML结构,对该消息进行响应(现支持回复文本、图文消息)。
+
For each POST request from Weibo, developer can respond it by return a specific JSON in response body. You can send a passive response message by this specific JSON.
  
微博服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次;
+
Weibo Server will disconnect and request your callback url again if can't receive any response in 5 seconds. Weibo Server will retry 3 times in total.
  
关于重试的消息排重,推荐使用FromUserName + CreateTime 排重;
+
About eliminating the repetitive messages which may result from the retry mechanism, we recommend you eliminating the repetitive message by using sender_id plus created_at.
  
假如开发者无法保证在五秒内处理并回复,可以直接回复空串,微博服务器不会对此作任何处理,并且不会发起重试。这种情况下,可以使用客服消息接口进行异步回复。
+
If developer can't respond in 5 seconds, developer can reply with blank string. Weibo Server will not do anything with your blank string and will not retry after receiving your blank string. In this case, you can try to use Send Customer Service Message.
  
  
==回复纯文本消息==
+
==Reply With A Text Message==
  
如果回复纯文本消息,则返回JSON格式如下:
+
If you want to reply with a text message, the JSON format you respond as the following:
注意:JSON格式中的data字段内容必须进行UTF8格式的URLEncode
+
 
 +
Notes:the content of data parameter should be URLEncoded with UTF8 format
 
<pre class="brush:js">
 
<pre class="brush:js">
 +
//the message you reply
 
{
 
{
 
     "result": true,
 
     "result": true,
第23行: 第25行:
 
}
 
}
  
//返回样例
+
//the message after URLencode
 
{
 
{
 
     "result":true,
 
     "result":true,
第38行: 第40行:
 
{|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="4" scope="col" |<span id="data参数说明">the Parameters which data parameter supported</span>
 
|-
 
|-
|style="text-align:center; width: 12%"|参数名称
+
|style="text-align:center; width: 12%"|Parameter
|style="text-align:center;width: 12%"|值的类型
+
|style="text-align:center;width: 12%"|Type
|style="text-align:center;width: 11%"|是否必填
+
|style="text-align:center;width: 11%"|Requires
|style="text-align:center;"|说明描述
+
|style="text-align:center;"|Description
 
|-
 
|-
 
|text
 
|text
 
|string
 
|string
 
|true
 
|true
|要回复的私信文本内容。文本大小必须小于300个汉字。
+
|The text content you want to reply.The content should by less than 300 Chinese Characters.
 
|}
 
|}
举例:
+
For example:
当data对应json为{"text": "纯文本响应"} 时,则进行URLEncode后对应data参数值为:"%7B%22text%22%3A%20%22%E7%BA%AF%E6%96%87%E6%9C%AC%E5%93%8D%E5%BA%94%22%7D%20"
+
When the json of data is {"text": "纯文本响应"} ,the data parameter after URLEncode is:"%7B%22text%22%3A%20%22%E7%BA%AF%E6%96%87%E6%9C%AC%E5%93%8D%E5%BA%94%22%7D%20"
  
==回复图文消息==
+
==Reply With A Image-Text Message==
如果回复图文消息,则返回JSON格式如下:
+
 
 +
If you want to reply with a image-text message, the JSON format you respond as the following:
 
<pre class="brush:js">
 
<pre class="brush:js">
 +
//the message you reply
 
{
 
{
 
     "result": true,
 
     "result": true,
第74行: 第78行:
 
}
 
}
  
//返回样例
+
//the message after URLencode
 
{
 
{
 
     "result": true,
 
     "result": true,
第88行: 第92行:
 
{|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="4" scope="col" |<span id="data参数支持的参数">the Parameters which data parameter supported</span>
 
|-
 
|-
|style="text-align:center; width: 12%"|参数名称
+
|style="text-align:center; width: 12%"|Parameter
|style="text-align:center;width: 12%"|值的类型
+
|style="text-align:center;width: 12%"|Type
|style="text-align:center;width: 11%"|是否必填
+
|style="text-align:center;width: 11%"|Requires
|style="text-align:center;"|说明描述
+
|style="text-align:center;"|Description
 
|-
 
|-
 
|articles:display_name
 
|articles:display_name
 
|string
 
|string
 
|true
 
|true
|图文的显示名称标题
+
|the title of a image-text message
 
|-
 
|-
 
|articles:summary
 
|articles:summary
 
|string
 
|string
 
|true
 
|true
|图文的文字描述,大于等于2个图文时,仅显示第一个图文的描述
+
|the summary of a image-text message
 
|-
 
|-
 
|articles:image
 
|articles:image
 
|string
 
|string
 
|true
 
|true
|图文的缩略显示图片,需为JPG、PNG格式,单图及多图第一张推荐使用280*155,多图非第一张推荐使用64*64
+
|the image of a image-text message,support JPG、PNG,single-image-text message and the first image of multi-image-text message should be 280*155,the other image of multi-image-text message should be 64*64
 
|-
 
|-
 
|articles:url
 
|articles:url
 
|string
 
|string
 
|true
 
|true
|图文的URL地址,点击后跳转
+
|the URL of image-text message, when user click a image-text message, it will jump to this URL
 
|}
 
|}
  
==位置类型私信消息==
+
==Reply With A Location Message==
  
 
<pre>
 
<pre>
 +
//the message you reply
 
{
 
{
 
     "result": true,
 
     "result": true,
第130行: 第135行:
 
}
 
}
  
//返回样例
+
//the message after URLencode
 
{
 
{
 
     "result":true,
 
     "result":true,
第145行: 第150行:
 
{|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="4" scope="col" |<span id="data参数支持的参数">the Parameters which data parameter supported</span>
 
|-
 
|-
|style="text-align:center; width: 12%"|参数名称
+
|style="text-align:center; width: 12%"|Parameter
|style="text-align:center;width: 12%"|值的类型
+
|style="text-align:center;width: 12%"|Type
|style="text-align:center;width: 11%"|是否必填
+
|style="text-align:center;width: 11%"|Requires
|style="text-align:center;"|说明描述
+
|style="text-align:center;"|Description
 
|-
 
|-
 
|longitude
 
|longitude
 
|string
 
|string
 
|true
 
|true
|经度
+
|longitude
 
|-
 
|-
 
|latitude
 
|latitude
 
|string
 
|string
 
|true
 
|true
|纬度
+
|latitude
 
|}
 
|}
  

2014年8月6日 (三) 14:57的最后版本

For each POST request from Weibo, developer can respond it by return a specific JSON in response body. You can send a passive response message by this specific JSON.

Weibo Server will disconnect and request your callback url again if can't receive any response in 5 seconds. Weibo Server will retry 3 times in total.

About eliminating the repetitive messages which may result from the retry mechanism, we recommend you eliminating the repetitive message by using sender_id plus created_at.

If developer can't respond in 5 seconds, developer can reply with blank string. Weibo Server will not do anything with your blank string and will not retry after receiving your blank string. In this case, you can try to use Send Customer Service Message.


Reply With A Text Message

If you want to reply with a text message, the JSON format you respond as the following:

Notes:the content of data parameter should be URLEncoded with UTF8 format

//the message you reply
{
    "result": true,
    "receiver_id":456,
    "sender_id":123,
    "type": "text",
    "data":"{
         "text": "中文消息"
                 }"
}

//the message after URLencode
{
    "result":true,
    "sender_id":"123",
    "receiver_id":"456",
    "type":"text",
    "data":"%7B%22text%22%3A%22%E4%B8%AD%E6%96%87%E6%B6%88%E6%81%AF%22%7D"
}


the Parameters which data parameter supported
Parameter Type Requires Description
text string true The text content you want to reply.The content should by less than 300 Chinese Characters.

For example: When the json of data is {"text": "纯文本响应"} ,the data parameter after URLEncode is:"%7B%22text%22%3A%20%22%E7%BA%AF%E6%96%87%E6%9C%AC%E5%93%8D%E5%BA%94%22%7D%20"

Reply With A Image-Text Message

If you want to reply with a image-text message, the JSON format you respond as the following:

//the message you reply
{
    "result": true,
    "receiver_id":456,
    "sender_id":123,
    "type": "articles",
    "data": {
    "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个
    ]
 }
}

//the message after URLencode
{
    "result": true,
    "sender_id":"123",
    "receiver_id":"456",
    "type": "articles",
    "data":"%7B%22articles%22%3A%5B%7B%22display_name%22%3A%22%E4%B8%A4%E4%B8%AA%E6%95%85%E4%BA%
8B%22%2C%22summary%22%3A%22%E4%BB%8A%E5%A4%A9%E8%AE%B2%E4%B8%A4%E4%B8%AA%E6%95%85%E4%BA%8B%EF%BC%8C%E5%88%86%E4%BA%AB%E7%BB%99%E4%BD%A0%E3%80%82%E8%B0%81%E6%98%AF%E5%85%AC%E5%8F%B8%EF%BC%9F%E8%B0%81%E5%8F%88%E6%98%AF%E4%B8%AD%E5%9B%BD%E4%BA%BA%EF%BC%9F%E2%80%8B%22%2C%22image%22%3A%22http%3A%2F%2Fstorage.mcp.weibo.cn%2F0JlIv.jpg%22%2C%22url%22%3A%22http%3A%2F%2Fe.weibo.com%2Fmediaprofile%2Farticle%2Fdetail%3Fuid%3D1722052204%26aid%3D983319%22%7D%5D%7D"
}
the Parameters which data parameter supported
Parameter Type Requires Description
articles:display_name string true the title of a image-text message
articles:summary string true the summary of a image-text message
articles:image string true the image of a image-text message,support JPG、PNG,single-image-text message and the first image of multi-image-text message should be 280*155,the other image of multi-image-text message should be 64*64
articles:url string true the URL of image-text message, when user click a image-text message, it will jump to this URL

Reply With A Location Message

//the message you reply
{
    "result": true,
    "receiver_id":456,
    "sender_id":123,
    "type": "position",
    "data": {
    "longitude": "344.3344",
    "latitude": "232.343434"
                  }
}

//the message after URLencode
{
    "result":true,
    "sender_id":"123",
    "receiver_id":"456",
    "type":"position",
    "data":"%7B%22longitude%22%3A%22344.3344%22%2C%22latitude%22%3A%22232.343434%22%7D"
}


the Parameters which data parameter supported
Parameter Type Requires Description
longitude string true longitude
latitude string true latitude

php代码示例

java代码示例

文档更新时间: 2014-08-06