Skip to content

Bot API

Michael edited this page Jul 13, 2017 · 13 revisions

Bot认证

使用Basic Authorization

  • username: bot_name
  • password: bot_access_web_token

示例代码:

import base64
import requests

url = "https://openapi.bixin.com.com/api/v2/bot.postText"

data = {
        'target_id': 'a573e67b760a44259dc0ee29087ade72',
        'text': 'text',
        'request_id': 'a573e676casa44259dc0ee29081ade013'
        }
bot_name = 'bx_bot_ghost'
bot_access_web_token = '2a734ce13dcb4bb092e35d0ebccb6245'
b = '{}:{}'.format(bot_name, bot_access_web_token)
a = base64.encodestring(b.encode('utf-8')).strip()

headers = {}
headers['Authorization'] = 'Basic {}'.format(a)
headers['User-Agent'] = 'Bot/{}'.format(bot_name)

response = requests.request("POST", url, data=data, headers=headers)
print(response.text)

API

文本消息

POST https://openapi.bixin.com.com/api/v2/bot.postText

  • Content-Type: application/x-www-form-urlencoded
  • Params:
    • target_id: #发送对象的id
    • text: 发送文本
    • request_id: 请求消息id 用uuid生成
curl -X POST \
  https://openapi.bixin.com.com/api/v2/bot.postText \
  -H 'authorization: Basic YnhfYm90X2dob3N0OjJhNzM0Y2UxM2RjYjRiYjA5MmUzNWQwZWJjY2I2MjQ1' \
  -H 'content-type: application/x-www-form-urlencoded' \
  -d 'target_id=a573e67b760a44259dc0ee29087ade72&text=text&request_id=a573e676casa44259dc0ee29087adea23'
{
    "ok": true,
    "data": {
        "created_at": "2017-07-07T03:08:59.871191",
        "content_type": "text",
        "content": {
            "text": "text"
        },
        "sender": {
            "name": "bx_bot_ghost",
            "nickname": "Ghost bot",
            "avatar_url": "https://openapi.bixin.com.com/res/vendor_fin_dollar2.png",
            "gender": "",
            "menu": [
                {
                    "icon_url": "https://openapi.bixin.com.com/res/faq.png",
                    "desc": "Test",
                    "action": "bixin://postevent?event=index_view&text=Test&target_id=f2c5609ae91c4a2ab20c4b196aac9b4a&conv_type=bot"
                }
            ],
            "btc_address": "1Har9AL8QyRuQ5DiLfm6kFndscbVR6ctHG",
            "desc": "Bixin Official Service",
            "id": "f2c5609ae91c4a2ab20c4b196aac9b4a",
            "conv_type": "bot"
        },
        "brief": "text",
        "request_id": "a573e676casa44259dc0ee29087adea23",
        "prev_id": 9363,
        "receiver": {
            "name": "echo",
            "nickname": "12555",
            "avatar_url": "https://openapi.bixin.com.com/upload/2017/05/11/6146c20c214745f3b29b73216fe47fd1.png",
            "gender": "male",
            "menu": [],
            "btc_address": "1vkJV6bnJdbjocerXjLJkc3tEsjmEjh94",
            "desc": "",
            "id": "a573e67b760a44259dc0ee29087ade72",
            "conv_type": "private"
        },
        "id": 9364,
        "is_mute": false,
        "conv_type": "bot"
    }
}

图片消息

POST https://openapi.bixin.com.com/api/v2/bot.postImage

  • Content-Type: multipart/form-data
  • Params:
    • target_id: #发送对象的id
    • request_id: 请求消息id 用uuid生成
    • conv_type: 会话类型, 可选[private,group]
    • file: image文件

请求示例:

