接口开放平台简要设计思路

535 阅读7分钟

需求说明

针对内容平台的数据,包括信源数据、部门数据、分类数据、标签数据以及模型数据,需要是通过接口的方式向第三方系统和内部系统开放这些数据。以部门数据为例,不同需求方可能有不同的请求参数和返回参数要求。为了实现更高效的数据开放和降低开发成本,建立一个开放平台通过开放平台的能力提供接口服务。

数据模块标准化:将对信源数据、部门数据、分类数据、标签数据和模型数据进行标准化,确保数据结构和格式的一致性,使其能够更容易被集成和访问。

动态参数管理:为满足不同需求方的参数差异,开放平台把接口的请求参数和返回参数初始化好。用户在接口申请的时候只需要动态的选择请求参数、返回参数。开放平台根据每个接口动态的生成接口的请求地址,这样每个接口不再需要手动开发和发布,大大减少了人工干预的成本和风险。

动态接口生成:开放平台将提供应用级别的自定义接口组装功能。这意味着不同需求方可以根据自身需要,灵活地组装接口的请求参数、返回参数以及访问地址。

申请与审批流程:开放平台将建立申请与审批流程。当用户完成接口组装后,需要提交申请。管理员将审批应用接口的合法性,确保接口的使用是符合规范和安全的。

标准鉴权接口:在数据开放过程中,将实现标准的鉴权接口,确保数据的安全性和合法性。所有的接口调用都需要经过授权,只有授权通过的请求才能访问数据。

RESTful调用方式:一旦接口通过审批且鉴权通过,第三方系统可以通过RESTful调用的方式,直接访问内容平台的标准接口。这种调用方式简单高效,能够满足不同系统的集成需求。

内容开放平台的构建,将数据以统一标准的接口形式开放,提供了自定义接口组装功能和动态参数管理,减少了开发和发布的人工成本,同时通过鉴权和审批流程保障数据安全。提高了数据的可访问性,还大幅度提升了数据开放的效率。

用户注册登录编辑

用户注册和登录以及信息修改通过接口的方式调用用户系统,需要在用户系统提前建两个组织,一个开放平台管理员组织部门,一个开放平台用户组织部门,开放平台在调用接口的时候需要带上初始化好的部门编码。

  1. 用户注册流程:

    1. 用户在开放平台界面中填写注册信息。
    2. 开放平台调用用户系统的用户注册接口,传递用户填写的信息以及开放平台用户组织部门的初始化编码。
    3. 用户系统接收注册请求,根据提供的组织编码,在开放平台用户组织部门下创建新用户。
    4. 用户系统返回注册成功的响应,用户即可使用其注册的凭证登录。
  2. 用户登录流程:

    1. 用户在开放平台的界面中输入登录凭证(如用户名和密码)。
    2. 开放平台应用调用用户系统的用户登录接口,传递用户登录凭证以及开放平台用户组织部门的初始化编码。
    3. 用户系统接收登录请求,验证用户凭证的合法性。
    4. 如果凭证验证通过,用户系统生成访问令牌并返回给开放平台应用。
    5. 开放平台可以使用返回的访问令牌进行后续操作,如获取用户信息或执行其他需要权限的操作。
  3. 用户信息编辑流程:

    1. 用户在开放平台的界面中修改个人信息。

    2. 开放平台应用调用用户系统的用户信息编辑接口,传递用户修改后的信息以及用户的访问令牌。

    3. 用户系统接收信息编辑请求,根据访问令牌验证用户的身份。

    4. 如果身份验证通过,用户系统更新用户信息。

    5. 用户系统返回信息编辑成功的响应,用户的信息即被更新。

image.png

选择应用

登录成功之后,用户可以在开放平台查询自己需要的应用和接口,选择应用和接口发起申请,一个应用可以对应多个接口。

组装请求、响应参数

在进行接口选择时,需要能够动态地构建请求体和响应体。用户可以从预先设置好的元数据请求和响应字典表中,选择适用于所需接口的参数。在参数选择完成后,用户可以发起接口请求,针对信源数据、部门数据、分类数据、标签数据以及模型数据,分别选择请求和响应参数。

image.png

接口审批

管理员在收到应用接口申请后,具备驳回或通过应用及其所属接口的权利。若选择全部驳回,则应用与其下属接口均会被驳回,导致审核不通过。当部分接口被驳回,而其他接口被通过时,应用将被视为审核通过,但只有经过同意的接口方可使用。

一旦接口审批通过,系统会为每个接口生成一个唯一的API_CODE。基于接口的种类,API_CODE能够被灵活组合成完整的请求地址,该地址由各接口所固定的请求地址与API_CODE拼接而成。

在此步骤完成后,系统将为用户生成完整的请求体、响应体以及请求地址。用户依照接口详情的指引,即可进行相应接口的调用操作。

image.png

组装请求发起调用

组装请求体、返回体以及请求地址。这些信息将被展示在开放平台的接口详情中,用户可以根据完整的接口信息,与内容平台进行对接,从而获取所需的数据。

RESTful调用

授权安全校验

用户将使用RESTful方式通过请求体和请求地址来调用内容平台的接口。在进行调用之前,必须先进行授权的安全校验。

在申请应用时,用户将被分配一个与应用安全相关的 app_safe_key 以及应用的安全秘钥 app_secret_key,同时为应用提供白名单IP地址的添加入口。内容开放平台服务会首先对请求进行白名单IP验证,如果请求不是来自白名单IP,则将被拒绝访问接口。

当白名单IP验证通过后,用户可以使用 app_safe_keyapp_secret_key 进行令牌的获取,换取 access_token。拿到 access_token 后,用户便可用于调用接口,从而获得所需的数据。

image.png

请求接口查询数据

用户拿到完整的请求地址包括必要的签名,以及access_token以及完整的请求参数,对内容中台发起正式接口调用,内容中台收到请求,会根据请求的地址和请求参数去动态的拼接查询的SQL,将结果数据分页返回给用户或者第三方系统。

image.png

接口调用日志

接口调用的时候会记录接口的调用日志,会记录调用的时间,IP等,当调用失败的时候需要记录调用的请求参数,调用地址,返回参数以及异常信息等。

接口统计

  1. 接口调用完成的时候,需要记录接口的统计数据,比如接口请求的成功次数,失败次数等。
  2. 在开放平台浏览接口信息的时候,需要记录接口被浏览的次数等。