潮信机器人API文档

开始阅读此篇文章之前,我们假设您已了解潮信机器人介绍中的内容

接入潮信机器人,开发者需要完成如下工作

  1. 机器人接受消息
  2. 机器人发送消息

一. 机器人接受消息

1. 配置消息推送URL

在 我的机器人->管理机器人->机器人配置->消息推送URL 中 配置消息推送的URL, 在选择”公开机器人“时,为了确保数据通讯的安全性, 该URL必须使用https协议。如:

https://<your domain name>/bot.php

2. 推送格式

潮信发送给机器人的消息将以json格式通过POST发送给“消息推送URL”,以下为具体格式

1) 机器人接受聊天消息

字段 类型 描述
request_type Integer 请求的类型,这里为1,表示为聊天消息请求
uuid String 消息的唯一性ID
user_id Integer 发出这条消息的用户ID
chat_type Integer 对话的类型,0为群聊对话,1为私聊对话
chat_id Integer 对话的ID,根据chat_type分为唯一的群ID或者用户ID
message_time Integer 消息发送时间
message_type Integer 聊天消息类型
entities Array of entity entity对象的数组,修饰文字消息的文字链接或者@内容
username String 用户名

该对象根据聊天消息类型 的不同会添加不同的聊天消息属性,详情如下

(1) 文本消息(message_type=0)
字段 类型 描述
text String 消息内容,为去掉at和回复消息块后的消息
raw_text String 消息原文,在去掉at和回复消息块时会带上
(2) 图片消息(message_type=1)
字段 类型 描述
image_url String 图片地址
image_size Integer 图片大小,单位为byte
image_width Integer 图片宽度,image_height带的情况下,image_width为必带属性
image_height Integer 图片高度,image_width带的情况下,image_height为必带属性
text String 文字消息
raw_text String 消息原文,在去掉at和回复消息块时会带上
(3) 声音消息(message_type=2)
字段 类型 描述
sound_url String 声音地址
sound_duration Integer 声音时长,单位为秒
(4) 坐标消息(message_type=3)
字段 类型 描述
longitude Float 经度
latitude Float 纬度
(5) 系统消息(message_type=5)
字段 类型 描述
type Integer 系统消息类型, 101表示入群,102表示退群,103表示踢出群
invite_type Integer 仅在type为101时有效,表示入群的类型,0表示默认邀请类型,1表示通过链接邀请
member_list Array of member_object 表示被操作的用户列表
member_object
字段 类型 必填 描述
user_id Integer 被操作用户ID
nickname String 被操作用户昵称
(6) 表情消息(message_type=6)
字段 类型 描述
emotion_url Integer 表情地址
emotion_description String 表情描述
(7) 预定义消息(message_type=7)
字段 类型 描述
type Integer 目前只有0表示捅一捅消息
(8) 用户名片消息(message_type=8)
字段 类型 描述
type Integer 名片类型,1表示注册用户名,2表示未注册联系人名片
user_card_mobile_id String 表示用户手机号码
user_card_user_id Integer typ为1时带,表示注册用户ID
user_card_nickname String type为1时带,表示注册用户昵称
user_card_avatar String typ为1时带,表示注册用户手机头像
user_card_remark String type为2时带,表示未注册联系人名字
(9) 视频消息(message_type=10)
字段 类型 描述
video_url String 视频地址
video_size Integer 视频大小,单位为byte
video_duration Integer 视频时长
video_width Integer 视频宽度,video_height带的情况下, video_width为必带
video_height Integer 视频宽度,video_width带的情况下, video_height为必带
(10) 文件消息(message_type=11)
字段 类型 描述
file_url String 文件地址
file_name String 文件名
file_size Integer 文件大小,以B为单位
(11) mp3消息(message_type=13)
字段 类型 描述
mp3_url String mp3地址
mp3_file_name String mp3文件名
mp3_size Integer mp3大小,以B为单位
mp3_title String mp3作者
mp3_artist String mp3艺人
mp3_duration String mp3时长
(12) gif消息(message_type=14)
字段 类型 描述
gif_url String gif地址
gif_width Integer gif宽度, gif_height带的情况下, gif_width为必带
gif_height Integer gif高度,gif_width带的情况下,gif_height为必带
text String 文字消息
raw_text String 消息原文,在去掉at和回复消息块时会带上

