智能助理开发

优质
小牛编辑
203浏览
2023-12-01

开启智能助理

轻应用管理员进入企业管理后台,在应用功能/智能助理下开启智能助理功能。

订阅事件

事件订阅可以让轻应用收到轻推的事件通知。轻应用订阅事件后,若轻推触发了对应事件,开放平台会向轻应用配置的回调地址发送http请求以通知轻应用事件发生。

开启事件订阅步骤

步骤一:配置回调地址

登录轻推企业管理系统,依次点击轻应用/事件订阅,在请求网址URL中填写轻应用服务端接收回调请求的URL。保存回调地址时,开放平台会向回调地址发出验证请求,验证通过后保存成功。验证请求内容如下:

POST / HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "CHALLENGE":"1136fd0bf0614ea78bf232ed6759865b"
}

轻应用收到请求后,需要在1秒内响应和请求body一致的内容:

{
    "CHALLENGE":"1136fd0bf0614ea78bf232ed6759865b"
}

步骤二:设置订阅事件

回调地址配置完成后,轻应用可以选择订阅事件。订阅事件后,当触发相关事件时,开放平台会向回调地址发送HTTP请求以通知轻应用事件发生。部分事件订阅前需要首先获取相关权限,轻应用管理员可通过权限管理/新增权限来申请对应权限。

事件订阅数据结构

开放平台向回调地址发送HTTP POST请求以通知轻应用事件发生,事件数据包含在请求BODY中。

事件的基础结构如下

{
    "domain_id": "xxx",
    "app_id": "xxx",
    "type": "event_callback",
    "event_id": "xxxx",
    "event_time": 1593572705,
    "event": {}
}

智能助理被@事件

{
    "domain_id": "xxx",
    "app_id": "xxx",
    "type": "event_callback",
    "event_id": "xxx",
    "event_time": 1593572705,
    "event": {
        "type": "app_mention",
        "text": "xxx",
        "open_id": "xxx",
        "account_id": "xxx",
        "channel_id": "xxx",
        "chat_type": "xxx"
    }
}

给智能助理回复文本消息事件

{
    "domain_id": "xxx",
    "app_id": "xxx",
    "type": "event_callback",
    "event_id": "xxx",
    "event_time": 1593572705,
    "event": {
        "type": "message",
        "text": "xxx",
        "open_id": "xxx",
        "account_id": "xxx",
        "chat_type": "xxx"
    }
}

群成员增加事件

{
    "domain_id": "xxx",
    "app_id": "xxx",
    "type": "event_callback",
    "event_id": "xxx",
    "event_time": 1593572705,
    "event": {
        "type": "member_joined_channel",
        "channel_id": "xxx",
        "channel_type": "xxx",
        "operator": "xxx", //操作者aid 成员自己加入时为空
        "accounts": [""] //新成员的 aid 列表
    }
}

群成员减少

{
    "domain_id": "xxx",
    "app_id": "xxx",
    "type": "event_callback",
    "event_id": "xxx",
    "event_time": 1593572705,
    "event": {
        "type": "member_left_channel",
        "channel_id": "xxx",
        "channel_type": "xxx",
        "operator": "xxx", //操作者 aid 成员自己离开时为空
        "accounts": [""] //离开群的成员的 aid 列表
    }
}