API 集成 是一种代码,它使一个系统能够通过 API(应用程序接口)安全地向另一个系统传输数据或从中获取数据。某些 API 集成可能仅涉及一个 API,而其他集成则可能涉及两个或多个 API。
API 集成通常分为两类:
- 内部集成: 旨在自动化公司内部的业务流程。
- 外部集成: 旨在连接来自不同公司的系统,实现外部数据共享。
本文将以外部数据共享为例进行说明,但这些概念也适用于内部集成。示例将按以下顺序展开:
- 集成业务需求(为什么): 解释集成的目的和需要解决的问题。
- 集成技术要求(什么): 描述实现集成所需的技术规范和要求。
- 执行的集成详细信息(如何执行): 详细说明如何实现集成的步骤和方法。
集成业务需求
对于此 API 集成示例,您的公司提供了一个 SaaS产品用于监控建筑物安全性,定期记录每个客户建筑物关键点的传感器的温度和湿度水平。客户需要一个集成方案,将这些温度和湿度值每天导出到其建筑维护应用程序(StructManager)。这样,客户可以分析这些数据与计划外维护票证之间是否存在相关性。
集成技术要求
在构建集成时,技术要求是关键。需要回答以下问题:
- 数据:前一天(24小时期间)每栋建筑物的湿度和温度记录。
- 方向:从您的产品单向导出到 StructManager。
- 频率:每天早上 7 点(当地时间)运行一次。
- API :您的产品使用 SOAPAPI,StructManager 使用 REST API。
- 协议:两个 API 都支持 HTTP。
- 语言 :您的产品输出 SOAP XML,StructManager 接受 JSON 作为输入。
- 身份验证 :SOAP API 和 REST API 使用 OAuth。
此外,需要注意的是,湿度数据以百分比提供,温度数据在您的产品中使用摄氏度,而 StructManager 使用华氏度。您的产品每分钟收集一次数据,而 StructManager 需要每 15 分钟一次的数据。因此,这不仅仅是将数据从一个 API 传输到另一个 API,还需要处理数据格式转换和数据采样频率的调整。
执行的集成详细信息
在当地时间早上 7 点,集成触发器会向产品的 SOAP API 发送请求,查询过去 24 小时内每个建筑物的记录。SOAP API 使用内置的 OAuth进行身份验证,接收到请求后,通过 HTTP 以 XML 格式返回所有匹配的记录。
单个记录的 XML 示例:
<environmental>
<customer_id>AA8312</customer_id>
<building_id>H265</building_id>
<sensor_id>1323</sensor_id>
<sensor_loc>5W2NAB</sensor_loc>
<timestamp>10:30</timestamp>
<temperature>27.3</temperature>
<humidity>55</humidity>
</environmental>
集成首先将 XML 转换为 JSON,单条记录的 JSON 示例:
{
"environmental": {
"customer_id": "AA8312",
"building_id": "H265",
"sensor_id": 1323,
"sensor_loc": "5W2NAB",
"timestamp": "10:30",
"temperature": 27.3,
"humidity": 55
}
}
对于在一栋建筑物上有 30 个传感器的示例客户,每天从 SOAP API 导出的记录总数为 43,200 条。集成需要筛选出 2,880 条记录,保留符合特定时间戳(如 hh:00、hh:15、hh:30、hh:45)的记录。虽然可以优化 SOAP API 请求以仅获取这些记录,但从数据超集开始处理可能更清晰。
筛选后的数据集需要再次转换,将摄氏度温度值转换为华氏度。转换后的示例数据与 StructManager 所需的格式匹配:
{
"environmental": {
"customer_id": "AA8312",
"building_id": "H265",
"sensor_id": 1323,
"sensor_loc": "5W2NAB",
"timestamp": "10:30",
"temperature": 81.1,
"humidity": 55
}
}
最终,所有 2,880 条 JSON 编码的记录将通过 HTTP 请求发送到 StructManager REST API,并使用 OAuth 进行身份验证。API 集成成功运行,将在明天早上 7 点进行下一次运行。
其他 API 集成资源
当然,一个例子很难公正地描述像 API 集成这样复杂的主题。考虑到这一点,这里有一些资源可以帮助进一步理解 API 集成概念:
- 按技术分类的 API (如 REST、XML-RPC、SOAP 和 GraphQL)。
- 按访问类型(私有、合作伙伴、公共和开放)划分的 API。
- 集成传输协议和传输语言。
- 集成媒体类型(以前称为 MIME 类型)。
- 集成过程中的具体操作。
总结
API 对于在 SaaS 产品之间构建数据集成非常有帮助。然而,拥有正确的工具来处理这些 API 至关重要。作为一家提供应用内集成的软件公司,使用这些工具可以在满足客户需求的最低限度集成和将集成无缝实施为 SaaS 产品的一部分之间,做出关键的区别,使客户无法区分您的产品和集成的界限。嵌入式集成平台就是其中一个重要工具。