# 事件订阅概述

# 概述

通过事件订阅可以让你的应用及时响应学加家里的动作,从而进行高度整合。你需要的只是告诉学加家该向哪里(URL)发送事件以及你关心哪些类型的事件,当事件发生时,学加家开放平台便会以HTTP POST请求的方式将事件内容以json格式推送给你。

# 如何订阅事件

  • 在开发者后台的应用列表点击你的应用,进入应用详情页。
  • 在事件订阅中勾选你需要的事件。
  • 配置请求URL。

# 配置请求URL

为了能够接收事件订阅消息,首先你必须在开发者后台配置 请求网址 URL。当应用订阅的事件触发时,开放平台会向该网址发送相应的Content-Type为application/json HTTP POST 请求。

每个应用只能配置一个请求网址,该应用订阅的所有事件通知都会发送到该请求网址,当保存请求URL时,学加家开放平台会立刻推送一个url verification事件。请求body为:

{ 
    "response_id": "ADIC8217KK22AApllp1", // 应用需要原样返回的值 
    "tag": "url_verification"      // 表示这是一个验证请求 
}

当你收到开放平台 url_verification事件时,必须解析出 response_id 值并在 1s 内原样返回该 response_id 值作为响应。

{ 
    "response_id": "ADIC8217KK22AApllp1" // 应用需要原样返回的值 
}

# 接收并响应事件

当你订阅的事件发生时,学加家将会通过HTTP POST请求发送Json格式的事件数据到你预先提供的 请求网址 URL。事件数据会是这样:

{ 
    "response_id":"ADIC8217KK22AApllp1" //必须原样返回
    "tag": "updateTeacher", //事件类型。老师信息修改事件 。
    "..." // 不同事件,数据不同
}

当你收到此请求时,需要在1秒内以 http 200 响应该请求(否则学加家开放平台会视此次推送失败并以1s,2s,5s、1h、1h、1h、1h、1h、1h最多重试9次),然后就可以按照需要自行处理后续业务逻辑了。

为了避免同一个事件处理了多次,需要使用 response_id 对事件的唯一性进行检查。

Last Updated: 12/7/2020, 6:34:47 PM