2) 机器人接受输入框指令

字段 类型 描述
request_type Integer 表示请求的类型,这里为2,表示为输入框指令请求
uuid String 表示消息的唯一性ID
text String 指令文本
nickname String 昵称
user_id Integer 用户ID
latitude Float 经度
longitude Float 纬度
country_code Integer 手机区号
mobile_id Integer 手机号码
offset Integer 指令查询的偏移量

3) 机器人接受反馈

字段 类型 描述
request_type Integer 表示请求的类型,这里为3,表示为反馈请求
uuid String 表示消息的唯一性ID
message_id String 消息的ID

二. 机器人发送消息

其中<bot_token>从机器人管理界面中获得,<method_name>见下文

1. 发送文本消息

sendTextMessage

字段 类型 必填 描述
chat_type Integer 对话的类型,0为群聊对话,1为私聊对话
chat_id Integer 对话的ID, 根据chat_type分为唯一的群ID或者用户ID
text String 文字消息
entities Array of entity entity对象的数组, 修饰文字消息的文字链接或者@内容
reply_keyboard Object reply_keyboard对象, 用于定义自定义键盘

POST地址:

https://botapi.chaoxin.com/sendTextMessage/<bot_token>

POST参数:

chat_id=<chat_id>
&chat_type=<chat_type>
&text=hello@<nickname>
&entities=[{"type":0,"user_id":<user_id>,"nickname":<nickname>},{"type":1,"offset":0,"length":5,"url":"https:\/\/www.chaoxin.com"}]
&reply_keyboard={"resize_keyboard":1,"keyboard":[[{"type":0,"text":"按钮文本","hint":"按钮提示","content":"显示文字"},{"type":1,"text":"发送名片"}],[{"type":2,"text":"发送地理位置"},{"type":3,"text":"按钮文本","hint":"按钮提示","content":"提示文字"}]]}

2. 发送图片消息

sendImageMessage

字段 类型 必填 描述
chat_type Integer 对话的类型,0为群聊对话,1为私聊对话
chat_id Integer 对话的ID, 根据chat_type分为唯一的群ID或者用户ID
image File 上传的图片
text String 文字消息
entities Array of entity entity对象的数组,修饰文字消息的文字链接或者@内容
reply_keyboard Object reply_keyboard对象, 用于定义自定义键盘

POST地址:

https://botapi.chaoxin.com/sendImageMessage/<bot_token>

POST参数:

chat_id=<chat_id>
&chat_type=<chat_type>
&image=<image>
&text=hello@<nickname>
&entities=[{"type":0,"user_id":,"nickname":<nickname>},{"type":1,"offset":0,"length":5,"url":"https:\/\/www.chaoxin.com"}]
&reply_keyboard={"resize_keyboard":1,"keyboard":[[{"type":0,"text":"按钮文本","hint":"按钮提示","content":"显示文字"},{"type":1,"text":"发送名片"}],[{"type":2,"text":"发送地理位置"},{"type":3,"text":"按钮文本","hint":"按钮提示","content":"提示文字"}]]}

3. 发送坐标消息

sendCoordinateMessage

字段 类型 必填 描述
chat_type Integer 对话的类型,0为群聊对话,1为私聊对话
chat_id Integer 对话的ID, 根据chat_type分为唯一的群ID或者用户ID
latitude Float 纬度
longitude Float 经度
reply_keyboard Object reply_keyboard对象, 用于定义自定义键盘

POST地址:

https://botapi.chaoxin.com/sendCoordinateMessage/<bot_token>

POST参数:

chat_id=<chat_id>
&chat_type=<chat_type>
&longitude=121.73
&latitude=31.4
&reply_keyboard={"resize_keyboard":1,"keyboard":[[{"type":0,"text":"按钮文本","hint":"按钮提示","content":"显示文字"},{"type":1,"text":"发送名片"}],[{"type":2,"text":"发送地理位置"},{"type":3,"text":"按钮文本","hint":"按钮提示","content":"提示文字"}]]}

4. 发送视频消息

sendVideoMessage

字段 类型 必填 描述
chat_type Integer 对话的类型,0为群聊对话,1为私聊对话
chat_id Integer 对话的ID, 根据chat_type分为唯一的群ID或者用户ID
video File 要上传的视频
reply_keyboard Object reply_keyboard对象, 用于定义自定义键盘

POST地址:

https://botapi.chaoxin.com/sendVideoMessage/<bot_token>

POST参数:

chat_id=<chat_id>
&chat_type=<chat_type>
&video=<video>
&reply_keyboard={"resize_keyboard":1,"keyboard":[[{"type":0,"text":"按钮文本","hint":"按钮提示","content":"显示文字"},{"type":1,"text":"发送名片"}],[{"type":2,"text":"发送地理位置"},{"type":3,"text":"按钮文本","hint":"按钮提示","content":"提示文字"}]]}

5. 发送文件消息

sendFileMessage

字段 类型 必填 描述
chat_type Integer 对话的类型,0为群聊对话,1为私聊对话
chat_id Integer 对话的ID, 根据chat_type分为唯一的群ID或者用户ID
file File 要上传的文件
reply_keyboard Object reply_keyboard对象, 用于定义自定义键盘

POST地址:

https://botapi.chaoxin.com/sendFileMessage/

POST参数:

chat_id=<chat_id>
&chat_type=<chat_type>
&file=<file>
&reply_keyboard={"resize_keyboard":1,"keyboard":[[{"type":0,"text":"按钮文本","hint":"按钮提示","content":"显示文字"},{"type":1,"text":"发送名片"}],[{"type":2,"text":"发送地理位置"},{"type":3,"text":"按钮文本","hint":"按钮提示","content":"提示文字"}]]}

6. 发送mp3消息

sendMp3Message

字段 类型 必填 描述
chat_type Integer 对话的类型,0为群聊对话,1为私聊对话
chat_id Integer 对话的ID, 根据chat_type分为唯一的群ID或者用户ID
mp3 File 要上传的文件
reply_keyboard Object reply_keyboard对象, 用于定义自定义键盘

POST地址:

https://botapi.chaoxin.com/sendMp3Message/<bot_token>

POST参数:

chat_id=<chat_id>
&chat_type=<chat_type>
&mp3=<mp3>
&reply_keyboard={"resize_keyboard":1,"keyboard":[[{"type":0,"text":"按钮文本","hint":"按钮提示","content":"显示文字"},{"type":1,"text":"发送名片"}],[{"type":2,"text":"发送地理位置"},{"type":3,"text":"按钮文本","hint":"按钮提示","content":"提示文字"}]]}

7. 发送gif消息

sendGifMessage

字段 类型 必填 描述
chat_type Integer 对话的类型,0为群聊对话,1为私聊对话
chat_id Integer 对话的ID, 根据chat_type分为唯一的群ID或者用户ID
gif File 上传的gif
text String gif的文字消息
entities Array of entity entity对象的数组, 修饰文字消息的文字链接或者@内容
reply_keyboard Object reply_keyboard对象, 用于定义自定义键盘

POST地址:

https://botapi.chaoxin.com/sendGifMessage/<bot_token>

POST参数:

chat_id=<chat_id>
&chat_type=<chat_type>
&gif=<gif>
&text=hello@<nickname>
&entities=[{"type":0,"user_id":,"nickname":<nickname>},{"type":1,"offset":0,"length":5,"url":"https:\/\/www.chaoxin.com"}]
&reply_keyboard={"resize_keyboard":1,"keyboard":[[{"type":0,"text":"按钮文本","hint":"按钮提示","content":"显示文字"},{"type":1,"text":"发送名片"}],[{"type":2,"text":"发送地理位置"},{"type":3,"text":"按钮文本","hint":"按钮提示","content":"提示文字"}]]}

8. 发送输入框指令回复

sendInlineResponse

字段 类型 必填 描述
uuid String 表示消息的唯一性ID, 和"机器人接受输入框指令"中的uuid一致
messages Array inline_response_msg对象的数组, 需要在inline_response_msg对象中设置message_type, 表示回复的列表
style Integer 显示样式,0表示图文混排, 1表示纯文字,2表示纯图片,3表示用文字替换图片的显示,默认为0;其中用户是通过type为0用户可点击的输入框指令发过来的输入框指令只能用style为1的纯文字模式返回
next_offset Integer 如果设置该值,则说明还有数据可以返回,值为下次请求时可以带的offset, 如果不设置该值,则表示没有数据可以返回了

POST地址:

https://botapi.chaoxin.com/sendInlineResponse/<bot_token>

POST参数:

uuid=9693e00b-24f2-4dc7-9301-70187fddc50d
&style=1
&next_offset=30
&messages=[{"message_id":"474e246f-3051-48ef-ac95-8c9128aaf9e2","message_type":0,"text":"hello","icon":"","icon_width":800,"icon_height":600,"title":"hello","description":"world"},{"message_id":"37df4a6a-9473-4c98-8ffb-106f6706e3dd","message_type":1,"image_url":"<image_url>","image_size":1024,"image_width":800,"image_height":600,"title":"foo","description":"bar"}]

9. 发送文本输入框指令回复

sendTextInlineResponse

字段 类型 必填 描述
type Integer 返回回复类型,0表示返回的是用户可点击的输入框指令, 1表示返回的是用户可点击的消息内容
uuid String 表示消息的唯一性ID, 和"机器人接受输入框指令"中的uuid一致
messages Array inline_response_msg对象, 表示回复的列表
style Integer 显示样式,0表示图文混排, 1表示纯文字,2表示纯图片,3表示用文字替换图片的显示,默认为0
next_offset Integer 如果设置该值,则说明还有数据可以返回,值为下次请求时可以带的offset, 如果不设置该值,则表示没有数据可以返回了

POST地址:

https://botapi.chaoxin.com/sendTextInlineResponse/<bot_token>

POST参数:

uuid=9693e00b-24f2-4dc7-9301-70187fddc50d
&type=1
&style=1
&next_offset=30
&messages=[{"message_id":"474e246f-3051-48ef-ac95-8c9128aaf9e2",text":"hello world","icon":"","icon_width":800,"icon_height":600,"title":"hello","description":"world"},{"message_id":"37df4a6a-9473-4c98-8ffb-106f6706e3dd","text":"foo bar","icon":"","icon_width":800,"icon_height":600,"title":"foo","description":"bar"}]

10. 发送图片输入框指令回复

sendImageInlineResponse

字段 类型 必填 描述
uuid String 表示消息的唯一性ID, 和"机器人接受输入框指令"中的uuid一致
messages Array inline_response_msg对象, 表示回复的列表
style Integer 显示样式,0表示图文混排, 1表示纯文字,2表示纯图片,3表示用文字替换图片的显示,默认为0
next_offset Integer 如果设置该值,则说明还有数据可以返回,值为下次请求时可以带的offset, 如果不设置该值,则表示没有数据可以返回了

POST地址:

https://botapi.chaoxin.com/sendImageInlineResponse/<bot_token>

POST参数:

uuid=9693e00b-24f2-4dc7-9301-70187fddc50d
&style=1
&next_offset=30
&messages=[{"message_id":"474e246f-3051-48ef-ac95-8c9128aaf9e2","image_url":"<image_url>", "image_size":1024, "image_width":800,"image_height":600,"title":"hello","description":"world"},{"message_id":"37df4a6a-9473-4c98-8ffb-106f6706e3dd","image_url":"<image_url>", "image_size":1024,"image_width":800,"image_height":600,"title":"foo","description":"bar"}]

11. 发送坐标输入框指令回复

sendCoordinateInlineResponse

字段 类型 必填 描述
uuid String 表示消息的唯一性ID, 和"机器人接受输入框指令"中的uuid一致
messages Array inline_response_msg对象, 表示回复的列表
style Integer 显示样式,0表示图文混排, 1表示纯文字,2表示纯图片,3表示用文字替换图片的显示,默认为0
next_offset Integer 如果设置该值,则说明还有数据可以返回,值为下次请求时可以带的offset, 如果不设置该值,则表示没有数据可以返回了

POST地址:

https://botapi.chaoxin.com/sendCoordinateInlineResponse/<bot_token>

POST参数:

uuid=9693e00b-24f2-4dc7-9301-70187fddc50d
&style=1
&next_offset=30
&messages=[{"message_id":"474e246f-3051-48ef-ac95-8c9128aaf9e2",longitude":121.73,"latitude":31.4,"title":"hello","description":"world"},{"message_id":"37df4a6a-9473-4c98-8ffb-106f6706e3dd",longitude":121.73,"latitude":31.4,"title":"foo","description":"bar"}]

12. 发送视频输入框指令回复

sendVideoInlineResponse

字段 类型 必填 描述
uuid String 表示消息的唯一性ID, 和"机器人接受输入框指令"中的uuid一致
messages Array inline_response_msg对象, 表示回复的列表
style Integer 显示样式,0表示图文混排, 1表示纯文字,2表示纯图片,3表示用文字替换图片的显示,默认为0
next_offset Integer 如果设置该值,则说明还有数据可以返回,值为下次请求时可以带的offset, 如果不设置该值,则表示没有数据可以返回了

POST地址:

https://botapi.chaoxin.com/sendVideoInlineResponse/<bot_token>

POST参数:

uuid=9693e00b-24f2-4dc7-9301-70187fddc50d
&style=1
&next_offset=30
&messages=[{"message_id":"474e246f-3051-48ef-ac95-8c9128aaf9e2","video_url":"<video_url>","video_size":1024,"video_duration":60,"video_width":800,"video_height":600,"title":"hello","description":"world"},{"message_id":"37df4a6a-9473-4c98-8ffb-106f6706e3dd","video_url":"<video_url>","video_size":1024,"video_duration":60,"video_width":800,"video_height":600,"title":"foo","description":"bar"}]

13. 发送文件输入框指令回复

sendFileInlineResponse

字段 类型 必填 描述
uuid String 表示消息的唯一性ID, 和"机器人接受输入框指令"中的uuid一致
messages Array inline_response_msg对象, 表示回复的列表
style Integer 显示样式,0表示图文混排, 1表示纯文字,2表示纯图片,3表示用文字替换图片的显示,默认为0
next_offset Integer 如果设置该值,则说明还有数据可以返回,值为下次请求时可以带的offset, 如果不设置该值,则表示没有数据可以返回了

POST地址:

https://botapi.chaoxin.com/sendFileInlineResponse/<bot_token>

POST参数:

uuid=9693e00b-24f2-4dc7-9301-70187fddc50d
&style=1
&next_offset=30
&messages=[{"message_id":"474e246f-3051-48ef-ac95-8c9128aaf9e2","file_url":"<file_url>","file_name":"sample.txt","file_size":1024,"title":"hello","description":"world"},{"message_id":"37df4a6a-9473-4c98-8ffb-106f6706e3dd","file_url":"<file_url>","file_name":"sample.txt","file_size":1024,"title":"foo","description":"bar"}]

14. 发送mp3输入框指令回复

sendMp3InlineResponse

字段 类型 必填 描述
uuid String 表示消息的唯一性ID, 和"机器人接受输入框指令"中的uuid一致
messages Array inline_response_msg对象, 表示回复的列表
style Integer 显示样式,0表示图文混排, 1表示纯文字,2表示纯图片,3表示用文字替换图片的显示,默认为0
next_offset Integer 如果设置该值,则说明还有数据可以返回,值为下次请求时可以带的offset, 如果不设置该值,则表示没有数据可以返回了

POST地址:

https://botapi.chaoxin.com/sendMp3InlineResponse/<bot_token>

POST参数:

uuid=9693e00b-24f2-4dc7-9301-70187fddc50d
&style=1
&next_offset=30
&messages=[{"message_id":"474e246f-3051-48ef-ac95-8c9128aaf9e2","mp3_url":"<mp3_url>","mp3_size":1024,"mp3_file_name":"sample.mp3","mp3_title":"mp3 title","mp3_artist":"mp3_artist","title":"hello","description":"world"},{"message_id":"37df4a6a-9473-4c98-8ffb-106f6706e3dd","mp3_url":"<mp3_url>","mp3_size":1024,"mp3_file_name":"sample.mp3","mp3_title":"mp3 title","mp3_artist":"mp3_artist","title":"foo","description":"bar"}]

15. 发送gif输入框指令回复

sendGifInlineResponse

字段 类型 必填 描述
uuid String 表示消息的唯一性ID, 和"机器人接受输入框指令"中的uuid一致
messages Array inline_response_msg对象, 表示回复的列表
style Integer 显示样式,0表示图文混排, 1表示纯文字,2表示纯图片,3表示用文字替换图片的显示,默认为0
next_offset Integer 如果设置该值,则说明还有数据可以返回,值为下次请求时可以带的offset, 如果不设置该值,则表示没有数据可以返回了

POST地址:

https://botapi.chaoxin.com/sendGifInlineResponse/<bot_token>

POST参数:

uuid=9693e00b-24f2-4dc7-9301-70187fddc50d
&style=1
&next_offset=30
&messages=[{"message_id":"474e246f-3051-48ef-ac95-8c9128aaf9e2","gif_url":"<gif_url>","gif_width":800,"gift_height":600,"title":"hello","description":"world"},{"message_id":"37df4a6a-9473-4c98-8ffb-106f6706e3dd","gif_url":"<gif_url>","gif_width":800,"gift_height":600},"title":"foo","description":"bar"}]

16. 验证用户链接签名

checkUserLinkSignature POST地址:

https://botapi.chaoxin.com/checkUserLinkSignature/<bot_token>

POST参数:

字段 类型 必填 描述
signature String 需要验证用户的签名
user_id Integer 需要验证用户的user_id
chat_type Integer 对话的类型
chat_id Integer 对话的ID

给机器人发文本消息时可以在entity对象中带上如下链接

http:///?user_id=#uid#&signature=#authsig#&chat_type=#chattp#&chat_id=#chatid#&nickname=#nickname#&avatar=#avatar#

当用户点击时,客户端会在访问URL时自动替换URL中的通配符为这个用户在会话中的信息,用户接到这一系列信息可以通过checkUserLinkSignature协议来确认用户在这个会话的有效性。

17. 发送分享消息

sendSharedMessage

POST地址:

https://botapi.chaoxin.com/sendSharedMessage/<bot_token>

POST参数:

字段 类型 必填 描述
chat_type Integer 对话的类型,0为群聊对话,1为私聊对话
chat_id Integer 对话的ID, 根据chat_type分为唯一的群ID或者用户ID
title String 标题
url String 分享url
description String 描述
thumbnail_url String 缩略图相对地址url(thumbnail_url,thumbnail必须有一个, url从之前调用返回的结果获取)
thumbnail File 缩略图文件(thumbnail_url,thumbnail必须有一个)
client_id String https://open.chaoxin.com 中创建应用的client id

例:

curl https://botapi.chaoxin.com/sendSharedMessage/<bot_token> \
--form chat_id=4 \
--form chat_type=0 \
--form title=这是一个测试标题 \
--form url=https://chaoxin.com \
--form description=这是一个测试描述 \
--form client_id=cxSiGJCkWR9GyJ \
--form thumbnail=@your_thumbnail_file.png

返回数据

{"data":{"thumbnail_url":"a81259c/2018-08-02_10/5179e/40180/1533177379_553140_690_426.png"},"result":0}

返回字段说明

字段 类型 描述
thumbnail_url String 缩略图相对地址url

18. 获取群成员信息

getRoomMemberInfo

POST地址:

https://botapi.chaoxin.com/getRoomMemberInfo/<bot_token>

POST参数:

字段 类型 必填 描述
room_id Integer 群ID(机器人必须在所在群组,群ID在https://bot.chaoxin.com 在机器人管理中获取)

例:

curl https://botapi.chaoxin.com/getRoomMemberInfo/<bot_token> -d "room_id=4"

返回数据

{"data":{"room_members":[{"user_id":10000,"remark":"test1","nickname":"test1"},{"user_id":10001,"remark":"test2","nickname":"test2"}]},"result":0}

返回字段说明

字段 类型 描述
room_members array 群成员信息
user_id Integer 群成员用户id
nickname String 用户昵称
remark String 群成员在群里自己设置的昵称

19. 获取群信息

sendSharedMessage

POST地址:

https://botapi.chaoxin.com/getRoomInfo/<bot_token>

POST参数:

字段 类型 必填 描述
room_id Integer 群ID(机器人必须在所在群组,群ID在https://bot.chaoxin.com 在机器人管理中获取)

例:

curl https://botapi.chaoxin.com/getRoomInfo/<bot_token> -d "room_id=4"

返回数据

{"data":{"room_info":{"room_id":4,"room_name":"这是一个测试群"}},"result":0}

返回字段说明

字段 类型 描述
room_id array 群ID
room_name Integer 群名称

三. 数据类型

1. 聊天消息类型

类型
0 文本消息
1 图片消息
2 声音消息
3 坐标消息
5 系统消息
6 表情消息
7 预定义消息
8 个人名片消息
10 视频消息
11 文件消息
13 mp3音频消息
14 gif消息

2. entity对象

字段 类型 必填 描述
type Integer entity的类型,0表示@,1表示文字链接
user_id Integer type为0时必填,表示@的目标用户ID
nickname String type为0时必填,表示@的目标用户的昵称
offset Integer type为1时必填,表示文字链接起始偏移位置,以字为单位,其中中文字和英文字母计一个字,emoj计两个字
length Integer type为1时必填,表示文字链接的长度,以字为单位
url String type为1时必填,表示文字链接的URL
sharable Integer 默认为1表示可分享,为0表示不能分享

entity示例:

entity示例

3. reply_keyboard对象

字段 类型 必填 描述
resize_keyboard Integer 键盘显示模式,0表示和app的标准输入键盘高度一致,1表示客户端会自定义键盘高度
keyboard Array of Array of keyboard_item keyboard_item对象的二维数组

reply_keyboard示例:

reply_keyboard示例

4. keyboard_item对象

字段 类型 必填 描述
type Integer 键盘模式,0表示带有文本的基本按钮,1表示获取名片信息按钮,2表示获取位置信息按钮,3表示提示消息按钮
text String type为0或3时必带,表示按钮的内容,如果type为0时没带content,则按钮的回复内容即为text的值
content String type为3时必带,type为0时可带,表示点击按钮的回复内容;
hint String type为3时可带,表示点击按钮的提示
reply Integer type为0时可带,reply为1时, 表示按钮回复的内容为text并回复机器人原消息内容
append_at Integer 2表示点击按钮的回复内容会自动@该机器人

5. inline_response_msg对象

字段 类型 必填 描述
message_id String 消息的唯一ID
message_type Integer 仅在sendInlineResponse中必填,指定聊天消息类型
icon String 展示图片的地址;图文混排和纯图片样式下必带
icon_width Integer 展示图片的宽度
icon_height Integer 展示图片的高度
title String 标题,最大长度为40个字;图文混排,纯文字以及用文字替换图片的显示的样式下必带
description String 描述

该对象根据协议的不同或者聊天消息类型 的不同会添加不同的聊天消息属性,详情如下

(1) 文本消息(sendTextInlineResponse协议 或 message_type=0)
字段 类型 必填 描述
text String 消息内容
entities Object entity对象的数组, 输入框指令模式中仅支持文字链接
(2) 图片消息(sendImageInlineResponse协议 或 message_type=1)
字段 类型 必填 描述
image_url String 图片地址
image_thumb_url String 图片缩略图地址
image_size Integer 图片大小,单位为byte
image_width Integer 图片宽度,image_height带的情况下,image_width为必带属性
image_height Integer 图片高度,image_width带的情况下,image_height为必带属性
text String 文字消息
entities Object entity对象的数组, 输入框指令模式中仅支持文字链接
(3) 坐标消息(sendCoordinateInlineResponse协议 或 message_type=3)
字段 类型 必填 描述
longitude Float 经度
latitude Float 纬度
(4) 视频消息(sendVideoInlineResponse协议 或 message_type=10)
字段 类型 必填 描述
video_url String 视频地址
video_thumb_url String 视频缩略图地址
video_size Integer 视频地址
video_duration Integer 视频时长
video_width Integer 视频宽度,video_height带的情况下, video_width为必带
video_height Integer 视频宽度,video_width带的情况下, video_height为必带
(5) 文件消息(sendFileInlineResponse协议 或 message_type=11)
字段 类型 必填 描述
file_url String 文件地址
file_name String 文件名
file_size Integer 文件大小,以B为单位
(6) mp3消息(sendMp3InlineResponse协议 或 message_type=13)
字段 类型 必填 描述
mp3_url String mp3地址
mp3_file_name String mp3文件名
mp3_size Integer mp3大小,以B为单位
mp3_title String mp3作者
mp3_artist String mp3艺人
mp3_duration String mp3时长
(7) gif消息(sendGifInlineResponse协议 或 message_type=14)
字段 类型 必填 描述
gif_url String gif地址
gif_thumb_url String gif缩略图地址
gif_width Integer gif宽度, gif_height带的情况下, gif_width为必带
gif_height Integer gif高度,gif_width带的情况下,gif_height为必带
text String 文字消息
entities Object entity对象的数组, 输入框指令模式中仅支持文字链接

三. 返回值一览

描述
0 成功
1 系统返回的失败,同时返回http status code 500
2 参数错误, 同时返回http status code 400
3 token无效,同时返回http status code 401
4 没有发送权限, 同时返回http status code 400
5 发送API频率超过限制, 同时返回http status code 429
6 请求uuid已经过期, 同时返回http status code 400
7 不能给对象用户发送消息, 同时返回http status code 400
8 消息文字不合法, 没有带文字或文字超过8000个字, 同时返回http status code 400
10001 上传失败, 同时返回http status code 400
10002 上传不合法, 同时返回http status code 400
10003 上传文件过大, 同时返回http status code 400
10004 entities长度超出限制, 同时返回http status code 400
10005 reply_keyboards长度超出限制, 同时返回http status code 400
20001 inline_response条目数量超过限制, 同时返回http status code 400
20002 inline_response条目中的title长度超过限制, 同时返回http status code 400
20003 inline_response条目中的description长度超过限制, 同时返回http status code 400
30001 验证用户链接签名, 签名无效
30002 验证用户链接签名失败, 用户不在群
30003 验证用户链接签名失败, 用户不在会话

您可继续参考潮信机器人介绍进一步了解潮信机器人