curl -X POST \
  https://openapi.bixin.com.com/api/v2/bot.postImage \
  -H 'authorization: Basic YnhfYm90X2dob3N0OjJhNzM0Y2UxM2RjYjRiYjA5MmUzNWQwZWJjY2I2MjQ1' \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  -F request_id=a1273e67b760a44259dc0ee29087ade722 \
  -F target_id=a573e67b760a44259dc0ee29087ade72 \
  -F conv_type=private \
  -F file=@/Users/me/Downloads/1937317kkln8miadivzaue.jpg

返回:

{
	"ok": true,
	"data": {
		"content_type": "image",
		"conv_type": "bot",
		"sender": {
			"nickname": "Ghost bot",
			"avatar_url": "https://openapi.bixin.com.com/res/vendor_fin_dollar2.png",
			"conv_type": "bot",
			"name": "bx_bot_ghost",
			"id": "f2c5609ae91c4a2ab20c4b196aac9b4a",
			"btc_address": "1Har9AL8QyRuQ5DiLfm6kFndscbVR6ctHG",
			"gender": "",
			"menu": [{
				"icon_url": "https://openapi.bixin.com.com/res/faq.png",
				"desc": "Test",
				"action": "bixin://postevent?event=index_view&text=Test&target_id=f2c5609ae91c4a2ab20c4b196aac9b4a&conv_type=bot"
			}],
			"desc": "Bixin Official Service"
		},
		"id": 10560,
		"request_id": "a1273e67b760a44259dc0ee29087ade722",
		"content": {
			"image_url": "https://openapi.bixin.com.com/upload/2017/07/07/a75955a4165e4b5990ea9559ce794f94.png",
			"image_height": 768,
			"thumb_height": 112,
			"thumb_url": "https://openapi.bixin.com.com/upload/2017/07/07/a75955a4165e4b5990ea9559ce794f94.png",
			"thumb_width": 200,
			"image_width": 1366
		},
		"prev_id": 10558,
		"receiver": {
			"nickname": "Echo",
			"avatar_url": "https://openapi.bixin.com.com/upload/2017/07/07/1adf8b1675e84435aa5e3c6a2202a825.png",
			"conv_type": "private",
			"name": "echo",
			"id": "a573e67b760a44259dc0ee29087ade72",
			"btc_address": "1vkJV6bnJdbjocerXjLJkc3tEsjmEjh94",
			"gender": "male",
			"menu": [],
			"desc": ""
		},
		"brief": "Image",
		"created_at": "2017-07-07T08:18:45.487664",
		"is_mute": false
	}
}

select 消息

POST https://openapi.bixin.com.com/api/v2/bot.postSelect

请求http示例:

POST /api/v2/bot.postSelect HTTP/1.1
Host: openapi.bixin.com
Authorization: Basic YnhfYm90X2dob3N0OjJhNzM0Y2UxM2RjYjRiYjA5MmUzNWQwZWJjY2I2MjQ1
Content-Type: application/json

{
	"request_id": "a573a17a0asess251dc0ee29087adea23",
	"target_id" : "a573e67b760a44259dc0ee29087ade72",
	"conv_type": "private",
	"text": "text",
	"select":[
		{
			"desc": "desc",
			"image_url": "image_url",
			"image_width": "image_width",
			"image_height": "image_height",
			"action": "action"
		},
		{
			"desc": "desc2",
			"image_url": "imgae_url2",
			"image_width": "image_width2",
			"image_height": "image_height2",
			"action": "action2"
		}
		]
}

返回:

{
    "ok": true,
    "data": {
        "created_at": "2017-07-07T03:51:23.330868",
        "content_type": "select",
        "content": {
            "text": "text",
            "select": [
                {
                    "desc": "desc",
                    "image_url": "image_url",
                    "image_width": "image_width",
                    "image_height": "image_height",
                    "action": "bixin://postevent/?target_id=f2c5609ae91c4a2ab20c4b196aac9b4a&conv_type=bot&text=desc&event=action"
                },
                {
                    "desc": "desc2",
                    "image_url": "imgae_url2",
                    "image_width": "image_width2",
                    "image_height": "image_height2",
                    "action": "bixin://postevent/?target_id=f2c5609ae91c4a2ab20c4b196aac9b4a&conv_type=bot&text=desc2&event=action2"
                }
            ]
        },
        "sender": {
            "name": "bx_bot_ghost",
            "nickname": "Ghost bot",
            "avatar_url": "https://openapi.bixin.com.com/res/vendor_fin_dollar2.png",
            "gender": "",
            "menu": [
                {
                    "icon_url": "https://openapi.bixin.com.com/res/faq.png",
                    "desc": "Test",
                    "action": "bixin://postevent?event=index_view&text=Test&target_id=f2c5609ae91c4a2ab20c4b196aac9b4a&conv_type=bot"
                }
            ],
            "btc_address": "1Har9AL8QyRuQ5DiLfm6kFndscbVR6ctHG",
            "desc": "Bixin Official Service",
            "id": "f2c5609ae91c4a2ab20c4b196aac9b4a",
            "conv_type": "bot"
        },
        "brief": "text",
        "request_id": "a573a17a0asess251dc0ee29087adea23",
        "prev_id": 9369,
        "receiver": {
            "name": "echo",
            "nickname": "12555",
            "avatar_url": "https://openapi.bixin.com.com/upload/2017/05/11/6146c20c214745f3b29b73216fe47fd1.png",
            "gender": "male",
            "menu": [],
            "btc_address": "1vkJV6bnJdbjocerXjLJkc3tEsjmEjh94",
            "desc": "",
            "id": "a573e67b760a44259dc0ee29087ade72",
            "conv_type": "private"
        },
        "id": 9370,
        "is_mute": false,
        "conv_type": "bot"
    }
}

文章消息

POST https://openapi.bixin.com.com/api/v2/bot.postArticle

  • Content-Type: application/x-www-form-urlencoded
  • Params:
curl -X POST \
  https://openapi.bixin.com.com/api/v2/bot.postArticle \
  -H 'authorization: Basic YnhfYm90X2dob3N0OjJhNzM0Y2UxM2RjYjRiYjA5MmUzNWQwZWJjY2I2MjQ1' \
  -H 'content-type: application/x-www-form-urlencoded' \
  -H 'user-agent: Bot/bx_bot_ghost' \
  -d 'target_id=a573e67b760a44259dc0ee29087ade72&text=text&request_id=a573e4760as144259dc0ee29087adea23&conv_type=private&title=title%E6%A0%87%E9%A2%98&desc=desc%E6%8F%8F%E8%BF%B0&image_url=https%3A%2F%2Fbixin.com%2Fstatic%2Fimages%2Flogo_scroll%402x.21af7c9605c2.png&action=https%3A%2F%2Fbixin.com'
{
    "ok": true,
    "data": {
        "created_at": "2017-07-07T03:35:44.246799",
        "content_type": "article",
        "content": {
            "desc": "desc描述",
            "image_url": "https://bixin.com/static/images/logo_scroll@2x.21af7c9605c2.png",
            "background": "https://bixin.com/static/images/logo_scroll@2x.21af7c9605c2.png",
            "title": "title标题",
            "action": "bixin://webview_auth/?url=https://bixin.com&bot_id=f2c5609ae91c4a2ab20c4b196aac9b4a"
        },
        "sender": {
            "name": "bx_bot_ghost",
            "nickname": "Ghost bot",
            "avatar_url": "https://openapi.bixin.com.com/res/vendor_fin_dollar2.png",
            "gender": "",
            "menu": [
                {
                    "icon_url": "https://openapi.bixin.com.com/res/faq.png",
                    "desc": "Test",
                    "action": "bixin://postevent?event=index_view&text=Test&target_id=f2c5609ae91c4a2ab20c4b196aac9b4a&conv_type=bot"
                }
            ],
            "btc_address": "1Har9AL8QyRuQ5DiLfm6kFndscbVR6ctHG",
            "desc": "Bixin Official Service",
            "id": "f2c5609ae91c4a2ab20c4b196aac9b4a",
            "conv_type": "bot"
        },
        "brief": "Article",
        "request_id": "a573e4760as144259dc0ee29087adea23",
        "prev_id": 9366,
        "receiver": {
            "name": "echo",
            "nickname": "12555",
            "avatar_url": "https://openapi.bixin.com.com/upload/2017/05/11/6146c20c214745f3b29b73216fe47fd1.png",
            "gender": "male",
            "menu": [],
            "btc_address": "1vkJV6bnJdbjocerXjLJkc3tEsjmEjh94",
            "desc": "",
            "id": "a573e67b760a44259dc0ee29087ade72",
            "conv_type": "private"
        },
        "id": 9369,
        "is_mute": false,
        "conv_type": "bot"
    }
}

广播文本

POST https://openapi.bixin.com.com/api/v2/bot.broadcastText

  • Content-Type: application/x-www-form-urlencoded
  • Params:
    • text: 发送文本
curl -X POST \
  https://openapi.bixin.com.com/api/v2/bot.broadcastText \
  -H 'authorization: Basic YnhfYm90X2dob3N0OjJhNzM0Y2UxM2RjYjRiYjA5MmUzNWQwZWJjY2I2MjQ1' \
  -H 'content-type: application/x-www-form-urlencoded' \
  -H 'user-agent: Bot/bx_bot_ghost' \
  -d text=text%20broadcast
返回:
{"ok": true}

广播图片

POST https://openapi.bixin.com.com/api/v2/bot.broadcastImage

  • Content-Type: multipart/form-data
  • Params:
    • file: image文件
curl -X POST \
  https://openapi.bixin.com.com/api/v2/bot.broadcastImage \
  -H 'authorization: Basic YnhfYm90X2dob3N0OjJhNzM0Y2UxM2RjYjRiYjA5MmUzNWQwZWJjY2I2MjQ1' \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  -H 'user-agent: Bot/bx_bot_ghost' \
  -F file=@/Users/michael/Downloads/1937317kkln8miadivzaue.jpg
返回:
{"ok": true}

广播文章

POST https://openapi.bixin.com.com/api/v2/bot.broadcastArticle

curl -X POST \
  https://openapi.bixin.com.com/api/v2/bot.broadcastArticle \
  -H 'authorization: Basic YnhfYm90X2dob3N0OjJhNzM0Y2UxM2RjYjRiYjA5MmUzNWQwZWJjY2I2MjQ1' \
  -H 'content-type: application/x-www-form-urlencoded' \
  -H 'user-agent: Bot/bx_bot_ghost' \
  -d 'text=text&title=title%E6%A0%87%E9%A2%98&desc=desc%E6%8F%8F%E8%BF%B0&image_url=https%3A%2F%2Fbixin.com%2Fstatic%2Fimages%2Flogo_scroll%402x.21af7c9605c2.png&action=https%3A%2F%2Fbixin.com'
返回:
{"ok": true}

广播置顶消息

POST https://openapi.bixin.com.com/api/v2/bot.broadcastSticky

  • Content-Type: application/x-www-form-urlencoded
  • Params:
    • text: 文本
    • action_text: action文本
    • action: 跳转连接或者 event 如: https://bixin.com
    • closable: 是否关闭 取值为0(False),1(True)
curl -X POST \
  https://openapi.bixin.com.com/api/v2/bot.broadcastSticky \
  -H 'authorization: Basic YnhfYm90X2dob3N0OjJhNzM0Y2UxM2RjYjRiYjA5MmUzNWQwZWJjY2I2MjQ1' \
  -H 'content-type: application/x-www-form-urlencoded' \
  -d 'text=text&action=bixin%3A%2F%2Fwebview%2Furl%3Dwww.baidu.com&action_text=View&closable=1'
返回:
{"ok": true}

Clone this wiki locally